WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
MIB database and generic popup window architecture    

Custom CD of patents similar to US5684988 : MIB database and generic popup window architecture - $19.95
United States Patent5684988   
Link to this pagehttp://www.wikipatents.com/5684988.html
Inventor(s)Pitchaikani; Balaji (Santa Clara, CA); Luo; Chen-Yea (Sunnyvale, CA); Foster; Gregory Allen (Santa Clara, CA)
AbstractAn apparatus for acquiring a plurality of values from an agent on a network is provided. The apparatus may be accessed through a predefined interface by various network management station applications. Because the apparatus is independent from the network management applications, the functionality provided by the apparatus need not be duplicated in each network management station application. The apparatus generally includes an agent identification unit, a display mechanism, a database access unit, a storage device and an information retrieval unit. The storage device stores a database containing data representing agents, management information bases, objects and attribute groups. When a network management station application requires values from an agent, the network management station application sends the apparatus a signal identifying the agent and specifying an information category, such as performance, status, or diagnostic. The agent identification unit identifies the type of the agent. The database access unit accesses the database to determine a plurality of objects which correspond to the specified information category according to the type of the agent. The information retrieval unit sends an information request to the agent based on the plurality of objects determined by the database access unit, and receives a response containing the plurality of values from the agent. The plurality of values are sent to the display unit, which displays the values visually in a pop-up window.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5684988
MIB database and generic popup window architecture - US Patent 5684988 Drawing
MIB database and generic popup window architecture
Inventor     Pitchaikani; Balaji (Santa Clara, CA); Luo; Chen-Yea (Sunnyvale, CA); Foster; Gregory Allen (Santa Clara, CA)
Owner/Assignee     Bay Networks, Inc. (Santa Clara, CA)
Patent assignment
All assignments
Company News
Publication Date     November 4, 1997
Application Number     08/279,494
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     July 22, 1994
US Classification     707/104.1 370/401 718/102 718/103
Int'l Classification     G06F 017/30
Examiner     Black; Thomas G.
Assistant Examiner     Lewis; Cheryl
Attorney/Law Firm     Blakely, Sokoloff, Taylor & Zafman, L.L.P.
Address
Parent Case    
Priority Data    
USPTO Field of Search     395/600 395/200 395/650 395/156 370/85.6
Patent Tags     mib database generic popup window architecture
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5432932
Chen

Jul,1995

[0 after 0 votes]
5367635
Bauer
709/221
Nov,1994

[0 after 0 votes]
5345550
Bloomfield
715/841
Sep,1994

[0 after 0 votes]
5317568
Bixby
370/401
May,1994

[0 after 0 votes]
5226120
Brown
709/224
Jul,1993

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B

[0 market size comments]
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 market share comments]
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 reasonable royalty comments]
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

[0 Guesstimation of Royalty Value Comments]
License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 license availability comments]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 owner/assignee comments]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

[0 competitive advantage comments]
Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

[0 commercial alternatives comments]
 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. An apparatus for acquiring a plurality of values from an agent on a network, said plurality of values corresponding to a plurality of selected attributes of a device on which said agent is running, said agent being an agent of a given type, the apparatus comprising:

a storage device that has stored thereon a plurality of agent identifiers, each of said plurality of agent identifiers corresponding to a particular type of agent, a plurality of management information base object identifiers, and a plurality of agent-to-object pointers connecting said plurality of agent identifiers to said plurality of management information base object identifiers;

a database access unit coupled to said storage device, said database access unit receiving an agent signal indicative of the type of said agent, said database access unit receiving a selected attribute signal indicative of said plurality of selected attributes, said database access unit selecting a selected plurality of management information base object identifiers of said plurality of management information base object identifiers responsive to said agent signal, said selected attribute signal and said plurality of agent-to-object pointers, said selected plurality of management information base object identifiers corresponding to a plurality of objects associated with said plurality of selected attributes, said database access unit generating an object identification signal indicative of said selected plurality of management information base object identifiers; and

an information retrieval unit coupled to said database access unit, said information retrieval unit receiving said object identification signal from said database access unit, said information retrieval unit transmitting an information request over said network to said agent responsive to said object identification signal, said information retrieval unit receiving a response to said information request over said network from said agent, said response including data indicative of said plurality of values.

2. The apparatus of claim 1 wherein said database access unit selects said selected plurality of management information base object identifiers by accessing said storage device to determine a required agent identifier of said plurality of agent identifiers responsive to said agent signal, said required agent identifier representing said agent, said database access unit following a selected plurality of pointers of said plurality of agent-to-object pointers from said required agent identifier to said selected plurality of management information base object identifiers, said selected plurality of pointers being selected responsive to said selected attribute signal.

3. The apparatus of claim 1 further including an agent identification unit coupled to said database access unit, said agent identification unit receiving a required agent identification signal that identifies said agent, said agent identification unit determining the type of said agent and generating said agent signal in response to said required agent identification signal.

4. The apparatus of claim 3 wherein said agent identification unit transmits a series of queries to said agent over said network in response to said required agent identification signal, said agent identification unit receiving a series of responses to said series of queries from said agent over said network, said agent identification unit determining the type of said agent based on said series of responses.

5. The apparatus of claim 1 further including a display mechanism coupled to said information retrieval unit, said information retrieval unit transmitting a value signal indicative of said plurality of values to said display mechanism, said display mechanism generating a visual representation of said plurality of values.

6. The apparatus of claim 5 wherein said storage device further stores a plurality of syntax identifiers and a plurality of object-to-syntax pointers, said plurality of object-to-syntax pointers connecting each management information base object identifier of said plurality of management information base object identifiers to a corresponding syntax identifier of said plurality of syntax identifiers.

7. The apparatus of claim 6 wherein said database access unit selects a selected plurality of syntax identifiers of said plurality of syntax identifiers responsive to said plurality of object-to-syntax pointers, said selected plurality of syntax identifiers corresponding to said selected plurality of management information base object identifiers.

8. The apparatus of claim 7 wherein said database access unit generates a syntax signal indicative of said selected plurality of syntax identifiers.

9. The apparatus of claim 8 wherein said display mechanism is coupled to said database access unit, said display mechanism receiving said syntax signal from said database access unit, said display mechanism generating said visual representation responsive to said syntax signal.

10. The apparatus of claim 5 wherein said visual representation comprises a pop-up window.

11. The apparatus of claim 5 wherein said visual representation includes a visual indication of a derived value, said display mechanism calculating said derived value based on at least one value of said plurality of values.

12. The apparatus of claim 11 wherein said display mechanism calculates said derived value responsive to a formula configuration file.

13. The apparatus of claim 1 wherein said storage device stores a plurality of group identifiers, each group identifier of said plurality of group identifiers representing a predefined attribute category.

14. The apparatus of claim 13 wherein said plurality of agent-to-object pointers includes a set of agent-to-group pointers and a set of group-to-object pointers, said set of agent-to-group pointers connecting said plurality of agent identifiers to said plurality of group identifiers, said set of group-to-object pointers connecting said plurality of group identifiers to said plurality of management information base object identifiers, said set of agent-to-group pointers connecting each agent identifier of said plurality of agent identifiers to one or more corresponding group identifiers of said plurality of group identifiers, said set of group-to-object pointers connecting each group identifier of said plurality of group identifiers to a corresponding set of management information base object identifiers, each management information base object identifier in said corresponding set of management information base object identifiers of a given group identifier corresponding to said predefined attribute category represented by said given group identifier.

15. The apparatus of claim 14 wherein said selected attribute signal indicates said plurality of selected attributes by specifying a specified predefined attribute category.

16. The apparatus of claim 15 wherein said database access unit selects said selected plurality of management information base object identifiers by accessing said storage device to determine a required agent identifier of said plurality of agent identifiers responsive to said agent signal, said required agent identifier representing said agent, said database access unit following a selected pointer of said set of agent-to-group pointers from said required agent identifier to a selected group identifier of said plurality of group identifiers responsive to said agent signal, said selected group identifier corresponding to said specified predefined attribute category, said database access unit selecting said corresponding set of management information base object identifiers of said selected group identifier as said selected plurality of management information base object identifiers.

17. The apparatus of claim 5 further including an agent identification unit coupled to said display mechanism, said display mechanism being coupled to receive said selected attribute signal and a required agent identification signal from a network management station application unit, said required agent identification signal being indicative of said agent, said display mechanism transmitting said selected attribute signal to said database access unit and said required agent identification signal to said agent identification unit, said agent identification unit generating said agent signal in response to said required agent identification signal, said agent identification unit transmitting said agent signal to said database access unit through said display mechanism.

18. The apparatus of claim 13 further comprising an import unit coupled to said storage device, said import unit receiving an import script file, said import unit constructing a new identifier based on said import script file, said import unit storing said new identifier on said storage device.

19. The apparatus of claim 18 wherein said new identifier is either an agent identifier, a group identifier, or an management information base object identifier, said import unit adding said new identifier to said plurality of agent identifiers if said new identifier is an agent identifier, said import unit adding said new identifier to said plurality of group identifiers if said new identifier is a group identifier, said import unit adding said new identifier to said plurality of management information base object identifiers if said new identifier is an management information base object identifier.

20. The apparatus of claim 18 wherein said import script file is a user-modifiable text file.

21. A method for determining for which objects to request values from an agent, the agent having a particular agent type, the method comprising the computer-implemented steps of:

receiving input that indicates a plurality of attributes;

selecting an agent identifier record that corresponds to the particular agent type from a plurality of agent identifier records that correspond to a plurality of types of agents, the selected agent identifier record being connected to a plurality of management information base object identifier records by a plurality of agent-to-object pointers;

selecting a selected plurality of management information base object identifier records of said plurality of management information base object identifier records based on

said plurality of attributes, and

said plurality of agent-to-object pointers; and

selecting the objects that correspond to said selected plurality of management information base object identifier records as the objects for which values are to be requested from said agent.

22. The method of claim 21 further comprising the step of determining the agent type of the agent by:

receiving input that identifies the agent;

transmitting a series of queries to said agent over a network;

receiving a series of responses to said series of queries from said agent over said network; and

determining the type of said agent based on said series of responses.

23. A method for displaying to a user information about attributes of a device on a network, the method comprising the steps of

receiving input that indicates a plurality of attributes;

determining which objects supported by an agent on said device correspond to said plurality of attributes;

transmitting a request to said agent for values that correspond to said objects;

receiving said values from said agent in response to said request;

generating information about attributes of said device based on said values;

selecting a selected plurality of management information base object identifier records that correspond to said objects from a plurality of plurality of management information base object identifier records that correspond to a plurality of objects, said plurality of management information base object identifier records being connected to a plurality of syntax identifier records by a plurality of object-to-syntax pointers;

selecting a selected plurality of syntax identifier records from said plurality of syntax identifier records, said selected plurality of syntax identifier records being those syntax identifier records that are connected to said selected plurality of management information base object identifier records; and

displaying said information about attributes of said device in a format that is based on syntax indicated by said selected plurality of syntax identifier records.

24. The method of claim 23 wherein:

said step of generating information about attributes of said device based on said values comprises the step of generating a derived value based on at least one of said values from said agent; and

said step of displaying said information includes displaying said derived value.

25. A computer-readable medium for use in a network, the computer-readable medium having stored thereon a database that includes:

a plurality of agent records, each of said plurality of agent records corresponding to a particular type of agent;

a plurality of management information base object records, each of said plurality of management information base object records corresponding to a particular type of management information base object;

a plurality of group records, each group record of said plurality of group records representing a predefined attribute category;

a plurality of agent-to-object pointers connecting said plurality of agent records to said plurality of management information base object records, said plurality of agent-to-object pointers including a set of agent-to-group pointers and a set of group-to-object pointers;

said set of agent-to-group pointers connecting said plurality of agent records to said plurality of group records, and each agent record of said plurality of agent records to one or more corresponding group records of said plurality of group records; and

said set of group-to-object pointers connecting said plurality of group records to said plurality of management information base object records, and each group record of said plurality of group records to a corresponding set of management information base object records of a given group record corresponding to said predefined attribute category represented by said given group record.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

A network generally includes a number of devices connected to allow inter-device communication. As networks and networked devices become increasingly complex, it becomes increasingly important to be able to monitor the status and performance of networks, and more particularly, to monitor the status and performance of each of the devices on the network. Consequently, most networks include at least one computer workstation responsible for monitoring the network (a "network management station" or "NMS"). Numerous network management station applications ("NMS applications") have been developed which allow network management stations to monitor one or more particular aspects of a network.

To acquire specific information about a given device on the network, a typical NMS application must identify the agent running on the given device, determine the type of information the agent running on the device can supply, transmit to the agent a message requesting the specific information, receive from the agent a message including the specific information, format the received information and generate a visual display of the formatted information. The communications between the NMS and the agent required by this process must be performed according to a protocol, such as the Simple Network Management Protocol (SNMP). SNMP is currently used and supported by most Open System based network devices.

The identity of an agent must be determined before information may be requested from the agent because different agents are capable of providing different information. A request for information that the agent cannot supply may result in an error or in the conveyance of inaccurate information. On the other hand, failure to request information that an agent can supply may result in the conveyance of incomplete information. The more information an NMS application can acquire from an agent, the better the network can be monitored and debugged by a network manager.

One method of identifying an agent is to allow a user to manually enter data to indicate a device, the agent running on the device, and the type of information the agent is capable of supplying. This method has the disadvantage of requiting large amounts of administrative overhead. Further, the network configuration can change once the entities on the network have been manually identified. Thus, the network administrator has the burden of updating the system to reflect each change. Failure to update could result in inaccurate monitoring and complications in debugging.

Once an NMS application identifies an agent, it must determine the information the agent is able to provide about the device on which it is running. The amount of information a given agent can provide depends on the Management Information Bases (MIBs) it supports. A MIB specifies groups of objects, and each object defines a group of data types. An agent supports a MIB if the agent is capable of supplying the type of information defined by the objects specified in the MIB. Most agents can provide the information defined in the objects specified in certain standard MIBs, known as MIB I and MIB II, or non-standard proprietary MIBs. However, even support for these MIBs varies from agent to agent. In addition, each agent may support a subset of a MIB or a different version of a MIB. Finally, many agents have more than one mode. An agent executing in one mode may support different MIBs than the same agent executing in another mode.

Therefore, after an NMS application identifies the type of an agent, the NMS application determines the MIBs supported by that agent. The NMS application may, for example, include a hard-coded mapping between various agents and the MIBs which they support. One disadvantage of such a hard-coded mapping is that an entire new version of each NMS application must be released in order to support later-released agents.

Once the NMS application determines the MIBs supported by the agent, the NMS application determines which objects are specified in the supported MIBs. The objects supported by each MIB may also be hard coded in an NMS application. Alternatively, an NMS application could access a database containing MIBs and inspect the appropriate MIBs to determine the objects specified therein.

After the NMS application determines the objects specified in the MIBs supported by the agent, the NMS application determines which of the objects corresponds to the required information. The NMS application then transmits a request to the agent based upon the appropriate objects, and receives a response from the agent which includes the required information. The NMS application then formats the information and causes the information to be displayed on the network management station.

Most network managers use a variety of NMS applications. For example, a network manager may have one NMS application for generating an inventory of the devices on the network, a second NMS application for displaying the physical connectivity of the network, and a third NMS application for monitoring the traffic on the network. Typically, each one of these NMS applications must implement its own agent identification method, agent-to-MIB mapping function, MIB database access function, and information display function. The need to support these functions substantially increases the complexity and cost of each NMS application. In addition, since the agent-to-MIB mapping function of each NMS application is typically hard coded at the time the NMS application is released, different NMS applications may provide different support for the same agent, depending on the release date of the NMS applications and the agent. Further, since each NMS application must also be aware of which objects correspond to the required information and how the required information must be formatted prior to display, there is also a substantial duplication of data and development between NMS applications.

In light of the foregoing, it is clearly desirable to reduce the functional and data redundancies between NMS applications. Further, it is desirable to provide a single, central database for supplying agent-to-MIB information and MIB content information to a plurality of NMS applications. It is further desirable to provide a mechanism for supplying a specific type of information about a device to an NMS application without requiring that the NMS application be aware of the specifics of the device.

In addition, it is desirable to provide a display mechanism, accessible by a plurality of NMS applications, for formatting and displaying specified information once the information is retrieved from an agent. It is further desirable that the display mechanism be implemented independent of the central database so that the display mechanism need not be revised when the central database is updated. Finally, it is desirable to provide an easy and efficient method for importing information into the central database, so that the central database may be updated to support devices, agents, and MIBs released after the release of the central database.

SUMMARY AND OBJECTS OF THE INVENTION

According to one aspect of the present invention, an apparatus for acquiring a plurality of values from a selected agent on a network is provided. The plurality of values corresponds to a plurality of selected attributes of a device on which the selected agent is running. The selected agent is an agent of a given type. The apparatus includes a storage device, a database access unit, and an information retrieval unit.

The storage device stores a plurality of agent identifiers, a plurality of MIB object identifiers, and a plurality of agent-to-object pointers connecting the plurality of agent identifiers to the plurality of MIB object identifiers. The database access unit is coupled to the storage device. The database access unit receives an agent signal indicative of the given agent. The database access unit also receives a selected attribute signal indicative of the plurality of selected attributes.

The database access unit selects a selected plurality of MIB object identifiers of the plurality of MIB object identifiers responsive to the agent signal, the selected attribute signal and the plurality of agent-to-object pointers. The selected plurality of MIB object identifiers corresponds to a plurality of objects associated with the plurality of selected attributes. The database access unit generates an object identification signal indicative of the plurality of selected MIB object identifiers.

The information retrieval unit is coupled to the database access unit. The information retrieval unit receives the object identification signal from the database access unit. The information retrieval unit transmits an information request over the network to the specified agent responsive to the object identification signal. The information retrieval unit receives a response to the information request over the network from the specified agent. The response includes data indicative of the plurality of values.

According to one aspect of the invention, the database access unit selects the selected plurality of MIB object identifiers by accessing the storage device to determine a selected agent identifier of the plurality of agent identifiers responsive to the agent signal. The selected agent identifier represents the given agent. The database access unit follows a selected plurality of pointers of the plurality of agent-to-object pointers from the selected agent identifier to the selected plurality of MIB object identifiers. The selected plurality of pointers is selected responsive to the selected attribute signal.

According to another aspect of the invention, the apparatus includes an agent identification unit coupled to the database access unit. The agent identification unit receives a selected agent identification signal indicative of the selected agent. The agent identification unit generates the agent signal in response to the selected agent identification signal. More specifically, the agent identification unit transmits a series of queries to the specified agent over the network in response to the selected agent identification signal. The agent identification unit receives a series of responses to the series of queries from the specified agent over the network. The agent identification unit generates the agent signal in response to the series of responses.

According to yet another aspect of the invention, the apparatus includes a display mechanism coupled to the information retrieval unit. The information retrieval unit transmits a value signal indicative of the plurality of values to the display mechanism. The display mechanism generates a visual representation of the plurality of values. The visual representation may be, for example, a pop-up window.

The storage device preferably stores a plurality of syntax identifiers and a plurality of object-to-syntax pointers. The plurality of object-to-syntax pointers connect each MIB object identifier of the plurality of MIB object identifiers to a corresponding syntax identifier of the plurality of syntax identifiers. The database access unit selects a selected plurality of syntax identifiers of the plurality of syntax identifiers responsive to the plurality of object-to-syntax pointers. The selected plurality of syntax identifiers corresponds to the selected plurality of MIB object identifiers. The database access unit generates a syntax signal indicative of the selected plurality of syntax identifiers. The display mechanism is coupled to the database access unit. The display mechanism receives the syntax signal from the database access unit. The display mechanism generates the visual representation responsive to the syntax signal.

According to another aspect of the invention, the visual representation includes a visual indication of a derived value. The display mechanism calculates the derived value based on at least one value of the plurality of values responsive to a formula configuration file.

According to one embodiment of the invention, the storage device stores a plurality of group identifiers. Each group identifier of the plurality of group identifiers represents a predefined attribute category, such as performance, diagnostics, or status. The plurality of agent-to-object pointers includes a set of agent-to-group pointers and a set of group-to-object pointers. The set of agent-to-group pointers connects the plurality of agent identifiers to the plurality of group identifiers. Specifically, the set of agent-to-group pointers connects each agent identifier of the plurality of agent identifiers to one or more corresponding group identifiers of the plurality of group identifiers. The set of group-to-object pointers connects the plurality of group identifiers to the plurality of MIB object identifiers. Specifically, the set of group-to-object pointers connects each group identifier of the plurality of group identifiers to a corresponding set of MIB object identifiers. Each MIB object identifier in the corresponding set of MIB object identifiers of a given group identifier corresponds to the predefined attribute category represented by the given group identifier.

The selected attribute signal indicates the plurality of selected attributes by specifying a specified predefined attribute category. The database access unit selects the selected plurality of MIB object identifiers by accessing the storage device to determine a selected agent identifier of the plurality of agent identifiers responsive to the agent signal. The selected agent identifier represents the given agent. The database access unit follows a selected pointer of the set of agent-to-group pointers from the selected agent identifier to a selected group identifier of the plurality of group identifiers responsive to the agent signal. The selected group identifier corresponds to the specified predefined attribute category. The database access unit selects the corresponding set of MIB object identifiers of the selected group identifier as the selected plurality of MIB object identifiers.

According to another aspect of the invention, the agent identification unit is coupled to the display mechanism. The display mechanism is coupled to receive the selected attribute signal and a selected agent identification signal from a network management station application unit. The selected agent identification signal is indicative of the selected agent. The display mechanism transmits the selected attribute signal to the database access unit and the selected agent identification signal to the agent identification unit. The agent identification unit generates the agent signal in response to the selected agent identification signal. The agent identification unit transmits the agent signal to the database access unit through the display mechanism.

According to another aspect of the invention, the apparatus includes an import unit coupled to the storage device. The import unit receives an import script file. The import unit constructs a new identifier based on the import script file and stores the new identifier on the storage device. The new identifier may be either an agent identifier, a group identifier, or an MIB object identifier. The import unit adds the new identifier to the plurality of agent-identifiers if the new identifier is an agent identifier, adds the new identifier to the plurality of group identifiers if the new identifier is a group identifier, and adds the new identifier to the plurality of MIB object identifiers if the new identifier is an MIB object identifier. Preferably, the import script file is a user-modifiable text file.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention may best be understood by referring to the following description and accompanying drawings which illustrate the invention. In the drawings:

FIG. 1 is a block diagram illustrating a network management station according to one embodiment of the present invention;

FIG. 2 is a block diagram illustrating the core records and pointers in a database for use in a network management station according to an embodiment of the present invention;

FIG. 3 illustrates a pop-up window generated by a display mechanism according to an embodiment of the present invention;

FIGS. 4a and 4b are block diagrams illustrating a database for use in a network management station according to an embodiment of the present invention; and

FIG. 5 is a flow chart of a method for displaying selected attributes of a selected device according to an embodiment of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring now to FIG. 1, it illustrates in block diagram form a network management station 100 configured to monitor a network system 102 according to one embodiment of the invention. Network system 102 generally includes a plurality of hubs 104 and 106. Hub 104 is connected to a plurality of devices 108, and hub 106 is connected to a plurality of devices 110. Hub 106 is also connected to network management station 100.

Network management station 100 generally includes a network access unit 112, an agent identification unit 114, an information retrieval unit 116, an NMS application unit 118, a display mechanism 120, a database access unit 122, a storage device 124, a plurality of formula configuration files 121 and an import unit 126. The operation of network management station 100 shall now be described with reference to FIG. 5.

NMS application unit 118 represents a circuit or processor configured to execute an NMS application. Preferably, the NMS application running on NMS application unit 118 allows a user to select an agent running on a device in network system 102 and to select an attribute-category of the device, as shown in step 502. An attribute-category is a general information category such as diagnostic information, status information, or performance information. In the following description, it shall be assumed that a user has instructed NMS application unit 118 to display the performance of hub 106.

In the preferred embodiment, the NMS application need not be aware of the type of the selected agent, the kind of information the selected agent is able to provide, or the specific attributes of the selected agent which belong to the category identified by the selected attribute-category. Specifically, in the present example, NMS application unit 118 need not know what type of agent is running on hub 106, what type of information the agent running on hub 106 can provide, nor what attributes of hub 106 constitute performance information. In response to a user's request to display the performance attributes of hub 106, NMS application unit 118 transmits a signal to display mechanism 120 identifying the selected agent (hub 106) and the selected attribute-category (performance).

Display mechanism 120 generally represents a circuit or processor configured to execute an agent display program. An agent display program is a series of instructions which cause the generation of a visual display of one or more values of an agent. Preferably, NMS applications running on NMS application unit 118 communicate with the agent display program running on display mechanism 120 through a standard, predefined interface. Display mechanism 120 receives the signal indicating the required agent and the required attribute-category from NMS application unit 118 through the predefined interface, and transmits a signal indicating the network agent to agent identification unit 114.

Agent identification unit 114 generally represents a circuit or processor configured to identify the type of the required agent, as shown in step 504. For example, agent identification unit 114 may determine that the agent on hub 106 is an agent of type X. In the preferred embodiment of the invention, agent identification unit 114 is a processor programmed to determine the type of the required agent by accessing a network device connectivity database, such as the database described in U.S. patent application Ser. No. 08/279,196 entitled "An Apparatus and Method for Providing Topology Information about a Network", filed on equal day herewith, the content of which is incorporated herein by reference. Preferably, agent identification unit 114 acquires information to construct and maintain the network device connectivity database by performing the agent identification process described in U.S. patent application Ser. No. 08/279,491, entitled "Method and Apparatus for Identifying an Agent Running on a Device in a Computer Network", filed on equal day herewith the content of which is also incorporated herein by reference.

Once agent identification unit 114 has determined the type of the required agent (the "required agent"), agent identification unit 114 sends an agent signal indicative of the required agent back to the display mechanism 120. For example, agent identification unit 114 sends display mechanism 120 an agent signal indicating that the required agent type is agent X. In response to the agent signal from agent identification unit 114, display mechanism 120 sends a signal indicative of the required attribute-category and a signal indicative of the required agent to database access unit 122.

Database access unit 122 generally represents a circuit or processor configured to retrieve objects indicative of the attributes which correspond to the required attribute-category for the required agent (the "selected attributes") from a MIB database 200 stored on storage device 124 in response to the signals from display mechanism 120, as illustrated by step 506. In the present example, database access unit 122 accesses database 200 to determine which attributes of agent X are performance attributes, and returns objects corresponding to the performance attributes of agent X. For example, database access unit 122 may determine that objects A and C relate to performance attributes of agent X.

When database access unit 122 has determined that objects A and C correspond to the performance attributes of the agent X, the required agent, database access unit 122 transmits data indicative of objects A and C, and the syntax for displaying values corresponding to objects A and C, to display mechanism 120. The objects which correspond to the selected attributes shall be referred to hereafter as the required objects. Display mechanism 120 transmits a signal indicative of the required agent and a signal indicative of the required objects to information retrieval unit 116.

In response to the signals from the display mechanism 120, information retrieval unit 116 retrieves values corresponding to the required objects from the selected device, as shown in step 508. Specifically, information retrieval unit 116 transmits, through network access unit 112, an information request to the required agent. The information request indicates which information is requested by identifying the required objects. In response to the information request, the required agent transmits the values of the attributes corresponding to the required objects to information retrieval unit 116 through network access unit 112. In the present example, information retrieval unit 116 transmits a request specifying objects A and C, and the agent on hub 106 responds with a signal specifying values corresponding to objects A and C. Information retrieval unit 116 retrieves the values of the selected attributes from the required objects and transmits the values to display mechanism 120.

Display mechanism 120 formats the values based on the syntax information received from database access unit 122 and displays the retrieved values in a pop up window, as shown in step 510. As will be discussed in greater detail below, display mechanism 120 may display derivative values specified in formula configuration files 121, in addition to or instead of the retrieved values. Display mechanism 120 may also transmit the values to the NMS application.

Import unit 126 generally represents a circuit or processor configured to update database 200 based on human-readable import script files 128. The specific process by which import unit 126 updates database 200 shall be described in greater detail below.

As is evident by the foregoing discussion, the function of identifying the type of a required agent is performed by agent identification unit 114. The function of determining the specific objects required to retrieve the appropriate values from the specified agent to service a particular request is performed by database access unit 122 based on the information stored in database 200. The function of retrieving the values from the required agent is performed by information retrieval unit 116. Finally, the function of formatting and displaying the retrieved values is performed by display mechanism 120. Since these functions are performed by units separate from NMS application unit 118, the NMS applications need not include code to perform these functions. Rather, the NMS applications need only be capable of communicating with display mechanism 120 through