Subject: PMP> Reference to other MIB's in RFC

From: [email-masked] (Bill Wagner)
Date: Thu, 17 Apr 1997 20:21:11 -0400

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.