United States Patent5559958
Farrand , ; et al.September 24, 1996

Title

Graphical user interface for computer management system and an associated management information base

Abstract

A management system for a file server having a system board, an expansion board, a disk storage system and a server manager for collecting management information from the system board. The management system arranges MIB information for the file server into a first manageable device specific subsystem containing management information describing the system board, a second, manageable device specific, subsystem containing management information describing the expansion board, a third, manageable device specific, subsystem containing management information describing the disk storage system, a fourth, non-manageable device specific, subsystem containing management information describing the configuration of the file server, a fifth, non-manageable device specific, subsystem containing management information describing the security configuration for the file server, a sixth, manageable device specific, subsystem containing management information describing the server manager, a seventh, non-manageable device specific, subsystem containing management information describing I/O ports of the file server, an eighth, non-manageable device specific, subsystem containing management information describing internal environmental conditions of the file server. The management information for each of the first, second, third, fourth, fifth, sixth, seventh and eighth subsystems may then be selectively accessed using a series of GUIs.


Inventors:Farrand; Scott C. (Tomball, TX), Didner; Jonathan R.  (Houston, TX), Mazina; Daniel J.  (Spring, TX), Autor; Jeffrey S.  (Houston, TX), Muraski; Paul J.  (Spring, TX), Stewart; Gregory M.  (Houston, TX), Dysart; John A.  (Houston, TX)
Assignee:Compaq Computer Corporation (Houston, TX)
Appl. No.:110652
Filed:August 20, 1993

Current U.S. Class:714/27 714/46 714/47 709/223 
Field of Search:395/200.1,200.11,182.02,600,183.03,183.22,184.01

U.S. Patent Documents
4937825June 1990Ballard et al.
5049873September 1991Robins et al.
5265241November 1993Arnold et al.
5276863January 1994Heider
5408618April 1995Aho et al.
Primary Examiner: Black; Thomas G.
Assistant Examiner: Loomis; John C.
Attorney, Agent or Firm:Hickman Beyer & Weaver

Parent Case Text



CROSS REFERENCE TO RELATED APPLICATIONS

This application is a Continuation-in-Part of U.S. patent application Ser. No. 07/933,920, filed Aug. 21, 1992 and issued Nov. 28, 1995, as U.S. Pat. No. 5,471,617, entitled "Computer Management System and Associated Management Information Base", which is a Continuation-in-Part of U.S. patent application Ser. No. 07/720,259, filed Jun. 21, 1991 and issued Nov. 22, 1994 as U.S. Pat. No. 5,367,670, entitled "Computer System Manager". Both of these applications are assigned to the Assignee of the present application and are hereby incorporated by reference as if reproduced in their entirety.

This application is also related to the following pending U.S. patent applications, all of which are assigned to the Assignee of the present application and are hereby incorporated by reference as if reproduced in their entirety:

Claims


What is claimed is:
1. A method for managing from a management console, a plurality of file servers networked thereto, each said file server having at least one manageable device associated therewith, comprising the steps of:
displaying, at said management console, a list of said networked file servers;
selecting, from a list of said networked file servers, a file server to be managed;
displaying a plurality of subsystems for said selected file server;
selecting, from said plurality of displayed subsystems, a subsystem to be viewed;
selectively viewing management information which describes said selected subsystem; and
modifying the operation of said selected file server based upon said viewed management information
wherein said subsystems for each said file server include a first subsystem which contains management information for a first manageable device associated with said file server and a second subsystem which contains management information for said file server.

2. A method for managing a plurality of file servers according to claim 1 and further comprising the steps of:
receiving, at said management console, an alert notification;
accessing an alert log from said management console;
viewing, in said alert log, details of an alert causing said alert notification;
wherein the selection of said file server subsystem management information to be viewed is based upon said viewed alert details.

3. A method for managing a plurality of file servers according to claim 2 wherein said subsystems for each said file server include a fourth subsystem which contains environmental information for said file server acquired by said second manageable device.

4. A method for managing a plurality of file servers according to claim 1 wherein said subsystems for each said file server include a third subsystem which contains management information for said first manageable device acquired by a second manageable device associated with said file server.

5. For a management information base (MIB) containing management information for a file server having at least one manageable device associated therewith and from which management information is acquired therefrom, said file server further including a server manager for collecting management information for a first one of said at least one manageable device and said MIB information including said management information collected by said server manager, a management system comprising:
means for arranging a first portion of said MIB information into a first subsystem containing management information describing a first manageable device associated with said file server;
means for arranging a second portion of said MIB information into a second subsystem containing management information for said file server;
means for arranging a third portion of said MIB information into a third subsystem which contains management information acquired by said server manager for said first one of said at least one manageable devices; and
means for selectively accessing said MIB information for each of said first, second and third subsystems.

6. A management system according to claim 1 wherein said management system further comprises means for arranging a fourth portion of said MIB information into a fourth subsystem which contains management information acquired by said server manager for said first one of said at least one manageable devices and management information for said file server.

7. A management system according to claim 5 wherein said at least one manageable device associated with said file server further comprises a system board associated therewith and wherein said means for arranging a first portion of said MIB information into a first subsystem which contains management information describing a first manageable device associated with said file server further comprises means for arranging said first portion of said MIB information into a system board subsystem which contains said management information from said first portion which describes said system board.

8. A management system according to claim 7 wherein said at least one manageable device associated with said file server further comprises an expansion board associated therewith and wherein said means for arranging a first portion of said MIB information into a first subsystem which contains management information describing a first manageable device associated with said file server further comprises means for arranging said first portion of said MIB information into an expansion boards subsystem which contains said management information from said first portion which describes said expansion board.

9. A management system according to claim 7 wherein said at least one manageable device associated with said file server further comprises a disk storage system associated therewith and wherein said means for arranging a first portion of said MIB information into a first subsystem which corresponds to a first manageable device associated with said file server further comprises means for arranging said first portion of said MIB information into a disk storage subsystem which contains said management information from said first portion which describes said disk storage system.

10. A management system according to claim 7 wherein said means for arranging a second portion of said MIB information into a second subsystem which contains management information for said file server further comprises means for arranging said second portion of said MIB information into a configuration subsystem which contains said management information from said second portion which describes the configuration of said file server.

11. A management system according to claim 10 wherein said means for arranging a second portion of said MIB information into a second subsystem which contains management information describing said file server further comprises means for arranging said second portion of said MIB information into a security configuration subsystem which contains said management information describing the security configuration of said file server.

12. A management system according to claim 7 wherein said file server further comprises a server manager associated therewith for collecting management information for said system board, said MIB information including said management information collected by said server manager, and wherein said means for arranging said MIB information for said at least one manageable device associated with said file server into at least one subsystem further comprises:
means for arranging a third portion of said MIB information into a third subsystem which contains management information acquired by said server manager for said first one of said at least one manageable devices;
wherein at least part of said second portion of said MIB information arranged in said second subsystem which contains management information for said file server is acquired by said server manager.

13. A management system according to claim 12 wherein said means for arranging a second portion of said MIB information into a second subsystem which contains management information describing said file server and at least partially acquired by said server manager further comprises means for arranging said second portion of said MIB information into an environment subsystem which contains said management information related to internal temperature and voltage of said file server, said management information related to internal temperature and voltage being acquired by said server manager.

14. A management system according to claim 12 wherein said means for arranging a second portion of said MIB information into a second subsystem which contains management information describing said file server and at least partially acquired by said server manager further comprises means for arranging said second portion of said MIB information into an input/output (I/O) ports subsystem which contains said management information related to I/O ports of said file server, said management information related to said I/O ports being partially acquired by said server manager.

15. For a management information base (MIB) containing management information for a file server having at least one manageable device associated therewith from which said management information is acquired therefrom, said manageable devices associated therewith including a system board, an expansion board, a disk storage system and a server manager, said server manager configured to collect management information from said system board, a management system comprising:
means for arranging a first portion of said MIB information containing management information describing said system board into a first, manageable device specific, subsystem;
means for arranging a second portion of said MIB information containing management information describing said expansion board into a second, manageable device specific, subsystem;
means for arranging a third portion of said MIB information containing management information describing said disk storage system into a third, manageable device specific, subsystem;
means for arranging a fourth portion of said MIB information containing management information describing configuration of said file server into a fourth, non-manageable device specific, subsystem;
means for arranging a fifth portion of said MIB information containing management information describing security configuration for said file server into a fifth, non-manageable device specific, subsystem;
means for arranging a sixth portion of said MIB information containing management information describing said server manager into a sixth, manageable device specific, subsystem;
means for arranging a seventh portion of said MIB information containing management information describing input/output (I/O) ports of said file server into a seventh, non-manageable device specific, subsystem;
means for arranging an eighth portion of said MIB information containing management information describing internal environmental conditions of said file server into an eighth, non-manageable device specific, subsystem; and
means for selectively accessing said MIB information for each of said first, second, third, fourth, fifth, sixth, seventh and eighth subsystems.

16. A management system according to claim 15 wherein said eighth subsystem containing said non-manageable device specific management information describing internal environmental conditions of said file server is comprised of information collected by said server manager from said system board.

17. A management system according to claim 16 wherein said seventh subsystem containing said non-manageable device specific MIB information describing said I/O ports is comprised of information acquired from said manageable devices and information collected by said server manager from said system board.

18. A management system according to claim 17 wherein said fourth subsystem containing said non-manageable device specific information describing configuration of said file server is comprised of a combination of information available from said remaining subsystems and information uniquely provided to said fourth subsystem.

19. For a management information base (MIB) containing management information describing a plurality of networked file servers, each having a plurality of manageable devices associated therewith and described by said management information contained in said MIB, a management system comprising:
means for selectively accessing said MIB information describing each of said plurality of file servers; and
means for selectively accessing said MIB information describing each of said plurality of manageable devices associated with said selected file server;
wherein said plurality of manageable devices associated with each of said file servers further comprises a system board and a server manager for acquiring management information related to the operation of said system board; and
wherein said means for selectively accessing said MIB information describing each of said plurality of manageable devices associated with said selected file server further comprises means for selectively accessing MIB information describing said system board associated with said selected file server and means for selectively accessing said MIB information acquired by said server manager for said system board.

20. A management system according to claim 19 wherein each of said system boards further comprises at least one processor and/or coprocessor and wherein said means for selectively accessing said MIB information describing said system board associated with said selected file server further comprises means for selectively accessing said MIB information describing each of said processors and/or coprocessors of said selected system board.

21. A management system according to claim 19 wherein said plurality of manageable devices associated with each of said file servers further comprises an expansion board and wherein said means for selectively accessing said MIB information describing each of said plurality of manageable devices associated with said selected file server further comprises means for selectively accessing said MIB information describing said expansion board associated with said selected file server.

22. A management system according to claim 19 wherein said plurality of manageable devices associated with each of said file servers further comprises a disk storage system and wherein said means for selectively accessing said MIB information describing each of said plurality of manageable devices associated with said selected file server further comprises means for selectively accessing said MIB information describing said disk storage system associated with said selected file server.

23. A management system according to claim 22 wherein each of said disk storage systems further comprise at least one hard disk drive, internal intelligent disk array and/or external intelligent disk array and wherein said means for selectively accessing said MIB information describing said disk storage system associated with said selected file server further comprises means for selectively accessing said MIB information describing each of said hard disk drive, internal intelligent disk array and/or external intelligent disk arrays of said selected disk storage system.

24. A management system according to claim 23 wherein said means for selectively accessing said MIB information describing each of said hard disk drive, internal intelligent disk array and/or external intelligent disk arrays for said selected disk storage system further comprises:
means for accessing a physical drive map for each of said internal intelligent disk arrays; and
means for accessing a physical drive map for each of said external intelligent disk arrays.

25. A management system according to claim 24 wherein said means for accessing a physical drive map for each of said internal intelligent disk arrays further comprises:
means for determining, from said physical drive map for said selected internal intelligent disk array, statuses of logical drives mapped to said selected internal intelligent disk array; and
means for accessing, from said physical drive map for said selected internal intelligent disk array, information related to said statuses of said logical drives mapped to said selected internal intelligent disk array.

26. A management system according to claim 25 wherein said means for accessing a physical drive map for each of said external intelligent disk arrays further comprises:
means for determining, from said physical drive map for said selected external intelligent disk array, statuses of logical drives mapped to said selected internal intelligent disk array; and
means for accessing, from said physical drive map, information related to said statuses of said logical drives mapped to said selected external intelligent disk array.

27. A management system according to claim 19 wherein said server manager monitors said system board to acquire management information therefrom in the form of objects, performs object management on said acquired management information and generates alerts based on said performed object management and wherein said means for selectively accessing said MIB information describing said server manager subsystem for said selected file server further comprises means for selectively accessing management information regarding innate monitoring status, object space and alert status for said server manager.

28. A management system according to claim 27 wherein said file server further comprises a plurality of input/output (I/O) ports for coupling peripheral devices thereto and wherein said means for selectively accessing said MIB information describing each of said plurality of manageable devices associated with said selected file server further comprises means for selectively accessing said MIB information describing said I/O ports for said selected file server.

29. A management system according to claim 28 wherein said means for selectively accessing said MIB information describing said I/O ports for said selected file server further comprises means for accessing management information acquired by said server manager which describes said I/O ports.

30. A management system according to claim 27 wherein said means for selectively accessing said MIB information for each of said plurality of manageable devices associated with said selected file server further comprises means for selectively accessing said MIB information which describes environmental conditions for said selected file server.

31. A management system according to claim 30 wherein said means for selectively accessing said MIB information which describes environmental conditions for said selected file server further comprises means for accessing management information acquired by said server manager which describes environmental conditions for said file server.

32. A management system according to claim 31 wherein said means for accessing management information acquired by said server manager which describes said environment subsystem for said file server further comprises means for accessing a graphical analysis of the internal temperature and voltage of said selected file server.

Description

A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facisimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to a computer management system and, more particularly, to a computer management system having plural instrumentation agents for querying manageable devices to collect object data, an associated enterprise management information base (or "MIB") for storing object data in accordance with a specified MIB architecture and a graphical user interface (or "GUI") for managing the manageable devices using the enterprise MIB.

2. Description of Related Art

The Internet community has defined an organizational framework of data and provides a naming authority allowing any company or group to define information within the framework in a way that allows any or all of this data to coexist. Under the control of the International Telegraph and Telephone Consultative Committee (or "CCITT") and the International Organization for Standardization (or "ISO"), the organizational framework has been constructed as a tree. The root of the tree is managed by CCITT and ISO. Extending from the root of the tree are a series of branches defined by CCITT and ISO. However, while the branch is initially defined by the managing authority, authority for the branch may then be given to another organization for defining the child branches for that branch. FIG. 1 illustrates the structure of the organizational framework defined by the Internet community and is included here so that the relationship of the enterprise MIB subject of the present application and the remainder of the Internet community will be clear.

Every piece of information within the organizational framework is configured in a formal grammar and referred to by its full name so that it can be unambiguously specified, thereby making information transfers within an interoperable network system possible. A series of dotted decimal notations, each separated by periods, specifies all of the branches needed to reach a particular item. For example, all items originating in a private enterprise would be headed by the notation "1.3.6.1.4.1". From a specific private enterprise, an item would be identified using the name 1.3.6.1.4.1.XXX.YY where "XXX" is an identifier assigned to that enterprise by the ISO and "YY" is an identifier assigned to that particular item by enterprise "XXX" under the authority of the ISO.

Simple Network Management Protocol (or "SNMP") is a protocol widely used within the Internet community for interoperable network management The SNMP protocol defines a set of commands that a management application may use to retrieve or change the value of items that a management agent is making available. The Internet community also maintains a series of documents which describe the communication protocols used by the community. These documents are called "Request for Comments" and are commonly referred to as "RFCs". Each RFC is assigned a number to identify the document. For example, RFC 1212 defines the formal grammar for a SNMP MIB.

A MIB is a data base that describes a set of items that management applications and agents use to report and control managed devices. A description of a MIB starts with a line that states the name of the MIB being defined. Typically, the name of the MIB is followed by an import statement which allows the MIB writer to specify information from other well known MIBs that are referred to in the MIB being defined. Within a MIB is a structure for organizing managed items. To form the structure, the MIB defines a group or groups for organizing related pieces of information. A group is defined by stating a name for the group and showing how the group fits into the tree. Typically, all group definitions are placed immediately following the IMPORTS statement. Groups may contain information in the form of items or "objects", sub-groups, or a combination of the two. Similarly, each sub-group is configured like a group.

Within a group or sub-group, data may be organized in one of two basic methods. A scalar item is a single piece of information that is within a group. For example, the total memory in a server is a scalar item. A table is a structure for organizing data that requires more information to uniquely identify a single data item within a group of similar items. An example of an item that is best organized in a table is an EISA board ID. It is necessary for someone requesting an EISA board ID to specify the EISA board to which they are referring.

Each item, either scalar or part of a table, defined in a MIB includes a description which explains the item. Typically, the description includes SYNTAX, ACCESS, STATUS and DESCRIPTION clauses. The SYNTAX clause specifies the type of information which the item contains. Information types typically specified by the SYNTAX clause include INTEGER, OCTET STRING, Counter and DisplayString. INTEGER specifies that the value of the item should be interpreted as a number. OCTET STRING specifies that the value of the item should be interpreted as a string of octets, each having a value between 0 and 255. Counter specifies that the item is an INTEGER that has an implied range of zero to FFFFFFFF. DisplayString specifies that the item is an OCTET STRING where each octet is restricted to a printable ASCII character.

The ACCESS clause specifies the ways the item may be used and shows the actions which the agent may support for the item. ACCESS may be read-only, read-write or not-accessible. Read-only means that the value of the item may be retrieved by a management application but may not be altered. Read-write means that the item may be read and/or altered by a management application. Not-accessible is given as the access for organizational constructs that do not represent data items. Not-accessible is used only for table features and should not be used for a scaler item. The STATUS clause specifies whether the item is required for an agent that supports the defined group. A STATUS of mandatory means that the item will always be present if the defined group is supported by the agent. A STATUS of optional means that a particular implementation has the option of supporting the item. The DESCRIPTION clause contains a double quote delimited text description of the item. Finally, the item definition ends by specifying how the item fits into the MIB tree. The group the item belongs to is given, followed by the unique branch number within the group for the item.

To organize a table requires the use of two additional operators, the SEQUENCE operator and the SEQUENCE OF operator. The SEQUENCE operator allows the definition of a new type that consists of several standard types in a specific order. The SEQUENCE OF operator allows the definition of a list of zero or more of the same type of elements. A table is formed by defining a SEQUENCE, typically called a table entry. A table is defined as a SEQUENCE OF the table entry type. As there is no data that is uniquely referred to by the name of the table or entry, the STATUS of the table and the table entry is not-accessible. The INDEX clause specifies the items that can be used to uniquely identify an element in the table.

A MIB may also contain trap definitions. A trap is a notification sent by the SNMP agent to a management console. The trap is sent to inform the management console about an event that has occurred on the managed system. The trap definition begins with the name of the trap, followed by the term TRAP-TYPE. An ENTERPRISE clause follows to indicate the MIB in which the trap is defined. An optional VARIABLES clause may also be included to specify additional information that will be sent in the trap. Typically, the additional information contained in the VARIABLES clause will be items defined in the MIB identified in the ENTERPRISE clause. A DESCRIPTION clause which explains the significance of the trap and the conditions that would cause it to be sent follows. Finally, the trap is given a number to identify it. The number will be unique within the scope of the ENTERPRISE. Both the enterprise name and the trap number are used by the management station to uniquely determine the identity of a received trap.

SUMMARY OF THE INVENTION

In one aspect, the present invention is of a management system for a file server having at least one manageable device associated therewith from which management information is acquired therefrom and arranged in a management information base (or "MIB"). The management system includes means for arranging the MIB information into at least one subsystem and means for selectively accessing the MIB information for each of the subsystems. In one aspect, each subsystem contains management information describing a manageable device associated with the file server. In further aspects thereof, the file server includes a server manager for collecting management information for the manageable devices and, in this aspect, the management information may be further arranged into a third subsystem which contains management information acquired by the server manager and a fourth subsystem which contains management information acquired by the server manager and management information for the file server itself.

In further aspects thereof, the manageable devices may include a system board, an expansion board and a disk storage system. In these aspects, the management information is arranged into a system board subsystem which contains management information which describes the system board, an expansion board subsystem which contains management information describing the expansion board, a disk storage subsystem which contains management information describing the disk storage system, a configuration subsystem which contains management information which describes the configuration of the file server, a security configuration subsystem which contains management information which describes the security configuration of the file server, an environment subsystem which contains management information which describes the internal temperature and voltage of the file server and an input/output (or "I/O") subsystem which contains management information which related to I/O ports of the file server.

In another embodiment, the present invention is of a management system for a file server having a system board, an expansion board, a disk storage system and a server manager for collecting management information from the system board. The management system includes means for arranging MIB information for the file server into a first manageable device specific subsystem containing management information describing the system board, a second, manageable device specific, subsystem containing management information describing the expansion board, a third, manageable device specific, subsystem containing management information describing the disk storage system, a fourth, non-manageable device specific, subsystem containing management information describing the configuration of the file server, a fifth, non-manageable device specific, subsystem containing management information describing the security configuration for the file server, a sixth, manageable device specific, subsystem containing management information describing the server manager, a seventh, non-manageable device specific, subsystem containing management information describing I/O ports of the file server, an eighth, non-manageable device specific, subsystem containing management information describing internal environmental conditions of the file server, and means for selectively accessing the management information for each of the first, second, third, fourth, fifth, sixth, seventh and eighth subsystems. In various aspects thereof, the management information contained in the eighth subsystem is collected from the system board by the server manager, the management information contained in the seventh subsystem is acquired from the manageable devices and information collected from the system board by the server manager, and the management information contained in the fourth subsystem is comprised of a combination of information available from the remaining subsystems and information uniquely provided to the fourth subsystem.

In yet another embodiment, the present invention is of a management system for a plurality of networked file servers, each having a plurality of manageable devices associated therewith and described by management information contained in a MIB. The management system includes means for selectively accessing the MIB information describing each of the file servers and means for selectively accessing the MIB information describing each of the manageable devices associated with a selected file server. In various aspects thereof, each file server may include a system board, a processor and/or coprocessor, an expansion board and a disk storage system, either a hard disk drive, internal intelligent disk array and/or external intelligent disk array. For each of these aspects of the invention, the means for selectively accessing MIB information includes means for selectively accessing the MIB information describing the system board, the processors and/or coprocessors, the expansion board and the disk storage system, either the hard disk drive, internal intelligent disk array and/or external intelligent disk arrays, associated with the selected file server. In a further aspect thereof, the selective access means may further include means for selectively accessing a physical drive map for each of the internal and external intelligent disk arrays and for determining statuses of logical drives mapped to the internal and external intelligent disk arrays.

In still another embodiment, the present invention is of a method for managing plural networked file servers from a management console. A list of the networked file servers is first displayed at the management console. From the list of networked file servers, a file server to be managed is selected and a plurality of subsystems for the selected file server are displayed. From the plurality of displayed subsystems, a subsystem is selected for viewing and management information describing the selected subsystem is selectively viewed. The operation of the selected file server is then modified based upon the viewed management information. In one aspect thereof, an alert notification is received. An alert log is then accessed and details of an alert causing the alert notification. The file server subsystem management information to be viewed is then selected based upon the viewed alert details.

BRIEF DESCRIPTION OF THE DRAWING

The present invention may be better understood, and its numerous objects, features and advantages will become apparent to those skilled in the art by reference to the accompanying drawing, in which:

FIG. 1 is a tree illustrating the organizational framework defined by CCITT and ISO for an interoperable network of data;

FIG. 2 is a block diagram illustrating a computer management system and an associated MIB;

FIG. 3 is an expanded block diagram of the computer management system of FIG. 2;

FIG. 4A is a tree illustrating the organization of an enterprise MIB used in conjunction with the computer management system and associated MIB of FIGS. 2 and 3;

FIG. 4B is an inheritance tree illustrating a MIB revision group commonly configured for each subMIB of the enterprise MIB of FIG. 4A;

FIG. 4C is an inheritance tree illustrating a trap history group similarly configured for plural subMIBs of the enterprise MIB of FIG. 4A;

FIG. 5A is an inheritance tree illustrating a first subMIB of the enterprise MIB of FIG. 4A;

FIG. 5B is an inheritance tree illustrating a processor child group of a component group of the subMIB of FIG. 5A;

FIGS. 5C-1 through 5C-8 is an inheritance tree illustrating an EISA non-volatile memory child group of the component group of the subMIB of FIG. 5A;

FIG. 5D is an inheritance tree illustrating a ROM child group of the component group of the subMIB of FIG. 5A;

FIG. 5E is an inheritance tree illustrating a serial port child group of the component group of the subMIB of FIG. 5A;

FIG. 5F is an inheritance tree illustrating a parallel port child group of the component group of the subMIB of FIG. 5A;

FIG. 5G is an inheritance tree illustrating a floppy disk child group of the component group of the subMIB of FIG. 5A;

FIG. 5H is an inheritance tree illustrating a fixed disk child group of the component group of the subMIB of FIG. 5A;

FIG. 6A is an inheritance tree illustrating a second subMIB of the enterprise MIB of FIG. 4A;

FIG. 6B is an inheritance tree illustrating a system board child group of a component group of the subMIB of FIG. 6A;

FIG. 7A is an inheritance tree illustrating a third subMIB of the enterprise MIB of FIG. 4A;

FIGS. 7B-1 through 7B-2 is an inheritance tree illustrating an interface child group of a component group of the subMIB of FIG. 7A;

FIGS. 7C-1 through 7C-2 is an inheritance tree illustrating a controller child group of the component group of the subMIB of FIG. 7A;

FIG. 7D is an inheritance tree illustrating a logical drive child group of the component group of the subMIB of FIG. 7A;

FIG. 7E is an inheritance tree illustrating a spare drive child group of the component group of the subMIB of FIG. 7A;

FIG. 7F is an inheritance tree illustrating a physical drive child group of the component group of the subMIB of FIG. 7A;

FIG. 8A is an inheritance tree illustrating a fourth subMIB of the enterprise MIB of FIG. 4A;

FIG. 8B is an inheritance tree illustrating an interface child group of a component group of the subMIB of FIG. 8A;

FIG. 8C is an inheritance tree illustrating a controller child group of the component group of the subMIB of FIG. 8A;

FIGS. 8D-1 through 8D-2 is an inheritance tree illustrating an object data child group of the component group of the subMIB of FIG. 8A;

FIG. 8E is an inheritance tree illustrating an asynchronous communication child group of the component group of the subMIB of FIG. 8A;

FIG. 8F is an inheritance tree illustrating an alert child group of the component group of the subMIB of FIG. 8A.

FIGS. 9A-F is a flow chart illustrating a method of managing a network of file servers using the computer management system and associated enterprise MIB of FIGS. 2-8F in accordance with the teachings of the present invention;

FIG. 10 illustrates a server list GUI for selectively accessing management information for a file server being managed by the computer management system of FIGS. 2-8F;

FIG. 11 illustrates a main system GUI for selectively accessing a server subsystem of the file server selected using the server list GUI of FIG. 10;

FIG. 12 illustrates an environment condition window accessible via the environment subsystem button of the main system GUI of FIG. 11;

FIG. 13 illustrates a disk storage GUI for selectively accessing various logical and physical drives installed in a selected file server; and

FIG. 14 illustrates an internal IDA logical drive GUI for selectively accessing from a selected logical drive; and

FIG. 15 illustrates an alert log generated by the computer management system of FIGS. 2-8F.

DETAILED DESCRIPTION

Referring first to FIG. 2, a computer management system which uses a combination of "management" or "instrumentation" agents and an enterprise MIB to manage a manageable device or devices from a management console shall now be described in greater detail. The management system 8 includes at least one manageable device 10 to be managed at a manager station or console 12. Preferably, the manager console 12 should be a computer system having a 386 CPU, 6 Mbyte RAM, 30 Mbyte ROM, a VGA color or higher resolution graphics controller supported by Microsoft Windows, a network interface card compatible with the NetWare open data link interface (or "ODI"), a Microsoft Windows compatible mouse, a Microsoft Windows compatible printer and Microsoft Windows 3.0 or 3.1.

Although only one manageable device 10 is illustrated in FIG. 2, it is specifically contemplated any number or types of manageable devices 10 may be managed at the manager console 12. The manageable device or devices 10 may include any number or combination of intelligent hardware device capable of supporting a software configured management agent 18 therein for interacting with the management system 8 in a manner to be more fully described below. For example, a bridge for interconnecting similar LAN segments, a router for interconnecting dissimilar LANs, a concentrator connected to data terminal equipment (or "DTE") and a file server or other DTE are all manageable devices which may be managed by the management system. For ease of discussion, however, the remainder of this document will assume that the collection of manageable devices 10 interconnected with the manager console 12 for the management thereof consists of a single file server 10 containing plural manageable devices such as industry-standard architecture components, an EISA bus, an intelligent drive array subsystem and a server manager board. The manageable device 10 and the manager console 12 are interconnected by a network 14 which provides a communications pathway for information to be transferred between the two. For example, an ethernet or token ring type network would be suitable for use as the network 14. Furthermore, the network 14 may be a local area network (or "LAN"), a wide area network (or "WAN"), or, more typically, a collection of interconnected LANs and WANs, also known as an "internet".

Installed at the manager console 12 is shell software having a suitable management platform 15, for example, an application process interface (or "API") for the operation of the management application 16. For example, Microsoft Windows would be a suitable platform 15 from which the management application 16 may be launched. In one embodiment of the invention, the management application 16 may coexist with Netware Management System (or "NMS") software manufactured by Novell, Inc., Openview network manager software manufactured by Hewlett Packard or another third party network management systems. For example, it is specifically contemplated that the management application 16 may be launched from Novell's NetWare Management Map focussed on a selected server. Alternately, the management application 16 may operate independent from the NetWare Management System products if the file server 10 is running NetWare v.3.11 or higher.

Once launched, the management application 16 running on the platform 15 performs specific management tasks by interacting with the management agent 18. The management application 16 and the management agent 18 communicate over the network 14
using management application protocols within the TCP/IP protocol suite, preferably the Simple Network Management Protocol (or "SNMP"). Monitored data will be transferred from the managed device 10 to the management application 18 using the SNMP "get request" operation in which the current value(s) associated with a declared variable (or list of variables) relating to a managed object is requested or "polled" by the management application 16 and the "get-next-request" in which the next value associated with a variable, such as a table, that comprises a list of elements, is requested or "polled" by the management application 16. Asynchronous traps, for example, alerts and other fault conditions will be immediately transported from the managed device 10 to the management application 18 using the "trap" operation where a network administrator physically located at the manager console 12 would be notified, either audibly or visually, of the existence of, information regarding the cause of, and possible solutions to, the alert.

In this manner, the management agent 18 collects management information about the file server 10 or other manageable devices and provides that information, which is generally referred to as a management information base (or "MIB") to a network administrator physically located at the manager console 12. The management information provided to the network administrator can be used to monitor the performance of the file server 10 and to respond to alerts as they occur. In this manner, the network administrator can perform "on the network" management" management of the file server 10 or other manageable device. Other functions which can be performed by the network administrator using the management information include security management, fault analysis and configuration management.

Referring next to FIG. 3, the computer management system 8 will now be described in greater detail. As may now be seen, the file server 10 is now designated as a NetWare server, thereby indicating that the managed server 10 is running NetWare v3.11 or greater. Installed on the netware server 10 is an SNMP agent 28 for transporting data from a managed device or devices to the management application 16. The SNMP agent is a collection of software capable of querying manageable devices and providing information to the management application 16 using operations defined as part of the SNMP protocol. Manageable devices such as ISA CMOS 20, the battery backed up RAM in the real time clock installed in the system board, EISA NVRAM22, the battery backed up non-volatile memory containing the EISA configuration of the file server 10, server manager board 24, a management device which contains configuration and real time monitored information on the file server 10, and intelligent drive array controller 26, which contains configuration, real time monitor and performance array on the intelligent drive array 26, are instrumented for interfacing with the SNMP agent 28 using base system instrumentation agent 30, server manager instrumentation agent 32 and drive array instrumentation agent 34, respectively. Instrumentation agents 30, 32 and 34 are NetWare loadable modules (or "NLMs") used so that the information regarding the managed device can be transferred to the application 16. As will be more fully discussed below, these instrumentation agents for the managed devices support separate subMIBs for the managed devices, thereby permitting the organization of managed information described herein.

More specifically, the base system instrumentation agent 30 is NLM software connected to provide industry-standard architectural information about the system configuration. This information includes product and model information, processor type, diskette type, hard drive type, EISA board configuration, system ROM version, installed memory, video subsystem and serial and parallel port configurations. It may also provide product ID, serial number and security configuration.

The disk drive array instrumentation agent 32 is NLM software for managing the drive array controller 26. Again using SNMP, the drive array instrumentation agent 34 will gather information including controller configuration, Compaq 4-MB array accelerator write cache configuration and status, if installed, logical drive configuration and status, physical drive configuration and status and spare drive configuration and status.

Finally, the server manager instrumentation agent 32 is NLM software used to manage a server manager 24 and is necessary only if the file server 10 has a server manager board installed therein. A server manager board innately monitors and process objects indicative of computer system performance and actual and/or potential computer systems failures, determines alert conditions based upon the innately monitored and processed objects, reports alert conditions in either an in-band or out-of band mode and provides for correction action to be taken from a remote location. The exact configuration of a server manager board is disclosed at length in the co-pending U.S. patent applications Ser. No. 07/720,259, filed Jun. 24, 1991 and issued Nov. 22, 1994 as U.S. Pat. No. 5,367,670, entitled "Computer System Manager" and previously incorporated by reference. The information gathered by the server manager instrumentation agent 32 includes server manager board configuration information and monitored item information maintained on the server manager board.

From the SNMP agent, information which forms part of the MIB may be transported over the network 14 using the IPX or IP protocol stack to the manager console 12 where Novell SNMP DDE server software 36 is installed so that the management data can be received at or transmitted from the manager console. The manager console 12 is further provided with a Btreive database 38 where object information from the MIB gathered over time by the management application 16 may be stored for later access, either by the management application 16 or another application running on the manager console 12. For example, object information which would be transmitted to the btrieve database 38 for storage would be all alerts transmitted to the management application 16 in the form of traps where they would be assembled as an alert log and information received in response to the polling of monitored items which would be assembled in the btreive database 38 in a manner which would enable trend analysis and reporting.

Referring next to FIG. 4A, an enterprise MIB 232 subject of the present invention and located at branch 1..4.6.1.4.232 of the CCITT/ISO organization framework for data illustrated in FIG. 1 will now be described in greater detail. The enterprise MIB 232 defines the set of all manageable object instances and traps known to the agent, instrumentation agent and the user interface application included as part of the computer management system of FIGS. 2-3. The management application 16 uses the enterprise MIB 232's definition of object instances and traps to manage the manageable devices 10. The variables identified will be read by the management application 16 and be graphically displayed at the workstation 12. The asynchronous traps generated by the SNMP agent supported by the instrumentation will be collected and displayed by the application 16.

The enterprise MIB 232 is organized to include a number of subMIBs, each describing a component in a managed server. The subMIBS include a standard equipment subMIB located at branch 232.1, a manufacturer specific system subMIB located at branch
232.2, a drive array subMIB located at branch 232.3 and a server manager subMIB located at branch 232.4. Each subMIB 232.1, 232.2, 232.3, and 232.4 includes a mibRev childgroup located at branch 232.1.1, 232.2.1, 232.3.1 and 232.4.1, respectively, and a component child group located at branch 232.1.2, 232.2.2, 232.3.2 and 232.4.2, respectively. The drive array subMIB and the server manager subMIB also include a traps child group located at branch 232.3.3 and 232.4.3, respectively. Of these, the mibRev child group for a subMIB contains information about the revision of the enterprise 232 to which the SNMP agent conforms and includes an indication as to that subMIB's last revision, the component child group for a subMIB details all object instances for the components of that subMIB and the traps child group contains a trap log history which will enable the management application 16 to determine alerting events that have occurred within the computer system 8.

Referring next to FIG. 4B, the mibRev child group commonly configured for each subMIB of the enterprise MIB shall now be described in greater detail. Each mibRev child group is located at branch 232.M.1, where M=the subMIB containing that mibRev child group. In this embodiment of the invention, M=(1,2,3,4), thereby indicating that all of the subMIBS are provided with a mibREV child group. Each mibRev child group a major revision object located at branch 232.M.1.1 and a minor revision object located at branch 232.M.1.2. The management application 16 obtains this information from the management agent 18 to determine if they are both using the same definition for the MIB. If the major revision object indicates a revision change, a very significant change in the information supported by the subMIB has occurred and indicates that an upgrade should be made to ensure correct interpretation of data. For example, if the management application 16 and agent 18 for a subMIB are using a MIB definitions having different major revision level, the older of the two should be upgraded. However, if the minor revision object indicates a revision change, the revision should not significantly change the interpretation of data. The formal organization of the mibRev child group is as follows:

______________________________________ mibRevMajor OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The Major Revision level. A change in the major revision level represents a major change in the architecture of the MIB. A change in the major revision level may indicate a significant change in the information supported and/or the meaning of the supported information, correct interpretation of data may require a MIB document with the same major revision level." ::= ( mibRev 1 ) mibRevMinor OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The Minor Revision level. A change in the minor revision level may represent some minor additional support, no changes to any pre- existing information has occurred." ::= ( mibRev 2 ) ______________________________________ .COPYRGT.1992 Compaq Computer Corporation

Referring next to FIG. 4C, the traps child group, which is similarly configured for the drive array and server manager subMIBs of the enterprise MIB, shall now be described in greater detail. Each traps child group maintains information about the number of traps issued by the corresponding parent subMIB and maintains a table of immediately prior traps issued. In this manner, the management application 16, when accessing the management agent 18, may acquire recent status information regarding the manageable device 10. Each traps child group is located at branch 232.T.3, where T=the subMIB containing a traps child group. In this embodiment of the invention, T=(3,4), thereby indicating that a traps child group is provided for the drive array and server manager subMIBs. Each traps child group includes a trap packets object located at branch 232.T.3.1, a maximum size trap log object located at branch 232.T.3.2 and a trap log table located at branch 232.T.3.3. The trap log table has an entry N located at branch 232.T.3.3.N for each trap issued by the subMIB. For each entry N, the trap log table includes a log index object located at branch 232.T.3.3.N.1, a trap type object located at branch 232.T.3.3.N.2 and a trap time object located at branch 232.T.3.3.N.3. Finally, each subMIB having a traps child group includes a series of trap definitions specific to that subMIB which identifies to the management application 16 the exact type of trap maintained by the trap child group. Further details regarding the traps child group may be found by reference to the formal organizational framework of the traps child group set forth below:

______________________________________ trapPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of trap packets issued by the agent for the Server Manager enterprise since the Server Manager SNMP agent was loaded." ::= ( trap 1 ) trapLogMaxSize OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The maximum number of entries that will currently be kept in the trap log. If the maximum size has been reached and a new trap occurs the oldest trap will be removed." ::= ( trap 2 ) trapLog OBJECT-TYPE SYNTAX SEQUENCE OF TrapLogEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An ordered list of trap log entries (conceptually a queue). The trap log entries will be kept in the order in which they were generated with the most recent trap at index 1 and the oldest trap entry at index trapLogMaxSize. If the maximum number size has been reached and a new trap occurs the oldest trap will be removed when the new trap is added so the trapMaxLogSize is not exceeded." ::= ( trap 3 ) trapLogEntry OBJECT-TYPE SYNTAX TrapLogEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A description of a trap event." INDEX ( trapLogIndex ) ::= ( trapLog 1 ) trapLogEntry ::= SEQUENCE ( trapLogIndex INTEGER, trapType INTEGER, trapTime OCTET STRING (SIZE (0 . . . 6)) trapLogIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of this object uniquely identifies this trapLogEntry at this time. The most recent trap will have an index of 1 and the oldest trap Will have an index of trapLogMaxSize. Because of the queue-like nature of the trapLog this particular trap event's index will change as new traps are issued." ::= ( trapLogEntry 1 ) trapType OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The type of the trap event that this entry describes. This number refers to an entry in a list of traps enumerating the possible traps the Server Manager agent may issue." ::= ( trapLogEntry 2 ) trapTime OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0 . . . 6)) ACCESS read-only STATUS mandatory DESCRIPTION "The time of the trap event that this entry describes. The time is given in year (first octet), month, day of month, hour, minute, second (last octet) order." :: (trapLogEntry 3 ) ______________________________________ .COPYRGT.1992 Compaq Computer Corporation

Referring next to FIG. 5A, the StdEquipment subMIB located at branch 232.1 will now be described in greater detail. The StdEquipment subMIB consists of data that describes the devices typically found on the system board of the file server 10
being managed. IMPORT statements used in the StdEquipment subMIB are as follows:

______________________________________ Import Defined by ______________________________________ enterprises RFC1155SMI DisplayString RFC1158-MIB OBJECT-TYPE RFC-1212 ______________________________________

As previously discussed, the StdEquipment subMIB includes two child groups, the mibRev child group located at branch 232.1.1 and the component child group located at branch 232.1.2. The mibRev child group contains information regarding the revision of the subMIB to which the SNMP agent conforms and is configured as previously described with respect to FIG. 4B and the component child group contains information describing equipment typically found on PC, ISA and EISA architectures. This information is contained in plural child groups of the component group. The component group's child groups are a processor group located at branch 232.1.2.2, a memory group located at branch 232.1.2.3, an ISA CMOS group located at branch 232.1.2.4, an EISA non-volatile memory group located at branch 232.1.2.5, a ROM group located at branch 232.1.2.6, a keyboard group located at branch 232.1.2.7, a video group located at branch 232.1.2.8, a serial port group located at branch 232.1.2.9, a parallel port group located at branch 232.1.2.10, a floppy disk group located at branch 232.1.2.11 and a fixed disk branch located at branch 232.1.2.12.

Referring next to FIG. 5B, the proccessor child group located at branch 232.1.2.2 will now be described in greater detail. As is well known to those skilled in the art, a processor is an electronic component that performs general purpose processing which may be used with or without a coprocessor and a coprocessor is a electronic that performs special purpose processing. The processor child group describes the processor and coprocessors in the file server 10 using a plurality of object instances. More specifically, the processor child group describes the processors and coprocessors in the file server 10 using two tables, a processor table located at branch 232.1.2.2.1 and a coprocessor table located at branch 232.1.2.2.2. The processor table includes an entry N located at branch 232.1.2.2.1.N for each of N processors in the system. Similarly, the coprocessor table includes an entry N located at branch 232.1.2.2.2.N for each of N coprocessors in the system. Each entry, whether in the processor or coprocessor table, provides identification, description and speed information for a particular processor or coprocessor.

Each processor entry 232.1.2.2.1.N contains four objects, a unit index object located at branch 232.1.2.2.1.N.1, a slot object located at branch 232.1.2.2.1.N.2, a name object located at branch 232.1.2.2.1.N.3 and a speed object located at branch
232.1.2.2.1.N.4, each of which is described at greater detail in the formal organization of the processor table set forth below:

______________________________________ processorTable OBJECT-TYPE SYNTAX SEQUENCE OF ProcessorEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of the processors in the system. The main processor (if such a concept is valid for this machine) should be the first entry in the table." ::= ( processor 1 ) processorTable OBJECT-TYPE SYNTAX ProcessorEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A description of a processor in the system." INDEX ( processorUnitIndex ) ::= ( processorTable 1 ) ProcessorEntry ::= SEQUENCE ( processorUnitIndex INTEGER, processorSlot INTEGER, processorName DisplayString (SIZE(0 . . . 255)), processorSpeed INTEGER processorUnitIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This is a number that uniquely specifies a processor unit. A processing unit may be a set of processing chips that are on the same board or for other reasons work together as a unit. processorSlot OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This value represents the slot that this processor is in. If the slot cannot be determined the value of zero will be returned." ::= ( processorEntry 2 ) processorName OBJECT-TYPE SYNTAX DisplayString (SIZE (0 . . . 255) ACCESS read-only STATUS mandatory DESCRIPTION "This is a string that gives the name of the processor described in this entry. For example: 80386" ::= ( processorEntry 3 ) processorSpeed OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This is speed in megahertz of the processor described in this entry. Zero will be entered if this value is not available." ::= ( processorEntry 4 ) ______________________________________ .COPYRGT.1992 Compaq Computer Corporation

The coprocessor table, on the other hand, contains six objects, a unit index object located at branch 232.2.2.2.N.1, a chip index object located at branch 232.2.2.2.N.2, a slot object located at branch 232.2.2.2.N.3, a name object located at branch 232.2.2.2.N.4, a speed object located at branch 232.2.2.2.N.5 and a type object located at branch 232.2.2.2.N.6, each of which is described at greater detail in the formal organization of the coprocessor table set forth below:

______________________________________ coprocessorTable OBJECT-TYPE SYNTAX SEQUENCE OF CoprocessorEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of the coprocessors in the system." ::= ( processor 2 ) coprocessorEntry OBJECT-TYPE SYNTAX CoprocessorEntry ACCESS non-accessible STATUS mandatory DESCRIPTION "A description of a coprocessor in the system. The coprocessorUnitIndex of any entry in this table will equal the processorUnitIndex of the corresponding processor in the processor table." INDEX ( c o p r o c e s s o r U n i t I n d e x , coprocessorChipIndex ) ::= ( coprocessorTable 1 ) CoprocessorEntry ::=SEQUENCE ( coprocessorUnitIndex INTEGER, coProcessorChipIndex INTEGER, coprocessorSlot INTEGER, coprocessorName DisplayString (SIZE 0 . . . 255)), coprocessorSpeed INTEGER, coprocessorType INTEGER coprocessorUnitIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This is a number that uniquely specifies a processor unit. A processing unit may be a set of processing chips that are on the same board for other reasons work together as a unit. The main processor unit (if there is one) will always have the lowest (first) index. this field can be used to associate processors with their corresponding coprocessors." ::= ( coprocessorEntry 1 ) coprocessorChipIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This is a number that uniquely specifies the processor chip. A processor chip is one specific processor that may or may not work with other processor chips in a processor unit. This field is used to distinguish between multiple coprocessors that are part of the same processor unit. For example, If a processor board contained a Intel 80386 processor with both a Intel 80387 and a Weitek 3167, both the 80387 and the 3167 would have the same coprocessorUnitIndex (which would match the 80386's different coprocessorChipIndex field values." ::= ( coprocessorEntry 2 ) coprocessorSlot OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This value represents the slot that this coprocessor is in. If the slot cannot be determined the value of zero will be returned." ::= ( coprocessorEntry 3 ) coprocessorName OBJECT-TYPE SYNTAX DisplayString (SIZE (0 . . . 255) ACCESS read-only STATUS mandatory DESCRIPTION "This is a string that gives the name of the processor described in this entry. For example: 80387 Weitek 3167" ::= ( coprocessorEntry 4 ) coprocessorSpeed OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This is speed in megahertz of the processor described in this entry. Zero will be returned if this value is not available." ::= ( coprocessorEntry 5 ) coprocessorType OBJECT-TYPE SYNTAX INTEGER ( other(1), embedded(2), external(3) ) ACCESS read-only STATUS mandatory DESCRIPTION "This value indicates if the coprocessor this entry is describing is embedded in the processor or external to the processor chip." ::= ( coprocessorEntry 6 ) ______________________________________ .COPYRGT.1992 Compaq Computer Corporation

Returning momentarily to FIG. 5B, the memory child group located at branch 232.1.2.3 and ISA CMOS child group located at branch 232.1.2.4, respectively of the StdEquipment subMIB will now be described in greater detail. The memory child contains a base memory object located at branch 232.1.2.3.1 and a total memory object located at branch 232.1.2.3.2 that describe the amount of base and total memory, respectively, installed on the file server 10. The formal organization of the memory child group is as follows:

______________________________________ baseMemory OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The amount of base memory in kilobytes. A kilobyte is 1024 bytes." ::= ( memory 1 ) totalMemory OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The total amount of memory in kilobytes. A kilobyte is 1024 bytes" ::= ( memory 2 ) ______________________________________ .COPYRGT.1992 Compaq Computer Corporation

The ISA CMOS group provides raw data regarding the CMOS variables common among industry standard PCs, including the ISA CMOS real time clock, security, and configuration which is interpretable by the manager application 16. More specifically, the ISA CMOS group contains a raw data object located at branch 232.1.2.4.1 configured as a continuous 64 byte octet string and formally organized in accordance with the following:

______________________________________ isaCmosRaw OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0 . . . 64)) ACCESS read-only STATUS mandatory DESCRIPTION "The contents of the ISA CMOS." ::= ( isaCmos 1 ) ______________________________________ .COPYRGT.1992 Compaq Computer Corporation

Referring next to FIGS. 5C1-8, the EISA non-volatile memory (or "NVRAM") child group located at branch 232.1.2.5 will now be described in greater detail. The EISA NVRAM child group contains a set of tables that detail, by slot and function, the configuration information stored in an EISA bus architecture. The EISA NVRAM child group includes an EISA slot table located at branch 232.1.2.5.1, an EISA function table located at branch 232.1.2.5.2, an EISA memory table located at branch 232.1.2.5.3, an EISA interrupt table located at branch 232.1.2.5.4, an EISA data memory access (or "DMA") table located at branch 232.1.2.5.5, an EISA port table located at branch 232.1.2.5.6, an EISA free form table located at branch 232.1.2.5.7 and EISA initialization table located at branch 232.1.2.5.8.

The EISA slot table located at branch 232.1.2.5.1 contains an entry N located at branch 232.1.2.5.1.N for each configured card installed in the system. For each entry N, the EISA slot table contains a slot index object located at branch
232.1.2.5.1.N.1, a raw object located at branch 232.1.2.5.1.N.2, a board ID object located at branch 232.1.2.5.1.N.3, a board name object located at branch 232.1.2.5.1.N.4 and an EISA configuration utility revision level object located at branch
232.1.2.5.1.N.5.

The formal organization of the EISA slot table located at branch 232.1.2.5.1 is as follows:

______________________________________ eisaSlotTable OBJECT-TYPE SYNTAX SEQUENCE OF EisaSlotEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of EISA slot information entries." ::= ( eisaNvram 1 ) eisaSlotEntry OBJECT-TYPE SYNTAX EisaSlotEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A description of an EISA slot." INDEX ( eisaSlotIndex ) ::= ( eisaSlotTable 1 ) eisaSlotEntry ::= SEQUENCE ( eisaSlotIndex INTEGER, eisaSlotRaw OCTET STRING (SIZE (0 . . .
12)), eisaSlotBoardId DisplayString (SIZE (0 . . . 7)), eisaSlotBoardName DisplayString (SIZE (0 . . . 255)), eisaSlotCfUtilityRev DisplayString (SIZE (0 . . . 5)) eisaSlotIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The EISA slot number for this entry describes." ::= ( eisaSlotEntry 1 ) eisaSlotRaw OBJECT-TYPE SYNTAX OCTET STRING (SIZE 0 . . . 12)) ACCESS read-only STATUS mandatory DESCRIPTION The EISA slot data for the board in this slot. This octet string is actually the set of register values returned by the get EISA slot information call in the following order: AH, AL, BH, BL, CH, CL, DH, DL, DI (lsb), DI (msb), SI (lsb), SI (msb) AH is the return code for the call and should be
0, any other value would indicate an error or an empty slot. AL contains several bit flags about the product ID and slot type. Bit 7: 0 = No duplicate ID 1 = Duplicate IDs Bit 6: 0 = Product ID readable 1 = Product ID not readable Bit 5, 4: 00 = Expansion slot 01 = Embedded device 10 = Virtual device 11 = Reserved Bit 3 . . . 0: This nibble indicates which CFG file is loaded when duplicate file names are present. 0000 = No duplicate ID 0001 = First duplicate ID 0010 = Second duplicate ID 0011 = Third duplicate ID . . . 1111 = Fifteenth duplicate ID NOTE: Bit 7 is the most significant bit, Bit 0 is the least significant. BH contains the major revision level of the configuration utility. BL contains the minor revision level of the configuration utility. CH contains the most significant byte of the configuration file checksum. CL contains the least significant byte of the configuration file checksum. DH contains the number of device functions. DL contains the combined function information: Bit 7: reserved (0) Bit 6: reserved (0) Bit 5: slot has one or more port initialization entries. Bit 4: slot has one or more port range entries. Bit 3: slot has one or more DMA entries. Bit 2: slot has one or more interrupt (IRQ) entries. Bit 1: slot has one or more memory entries. Bit 0: slot has one or more function type definitions. NOTE: Bit 7 is the most significant bit, bit 0 is the least significant. DI and SI contain the four byte compressed ID DI (lsb) = Byte 0 DI (msb) = Byte 1 SI (lsb) = Byte 2 SI (msb) = Byte 3 For more information about the meaning of this information consult the EISA Technical Reference Guide. " ::= ( eisaSlotEntry 2 ) eisaSlotBoardId OBJECT-TYPE SYNTAX DisplayString (SIZE (0 . . . 0)) ACCESS read-only STATUS mandatory DESCRIPTION "A seven character board ID. The first three characters are the manufacturers ID followed by three character product ID followed by a one character revision level." ::= ( eisaSlotEntry 3
) eisaSlotBoardName OBJECT-TYPE SYNTAX DisplayString (SIZE (0 . . . 255)) ACCESS read-only STATUS mandatory DESCRIPTION "The product name (or other suitable description) of the board described in this entry. This field may be empty if no descriptive information is known about the board." ::= ( eisaSlotEntry 4 ) eisaSlotCfUtilityRev OBJECT-TYPE SYNTAX DisplayString (SIZE (0 . . . 5)) ACCESS read-only STATUS mandatory DESCRIPTION "The revision level of the EISA configuration utility that was used to configure the system. This should be the same version information displayed by the EISA configuration utility." ::= ( eisaSlotEntry 5 ) ______________________________________ .COPYRGT.1992Compaq Computer Corporation

Continuing to refer to FIGS. 5C1-8, and, in particular, to FIG. 5C-2, the EISA function table will now be described in greater detail. The EISA function table located at branch 232.1.2.5.2 contains an entry N located at branch 232.1.2.5.2.N for each function performed by a configured card. For each entry N, the function table contains a slot index object located at branch 232.1.2.5.2.N.1, a function index object located at branch 232.1.2.5.2.N.2, a status object located at branch
232.1.2.5.2.N.3, a type object located at branch 232.1.2.5.2.N.4, an EISA configuration revision level object located at branch 232.1.2.5.2.N.5 and a selection object located at branch 232.1.2.5.2.N.6. The formal organization of the EISA function table is as follows:

______________________________________ eisaFunctionTable OBJECT-TYPE SYNTAX SEQUENCE OF EisaFunctionEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list EISA function information entries." ::= ( eisaNvram 2 ) eisaFunctionEntry OBJECT-TYPE SYNTAX EisaFunctionEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A description of an EISA function." INDEX (eisaFunctionSlotIndex, eisaFunctionIndex) ::= ( eisaFunctionTable 1 ) eisaFunctionEntry ::=SEQUENCE ( eisaFunctionSlotIndex INTEGER, eisaFunctionIndex INTEGER, eisaFunctionStatus INTEGER, eisaFunctionType DisplayString (SIZE (0 . . . 80)), eisaFunctionFileRev DisplayString (SIZE (0 . . . 5)), eisaFunctionSelections OCTET STRING (SIZE (0 . . . 26)) eisaFunctionSlotIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The EISA slot number of the board that registered the function this entry describes." ::= ( eisaFunctionEntry 1 ) eisaFunctionIndex OBJECT-TYPE SYNTAX INTEGER ( ACCESS read-only STATUS mandatory DESCRIPTION "The number of the function this entry describes." ::= ( eisaFunctionEntry 2) eisaFunctionStatus OBJECT-TYPE SYNTAX INTEGER ( disabled (2), enabled (3) ) ACCESS read-only STATUS mandatory DESCRIPTION "The status of the function described by this entry." ::= ( eisaFunctionEntry 3 ) eisaFunctionType OBJECT-TYPE SYNTAX DisplayString (SIZE (0 . . . 80)) ACCESS read-only STATUS mandatory DESCRIPTION "The type of the function. The type may be followed by one or more subtype description fields. Some currently defined types are: Type Meaning COM Communication device COM, ASY ISA compatible 8250 based serial port COM, ASY, FIFO ISA compatible 16550
based serial port (with fifo) COM, SYN ISA compatible SDLC port CPU Microprocessor CPU, 8086 8086 compatible microprocessor CPU, 80286 80286 compatible microprocessor CPU, 80386SX 80386SX compatible microprocessor CPU, 80386 80386 compatible microprocessor CPU, 80486 80486 compatible microprocessor JOY ISA compatible joystick adapter KEY Keyboard KEY, nnn, KBD=xx Standard Keyboard with nnn keys for country xx MEM Memory board MFC Multifunction board MSD Mass storage device MSD, DSKCTL ISA compatible fixed disk controller MSD, FPYCTL ISA compatible floppy disk controller MSD, TAPCTL Primary tape controller NET Network board NPX Numeric coprocessor NPX, 287 Intel 287 numeric coprocessor NPX, 387 Intel 387 numeric coprocessor NPX, 387SX Intel 387SX numeric coprocessor NPX, W1167 Weitek 1167 numeric coprocessor NPX, W3167 Weitek 3167 numeric coprocessor OSE O p e r a t i n g system/environment OTH Other PAR ISA compatible parallel port PAR, BID Bidirectional parallel port PTR Pointing device PTR, 8042 8042 pointing device (mouse) interface SYS System board VID Video board VID, MDA ISA compatible monochrome adapter VID, MDA, MGA Hercules monochrome adapter VID, CGA CGA, no write sync during retrace required VID, CGA, RTR CGA, write sync during retrace required VID, EGA ISA compatible EGA adapter VID, VGA ISA compatible VGA adapter This list is not intended to be complete. Other types may be found in this field. This list describes some of the more common types found, other types should be similarly recognizable to someone sufficiently knowledgeable about computer hardware." ::= ( eisaFunctionEntry 4 ) eisaFunctionCfgFileRev OBJECT-TYPE SYNTAX DisplayString (SIZE (0 . . . 5)) ACCESS read-only STATUS mandatory DESCRIPTION "The revision of the EISA configuration .CFG file used to configure this board." ::= ( eisaFunctionEntry 4 ) eisaFunctionSelections OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0 . . . 26)) ACCESS read-only STATUS mandatory DESCRIPTION "The selections that were chosen to create this function." ::= ( eisaFunctionEntry 6 ) ______________________________________ .COPYRGT.1992 Compaq Computer Corporation

Continuing to refer to FIGS. 5C1-8 and, in particular to FIG. 5C-3, the remaining tables included in EISA NVRAM child group will now be described in greater detail. The remaining tables (the EISA memory table, the EISA interrupt table, the EISA DMAtable, the EISA port table, the EISA free form table and the EISA initialization table) detail the resources used by each function of each configured card. More specifically, for each EISA memory configuration installed, the memory table located at branch 232.1.2.5.3 has an entry N which includes a slot index object located at branch 232.1.2.5.3.N.1, a function index object located at branch 232.1.2.5.3.N.2, an allocation index object located at branch 232.1.2.5.3.N.3, an address start object located at branch 232.1.2.5.3.N.4, a size object located at branch 232.1.2.5.3.N.5, a share object located at branch 232.1.2.5.3.N.6, a memory type object located at branch 232.1.2.5.3.N.7, a cache type object located at branch 232.1.2.5.3.N.8, an access object located at branch 232.1.2.5.3.N.9, a decode object located at branch 232.1.2.5.3.N.10 and a data size object located at branch 232.1.2.5.3.N.11. The formal organization of the memory table located at branch 232.1.2.5.3 is as follows:

______________________________________ eisaMemoryTable OBJECT-TYPE SYNTAX SEQUENCE OF EisaMemoryEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of EISA function memory configuration entries." ::= ( eisaNvram 3 ) eisaMemoryEntry OBJECT-TYPE SYNTAX EisaMemoryEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A description of an EISA function memory configuration." INDEX ( eisaMemorySlotIndex, eisaMemoryFunctionIndex, eisaMemoryAllocationIndex ) ::= ( eisaMemoryTable 1 ) EisaMemoryEntry ::= SEQUENCE eisaMemorySlotIndex INTEGER, eisaMemoryFunctionIndex INTEGER, eisaMemoryAllocationIndex INTEGER, eisaMemoryStartAddress INTEGER, eisaMemorySize INTEGER, eisaMemoryShare INTEGER, eisaMemoryType INTEGER, eisaMemoryCache INTEGER, eisaMemoryAccess INTEGER, eisaMemoryDecode INTEGER, eisaMemoryDataSize INTEGER eisaMemorySlotIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The EISA slot number of the board that registered the memory configuration this entry describes." ::= ( eisamemoryEntry 1 ) eisaMemoryFunctionIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The function in which this memory configuration was registered." ::= ( eisaMemoryEntry 2 ) eisaMemoryAllocationIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The index for this memory allocation entry in the EISA function block." ::= ( eisaMemoryEntry 3 ) eisaMemoryStartAddress OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The starting address of the memory configuration." ::= ( eisaMemoryEntry 4 ) eisaMemorySize OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The size in bytes of the memory configuration." ::= ( eisaMemoryEntry 5 ) eisaMemoryShare OBJECT-TYPE SYNTAX INTEGER ( nonshareable(1), shareable(2) ) ACCESS read-only STATUS mandatory DESCRIPTION "This value indicates if the memory is shareable." ::= ( eisaMemoryEntry 6 ) eisaMemoryType OBJECT-TYPE SYNTAX INTEGER systemBaseOrExtended(1), expanded(2), virtual(3), other(4) ) ACCESS read-only STATUS mandatory DESCRIPTION "The type of memory." ::= ( eisaMemoryEntry 7 ) eisaMemoryCache OBJECT-TYPE SYNTAX INTEGER ( notCached(1), cached(2) ) ACCESS read-only STATUS mandatory DESCRIPTION "The value indicates if the memory is cached. ::= ( eisaMemoryEntry 8 ) eisaMemoryAccess OBJECT-TYPE SYNTAX INTEGER ( readOnly(1), readWrite(2) ) ACCESS read-only STATUS mandatory DESCRIPTION "The type of access permitted for this memory." ::= ( eisaMemoryEntry 9) eisaMemoryDecode OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION The memory decode size (the number of address lines supported)." ::= ( eisaMemoryEntry 10 ) eisaMemoryDataSize OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The data access size for the memory in bits." ::= ( eisaMemoryEntry 11) ______________________________________ .COPYRGT.1992 Compaq Computer Corporation

Referring next to FIG. 5C-4, the EISA interrupt table will now be described in greater detail. The EISA interrupt table located at branch 232.1.2.5.4 includes an entry N for each interrupt configuration N. Each entry N includes a slot index object located at branch 232.1.2.5.4.N.1, a function index object located at branch 232.1.2.5.4.N.2, an allocation index object located at branch 232.1.2.5.4.N.3, a number object located at branch 232.1.2.5.4.N.4, a share object located at branch
232.1.2.5.4.N.5 and a trigger object located at branch 232.1.2.5.4.N.6. Additional information regarding the interrupt table is detailed in the formal organization set forth below:

______________________________________ eisaInterruptTable OBJECT-TYPE SYNTAX SEQUENCE OF EisaInterruptEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of EISA function interrupt configuration entries." ::= (eisaNvram 4 ) eisaInterruptEntry OBJECT-TYPE SYNTAX EisaInterruptEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A description of an EISA function interrupt configuration." INDEX ( eisaInterruptSlotIndex, eisaInterruptFunctionIndex, eisaInterruptAllocationIndex ) ::= ( eisaInterruptTable 1 EisaInterruptEntry ::= SEQUENCE ( eisaInterruptSlotIndex INTEGER, eisaInterruptFunctionIndex INTEGER, eisaInterruptAllocationIndex INTEGER, eisaInterruptNumber INTEGER, eisaInterruptShare INTEGER, eisaInterruptTrigger INTEGER eisaInterruptSlotIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The EISA slot number of the board that registered the interrupt configuration this entry describes." ::= ( eisaInterruptEntry 1 ) eisaInterruptFunction Index OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The function in which this interrupt configuration was registered." ::= ( eisaInterruptEntry 2 ) eisaInterruptAllocationIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The index for this interrupt allocation entry in the EISA function block." ::= ( eisaInterruptEntry 3 ) eisaInterruptNumber OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The interrupt described in this entry." ::= ( eisaInterruptEntry 4 ) eisaInterruptShare OBJECT-TYPE SYNTAX INTEGER ( nonshareable(1), shareable(2) ACCESS read-only STATUS mandatory DESCRIPTION "This value indicates if the interrupt is shareable." ::= ( eisaInterruptEntry 5 ) eisaInterruptTrigger OBJECT-TYPE SYNTAX INTEGER ( edged(1), level(2) ) ACCESS read-only STATUS mandatory DESCRIPTION "This value indicates if the interrupt is edge or level triggered." ::= ( eisaInterruptEntry 6 ) ______________________________________ .COPYRGT. 1992 Compaq Computer Corporation

Referring next to FIG. 5C-5, the EISA DMAtable will now be described in greater detail. The EISA DMA table includes N entries, each having a slot index object at branch 232.1.2.5.5.N.1, a function index object at branch 232.1.2.5.5.N.2, an allocation index at branch 232.1.2.5.5 .N.3, a DMA channel object at branch 232.1.2.5.5 .N.4, a share object at branch 232.1.2.5.5 .N.5, a timing object at branch 232.1.2.5.5 .N.6 and a transfer size object at branch 232.1.2.5.6 .N.6. Further details regarding each of the entry objects for the EISA DMA table are as follows:

______________________________________ eisaDmaTable OBJECT-TYPE SYNTAX SEQUENCE OF EisaDmaEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of EISA function DMA configuration entries." ::= ( eisaNvram 5 ) eisaDmaEntry OBJECT-TYPE SYNTAX EisaDmaEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A description of an EISA function DMA configuration." ::= ( eisaDmaTable 1 ) EisaDmaEntry ::= SEQUENCE ( eisaDmaSlotIndex INTEGER, eisaDmaFunctionIndex INTEGER, eisaDmaAllocationIndex INTEGER, eisaDmaChannel INTEGER, eisaDmaShare INTEGER, eisaDmaTiming INTEGER, eisaDmaTransferSize INTEGER eisaDmaSlotIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The EISA slot number of the board that registered the DMA configuration this entry describes." ::= ( eisaDmaEntry 1 ) eisaDmaFunctionIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The function in which this DMA configuration was registered." ::= ( eisaDmaEntry 2 ) eisaDmaAllocationIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The index for this DMA channel allocation entry in the EISA function block." ::= ( eisaDmaEntry 3 ) eisaDmaChannelIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The DMA channel described in this entry." ::= ( eisaDmaEntry 4 ) eisaDmaShare OBJECT-TYPE SYNTAX INTEGER ( nonshareable(1), shareable(2) ) ACCESS read-only STATUS mandatory DESCRIPTION "This value indicates if the DMA channel is shareable." ::= ( eisaDmaEntry 5 ) eisaDmaTiming OBJECT-TYPE SYNTAX INTEGER ( eisaTiming(1), typeA(2), typeB(3), burstTypeC(4) ) ACCESS read-only STATUS mandatory DESCRIPTION "This value indicates the timing (transfer rate) associated with this configuration of the DMA channel." ::= ( eisaDmaEntry 6 ) eisaDmaTransferSize OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This value indicates the transfer size in bits used over this DMA channel." ::= ( eisaDmaEntry 7 ) ______________________________________ .COPYRGT. 1992 Compaq Computer Corporation

Referring next to FIG. 5C-6, the EISA port table will now be described in greater detail. The EISA port table includes N entries, each having a slot index object at branch 232.1.2.5.6.N.1, a function index object at branch 232.1.2.5.6.N.2, an allocation index at branch 232.1.2.5.6.N.3, an address object at branch 232.1.2.5.6.N.4 and a size object at branch 232.1.2.5.6.N.5. Further details regarding each of the entry objects for the EISA port table are as follows:

______________________________________ eisaPortTable OBJECT-TYPE SYNTAX SEQUENCE OF EisaPortEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of EISA function port I/O configuration entries." ::= ( eisaNvram 6 ) eisaPortEntry OBJECT-TYPE SYNTAX EisaPortEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A description of an EISA function Port I/O configuration." INDEX (eisaPortSlotIndex, eisaPortFunctionIndex, eisaPortAllocationIndex ) ::= ( eisaPortTable 1 ) EisaPortEntry ::= SEQUENCE ( eisaPortSlotIndex INTEGER, eisaPortFunctionIndex INTEGER, eisaPortAllocationIndex INTEGER, eisaPortAddress INTEGER, eisaPortShare INTEGER, eisaPortSize INTEGER eisaPortSlotIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The EISA slot number of the board that registered the I/O port configuration this entry describes." ::= ( eisaPortEntry 1 ) eisaPortFunctionIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The function in which this I/O port range configuration was registered." ::= ( eisaPortEntry 2 ) eisaPortAllocationIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The index for this I/O port range allocation entry in the EISA function block." ::= ( eisaPortEntry 3 ) eisaPortAddress OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The I/O port address being described in this entry." ::= ( eisaPortEntry 4 ) eisaPortShare OBJECT-TYPE SYNTAX INTEGER ( nonshareable(1), shareable(2) ) ACCESS read-only STATUS mandatory DESCRIPTION "This value indicates if the Port channel is shareable." ::= ( eisaPortEntry 5 ) eisaPortSize OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The number of sequential ports starting at the eisaPortAddrIndex that are be configured." ::= ( eisaPortEntry 6 ) ______________________________________ .COPYRGT. 1992
Compaq Computer Corporation

Referring next to FIG. 5C-7, the EISA free form table will now be described in greater detail. The EISA free form table includes N entries, each having a slot index object at branch 232.1.2.5.7.N.1, a function index object at branch
232.1.2.5.7.N.2, and a value object at branch 232.1.2.5.7.N.3. Further details regarding each of the entry objects for the EISA free form table are as follows:

______________________________________ eisaFreeFormTable OBJECT-TYPE SYNTAX SEQUENCE OF EisaFreeFormEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of EISA function free form entries." ::= ( eisaNvram 7 ) eisaFreeFormEntry OBJECT-TYPE SYNTAX EisaFreeFormEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A description of an EISA function free form." INDEX ( eisaFreeFormSlotIndex, eisaFreeFormFunctionIndex ) ::= ( eisaFreeFormTable 1 ) EisaPortEntry ::= SEQUENCE ( eisaFreeFormSlotIndex INTEGER, eisaFreeFormFunctionIndex INTEGER, eisaFreeFormValue OCTET STRING (SIZE (0..25)) eisaFreeFormSlotIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The EISA slot number of the board that registered the free form information this entry describes." ::= ( eisaFreeFormEntry 1 ) eisaFreeFormFunctionIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The function in which this free form was registered." ::= ( eisaFreeFormEntry 2 ) eisaFreeFormValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..205) ACCESS read-only STATUS mandatory DESCRIPTION "The free form value." ::= ( eisaFreeFormEntry 3 ) ______________________________________ .COPYRGT. 1992 Compaq Computer Corporation

Referring next to FIG. 5C-8, the EISA initialization table will now be described in greater detail. The EISA initialization table includes N entries, each having a slot index object at branch 232.1.2.5.8.N.1, a function index object at branch
232.1.2.5.8.N.2, an allocation index object at branch 232.1.2.5.8.N.3, a use mask object at branch 232.1.2.5.8.N.4, an access object at branch 232.1.2.5.8.N.5, an address object at branch 232.1.2.5.8.N.6, a port value object at branch 232.1.2.5.8.N.7 and a port mask object at branch 232.1.2.5.8.N.8. Further details regarding each of the entry objects for the EISA initialization table are as follows:

______________________________________ eisaInitTable OBJECT-TYPE SYNTAX SEQUENCE OF EisaInitEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of EISA function port initialization entries." ::= ( eisaNvram 8 ) eisaInitEntry OBJECT-TYPE SYNTAX EisaInitEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A description of an EISA function port initialization." INDEX (eisaInitSlotIndex, eisaInitFunctionIndex, eisaInitAllocationIndex) ::= ( eisaInitTable 1 ) EisaInitEntry ::= SEQUENCE ( eisaInitSlotIndex INTEGER, eisaInitFunctionIndex INTEGER, eisaInitAllocationIndex INTEGER, eisaInitUseMask INTEGER, eisaInitAccess INTEGER, eisaInitAddress INTEGER, eisaInitPortValue INTEGER, eisaInitPortMask INTEGER eisaInitSlotIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The EISA slot number of the board that registered the port initialization this entry describes." ::= ( eisaInitEntry 1 ) eisaInitFunctionIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The function in which this port initialization was registered." ::= ( eisaInitEntry 2 ) eisaInitAllocationIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The index for this port initialization entry in the EISA function block." ::= ( eisaInitEntry 3 ) eisaInitUseMask OBJECT-TYPE SYNTAX INTEGER ( useValueOnly(1), useValueAndMask(2) ) ACCESS read-only STATUS mandatory DESCRIPTION "This indicates if a mask will be used when performing initialization." ::= ( eisaInitEntry 4 ) eisaInitAccess OBJECT-TYPE SYNTAX INTEGER ( eightBitAddress(1), sixteenBitAddress(2) thirtyTwoBitAddress (3) ) ACCESS read-only STATUS mandatory DESCRIPTION "This value indicates the number of bits this entry initializes." ::= ( eisaInitEntry 5 ) eisaInitAddress OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This value indicates the port address this entry initializes." ::= ( eisaInitEntry 6 ) eisaInitPortValue OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This value indicates the value this entry initializes the port to." ::= ( eisaInitEntry 7 ) eisaInitPortMask OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "This value indicates the mask to use when performing initialization." ::= ( eisaInitEntry 8 ) ______________________________________ .COPYRGT. 1992 Compaq Computer Corporation

Referring now to FIG. 5D, the ROM child group will now be described in greater detail. The ROM group located at branch 232.1.2.6 describes the system ROM, both version and date using a version object located at branch 232.1.2.6.1, and uses an N entry option ROM table, each entry having an address index object located at branch 232.1.2.6.2.N.1 and a size object located at branch 232.1.2.6.2.N.2 which describes the starting address and size of each option ROM in the system. The formal organization of the ROM group is as follows:

______________________________________ systemRomVersion OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "The system ROM manufacturer, family, and version information." ::= ( rom 1 ) optionRomTable OBJECT-TYPE SYNTAX SEQUENCE OF OptionSlotEntry ACCESS not-accessible STATUS optional DESCRIPTION "A table of option ROM descriptions." ::= ( rom 2 ) optionRomEntry OBJECT-TYPE SYNTAX OptionRomEntry ACCESS not-accessible STATUS optional DESCRIPTION "An option ROM description." INDEX ( optionRomStartAddrIndex ) ::= ( optionRomTable 1 ) OptionRomEntry ::-SEQUENCE ( optionRomStartAddrIndex INTEGER, optionRomSize INTEGER optionRomStartAddrIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS optional DESCRIPTION "The starting address of the option ROM." ::= ( optionRomEntry 1 ) optionRomSize OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS optional DESCRIPTION "The size in bytes of the option ROM." ::= ( optionRomEntry 2 ) biosRomDataRaw OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..256)) ACCESS read-only STATUS optional DESCRIPTION "The BIOS ROM data area. This may be the current contents a copy of the BIOS ROM data area from when the SNMP agent was loaded." ::= ( rom 3 ) ______________________________________ .COPYRGT. 1992 Compaq Computer Corporation

Returning momentarily to FIG. 5A, the keyboard child group will now be described in greater detail. The keyboard group is located at branch 232.1.2.7 contains a description object located at branch 232.1.2.7.1 which describes the keyboard attached to the system and which is organized as follows:

______________________________________ keyboardDescription OBJECT-TYPE SYNTAX DisplayString (SIZE (0...255)) ACCESS read-only STATUS mandatory DESCRIPTION "A description of the keyboard" ::= ( keyboard 1) ______________________________________ .COPYRGT. 1992 Compaq Computer Corporation

The video group is located at branch 232.1.2.8 and includes a description object located at branch 232.1.2.8.1 which describes the video adaptor and display and is configured as follows:

______________________________________ videoDescription OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "A description of the video system in the computer. This may include the manufacturer, board name, modes supported, etc.." ::= ( video 1 ) ______________________________________ .COPYRGT. 1992 Compaq Computer Corporation

Referring now to FIG. 5E, the serial port child group will now be described in greater detail. The serial port group is located at branch 232.1.2.9 and includes a table located at branch 232.1.2.9.1 which contains N entries, each containing configuration information for one of the serial ports installed in the system. The configuration information is contained in an index object located at branch 232.1.2.9.1.N.1, an address object located at branch 232.1.2.9.1.N.2 and a description object located at branch 232.1.2.9.1.N.3. The serial port group is organized as follows:

______________________________________ serialPortTable OBJECT-TYPE SYNTAX SEQUENCE OF SerialPortEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table of serial port descriptions." ::= ( serialPort 1 ) serialPortIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "A description of a serial port." INDEX ( serialPortIndex ) ::= ( serialPortTable 1 ) SerialPortEntry ::= SEQUENCE serialPortIndex INTEGER, serialPortAddr INTEGER, serialPortDesc DisplayString (SIZE (0..255)) serialPortIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "An index that uniquely specifies this entry." ::= ( serialPortEntry 1) serialPortAddr OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The I/O port address used by this serial port." ::= ( serialPortEntry 2 ) serialPortDesc OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "A text description of further information known about the serial port. This may be an empty string if no further information is known." ::= ( serialPortEntry 3 ) ______________________________________ .COPYRGT. 1992 Compaq Computer Corporation

Referring now to FIG. 5F, the parallel port child group will now be described in greater detail. The parallel port group is located at branch 232.1.2.10 and includes a table located at branch 232.1.2.10.1 which contains N entries, each containing configuration information for one of the parallel ports installed in the system. The configuration information is contained in an index object located at branch 232.1.2.10.1.N.1, an address object located at branch 232.1.2.10.1.N.2 and a description object located at branch 232.1.2.10.1.N.3. The parallel port group is organized as follows:

______________________________________ parallelPortTable OBJECT-TYPE SYNTAX SEQUENCE OF ParallelPortEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table of parallel port descriptions." ::= ( parallelPort 1 ) parallelPortEntry OBJECT-TYPE SYNTAX ParallelPortEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A description of a parallel port." INDEX ( parallelPortIndex ) ::= ( parallelPortTable 1 ) ParallelPortEntry ::-SEQUENCE ( parallelPortIndex INTEGER, parallelPortAddr INTEGER, parallelPortDesc DisplayString (SIZE (0..255)) parallelPortIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "An index that uniquely specifies this entry." ::= ( parallelPortEntry 1 ) parallelPortAddr OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The I/O port address used by this parallel port." ::= ( parallelPortEntry 2 ) parallelPortDesc OBJECT-TYPE SYNTAX displayString (SIZE (0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "A text description of further information known abut the parallel port. This may be an empty string if no further information is known." ::= (parallelPortEntry 3 ) ______________________________________ .COPYRGT. 1992 Compaq Computer Corporation

Referring now to FIG. 5G, the floppy diskette child group will now be described in greater detail. The floppy diskette group is located at branch 232.1.2.11 and includes a table located at branch 232.1.2.11.1 which contains N entries, each of which describes a floppy diskette drive installed in the system. The description of a floppy diskette drive is contained in an index object located at branch 232.1.2.11.1.N.1 and a type object located at branch 232.1.2.11.1.N.2. The floppy diskette group is organized as follows:

______________________________________ floppyDisketteTable OBJECT-TYPE SYNTAX SEQUENCE OF FloppyDisketteEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table of floppy drive descriptions." ::= ( floppyDiskette 1 ) floppyDisketteEntry OBJECT-TYPE SYNTAX FloppyDisketteEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A floppy drive description." INDEX ( floppydisketteIndex ) ::= ( floppyDisketteTable 1 ) FloppyDisketteEntry ::=SEQUENCE ( floppyDisketteIndex INTEGER, floppyDisketteType INTEGER floppyDisketteIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION ""An index that uniquely specifies this entry. If possible, this field will map directly to the drive letter (1 for A:, 2 for B:)." ::= ( floppyDisketteEntry 1 ) floppyDiskettetype OBJECT-TYPE SYNTAX INTEGER ( drive360k(1), drive1200k(2), drive720k(3), drive1440k(4) ) ACCESS read-only STATUS mandatory DESCRIPTION "The type (capacity) of the floppy drive. The following values are valid: drive360k (1) This is a 360 kilobyte, 5.25 inch floppy drive. drive1200k (2) This is a 1.2 megabyte, 5.25 inch floppy drive. drive720k (3) This is a 720 kilobyte, 3.5 inch floppy drive. drive1440k (4) This is a 1.44 megabyte, 3.5 inch floppy drive." ::= ( floppyDisketteEntry 2 ) ______________________________________ .COPYRGT. 1992 Compaq Computer Corporation

Referring now to FIG. 5H, the fixed disk child group will now be described in greater detail. The fixed disk group is located at branch 232.1.2.12 and includes a table located at branch 232.1.2.12.1 which contains N entries, each of which describes the configuration of a fixed disk drive installed in the system which is accessible through a ST506 compatible interface. The description of a fixed disk drive is contained in an index object located at branch 232.1.2.12.1.N.1, a type object located at branch 232.1.2.12.1.N.2, a cylinders object located at branch 232.1.2.12.1.N.3, a heads object located at branch 232.1.2.12.1.N.4, a sectors per track object located at branch 232.1.2.12.1.N.5 and a capacity object located at branch
232.1.2.12.1.N.6. The floppy diskette group is organized as follows:

______________________________________ fixedDiskTable OBJECT-TYPE SYNTAX SEQUENCE OF FixedDiskEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table of ST-506 interface accessible fixed disk descriptions." ::= ( fixedDisk 1 ) fixedDiskEntry OBJECT-TYPE SYNTAX fixedDiskEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A fixed disk description." INDEX ( fixedDiskIndex ) ::= ( fixedDiskTable 1) FixedDiskEntry ::= SEQUENCE ( fixedDiskIndex INTEGER, fixedDiskType INTEGER, fixedDiskCylinders INTEGER, fixedDiskHeads INTEGER, fixedDiskSectorsPerTrack INTEGER, fixedDiskCapacity INTEGER fixedDiskIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "An index that uniquely specifies this entry. Each possible index value indicates a special drive as shown in the table below: fiskDiskIndex IDE/ESDI Controller Drive Unit 1 Primary 1 2 Primary 2 3 Secondary 1 4 Secondary 2 Any other index value would be implementation specific." ::= ( fixedDiskEntry 1 ) fixedDiskType OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The drive type." ::= ( fixedDiskEntry 2 ) fixedDiskCylinders OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The number of cylinders on the drive." ::= ( fixedDiskEntry 3 ) fixedDiskHeads OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The number of heads on the drive." ::= ( fixedDiskEntry 4 ) fixedDiskSectorsPerTrack OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The number of sectors per tract on the drive." ::= ( fixedDiskEntry 5 ) fixedDiskCapacity OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The capacity of the drive in megabytes." ::= ( fixedDiskEntry 6 ) ______________________________________ .COPYRGT. 1992 Compaq Computer Corporation

Referring next to FIG. 6A, the Compaq system subMIB 232.2 which consists of data describing system board information specific to computer systems manufactured by Compaq Computer Corporation shall now be described in greater detail. IMPORTS used in the system subMIB 232.2 are as follows:

______________________________________ Import Defined by ______________________________________ enterprises RFC1155-SMI Counter RFC1155-SMI Gauge RFC1155-SMI TimeTicks RFC1155-SMI DisplayString RFC1158-MIB OBJECT-TYPE RFC-1212 ______________________________________

The system subMIB includes two child groups, a mibRev group located at branch 232.2.1 and a component group located at branch 232.2.2. The mibRev child group contains information regarding the revision of the subMIB to which the SNMP agent conforms and is configured as previously described in FIG. 4b.

The component child group contains information describing Compaq extensions to standard PC, ISA and EISA architectures. This information is contained in plural child groups of the component group. The component group's child groups are an interface child group containing information specific to the host software that supports runtime object instances, located at branch 232.2.2.1, an asset child group located at branch 232.2.2.2, a security child group located at branch 232.2.2.3 and a system board child group located at branch 232.2.2.4.

The asset child group located at branch 232.2.2.2 contains the serial numbers of any hardware, for example, file server 10, manufactured by Compaq Computers which support asset management and is comprised of a single object, referred to as a serial number object, located at branch is organized according to the following:

______________________________________ systemSerialNumber OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "The serial number of the system unit. The string will be empty if the system does not report the serial number function." ______________________________________ .COPYRGT. 1992 Compaq Computer Corporation

The security child group located at branch 232.2.2.3 contains object instances describing how security features installed on computers manufactured by Compaq Computer Corporation installed in the system are configured. The security group includes 10 objects, a power on password object located at branch 232.2.2.1, a network server mode object located at branch 232.2.2.2, a quick lock password object located at branch 232.2.2.3, a quick blank screen object located at branch 232.2.2.4, a diskette boot control object located at branch 232.2.2.5, a primary serial port access control object located at branch 232.2.2.6, a secondary serial port access control object located at branch 232.2.2.7, a parallel port access control object located at branch 232.2.2.8, a floppy diskette control object located at branch 232.2.2.9, a fixed disk control object located at branch 232.2.2.10. The security child group is organized according to the following framework:

______________________________________ powerOnPassword OBJECT-TYPE SYNTAX INTEGER ( other(1), disabled(2), enabled (3) ACCESS read-only STATUS mandatory DESCRIPTION "The state of the power on password feature." ::= ( security 1 ) networkServerMode OBJECT-TYPE SYNTAX INTEGER ( other(1), disabled(2), enabled (3) ) ACCESS read-only STATUS mandatory DESCRIPTION "The state of the network server mode feature." ::= ( security 2 ) quickLockPassword OBJECT-TYPE SYNTAX INTEGER ( other(1), disabled(2), enabled (3) ) ACCESS read-only STATUS mandatory DESCRIPTION "The state of the quicklock password feature." ::= ( security 3 ) quickBlankScreen OBJECT-TYPE SYNTAX INTEGER ( other(1), disabled(2), enabled (3) ) ACCESS read-only STATUS mandatory DESCRIPTION "The state of the quicklock blank screen feature." ::= ( security 4 ) disketteBootcontrol OBJECT-TYPE SYNTAX INTEGER ( other(1), disabled(2), enabled (3) ) ACCESS read-only STATUS mandatory DESCRIPTION "The state of the diskette boot control feature." ::= ( security 5 ) serialPortAControl OBJECT-TYPE SYNTAX INTEGER ( other(1), disabled(2), enabled (3) ) ACCESS read-only STATUS mandatory DESCRIPTION "The state of the access control for the primary serial port interface embedded in the Compaq system board." ::= ( security 6 ) serialPortBControl OBJECT-TYPE SYNTAX INTEGER ( other(1), disabled(2), enabled (3) ) ACCESS read-only STATUS mandatory DESCRIPTION "The state of the access control for the secondary serial port interface embedded in the Compaq system board." ::= ( security 7 ) parallelPortControl OBJECT-TYPE SYNTAX INTEGER ( other(1), disabled(2), enabled (3) ) ACCESS read-only STATUS mandatory DESCRIPTION "The state of the access control for the parallel port interface embedded in the Compaq system board." ::= ( security 8 ) floppyDisketteControl OBJECT-TYPE SYNTAX INTEGER ( other(1), disabled(2), enabled (3) ) ACCESS read-only STATUS mandatory DESCRIPTION "The state of the access control for the floppy diskette interface embedded in the Compaq system board." ::= ( security 9 ) fixedDiskControl OBJECT-TYPE SYNTAX INTEGER ( other(1), disabled(2), enabled (3) ) ACCESS read-only STATUS mandatory DESCRIPTION "The state of the access control for the fixed disk interface embedded in the Compaq system board." ::= ( security 10 ) ___________________________