`Bauer et al.
`
`111111111111111111111111111111111111111111111111111111111111111111111111111
`US005367635A
`5,367,635
`[11] Patent Number:
`[45] Date of Patent: Nov. 22, 1994
`
`[75]
`
`[54] NETWORK MANAGEMENT AGENT WITH
`USER CREATED OBJECTS PROVIDING
`ADDmONAL FUNCTIONALITY
`Inventors: Neal Bauer, Loveland; Mark A.
`Kepke, Ft. Collins, both of Colo.
`[73] Assignee: Hewlett-Packard Company, Palo
`Alto, Calif.
`[21] Appl. No.: 752,152
`[22] Filed:
`Aug. 29, 1991
`Int. CI.S .............................................. G06F 13/00
`[51]
`[52] U.S. CI •.................................... 395/200; 395/425;
`395/600; 395/650; 395/700; 395/775;
`364/DIG. 1; 364/221; 364/222.81; 364/222.82;
`364/280; 364/280.2; 364/280.3; 364/284
`[58] Field of Search ..................... 395/600; 364/280.9,
`364/280.3, 280.2
`
`[56]
`
`References Cited
`PUBLICATIONS
`Individuals connected with Columbia University; "Ker(cid:173)
`mit"; Screen prints of computer program.
`Novell, Inc.; Net Wave Version 3.11 System Administra(cid:173)
`tion, Novell, Inc., 1991.
`Simrin; The MS-DOS Bible; Howard Sams & Co.; pp.
`389-390.
`IEEE Communications Magazine, vol. 29, No. 7, Jul.
`
`1991, pp. 29-38, N. Modiri "An Implementation ...
`Information Service Element Interfaces".
`The Simple Book: An Introduction to Management of
`TCP/IP-Based Internets, 1991, pp. 69-244, Marshall T.
`Rose.
`IRE WESCON Convention Record, vol. 35, Nov.
`1991, pp. 190-195, S. R. Reasoner, "Management by
`Proxy Agent".
`
`Primary Examiner-Thomas M. Heckler
`Assistant Examiner-J. Hall Backenstose
`Attomey, Agent, or Firm-Augustus W. Winfield
`
`[57]
`ABSTRACT
`A computer network management software agent
`which includes the ability for users to add new user
`defined management objects. A user editable text file
`defmes object identifications, object types, and the path
`and name of associated executable software. A user can
`then invoke user defmed executable software at a man(cid:173)
`aged node by sending a network command and a user
`defmed associated object identifier to the agent in the
`managed node. Data can be sent between a user and
`user defined executable software. A timeout feature
`generates an error if commands are not completed
`within a user defmed time.
`
`1 Claim, 6 Drawing Sheets
`
`AGENT
`202
`
`204
`
`VENDeR
`DEFINED
`OOfCTS
`
`200
`
`U~R
`DEFINED
`oo.ECTS
`
`208
`
`CQ\JFIGURA Tl(}.l FILE
`
`Page 1 of 11
`
`HCC INSURANCE HOLDINGS, INC.
`Exhibit 1005
`
`
`
`(IJ
`~
`0\
`
`0\ "' ...
`(IJ w
`
`0\
`
`1oM e.
`m.
`00 =-
`
`~
`~
`~
`
`1oM
`
`""d a a
`
`rJJ •
`L: •
`
`,....____
`I AGENT
`106
`
`I
`
`NODE
`MANAGED
`
`°
`
`11
`
`104
`
`~AGENT 1
`
`108 MANAGED
`
`FIG 1
`NODE
`
`I
`
`100/
`
`STATION
`MANAGEMENT
`NETWORK
`
`102
`
`Page 2 of 11
`
`
`
`til
`~
`~ ,..
`,.. w
`
`til
`
`r ~ a
`
`Q\
`
`!
`~ ,....
`~
`
`~
`
`~
`c::: • rLl •
`
`I
`c2oa
`
`C(}JFIGURA TI(}J FILE
`
`I
`_
`
`OBJECTS ---
`
`DEFINED
`USER
`
`FIG 2
`
`200
`
`OBJECTS
`DEFINED
`VENDffi
`
`204
`
`STANDARD OBJECTS
`
`Page 3 of 11
`
`
`
`~ (.II
`~ ...
`... w
`
`(.II
`
`r ~
`
`"'
`s,
`
`~
`~ ....
`~
`
`~ a a
`• 00 •
`Cj
`
`~
`0
`w
`
`~B
`
`\READ-COMMAND: /usr/local/bin/printer status
`
`308 ) "status of the laser printer
`
`read-write
`
`down(2)
`up (1)
`INTEGER {
`
`SYNTAX
`OBJECT-TYPE
`
`DESCRIPTION
`STATUS mandatory
`ACCESS
`}
`
`company-xyz 2
`OBJECT IDENTIFIER : :=
`company-xyz 1!
`OBJECT IDENTIFIER::=
`OBJECT IDENTIFIER::=! enterprises 58 )
`
`}
`
`4
`
`internet(!)
`
`OBJECT IDENTIFIER::= i iso(l) org(3) dod(6)
`
`private 1}
`
`OBJECT IDENTIFIER::=
`
`CUSTOMER-XYZ DEFINITIONS ::=BEGIN
`An example agent configuration file would contain:
`
`FIG 3A
`
`306~
`
`312/
`
`printerstatus
`
`xyzusers
`xyzprinter
`company-xyz
`
`enterprises
`private
`
`WRITE-COMMAND-TIMEOUT: 2 II
`WRITE-COMMAND: /usr/local/bin/change_printer_status
`
`-
`
`310-READ-COMMAND-TIMEOUT: 10
`
`.. - .. -{ xyzprinter 1 }
`
`/
`
`314
`
`Page 4 of 11
`
`
`
`~
`,.
`-...l
`a\
`(H
`,.
`(IJ
`
`(IJ
`
`0\
`~
`.J:o.
`~
`
`f
`
`!
`~ ...
`~ .
`
`""C a a
`
`•
`00
`~ •
`
`00
`w __..
`
`READ-COMMAND-TIMEOUT: 7"
`READ-COMMAND: /usr/bin/users
`"list of user login ids that are currently logged
`
`DESCRIPTION
`STATUS mandatory
`ACCESS
`read-only
`SYNTAX OCTET STRING
`OBJECT-TYPE
`
`user-logins
`
`-
`
`"'
`.......
`w
`
`READ-COMMAND-TIMEOUT: 5"
`READ-COMMAND: /usr/local/bin/printer type
`"type of laser printer
`
`::= { xyzprinter 2 }
`
`DESCRIPTION
`STATUS mandatory
`read-only
`ACCESS
`SYNTAX OCTET STRING
`OBJECT-TYPE
`
`printertype
`
`0
`N
`w
`
`READ-COMMAND-TIMEOUT: 4"
`READ-COMMAND: /usr/bin/users I /bin/we -w
`"number of users logged in
`
`FIG 38
`
`{ xyzusers 2 }
`
`.. - .. -
`
`END
`
`DESCRIPTION
`STATUS mandatory
`read-only
`ACCESS
`SYNTAX Gauge
`OBJECT-TYPE
`
`numusers
`
`::= { xyzusers 1}
`
`Page 5 of 11
`
`
`
`Ul
`~
`0\
`~ ...
`0\
`~
`...
`Ul
`
`0\
`~ ....,
`('D sa.
`1:1"
`00
`
`Ul
`
`ol:oo
`\C
`\C
`"' .....
`~
`~
`z
`
`""C a a
`~ • rLl •
`
`-'="
`-'=" 0
`
`N
`0
`~
`
`in saved values
`read timeout, write routine, write timeout
`
`-
`
`save object id, syntax, access, read routine,
`*I
`
`save values for later use
`
`/*
`
`read write_routine, write timeout
`read read routine, read timeout
`read object id, syntax, access
`*I
`
`read from configuration file
`
`/*
`
`while ( there are objects in configuration file ) do
`
`read_configuration_file
`
`or when the agent is reconfigured.
`The read_configuration_file routine is executed when the agent starts up
`
`Configuration Pseudo Code :
`
`FIG 4A
`
`Page 6 of 11
`
`
`
`Ul
`~
`~ ...
`... w
`
`Ul
`
`Q\
`
`0 "'
`
`-'="-
`
`tl) -Q\
`
`r:ll =- tl)
`
`Q ...,
`
`~
`J~ ....
`~
`
`""C i
`e • 'C/:1 •
`
`FIG 48
`
`return (success)
`
`misExport (object_id, length(object_id), (get_rbutine,
`*I
`
`408
`
`(cookie) .
`set routine is called passing in the pointer to saved values
`Whenever the agent receives a SNMP SetRequest for object id,
`
`(cookie) .
`getNext_routine is called passing in the pointer to saved_values
`Whenever the agent receives a SNMP GetNextRequest for object_id,
`
`(cookie) .
`get routine is called passing in the pointer to saved values
`Whenever the agent receives a SNMP GetRequest for object_id,
`
`fields of the ops parameter are not used.
`passed in the ops parameter. The release, create, and destroy
`GetRequest GetNextRequest, or SetRequest. The procedures are
`object id. A procedure is called when the agent receives a
`agent when the agent receives a SNMP request for the registered
`The procedures are internal procedures that are called by the
`
`register object_id, 3 procedures, and pointer to saved_values
`
`/*
`
`getNext routine, set routine), pointer to saved values)
`
`-
`
`414
`\
`
`\,.412
`
`-
`
`'-.. 410
`
`-
`
`done
`
`Page 7 of 11
`
`
`
`1
`
`5,367,635
`
`NETWORK MANAGEMENT AGENT WITH USER
`CREATED OBJECI'S PROVIDING ADDmONAL
`FUNCTIONALITY
`
`FIELD OF INVENTION
`This invention relates generally to computer net(cid:173)
`works, and more particularly to network management
`software.
`
`2
`required to recompile the original agent. In either case,
`writing source code in a programming language and
`compilation of the source code is required. There is a
`need for users to have the capability to add objects and
`5 associated processes without having to write code in a
`programming language requiring compilation.
`There are numerous standards organizations which
`are attempting to standardize computer networking.
`The International Organization for Standardization
`10 (ISO) has provided a general reference framework
`BACKGROUND OF THE INVENTION
`called the Open System Interconnection (OSI) model.
`The OSI model for a network management protocol is
`Computers may be interconnected via a local area
`called Common Management Information Protocol
`network (LAN). Local area networks may be intercon-
`(CMIP). CMIP is a common network management
`nected into still larger systems spanning a floor or build-
`ing, a group of buildings (campus), a region, or larger 15 protocol in Europe. In the United States, a more com-
`mon network management protocol is a related varia-
`areas on up to worldwide systems. Each LAN may
`tion of CMIP called the Simple Network Management
`have a different hardware interconnection technology
`Protocol (SNMP) (see Marshall T. Rose, The Simple
`and multiple network protocols. A simple isolated LAN
`may be administered by individual users. That is, users
`Book, Prentice-Hall, 1991).
`may change equipment, install software, and diagnose 20
`In the SNMP network management terminology, a
`problems. Large complex ~A~s or large ~o~ps of
`network management system contains at least one net-
`mterco~ected LANs reqwre management . Man-
`work management station (NMS), several managed
`agement refers to both a human network znll:Ilager ?Dd
`nodes, each containing an agent, and a network man-
`agement protocol which is used by the management
`software used by the human manager. In this applica-
`. . .
`"fi
`ftwti
`. h25
`tton, management .~e er~,to so
`are or mana~g t e
`station and the agents to exchange management infer-
`overall system, and user refers to a per~on usmg the
`mation. A user can obtain data and alter data on the
`network m~a~ement software. The us~r ts usually the
`network by using network management software on the
`system admmtstrator. Users can obtam management
`NMS to communicate with agent software in the man-
`data and alter management data on the network by
`ed od
`using network management software.
`.
`30 ag
`n es.
`. Software :or agen~ confomnng to SNMP s~dards
`Large network systems are typically dynamic with
`ts c_ommerc_tally available. Agent. som:c~ code ts also
`continual requirements for addition and deletion of
`equipment, updating of software, and detection and
`available wtthout charge from umverstti:s. For _exam-
`ple, a source code ~NMP dev~~o~ment _kit (heremafter
`analysis of problems. In general, there may be a variety
`of systems from a variety of vendors with a variety of 35 referr~ to as the MIT code ) ts available from the
`followmg sourc~:
`system OWllers. Management software is designed to be
`James R. Davm
`.
`as general as possible. However, as the overall system
`Advanced Network Architecture G~oup
`changes, the user may need information or control ca-
`pabilities not anticipated by the designers of the man-
`M.I.T. Laboratory for Computer Sc1ence
`545 Te~hnology Square
`agement software. Management software needs to have 40
`a provision for adding new user defmed capabilities for
`Cambndge, Mass. 02139
`information gathering and control.
`The SNMP de~es a st~cture for a management
`database (a co~ectton of objects) _call~ the Manage-
`Current network management software is typically
`defined in terms of software objects. A software object
`ment InformatiOn Base (MIB). Objects m a MIB have
`is a way of organizing data. An object may have a value 45 names (OBJECT IDENTIFIERS) and data structures
`or associated data. An object may have an associated
`(OBJECT TYPES). An object identifier is a sequence
`executable software process for generating data or for
`of non-negative integer values which signify a path
`control purposes. A user can retrieve or alter the data
`through a tree structure of numbered branches (called
`sub-identifiers). Each sub-identifier is a non-negative
`associated with an object. Network management ob-
`jects are uniquely identified by object identifiers.
`50 integer.
`For
`example,
`the
`object
`identifier
`An agent is software running as a background process
`1.3.6.1.4.1.11.2.12 identifies an object found by starting
`on each of the target devices. When a user requests
`at the root, moving to the branch with the sub-identifier
`management data from a device on the network, man-
`1, moving to a subordinate branch with the sub-iden-
`agement software will send an object identification in a
`tifier 3, and so forth. The first 6 levels of this example
`management packet or frame to the target agent. The 55 are defmed by the standard model. In the example, the
`agent will interpret the object identification, retrieve
`branch identified by the first five sub-identifiers
`(1.3.6.1.4) is the standard SNMP defined branch called
`data associated with the object identification, and send
`the data in a packet back to the user. Sometimes, a
`"private". The next sub-identifier (1) is for a branch
`corresponding process may be invoked to retrieve data.
`(called "enterprises") reserved for vendor specific ob-
`Current network management agent software is typi- 60 jects. The next label (11) is reserved for Hewlett Pack-
`cally sold with a hierarchy of fixed pre-defined objects.
`ard.
`There are typically no provisions for a user to add or
`Information is retrieved from an agent by sending a
`modify objects. Some management software provides
`SNMP GET or GET-NEXT request with an object
`"extensible" agents. "Extensible" typically means that a
`identification as a parameter. Data associated with an
`user has access to source code for the agent and can 65 object can be altered by sending a SNMP SET request
`modify the source code and recompile. Alternatively,
`to the agent with the object identification as one param-
`eter and the data as another parameter. An object which
`the user may write additional code in a programming
`can be written to is called a "settable" object.
`language which requires compilation but may not be
`
`Page 8 of 11
`
`
`
`5,367,635
`
`5
`
`"INTEGER"
`
`and 30
`
`4
`FIG. 2 is a software block diagram illustrating addi(cid:173)
`tional detail within an agent.
`FIGS. 3A and 3B illustrate an example agent configu(cid:173)
`ration file in accordance with the present invention.
`FIGS. 4A and 4B illustrate pseudocode for reading a
`configuration ftle and registering user defined objects
`with a vendor defmed object tree structure.
`
`3
`The MIT code includes a function (named "misEx(cid:173)
`portO") for registering (attaching or grafting) an object
`to the object tree structure. There are 4 parameters as
`follows:
`name: (the object identifier)
`namelen: (the number of sub-identifiers in the object
`identifier)
`ops: (a list of 6 routines (corresponding to the opera(cid:173)
`DETAILED DESCRIPTION OF THE
`tions RELEASE, CREATE, DESTROY, and
`PREFERRED EMBODIMENT OF THE
`SNMP requests GET-NEXT, GET, and SET) 10
`INVENTION
`which can be performed on management objects)
`FIG. 1 illustrates a computer network 100. Network
`cookie: (a pointer to stored parameters associated
`management station 102 manages a variety of managed
`with the specific object identifier within a data
`nodes 104, 108. Each managed node has an agent 106,
`structure internal to the agent).
`MIB standards evolve as required by the industry. 15 110 running as background software providing manage-
`ment information and control. Each agent 106, 110 is
`Proposed MIB standards start as published requests for
`comments. A MIB format for defining objects is speci-
`configured as a tree structure of software objects.
`tied in Request For Comments number 1212 (hereinaf-
`FIG. 2 illustrates additional detail within an agent.
`ter referred to as "RFC 1212") and an example MIB
`Agent 200 has a layer of standard objects 202 defined by
`standard using that format is specified in Request For 20 RFC 1213, and a layer of vendor defmed objects 204.
`Comments 1213 (hereinafter referred to as "RFC
`Standard objects 202 and vendor defmed objects 204
`1213"). Both are available from the following source:
`are compiled and supplied by the network management
`DDN Network Information Center
`software vendor. The present invention comprises soft-
`SRI International
`ware within an agent 200 enabling the addition of user
`25 defmed objects 206 to a previously compiled network
`Room EJ291
`333 Ravenswood Avenue
`management agent 200. User defmed objects are defmed
`Menlo Park, Calif. 94025
`in configuration file 208. Agent 200 can be invoked to
`The RFC 1212 object-type notation requires a series
`re-read configuration file 208 and add user defmed ob-
`of textual clauses as follows:
`jects 206 to agent 200.
`SYNTAX:
`(examples
`are
`The preferred embodiment of the present invention is
`"OCTET STRING")
`an agent conforming to the SNMP model. Much of the
`ACCESS: (choices are: "read-only", "read-write",
`following structure and nomenclature is common to
`"write-only", and "not-accessible")
`other standards but is presented here specifically in
`terms of the SNMP. The preferred embodiment of the
`STATUS: (the required choice for status in a com-
`mercia! product is "mandatory". In an experimen- 35 present invention uses the MIT code for the basic core
`of the agent software.
`tal MIB, the word "optional" is allowed.)
`DESCRIPTION: (A textual explanation of the ob-
`The new agent in the present invention includes the
`ject delimited by quote marks.)
`capability of reading object defmitions from a special
`As discussed above, there is a need in network man-
`file called a configuration file (208 in FIG. 2). The con-
`agement for users to have the capability of adding man- 40 figuration ftle (208) is a text file which can be edited by
`agement objects to an agent without requiring recompi-
`a user using any text editor. The configuration file (208)
`can be defmed at the time the new agent is installed or
`lation. However, the capability must be compatible
`with various standards as described above.
`may be defined later. The configuration ftle (208) has a
`predefmed UNIX path.
`SUMMARY OF THE INVENTION
`The configuration file is compatible with the RFC
`1212 MIB standard described earlier. However, in the
`The present invention provides a network manage-
`preferred embodiment, additional capability is incorpo-
`ment agent having the capability of adding new objects
`rated into the textual DESCRIPTION clause. Four
`to the agent without requiring modification of the agent
`additional clauses are defmed as follows:
`source code and without stopping and restarting the
`agent. These new objects can then be used by network 50 READ-COMMAND: (a path and name for an exe-
`cutable program.)
`management users to initiate user defined processes.
`In the present invention, user defmed objects are
`WRITE-COMMAND: (a path and name for an exe-
`defmed in a configuration file which is read by a net-
`cutable program.)
`work management agent. The configuration ftle is an
`READ-COMMAND-TIMEOUT: (an integer speci-
`editable text ftle which can be created at any time. The 55
`fying a time in seconds allowed for completion of a
`agent can be invoked to re-read the configuration ftle
`READ-COMMAND.)
`and incorporate objects in the configuration ftle. Then,
`WRITE-COMMAND-TIMEOUT: (an integer spec-
`if a request for a user defmed object reaches an agent,
`ifying a time in seconds allowed for completion of
`the appropriate user defmed process is initiated to ac-
`a WRITE-COMMAND).
`quire data, control a peripheral, or execute whatever is 60
`FIGS. 3A and 3B illustrate a sample configuration
`requested. Data is returned from the user defmed pro-
`file. The object identifier preamble (302) defmes a MIB
`cess back through the agent to the user. A timeout
`tree structure branch common to all user defined ob-
`jects. In the sample illustrated in FIGS. 3A and 3B, the
`feature generates an error if commands are not com-
`pleted within a user defined time.
`common branch is 1.3.6.1.4.1.58. Then, for each defmed
`65 object, the list defines a leaf which can be combined
`with the common branch to defme each object's SNMP
`name (object identifier). For example, an object labeled
`"printerstatus" (304) defines a leaf (306) which appends
`
`45
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a block diagram illustrating a computer
`network.
`
`Page 9 of 11
`
`
`
`5,367,635
`
`5
`6
`UNIX shell command which executes user specified
`the sub-identifier 1 to a branch labeled "xyzprinter"
`procedures.
`which in turn_is assigned the integer 1 in the preamble
`Once an object is defined for an agent, a user at the
`(302). The complete object identifier for the user de-
`network management station can then request data from
`"printerstatus"
`is
`then
`fined
`object
`labeled
`1.3.6.1.4.1.58.1.1.0. The object labeled "printerstatus" 5 that agent (e.g., an integer or a string) or initiate a pro-
`(304) could be used to tum a printer on and off and to
`cess within that agent (settable object). The user in-
`test the status of the printer. A request to read the
`vokes the user-defmed object by sending an SNMP
`printer status is initiated by a SNMP GET or GET-
`request with an object identifier and appropriate data
`NEXT request to the agent along with the object identi-
`arguments to the agent containing the object.
`tier. The agent invokes a user specified program desig- 10 At start-up, an agent searches for and reads the con-
`figuration ftle. Once the configuration ftle is read, the
`nated in the read-command clause (308). The read-com-
`mand clause (308) specifies a UNIX path/usr!locallbin-
`information is incorporated into the agent's memory
`/and an executable program named "printer_status".
`and the actual flle is no longer needed. Therefore, the
`The read-command-timeout clause (310) specifies that
`me can be modified while the agent is running. Also, the
`the agent will only wait 10 seconds for the printer_ 15 me can be incorporated without requiring recompila-
`tion of the agent. After start-up, the agent can be recon-
`status command to respond. If the command takes
`longer than 10 seconds, an error message is returned to
`figured (forced to re-read all configuration flies) by
`the management station. The syntax clause (312) speci-
`issuing an SNMP SetRequest to an object having the
`1 614 1
`13
`·
`ties that if the printer is on line (up), the object labeled
`tifi
`b.
`·
`..
`.
`,
`h
`.
`h
`o ~ect 1den 1er
`.3. . . . .11.2.
`.2.2.0 and settmg the
`prmterstatus returns t e mteger 1 to t e management 20 value to 1. This vendor-specific settable object exists in
`previous Hewlett Packard UNIX versions of SNMP
`station. If the printer is off line (down), a 2 is returned.
`Likewise, a command to force the printer off line is
`compatible agents. The reconfigure object first unregis-
`accomplished by sending an integer argument 2 (down)
`ters all user defmed objects previously registered. Then
`to the user defined object "printerstatus" which in turn
`passes the argument and invokes a program named 25 the process of reading the configuration ftle and regis-
`"change_printer_status" as defmed in the write-com-
`tration proceeds as described in FIGS. 4A and 4B.
`mand clause (314).
`From the preceding discussion, it can be seen that the
`FIG. 3B also illustrates a read-only object labeled
`present invention provides a network management
`"printertype" (316) to return a description string identi-
`agent to which a user can add new management objects.
`fying a printer type. Also illustrated in FIG. 3B is a 30 The new user defmed objects can be added without
`requiring recompilation of the agent and can be added
`read-only object labeled "user-logins" (318) to return a
`string containing identifications of all users currently
`without stopping the agent. This capability permits the
`logged onto the network. Continuing in FIG. 3B, the
`user to expand the agent's capability into areas not pro-
`last example is a read-only object labeled "numusers"
`vided by the vendor for the agent. The agent can then
`which returns the number of users logged onto the 35 be updated, or it can be modified to accommodate new
`network.
`software or new equipment, or it can be improved to
`FIGS. 4A and 4B illustrate in comments and pseudo-
`provide management tools not contemplated by the
`designers of the agent.
`code the code which enables an agent to read the ob-
`jects described in the configuration me, to parse the
`The foregoing description of the present invention
`special clauses within the description clause, to associ- 40 has been presented for purposes of illustration and de-
`scription. It is not intended to be exhaustive or to limit
`ate user specified executable software with a user de-
`fined object identifier, and to graft the user defmed
`the invention to the precise form disclosed, and other
`object to the primary tree structure that is defined by
`modifications and variations may be possible in light of
`the vendor when the agent code is compiled. The
`the above teachings. The embodiment was chosen and
`misExport function described in the background section 45 described in order to best explain the principles of the
`invention and its practical application to thereby enable
`is called to graft the user defmed object to the primary
`tree structure. The misExport function is executed once
`others skilled in the art to best utilize the invention in
`for each user defined object.
`various embodiments and various modifications as are
`suited to the particular use contemplated. It is intended
`In FIGS. 4A and 4B, the human readable configura-
`tion file is read (402) and information associated with 50 that the appended claims be construed to include other
`alternative embodiments of the invention except insofar
`each object is then saved in a separate internal data
`structure named "saved_ values" (404). Then the
`as limited by the prior art.
`misExport function is called to register the object (406).
`What is claimed is:
`The ops parameter for the misExport function requires
`1. In a computer system comprising a managing com-
`procedure names for responding to the SNMP GET, 55 puter and at least one managed computer, the managing
`GET-NEXT, and SET requests. In FIG. 4B, these are
`computer and the managed computer connected by a
`labeled "geL.routine" (408), "getNexL.routine" (410),
`network, the managed computer having an executable
`J2!0grmn and an agent. capable of receiving information
`and "seL.routine" (412) respectively.
`Get-routine (408) is called when a SNMP GetRe-
`from the managing computer, running as background
`quest is received by the agent for one of the objects 60 software, the agent, while running, having a set of exe-
`cutable functions defined by a collection of manage-
`registered from the configuration ftle. GeL.routine
`(408) uses the misExport cookie parameter (414) as a
`ment objects forming a management information base, a
`method for extending the set of executable functions of
`pointer into an internal data structure to identify the
`path and name of a UNIX shell command. The UNIX
`the running agent. the method comprising the following
`shell command will execute reacL_routine and read_ 65 steps:
`a. defming a new management object in a text file in
`timeout (402) as specified in the original configuration
`file. The getNexLroutine (412) and the set-routine
`the managing computer, the new management ob-
`(412) also use the cookie parameter (414) to point to a
`ject associated with the executable program, the
`
`Page 10 of 11
`
`
`
`5,367,635
`
`7
`text file including at least one object identification
`and a dire.ctory path for the executable program;
`b. sending the text file, over the network, from the
`managing computer to the managed computer;
`c. sending a reconfigure command, over the network, 5
`from the managing computer to the agent;
`d. receiving the reconfigure command by the agent;
`e. appending the text me, by the running agent, to the
`collection of management objects in the running
`agent, in response to the reconfigure command; 10
`and
`
`8
`f. interpreting the new management object defmed by
`the text file as an executable function, thereby ex(cid:173)
`tending the set of executable functions of the run(cid:173)
`ning agent;
`whereby, if the managing computer sends an object
`identification which was included in the text file
`over the network to the agent;
`i) the agent receives the object identification;
`ii) the managed computer executes the executable
`program indicated by the object identification.
`* * * * *
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Page 11 of 11