throbber
United States Patent [191
`Bauer et al.
`
`US005367635A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,367,635
`Nov. 22, 1994
`
`[54] NETWORK MANAGENIENT AGENT WITH
`USER CREATED OBJECTS PROVIDING
`ADDITIONAL FUNCTIONALITY
`[75] Inventors: Neal Bauer, Loveland; Mark A.
`Kepke, Ft. Collins, both of C010.
`[73] Assignee: Hewlett-Packard Company, Palo
`Alto, Calif.
`[21] Appl. No.5 752,152
`[22] Filed:
`Aug. 29, 1991
`
`[51] Int. Cl.5 . . . . . .
`
`. . . . . . . . . . . . . .. G06F 13/00
`
`[52] US. Cl. .................................. .. 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
`mit”; Screen prints of computer program.
`Novell, Inc.; Net Wave Version 3.1] System Administra
`tion, Novell, Inc., 1991.
`Simrin; The MS-DOS Bible; Howard Sams 8: 00.; 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 Agen ”.
`Primary Examiner—Thomas M. Heckler
`Assistant Examiner-J. Hall Backenstose
`Attorney, Agent, or Firm-Augustus W. Win?eld
`[57]
`ABSTRACT
`A computer network management software agent
`which includes the ability for users to add new user
`de?ned management objects. A user editable text ?le
`de?nes object identi?cations, object types, and the path
`and name of associated executable software. A user’ can
`then invoke user de?ned executable software at a man
`aged node by sending a network command and a user
`de?ned associated object identi?er to the agent in the
`managed node. Data can be sent between a user and
`user de?ned executable software. A timeout feature
`generates an error if commands are not completed
`within a user de?ned time.
`
`1 Claim, 6 Drawing Sheets
`
`STANDARD OBJECTS
`
`AGENT
`502
`
`\ (204
`VENDOR
`DEFINED
`OBJECTS
`
`/ Z08
`
`C(NFIGURAWN FILE
`
`1
`
`

`
`US. Patent
`
`Nov. 22, 1994
`
`Sheet 1 of 6
`
`5,367,635
`
`Em?‘
`
`$92;
`
`
`
`M82 .
`
`P E
`wcoz / W 522%
`we 5 Q: 2M2 .\
`
`P5522;
`§\
`VEQEMZ
`205%
`
`2
`
`

`
`US. Patent
`
`Nov. 22, 1994
`
`Sheet 2 of 6
`
`5,367,635
`
`23%
`52%
`55>
`a1 /
`
`5E 525E200
`
`2N \ I I I 1
`
`2%
`
`\
`
`
`
`NON 23% @225
`
`gr w?m
`
`\ \
`
`mum: 8N
`
`3
`
`

`
`U.S. Patent
`
`4m
`
`6f0
`
`5,367,635
`
`ehS
`
`M...3
`
`3mw
`
`a.NNhxuhnmmsoonHNhxuhnmmsouMWAmmmmmwhmnmunmN.5
`
`
`mmHmHazmnHaumnmoN>x->nmmsou
`
`
`mmHmHazmnHaomnmonoucHumu>x
`
`
`mmHmHazmnHaumnmomnmmsumx
`
`AHmum>HnmAvAavumagmunflAmvuovAmvmgo.HvomH%
`
`
`
`
`
`mmHmHazmnHaumnmomwmHnmnmunm
`
`
`mmHmHazmnHaumbmomum>Ham
`
`
`
`
`
`zawmmnu"mzoHaHzHmwnu»x-mmzoamDu
`
`
`
`mnumumHwufiHHQ\GHQ\HmUOH\Hm5\"QZ¢S2OUIQ¢fiM
`
`
`
`HmuGHHmH0wMHmannom5umum=
`
`/(mom
`
`
`
`
`I"BDOHSHB:9442200-9~mm.\o_.m
`
`OH
`
`msumumHmunHnmlmmnm£o\GHQ\HmU0H\HmD\uQz42OUlWBHM3
`
`
`
`
`I=N"aDomzHa-mz¢2oo-maHmz
`
`\Em
`
`//com
`
`A
`
`HHmunHumN>NVnu"
`
`Amvcsou
`
`
`
`muHn3-ummnmmmoum
`
`
`
`wnoumunmemDa¢Hm
`
`zoHamHmommn
`
`
`
`x¢Hz»mH.395\N—.mWmmwmazH
`mmwa-aombmomsumumnmunflum
`
`
`
`,30_..._
`
`
`
`"nHmunooUHSO3mHHunoHumg5mHmuoounmmmMHQEMNMGfl
`
`
`
`
`
`
`
`4
`
`

`
`U.S. Patent
`
`N
`
`C..n
`
`6
`
`5,367,635
`
`
`
`
`
`
`
`
`
`
`amaoo42.zoHamHmommmwxuoumcnmamsemamJ,>Hno-ummummmou¢2GZHMBMx¢Hzwmwmmwa-aumnmomnflmoH-wmms
`
`
`
`
`
`mmmaUwmmoahaunmnnsumumumnumvflGamoaMmmsmoumflH=
`
`
`
`
`
`SAHmummsuhxVnu"
`
`
`
`mnwmsxcwnxgmsx"nz«2ou-n¢mm
`
`=5”anomzHa-nz4zou-n«mm
`
`
`
`M>Hco-ummummmoo4
`
`
`
`mnmmsesu4mmsmwxmazwmammwe-aumwmo
`
`320
`
`
`
`nwUmmmoamnmmsmoHmnE5n=
`
`
`
`mnoumunmsmnH¢am
`
`zoHamHmummo
`
`
`
`
`
`3-o3\cwn\_mHmm5\:wn\um5\uQZ¢2OU|Q4WM
`
`=¢"aDomzHa-nz¢2ou-n¢mm
`
`mmGEnzmANmnmmsuhxVnu"
`
`316
`
`mam»amuuflnm\qfln\HmooH\nm:\"nz¢zzou-n<mm
`
`
`
`I=m”epomzHa-nz¢2zou-n¢mm
`
`
`
`HwunanmHmmmamowm%u=
`
`*NnmucwnmnhxVnu"
`
`
`
`>Hao-ummummmoom
`
`
`
`mnoumunmemDa¢Hm
`
`zoHamHmommn
`
`
`
`
`
`wzamamamaoox¢ez»m
`
`
`
`mmwa-aumnmommxugmunflum
`
`5
`
`

`
`U.S. Patent
`
`V.
`
`1
`
`5
`
`5,367,635
`
`W
`
`
`
`/4\«MMHHMnofiumnsmauaooEOHMUmmn
`9.1\
`
`
`
`n0%AMHHMGOHHMHDOHMGOUcamuummnomumwnmsuVGHHS3
`
`
`
`0..|.|NmaawnofiumnsmwmnooUmmn
`
`
`
`
`
`asmunmumunmmmwannmnsvmusomxwmamuwuson®HHHnowumnsmflmnouUmmumna
`
`
`
`
`
`
`
`.UwH5mHmGOOWHmaucmmmmamnmnsgo
`
`5.G_..._
`
`
`
`
`
`mvooovsmmmcoaumndmflmnou
`
`
`
`.mnwu5mMUmmuUmmnmusowswuiwuflns.mawu5oH0UfiH3Ummn%usomeaulvmwn
`
`
`
`
`
`mmmoom.xmun>m.Uwuumnnonmmn
`
`
`
`
`
`
`
`
`
`
`
`
`
`
` .\«6mm:HMHMHHONmmsHm>m>mmM*\
`
`/404
`
`
`
`
`
`U50@Eflu|®UHH3.MGflU5OH0UHH3.usomEMuvmmu
`
`
`
`
`
`
`
`
`
`.0fiHu5OHUmmn.mmmo0m.xmuG>m.Uwuomnno0>mm
`
`
`
`mm5Hm>lUm>mmcw
`
`6
`
`

`
`U.S. Patent
`
`Nov. 22, 1994
`
`Sheet 6 of 6
`
`5,367,635
`
`
`
`
`
`cmnmumammnmannowummsvmnmzzmmmm>am0muuammmman:w£3unmmm
`
`
`
`
`
`mmm>«momMunmmmms»coaxvmaamomamusuwoonmd.©«Iuomnno
`
`
`
`
`
`mummmhsvwoonmwas.ummsUmmuwmno.umm:Ummuxmzumwummsvmmumw
`
`
`
`honummvUna.mummMo.mmmwHmnmsa.nmumEmHmmmmomanfiflUmmmmm
`
`
`
`
`
`
`
`406
`
`/3/c3/AmmsHm>IUm>mmlouHwunwom.AwGau50HIuwm.mmHu5oHluxmzumm
`
`
`
`
`
`
`
`
`.mnfiu:%nummv.AUauommnovnumnma.v«uomnnovunomxmm
`we
`
`
`
`mm5Hm>l©m>mmouHmunaommsucwmqflmmmmUmaamomamnwusoupom
`
`
`
`
`
`.UHuomnnoMomummsvmmummmzzmmm®>HOU®Hunmmmmanum>mnm£z
`
`..mflxmoov
`
`.A0fi¥OOUv
`
`
`mm5Hm>lUm>mmonHGUGHOQwanCHmnfimmmmUmaamumamcwunohluxmzumm
`
`
`
`
`
`
`.@fluomnnoHowumwdvmmuxmzumwmzzmmmm>fimowMucmmmmanHm>mnm£z
`
`
`mm5Hm>Wdm>mmounmunwommancamnammmmUmaamomamnausonumm
`
`
`
`
`
`
`.Ufl|uU®hQOMomummswmmumwmzzmm.mm>fimomMunmmmonuMm>m:m£3
`
`.AmHxmoo.
`
`.@mm5nonmumnmumemummmmomannoMUHMMM
`
`av
`
`9.GE
`
`
`
`Ammmoosmvcnsumn
`
`«\
`
`we>
`
`mcov
`
`
`
`
`
`wm5am>l©m>mwonHGHGHOQUna.mmH5Umoonmm.UH|uUwhQ0nmumfimmn
`
`
`
`manhaumaamomumumnummhscmoohmHmcnmunamummmndumoonmo£H
`
`
`
`
`
`
`
`7
`
`

`
`1
`
`NETWORK MANAGEMENT AGENT WITH USER
`CREATED OBJECTS PROVIDING ADDITIONAL
`FUNCTIONALITY
`
`FIELD OF INVENTION
`This invention relates generally to computer net
`works, and more particularly to network management
`software.
`
`BACKGROUND OF THE INVENTION
`Computers may be interconnected via a local area
`network (LAN). Local area networks may be intercon
`nected into still larger systems spanning a floor or build
`ing, a group of buildings (campus), a region, or larger
`areas on up to worldwide systems. Each LAN may
`have a different hardware interconnection technology
`and multiple network protocols. A simple isolated LAN
`may be administered by individual users. That is, users
`may change equipment, install software, and diagnose
`problems. Large complex LANs or large groups of
`interconnected LANs require “management”. “Man
`agemen ” refers to both a human network manager and
`software used by the human manager. In this applica
`tion, “management” refers to software for managing the
`overall system, and “user” refers to a person using the
`network management software. The user is usually the
`system administrator. Users can obtain management
`data and alter management data on the network by
`using network management software.
`30
`Large network systems are typically dynamic with
`continual requirements for addition and deletion of
`equipment, updating of software, and detection and
`analysis of problems. In general, there may be a variety
`of systems from a variety of vendors with a variety of
`35
`system owners. Management software is designed to be
`as general as possible. However, as the overall system
`changes, the user may need information or control ca
`pabilities not anticipated by the designers of the man
`agement software. Management software needs to have
`a provision for adding new user de?ned capabilities for
`information gathering and control.
`Current network management software is typically
`de?ned in terms of software objects. A software object
`is a way of organizing data. An object may have a value
`or associated data. An object may have an associated
`executable software process for generating data or for
`control purposes. A user can retrieve or alter the data
`associated with an object. Network management ob
`jects are uniquely identi?ed by object identi?ers.
`An agent is software running as a background process
`on each of the target devices. When a user requests
`management data from a device on the network, man
`agement software will send an object identi?cation in a
`management packet or frame to the target agent. The
`55
`agent will interpret the object identi?cation, retrieve
`data associated with the object identi?cation, and send
`the data in a packet back to the user. Sometimes, a
`corresponding process may be invoked to retrieve data.
`Current network management agent software is typi
`cally sold with a hierarchy of ?xed pre-de?ned objects.
`There are typically no provisions for a user to add or
`modify objects. Some management software provides
`“extensible” agents. “Extensible” typically means that a
`user has access to source code for the agent and can
`65
`modify the source code and recompile. Alternatively,
`the user may write additional code in a programming
`language which requires compilation but may not be
`
`10
`
`45
`
`5,367,635
`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
`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
`(ISO) has provided a general reference framework
`called the Open System Interconnection (081) model.
`The 051 model for a network management protocol is
`called Common Management Information Protocol
`(CMIP). CMIP is a common network management
`protocol in Europe. In the United States, a more com
`mon network management protocol is a related varia
`tion of CMIP called the Simple Network Management
`Protocol (SNMP) (see Marshall T. Rose, The Simple
`Book, Prentice-Hall, 1991).
`In the SNMP network management terminology, a
`network management system contains at least one net
`work management station (NMS), several managed
`nodes, each containing an agent, and a network man
`agement protocol which is used by the management
`station and the agents to exchange management infor
`mation. A user can obtain data and alter data on the
`network by using network management software on the
`NMS to communicate with agent software in the man
`aged nodes.
`Software for agents conforming to SNMP standards
`is commercially available. Agent source code is also
`available without charge from universities. For exam
`ple, a source code SNMP development kit (hereinafter
`referred to as the “MIT code”) is available from the
`following source:
`James R. Davin
`Advanced Network Architecture Group
`M.I.T. Laboratory for Computer Science
`545 Technology Square
`Cambridge, Mass. 02139
`The SNMP de?nes a structure for a management
`database (a collection of objects) called the Manage
`ment Information Base (MIB). Objects in a MIB have
`names (OBJECT IDENTIFIERS) and data structures
`(OBJECT TYPES). An object identi?er is a sequence
`of non-negative integer values which signify a path
`through a tree structure of numbered branches (called
`sub-identi?ers). Each sub-identi?er is a non-negative
`integer.
`For example,
`the
`object
`identi?er
`l.3.6.l.4.1.1l.2.12 identi?es an object found by starting
`at the root, moving to the branch with the sub-identi?er
`1, moving to a subordinate branch with the sub-iden
`ti?er 3, and so forth. The ?rst 6 levels of this example
`are de?ned by the standard model. In the example, the
`branch identi?ed by the ?rst ?ve sub-identi?ers
`(1.3.6.1.4) is the standard SNMP de?ned branch called
`“private”. The next sub-identi?er (1) is for a branch
`(called “enterprises”) reserved for vendor speci?c ob
`6o jects. The next label (11) is reserved for Hewlett Pack
`ard.
`Information is retrieved from an agent by sending a
`SNMP GET or GET-NEXT request with an object
`identi?cation as a parameter. Data associated with an
`object can be altered by sending a SNMP SET request
`to the agent with the object identi?cation as one param
`eter and the data as another parameter. An object which
`can be written to is called a “settable” object.
`
`50
`
`8
`
`

`
`5,367,635
`3
`4
`The MIT code includes a function (named “misEx
`FIG. 2 is a software block diagram illustrating addi
`port()”) for registering (attaching or grafting) an object
`tional detail within an agent.
`FIGS. 3A and 3B illustrate an example agent con?gu
`to the object tree structure. There are 4 parameters as
`follows:
`ration file in accordance with the present invention.
`name: (the object identi?er)
`FIGS. 4A and 4B illustrate pseudocode for reading a
`namelen: (the number of sub-identi?ers in the object
`con?guration ?le and registering user de?ned objects
`identi?er)
`with a vendor de?ned object tree structure.
`ops: (a list of 6 routines (corresponding to the opera
`tions RELEASE, CREATE, DESTROY, and
`SNMP requests GET-NEXT, GET, and SET)
`which can be performed on management objects)
`cookie: (a pointer to stored parameters associated
`with the speci?c object identi?er within a data
`structure internal to the agent).
`MIB standards evolve as required by the industry.
`Proposed MIB standards start as published requests for
`comments. A MIB format for de?ning objects is speci
`?ed in Request For Comments number 1212 (hereinaf
`ter referred to as “RFC 1212”) and an example MIB
`standard using that format is speci?ed in Request For
`20
`Comments 1213 (hereinafter referred to as “RFC
`1213”). Both are available from the following source:
`DDN Network Information Center
`SRI International
`Room EJ291
`333 Ravenswood Avenue
`Menlo Park, Calif. 94025
`The RFC 1212 object-type notation requires a series
`of textual clauses as follows:
`SYNTAX: (examples are
`“OCTET STRING”)
`ACCESS: (choices are: “read-only”, “read-write”,
`“write-only”, and “not-accessible”)
`STATUS: (the required choice for status in a com
`mercial product is “mandatory”. In an experimen
`tal MIB, the word “optional” is allowed.)
`DESCRIPTION: (A textual explanation of the ob
`ject delimited by quote marks.)
`As discussed above, there is a need in network man
`agement for users to have the capability of adding man
`agement objects to an agent without requiring recompi
`lation. However, the capability must be compatible
`with various standards as described above.
`
`25
`
`“INTEGER” and
`
`30
`
`35
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT OF THE
`INVENTION
`FIG. 1 illustrates a computer network 100. Network
`management station 102 manages a variety of managed
`nodes 104, 108. Each managed node has an agent 106,
`110 running as background software providing manage
`ment information and control. Each agent 106, 110 is
`con?gured as a tree structure of software objects.
`FIG. 2 illustrates additional detail within an agent.
`Agent 200 has a layer of standard objects 202 de?ned by
`RFC 1213, and a layer of vendor de?ned objects 204.
`Standard objects 202 and vendor de?ned objects 204
`are compiled and supplied by the network management
`software vendor. The present invention comprises soft
`ware within an agent 200 enabling the addition of user
`de?ned objects 206 to a previously compiled network
`management agent 200. User de?ned objects are de?ned
`in con?guration file 208. Agent 200 can be invoked to
`re-read con?guration ?le 208 and add user de?ned ob
`jects 206 to agent 200.
`The preferred embodiment of the present invention is
`an agent conforming to the SNMP model. Much of the
`following structure and nomenclature is common to
`other standards but is presented here speci?cally in
`terms of the SNMP. The preferred embodiment of the
`present invention uses the MIT code for the basic core
`of the agent software.
`The new agent in the present invention includes the
`capability of reading object de?nitions from a special
`?le called a con?guration ?le (208 in FIG. 2). The con
`?guration ?le (208) is a text ?le which can be edited by
`a user using any text editor. The con?guration ?le (208)
`can be de?ned at the time the new agent is installed or
`maybe de?ned later. The con?guration ?le (208) has a
`prede?ned UNIX path.
`The con?guration tile is compatible with the RFC
`1212 MIB standard described earlier. However, in the
`preferred embodiment, additional capability is incorpo
`rated into the textual DESCRIPTION clause. Four
`additional clauses are de?ned as follows:
`READ-COMMAND: (a path and name for an exe
`cutable program.)
`WRITE-COMMAND: (a path and name for an exe
`cutable program.)
`READ-COMMAND-TIMEOUT: (an integer speci
`fying a time in seconds allowed for completion of a
`READ-COMMAND.)
`WRITE-COMMAND-TIMEOUT: (an integer spec
`ifying a time in seconds allowed for completion of
`a WRITE-COMMAND).
`FIGS. 3A and 3B illustrate a sample con?guration
`?le. The object identi?er preamble (302) de?nes a MIB
`tree structure branch common to all user de?ned ob
`jects. In the sample illustrated in FIGS. 3A and 3B, the
`common branch is l.3.6.l.4.l.58. Then, for each de?ned
`object, the list de?nes a leaf which can be combined
`with the common branch to de?ne each object’s SNMP
`name (object identi?er). For example, an object labeled
`“pn'nterstatus” (304) de?nes a leaf (306) which appends
`
`40
`
`4-5
`
`50
`
`SUMMARY OF THE INVENTION
`The present invention provides a network manage
`ment agent having the capability of adding new objects
`to the agent without requiring modi?cation of the agent
`source code and without stopping and restarting the
`agent. These new objects can then be used by network
`management users to initiate user de?ned processes.
`In the present invention, user de?ned objects are
`de?ned in a con?guration ?le which is read by a net
`work management agent. The con?guration ?le is an
`editable text ?le which can be created at any time. The
`55
`agent can be invoked to re-read the con?guration ?le
`and incorporate objects in the con?guration ?le. Then,
`if a request for a user de?ned object reaches an agent,
`the appropriate user de?ned process is initiated to ac
`quire data, control a peripheral, or execute whatever is
`requested. Data is returned from the user de?ned pro
`cess back through the agent to the user. A timeout
`feature generates an error if commands are not com
`pleted within a user de?ned time.
`
`60
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 is a block diagram illustrating a computer
`network.
`
`65
`
`9
`
`

`
`30
`
`5
`the sub-identi?er 1 to a branch labeled “xyzprinter”
`which in turn_is_assigned the integer 1 in the preamble
`(302). The complete object identi?er for the user de
`?ned object
`labeled
`“printerstatus”
`is
`then
`1.3.6.l.4.1.58.l.l.0. The object labeled “printerstatus”
`(304) could be used to turn a printer on and off and to
`test the status of the printer. A request to read the
`printer status is initiated by a SNMP GET or GET
`NEXT request to the agent along with the object identi
`?er. The agent invokes a user speci?ed program desig
`nated in the read-command clause (308). The read-com
`mand clause (308) speci?es a UNIX path/usr/local/bin
`/and an executable program named “printer_status”.
`The read-command-timeout clause (310) speci?es that
`the agent will only wait 10 seconds for the printer__
`status command to respond. If the command takes
`longer than 10 seconds, an error message is returned to
`the management station. The syntax clause (312) speci
`?es that if the printer is on line (up), the object labeled
`“printerstatus” returns the integer 1 to the management
`20
`station. If the printer is off line (down), a 2 is returned.
`Likewise, a command to force the printer off line is
`accomplished by sending an integer argument 2 (down)
`to the user de?ned object “printerstatus” which in turn
`passes the argument and invokes a program named
`25
`“change._printer_.status” as de?ned in the write-com
`mand clause (314).
`FIG. 3B also illustrates a read-only object labeled
`“printertype” (316) to return a description string identi
`fying a printer type. Also illustrated in FIG. 3B is a
`read-only object labeled “user-logins” (318) to return a
`string containing identi?cations of all users currently
`logged onto the network. Continuing in FIG. 3B, the
`last example is a read-only object labeled “numusers”
`which returns the number of users logged onto the
`network.
`FIGS. 4A and 4B illustrate in comments and pseudo
`code the code which enables an agent to read the ob
`jects described in the con?guration ?le, to parse the
`special clauses within the description clause, to associ
`ate user speci?ed executable software with a user de
`?ned object identi?er, and to graft the user de?ned
`object to the primary tree structure that is de?ned by
`the vendor when the agent code is compiled. The
`misExport function described in the background section
`45
`is called to graft the user de?ned object to the primary
`tree structure. The misExport function is executed once
`for each user de?ned object.
`In FIGS. 4A and 4B, the human readable con?gura
`tion ?le is read (402) and information associated with
`each object is then saved in a separate internal data
`structure named “saved_values” (404). Then the
`misExport function is called to register the object (406).
`The ops parameter for the misExport function requires
`procedure names for responding to the SNMP GET,
`55
`GET-NEXT, and SET requests. In FIG. 4B, these are
`labeled “get_routine” (408), “getNext_routine” (410),
`and “set_routine” (412) respectively.
`Get-routine (408) is called when a SNMP GetRe
`quest is received by the agent for one of the objects
`registered from the con?guration ?le. Get_routine
`(408) uses the misExport cookie parameter (414) as a
`pointer into an internal data structure to identify the
`path and name of a UNIX shell command. The UNIX
`shell command will execute read-routine and read_
`65
`timeout (402) as speci?ed in the original con?guration
`?le. The getNext_.routine (412) and the set-routine
`(412) also use the cookie parameter (414) to point to a
`
`35
`
`40
`
`50
`
`60
`
`|
`
`5,367,635
`
`5
`
`6
`UNIX shell command which executes user speci?ed
`procedures.
`Once an object is de?ned for an agent, a user at the
`network management station can then request data from
`that agent (e.g., an integer or a string) or initiate a pro
`cess within that agent (settable object). The user in
`vokes the user-def'med object by sending an SNMP
`request with an object identi?er and appropriate data
`arguments to the agent containing the object.
`At start-up, an agent searches for and reads the con
`?guration ?le. Once the con?guration ?le is read, the
`information is incorporated into the agent’s memory
`and the actual ?le is no longer needed. Therefore, the
`?le can be modi?ed while the agent is running. Also, the
`?le can be incorporated without requiring recompila
`tion of the agent. After start-up, the agent can be recon
`?gured (forced to re-read all con?guration ?les) by
`issuing an SNMP SetRequest to an object having the
`object identi?er 1.3.6.141.11.2.13.2.2.0 and setting the
`value to 1. This vendor-speci?c settable object exists in
`previous Hewlett Packard UNDI versions of SNMP
`compatible agents. The recon?gure object ?rst unregis
`ters all user de?ned objects previously registered. Then
`the process of reading the con?guration ?le and regis
`tration proceeds as described in FIGS. 4A and 4B.
`From the preceding discussion, it can be seen that the
`present invention provides a network management
`agent to which a user can add new management objects.
`The new user de?ned objects can be added without
`requiring recompilation of the agent and can be added
`without stopping the agent. This capability permits the
`user to expand the agent’s capability into areas not pro
`vided by the vendor for the agent. The agent can then
`be updated, or it can be modi?ed to accommodate new
`software or new equipment, or it can be improved to
`provide management tools not contemplated by the
`designers of the agent.
`The foregoing description of the present invention
`has been presented for purposes of illustration and de
`scription. It is not intended to be exhaustive or to limit
`the invention to the precise form disclosed, and other
`modi?cations and variations may be possible in light of
`the above teachings. The embodiment was chosen and
`described in order to best explain the principles of the
`invention and its practical application to thereby enable
`others skilled in the art to best utilize the invention in
`various embodiments and various modi?cations as are
`suited to the particular use contemplated. It is intended
`that the appended claims be construed to include other
`alternative embodiments of the invention except insofar
`as limited by the prior art.
`What is claimed is:
`1. In a computer system comprising a managing com
`puter and at least one managed computer, the managing
`computer and the managed computer connected by a
`network, the managed computer having an executable
`program and an agent, capable of receiving information
`from the managing computer, running as background
`software, the agent, while running, having a set of exe
`cutable functions de?ned by a collection of manage
`ment objects forming a management information base, a
`method for extending the set of executable functions of
`the running agent, the method comprising the following
`steps:
`a. de?ning a new management object in a text ?le in
`the managing computer, the new management ob
`ject associated with the executable program, the
`
`10
`
`

`
`5,367,635
`8
`7
`text ?le including at least one object identi?cation
`f. interpreting the new management object de?ned by
`and a directory path for the executable program;
`the text ?le as an executable function, thereby ex
`b. sending the text ?le, over the network, from the
`tending the set of executable functions of the run
`managing computer to the managed computer;
`ning agent;
`c. sending a recon?gure command, over the network, 5
`whereby, if the managing computer sends an object
`from the managing computer to the agent;
`identi?cation which was included in the text ?le
`d. receiving the recon?gure command by the agent;
`over the network to the agent;
`e. appending the text ?le, by the running agent, to the
`i) the agent receives the object identi?cation;
`collection of management objects in the running
`ii) the managed computer executes the executable
`agent, in response to the recon?gure command; 10
`program indicated by the object identi?cation.
`and
`* * *
`>1‘
`*
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`55
`
`65
`
`11

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket