I recovered the following from the archives. It was submitted once,
and I thought it was accepted. It did not find it way into the draft
however, and I am remiss in not having flagged this sooner. I hereby
resubmit it, again with the understanding that it is supposed to
reflect the intent of the group; it is not supposed to change
anything, merely to provide an explicit statement of what might not be
clear to a first time reader.
Recent suggestions for additions to the Printer MIB have related to
information obtainable from objects in the Host Resource MIB. This
suggests that the degree to which the Host Resource MIB is to be
implemented in the printer MIB and perhaps the dual function of the
Host Resource MIB are unclear. The inconsistent degree of Host
Resource MIB implementation may be a result of the somewhat non
definitive statement of requirement in paragraph 3.2 of the RFC
compounded by the ambiguity about what may be covered in the Host
Resource MIB versus what shall be covered, combined with the
complexity and lack of utility in covering all devices.
The confusion is additional compounded by the fact that the Host
Resource MIB both deals with a superset of `printer' (specifically
multiple printers sharing a common network node) where the printers
are listed devices, and a constituent component of printers,
specifically the System controller. This dual roll is made possible by
the prtStorageRef and prtDeviceRef tables in the printer MIB,
which-"associate particular storage and device entries to printers".
The printer itself is a device in the hrDevice table, perhaps one of
several printer devices.
There also seems inconsistent use of the interfaces group of MIB to
identify non-network interfaces in a printer. This may be because the
MIB II interface group states that each "interface is thought of as
being attached to a `subnetwork'", because the correlation of
interfaces listed in MIB-II to the printers listed in the hrDevice
table is confusing, or because it did not seem necessary. However, the
interfaces correlation in necessary for channels, and for the
identification of job path in the Jobs monitoring MIB.
I propose adding the following paragraphs (or some refined,
corrected, sanitized version) under section 3. I do not necessarily
subscribe to the inclusion of all this `stuff', but I believe that
this proposed addition explicitly states what is currently implicitly
required. I believe the RFC must explicitly define what is to be
included and give a little help in understanding the rather Byzantine
structure. If my interpretation is incorrect, then I welcome
corrections.
Bill Wagner, DPI
3. Groups from other MIB Specifications
This section identifies the groups from other MIB's that shall be
supported to supplement and complete a printer MIB implementation. The
section also describes some of the less obvious characteristics of the
Printer MIB structure that are related to the inclusion of these other
MIB groups.
3.1. System Group
All objects in the system group of MIB-II (RFC 1213) shall be
implemented; however, as described in paragraph 3.4, implementers must
carefully consider what constitutes the system.
3.2. System Controller
The Storage and Device Groups of the Host Resources MIB (RFC 1514)
shall be implemented to support the printer(s) system controller, and
any supporting devices. If deemed appropriate by the implementer,
other Groups of the Host Resources MIB (System, Running Software,
Running Software Performance, and Installed Software) may be
implemented. Because of the structure of the Host Resources MIB, the
devices constituting the system controller are at the same level as
the printer. See paragraph 3.4 for an outline of the implications of
this.
3.3. Interface Group
All objects in the Interfaces Group of MIB-II (RFC 1213) shall be
implemented for all print information interfaces to the printer,
including non-network interfaces.
3.4 Implications of the use of Groups from other MIB's
In structuring the Printer MIB, it is inconvenient to follow
directly the hierarchical structure implicit in the printer block
diagram (Figure 2). There are two reasons for this:
1. Figure 2 suggests that the printer interface to the network is
through the interfaces group. It is generally required that this
network node is supported by an implementation MIB-II (RFC1213).
However, the network node may support one printer or several. And
further, the SNMP agent may be within the `system controller' part of
the functional printer, or it may be completely external to the
printer as represented on the diagram.. Therefore, the relationship
between the MIB-II defined network node, the agent implementing the
MIB's and the functional printer may not be consistent with the
structure suggested in figure 2.
2. The printer controller is, in many cases, a full fledged
computer containing many of the resources of a standard host computer
in a workstation. This includes devices such as the memory,
interfaces, network, and indeed, printer. The Host Resources MIB has
well developed structures for such devices. However, the Host Resource
MIB only deals with devices associated with a single `host', and it
considers the printer to be a part of this host on the same level as
memory, processor, and other devices considered part of the System
Controller of the printer.
It was convenient therefore to conceive of a `host' associated with
the SNMP agent and with the network node by which the agent and
ultimately the printer(s) communicate with the network. All
host-resource devices communicating though this network node
(including the one or more printers that are to be characertized) are
considered part of the host and are supported by implementation of the
Host Resources Device Group and the Host Resource Storage group. The
system group of MIB -II relates to this `host'. The printer (s) are
identified as part of the device table in the Host Resources MIB. Note
that this consideration specifically means that the "system" described
in the Systems group of MIB-II may not be the printer, and that a
managment application cannot assume that any of the variables in the
Systems Group of MIB-II relate to the printer. Indeed, the types of
information in the Systems Group, as specifically referring to the
printer `system' are all contained elsewhere in the referenced Host
Resouce MIB segments or in the defined Printer MIB itself.
Another aspect of printer as a device consideration is that, not
only are the printer and the host resource devices constituting the
System Controller of the printer at the same level, but if there are
multiple printers, these printers and the Host Resource devices
constituting these printers are all at the same level, whether the
devices are dedicated to one printer or shared. The functional
hierarchy implicit in the printer block diagram is therefore flattened
with respect to host resource devices.
3.4.1 Host Resource MIB Device Group For each instance of a host
resource device operating from a given network node, including the
printer(s), the device is listed in the Host Resource MIB device table
with the following attributes. hrDeviceIndex hrDeviceType
hrDeviceDescr hrDeviceID hrDeviceStatus hrDeviceErrors The Device
Description, Device ID and Device Status listed in this table for each
printer identify and characterize that printer. The hrDevice index for
each printer is included as an indexing value for almost all variables
in the printer MIB. In the case of multiple printers, the printer MIB
appears as a composite MIB for all printers considered part of this
host. Each table of the printer MIB which includes hrDeviceIndex as an
index will contain the variables for each printer.
Non printer devices listed in the table are associated with one or
more listed printer devices by the prtDeviceRefTable in the printer
MIB. This table, as most in the Printer MIB, is indexed by
hrDeviceIndex; but unlike most of the other tables where the devices
of interest are printers, the devices of interest for this table are
non-printer devices. The only accessible variable for each row in this
table is the device number of the printer device which is associated
with the indexed non printer device. The table includes a second
index, prtDeviceRefSeqNumber, which allows a listed device to be
associated with multiple printer devices.
For example, a fully integrated printer may contain, as part of its
system controller, hrDeviceProcessor , hrDeviceNetwork
hrDeviceDiskStorage hrDeviceParallelPort hrDeviceSerialPort
hrDeviceVolatileMemory hrDeviceNonVolatileMemory
Ideally, these must all be listed as devices in the virtual host,
along with the printer (hrDevicePrinter) itself. Therefore, in this
example eight devices would be included with hrDevice Index values of
1-8. Since there is but one printer, the prtDeviceRefTable in the
printer MIB would contain 7 entries, each with a value identifying the
printer hrDeviceIndex. Because there is only one printer, devices are
not shared and the prtDeviceRefSeqNumber index is (1) in all cases.
Further, the Host Resource MIB defines device specific tables to be
supported for certain devices. These devices, and the primary
significance of the additional table(s) are:
hrProcessorTable: identification and significant characteristics of
processor hrNetworkTable: correlates a network device to a key to
ifIndex (MIB-II). hrPrinterTable and hrPrinterErrorTable: the
mechanism communicating the status of each printer hrDiskStorageTable:
identifies disk access and media type and capacity hrPartitionTable:
partitions on long term storage devices hrFSTable: identifies local
file system type, characteristics and pertinent parameters
3.4.2 Host Resource Storage Group
Program and data storage exist both as physical devices in the Host
Resource Device Table, and as logical storage areas supported in the
Host Resource Storage Group. Logical storage is listed and assigned an
index in the hrStorageTable. Storage is correlated to specific
printers by the prtStorageRefTable in the printer MIB. This table is
indexed by hrStorageIndex. The only accessible variable for each row
in this table is the device number of the printer device which is
associated with the indexed storage. The table includes a second
index, prtStorageRefSeqNumber, which allows logical storage to be
associated with multiple printer devices.
3.4.3 MIB-II Interface Group
The interfaces by which the printer receives print data are
identified within the Interfaces table of MIB-II. In the case of
multiple printers, the network interface for the `host' as well as all
of the interfaces for all printers are listed in this table. The
interfaces may also be listed as devices in the Host Resource Device
table. Network Port devices are identified by ifIndex to correlate
them back to the MIB-II Interface table; no such provision exists for
"serial" and "parallel" ports. Interfaces listed in the Host Resource
device table may be correlated to specific printers in the `host' by
the prtDeviceRefTable in the printer MIB; this may be useful if there
are multiple printers. The ifIndex is also used to identify the
interface associated with each channel in the Printer MIB Channels
group. Therefore, specific interfaces are also correlated back to
specific printers via the channels mechanism.