`Bauer et al.
`
`USOO5367635A
`Patent Number:
`Date of Patent:
`
`11
`45
`
`5,367,635
`Nov. 22, 1994
`
`54 NETWORK MANAGEMENTAGENT WITH
`USER CREATED OBJECTS PROVIDING
`ADDITIONAL FUNCTIONALTY
`75) 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
`51
`int. C. .............................................. G06F 13/00
`52 U.S.C. .................................... 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/2802; 364/280.3; 364/284
`58) Field of Search ..................... 395/600; 364/2809,
`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.11 System Administra
`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
`Attorney, 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
`defines object identifications, object types, and the path
`and name of associated executable software. A user can
`then invoke user defined executable software at a man
`aged node by sending a network command and a user
`defined 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 defined time.
`
`1 Claim, 6 Drawing Sheets
`
`
`
`
`
`STANDARD OBJECTS
`
`CONFIGURATION FE
`
`VMware - Exhibit 1019
`VMware v. IV I - IPR2020-00470
`Page 1 of 11
`
`
`
`U.S. Patent
`
`Nov. 22, 1994
`
`Sheet 1 of 6
`
`5,367,635
`
`
`
`| 0+
`
`
`
`
`
`VMware - Exhibit 1019
`VMware v. IV I - IPR2020-00470
`Page 2 of 11
`
`
`
`U.S. Patent
`
`Nov. 22, 1994
`
`Sheet 2 of 6
`
`5,367,635
`
`
`
`
`
`
`
`• 9) | E. GLI SIQH8)
`
`\ / CENHEO)
`}}EST)
`
`00Z
`
`VMware - Exhibit 1019
`VMware v. IV I - IPR2020-00470
`Page 3 of 11
`
`
`
`US. Patent
`
`Nov. 22, :994
`
`Sheet 3 of 6
`
`5,367,635
`
`302
`
`304
`
`mnumumHmunflhm\nfin\amooH\Hm=\"szzzouunfimm,fll
`
`HmucflhmHmmmHmannom5umum=
`
`
`
`
`IOH"abomsHa-nzmzzou-n¢mm(\Qh
`
`mom
`
`
`mSumumlhmucflhmlmmnmso\nfin\HMOOH\Hmd\"92¢Ezoonm9Hm3
`=m“HpomzHa-az¢zzoo-maHmz.\\::m//
`
`
`com
`
`A H
`
`HmunflkmuhxVnu"
`
`Amvcsou
`
`
`
`muHH3uvmmHmmmUUMN
`
`
`
`hhoumunmfimDBmHm
`
`onHmHmommn
`
`
`
`xaazwmAHVQS\NwmwmmumBzH
`mmwa-aombmomsumumuwuufium
`
`
`
`VMware - Exhibit 1019
`
`VMware V. IV | - |PR2020-00470
`
`Page4of11
`
`
`AmvuovAmvmnoAHVOmfin"mmHmHHZHQHBumbmooum>flgmmmHmHHZMQHHUMbmommmfigmgwuqmAvAavumanmunflnu"mmHmHBZmQHHUMmeHoucflnmuhxAmmmmmflhmumunwuhxuhnmmsouAHmum>flpmnu"
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`nu"mmHmHBZHDHBUHmeNNhunuxnnmmeoou."MmHmHBszHBumbmomhmmdnhunHnhxnhqmmsou
`
`
`
`
`
`
`
`
`
`
`
`
`
`<mGE
`
`
`
`”nflmunoovasesmafimcOfiumgsmflmcoounmmmmHmmewam
`
`
`
`
`
`
`
`
`
`Zmemu:mZOHBHZHhMQNNNIMMSOBmDU
`
`VMware - Exhibit 1019
`VMware v. IV I - IPR2020-00470
`Page 4 of 11
`
`
`
`US. Patent
`
`N
`
`m
`
`5GD6.,
`
`
`
`
`
`mummafifluma
`
`
`
`524228-35BnunUmmmoahaunmhhsomum“:23Evaname.”Hmmfimo”$4.”?
`
`316
`
`mg»Hmucflhm\dfln\amoo:hms\"mzmzzovlmmmm
`
`
`
`I._m”HDOHEHBuQ—fimzzovunmmm
`
`
`
`kufiuum“.593m0mg»:
`
`
`
`33-39."mmmuom
`
`
`
`muoumvnmémbadem
`
`ZOHBmHmUmMQ
`
`
`
`4.1ZOHBmHmUmeWaoumwcmamDBdBm
`
`
`l,hacoémmu
`
`mmmoumnsz$5.50”292$m.mmwaéombmomfimoahoms
`
`*NHmunflumnhx“—n:
`
`
`
`
`
`GZHMBmBMBUONfiwzwm
`
`
`
`mmeJHUMbmoogunmuaflm
`
`SflH989;thvu:
`
`=b”BDOMSHBnQZ¢SSOUIQ¢mm
`
`
`6333%.:mbagm
`mfimmzm0MmQESG=M285583
`
`GMwwwmoa
`
`
`
`
`.m.34.6%memmmoom
`
`
`
`3355::4mmsmw“Reamammwaéummmo
`
`
`
`
`
`3:03\c..nn\_mhwm3\fifin\nm5\“92300-ng
`
`Eu=¢"BDOWEHBzszSEOUnnflmm
`.39mNmummfiuhxv"I
`
`mmmatea
`
`VMware - Exhibit 1019
`
`VMware V. IV | - |PR2020-00470
`
`Page5of11
`
`VMware - Exhibit 1019
`VMware v. IV I - IPR2020-00470
`Page 5 of 11
`
`
`
`US. Patent
`
`m
`
`91
`
`5
`
`.31v69m
`
`
`
`
`
`4mafiucoaumunmflmnouScumUmmh9*\
`
`m
`
`
`
`l...,\.¢
`
`
`
`n0%Amafia:Ofiumusmwmcoomamuommnomummumguvmafias
`
`
`
`
`
`ollNmafiameanwhdmfiucoovmmn
`
`
`
`
`
`.vmhsmflmnOUWHmfi
`
`
`
`
`
`ucwmmmamnmnz“om:munmumunmmmmapmossUmudomxwmamcfiusonmaflmmofluMHSmflmcooummnmay
`
`5.GE
`
`
`
`0600OwammGOHuMHdmflmcoo
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`vmmh.mawudmnUmmhUmwnwusowEwulwuHH3~Quanta—0HWuflnsUmmu&usoweflu
`
`
`20modam>UmmeGa
`
`
`
`:wusomefiulmuflns.mnfluDOHIMUflHS.udooewu@MMH
`
`
`
`
`
`
`
`
`
`m
`
`
`
`
`
`A.~mnfludogUmmu.mmmoom.xwuchm.vflnomnnom>mm
`
`.mi
`
`
`
`
`
`.\*6mm:HmumaMommmSHm>0>Mm
`
`VMware - Exhibit 1019
`
`VMware V. IV | - |PR2020-00470
`
`Page60f11
`
`
`
`mumoom.Nmuchm~UHpomnnoUmmh
`
`VMware - Exhibit 1019
`VMware v. IV I - IPR2020-00470
`Page 6 of 11
`
`
`
`US. Patent
`
`Nov. 22, 1994
`
`Sheet 6 of 6
`
`5,367,635
`
`
`
`wwde>lvw>MmcuHmuqumvan.mmnsvooonmm.UHIuUMnnohmumHmmn
`
`*\
`
`
`
`
`
`manhaumHHmomumumzummHSUmDOHmHmnnwunHmummmHSUwoonmmQB
`
`
`
`
`
`
`
`amumumHmmHmnuHemuwmsuwMm22mmmm>Hwomnunmmmmnucwgzunwmm
`
`
`
`
`
`
`
`
`
`unmmmmayawn:UmHHmomHohnvwoonmH.UHIuomnnomhmmmnsvmoonm$39.ummSUmmummno‘pmmsvauwaummummSUGMumwmmo>HmomH
`
`
`
`
`
`
`
`houumwuflaw.wumeU.mmmmHmH0&8.hmumEMHmmmmo0gpnHUmmmmm
`
`
`
`
`
`v3
`
`mwGE
`
`406
`
`no.»
`
`
`
`
`/NS/03/AmmSHm>lvm>mmouHmunHom.AmGHudoulumm.wQHuSOHIanZumm
`
`
`
`~mnHuSOHIummv.AvHIuomnnovnumanUHIuomnnovuHOQKMmHEy
`
`
`
`
`mmSHm>IUm>mmounmunHommnunHqummmmUmHHmomHmnHuSOMumm
`
`
`6HluomnnoHemammuvmmummmEZmmm0>HmumHuqmmmonuMmbmnonz
`
`
`
`.AmHuAOOUV
`
`
`
`
`mmSHm>IUm>mmouHounHommapnHmnHmmmmUwHHmomHmnHHSOHIuKmZuwm
`
`
`
`
`
`UHIuomnnoHowumwsvomuNwZHmwASZmmmm>HmomHucmmmmapHw>mnm£3
`
`.Ameooov
`
`
`
`
`
`m05HM>Iw0>6mOuHmucHomonunHmnHmmmmuwHHmomHoaHuSOHIumm
`
`
`
`6HIuomnnoHemummsvmmuwwASZmmmm>HmomHpawmmosuHmbmnmnz
`
`Ameooov
`
`
`
`.fioma“onmhmHmumEmHmmmmoan»wemUHmHm
`
`
`
`AmmeUvaannuwn
`
`r.
`
`mdov
`
`VMware - Exhibit 1019
`
`VMware V. IV | - |PR2020-00470
`
`Page7of11
`
`VMware - Exhibit 1019
`VMware v. IV I - IPR2020-00470
`Page 7 of 11
`
`
`
`1.
`
`10
`
`NETWORK MANAGEMENT AGENT WITH USER
`CREATED OBJECTS PROVIDING ADDITIONAL
`FUNCTIONALITY
`
`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.
`FIELD OF INVENTION
`There are numerous standards organizations which
`This invention relates generally to computer net
`are attempting to standardize computer networking.
`works, and more particularly to network management
`The International Organization for Standardization
`software.
`(ISO) has provided a general reference framework
`BACKGROUND OF THE INVENTION
`called the Open System Interconnection (OSI) model.
`Computers may be interconnected via a local area
`The OSI model for a network management protocol is
`called Common Management Information Protocol
`network (LAN). Local area networks may be intercon
`nected into still larger systems spanning afloor or build
`(CMIP). CMIP is a common network management
`ing, a group of buildings (campus), a region, or larger
`15
`protocol in Europe. In the United States, a more com
`areas on up to worldwide systems. Each LAN may
`mon network management protocol is a related varia
`have a different hardware interconnection technology
`tion of CMIP called the Simple Network Management
`and multiple network protocols. A simple isolated LAN
`Protocol (SNMP) (see Marshall T. Rose, The Simple
`may be administered by individual users. That is, users
`Book, Prentice-Hall, 1991).
`may change equipment, install software, and diagnose
`In the SNMP network management terminology, a
`problems. Large complex LANs or large groups of
`network management system contains at least one net
`interconnected LANs require "management”. “Man
`work management station (NMS), several managed
`agement” refers to both a human network manager and
`nodes, each containing an agent, and a network man
`software used by the human manager. In this applica
`agement protocol which is used by the management
`tion, "management' refers to software for managing the
`25
`station and the agents to exchange management infor
`overall system, and "user' refers to a person using the
`mation. A user can obtain data and alter data on the
`network management software. The user is usually the
`network by using network management software on the
`system administrator. Users can obtain management
`NMS to communicate with agent software in the man
`data and alter management data on the network by
`aged nodes.
`using network management software.
`30
`Software for agents conforming to SNMP standards
`Large network systems are typically dynamic with
`is commercially available. Agent source code is also
`continual requirements for addition and deletion of
`available without charge from universities. For exam
`equipment, updating of software, and detection and
`ple, a source code SNMP development kit (hereinafter
`analysis of problems. In general, there may be a variety
`referred to as the "MIT code') is available from the
`of systems from a variety of vendors with a variety of
`35
`following source:
`system owners. Management software is designed to be
`James R. Davin
`as general as possible. However, as the overall system
`Advanced Network Architecture Group
`changes, the user may need information or control ca
`M.I.T. Laboratory for Computer Science
`pabilities not anticipated by the designers of the man
`545 Technology Square
`agement software. Management software needs to have
`Cambridge, Mass. 02139
`a provision for adding new user defined capabilities for
`The SNMP defines a structure for a management
`information gathering and control.
`database (a collection of objects) called the Manage
`Current network management software is typically
`ment Information Base (MIB). Objects in a MIB have
`defined in terms of software objects. A software object
`names (OBJECT IDENTIFIERS) and data structures
`is a way of organizing data. An object may have a value
`45
`(OBJECT TYPES). An object identifier is a sequence
`or associated data. An object may have an associated
`of non-negative integer values which signify a path
`executable software process for generating data or for
`through a tree structure of numbered branches (called
`control purposes. A user can retrieve or alter the data
`sub-identifiers). Each sub-identifier is a non-negative
`associated with an object. Network management ob
`integer.
`For example, the
`object identifier
`jects are uniquely identified by object identifiers.
`50
`1.3.6.1.4.1.11.2.12 identifies an object found by starting
`An agentis software running as a background process
`at the root, moving to the branch with the sub-identifier
`on each of the target devices. When a user requests
`1, moving to a subordinate branch with the sub-iden
`management data from a device on the network, man
`tifier 3, and so forth. The first 6 levels of this example
`agement software will send an object identification in a
`management packet or frame to the target agent. The
`are defined by the standard model. In the example, the
`55
`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
`“private”. The next sub-identifier (1) is for a branch
`the data in a packet back to the user. Sometimes, a
`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 offixed 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
`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
`the user may write additional code in a programming
`eter and the data as another parameter. An object which
`language which requires compilation but may not be
`can be written to is called a "settable' object.
`
`VMware - Exhibit 1019
`VMware v. IV I - IPR2020-00470
`Page 8 of 11
`
`
`
`15
`
`25
`
`30
`
`INTEGER'' and
`
`5,367,635
`3.
`4.
`FIG. 2 is a software block diagram illustrating addi
`The MIT code includes a function (named "misex
`portO') for registering (attaching or grafting) an object
`tional detail within an agent.
`to the object tree structure. There are 4 parameters as
`FIGS. 3A and 3B illustrate an example agent configu
`follows:
`ration file in accordance with the present invention.
`name: (the object identifier)
`FIGS. 4A and 4B illustrate pseudocode for reading a
`configuration file and registering user defined objects
`namelen: (the number of sub-identifiers in the object
`identifier)
`with a vendor defined object tree structure.
`ops: (a list of 6 routines (corresponding to the opera
`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)
`cookie: (a pointer to stored parameters associated
`FIG. 1 illustrates a computer network 100. Network
`with the specific object identifier within a data
`management station 102 manages a variety of managed
`structure internal to the agent).
`nodes 104,108. Each managed node has an agent 106,
`MIB standards evolve as required by the industry.
`110 running as background software providing manage
`Proposed MIB standards start as published requests for
`ment information and control. Each agent 106, 110 is
`comments. AMIB format for defining objects is speci
`configured as a tree structure of software objects.
`fied 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
`RFC 1213, and a layer of vendor defined objects 204.
`20
`Comments 1213 (hereinafter referred to as "RFC
`Standard objects 202 and vendor defined objects 204
`1213’). Both are available from the following source:
`are compiled and supplied by the network management
`software vendor. The present invention comprises soft
`DDN Network Information Center
`ware within an agent 200 enabling the addition of user
`SRI International
`defined objects 206 to a previously compiled network
`Room EJ291
`management agent 200. User defined objects are defined
`333 Ravenswood Avenue
`in configuration file 208. Agent 200 can be invoked to
`Menlo Park, Calif. 94025
`The RFC 1212 object-type notation requires a series
`re-read configuration file 208 and add user defined ob
`jects 206 to agent 200.
`of textual clauses as follows:
`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
`STATUS: (the required choice for status in a com
`terms of the SNMP. The preferred embodiment of the
`mercial product is "mandatory'. In an experimen
`present invention uses the MIT code for the basic core
`35
`tal MIB, the word "optional” is allowed.)
`of the agent software.
`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 definitions from a special
`file called a configuration file (208 in FIG. 2). The con
`As discussed above, there is a need in network man
`agement for users to have the capability of adding man
`figuration file (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)
`lation. However, the capability must be compatible
`can be defined at the time the new agent is installed or
`may be defined later. The configuration file (208) has a
`with various standards as described above.
`predefined UNIX path.
`SUMMARY OF THE INVENTION
`The configuration file is compatible with the RFC
`The present invention provides a network manage
`1212 MIB standard described earlier. However, in the
`ment agent having the capability of adding new objects
`preferred embodiment, additional capability is incorpo
`to the agent without requiring modification of the agent
`rated into the textual DESCRIPTION clause. Four
`source code and without stopping and restarting the
`additional clauses are defined as follows:
`agent. These new objects can then be used by network
`READ-COMMAND: (a path and name for an exe
`50
`management users to initiate user defined processes.
`cutable program.)
`In the present invention, user defined objects are
`WRITE-COMMAND: (a path and name for an exe
`defined in a configuration file which is read by a net
`cutable program.)
`work management agent. The configuration file is an
`READ-COMMAND-TIMEOUT: (an integer speci
`editable text file which can be created at any time. The
`fying a time in seconds allowed for completion of a
`55
`agent can be invoked to re-read the configuration file
`READ-COMMAND.)
`and incorporate objects in the configuration file. Then,
`WRITE-COMMAND-TIMEOUT: (an integer spec
`if a request for a user defined object reaches an agent,
`ifying a time in seconds allowed for completion of
`the appropriate user defined process is initiated to ac
`a WRITE-COMMAND).
`quire data, control a peripheral, or execute whatever is
`FIGS. 3A and 3B illustrate a sample configuration
`60
`requested. Data is returned from the user defined pro
`file. The object identifier preamble (302) defines a MIB
`cess back through the agent to the user. A timeout
`tree structure branch common to all user defined ob
`feature generates an error if commands are not com
`jects. In the sample illustrated in FIGS. 3A and 3B, the
`pleted within a user defined time.
`common branch is 1.3.6.1.4.1.58. Then, for each defined
`object, the list defines a leaf which can be combined
`BRIEF DESCRIPTION OF THE DRAWINGS
`with the common branch to define each object’s SNMP
`FIG. 1 is a block diagram illustrating a computer
`name (object identifier). For example, an object labeled
`"printerstatus' (304) defines a leaf (306) which appends
`network.
`
`65
`
`VMware - Exhibit 1019
`VMware v. IV I - IPR2020-00470
`Page 9 of 11
`
`
`
`5,367,635
`5
`6
`the sub-identifier 1 to a branch labeled "xyzprinter”
`UNIX shell command which executes user specified
`which in turnisassigned the integer 1 in the preamble
`procedures.
`(302). The complete object identifier for the user de
`Once an object is defined for an agent, a user at the
`fined
`object
`labeled
`"printerstatus'
`is
`then
`network management station can then request data from
`1.3.6.1.4.1.58.1.1.0. The object labeled "printerstatus'
`that agent (e.g., an integer or a string) or initiate a pro
`(304) could be used to turn 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-defined 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.
`fier. The agent invokes a user specified program desig
`10
`At start-up, an agent searches for and reads the con
`nated in the read-command clause (308). The read-com
`figuration file. Once the configuration file is read, the
`mand clause (308) specifies a UNIX path/usr/local/bin
`information is incorporated into the agent's memory
`/and an executable program named "printer status'.
`and the actual file is no longer needed. Therefore, the
`The read-command-timeout clause (310) specifies that
`file can be modified while the agent is running. Also, the
`the agent will only wait 10 seconds for the printer
`15
`file can be incorporated without requiring recompila
`status command to respond. If the command takes
`tion of the agent. After start-up, the agent can be recon
`longer than 10 seconds, an error message is returned to
`figured (forced to re-read all configuration files) by
`the management station. The syntax clause (312) speci
`issuing an SNMP SetRequest to an object having the
`fies that if the printer is on line (up), the object labeled
`object identifier 1.3.6.1.4.1.11.2.13.2.2.0 and setting the
`"printerstatus' returns the integer 1 to the management
`20
`value to 1. This vendor-specific settable object exists in
`station. If the printer is offline (down), a 2 is returned.
`previous Hewlett Packard UNIX versions of SNMP
`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 defined objects previously registered. Then
`to the user defined object "printerstatus' which in turn
`the process of reading the configuration file and regis
`passes the argument and invokes a program named
`25
`tration proceeds as described in FIGS. 4A and 4.B.
`"change-printer-status' as defined in the write-com
`From the preceding discussion, it can be seen that the
`mand clause (314).
`present invention provides a network management
`FIG. 3B also illustrates a read-only object labeled
`agent to which a user can add new management objects.
`“printertype' (316) to return a description string identi
`The new user defined objects can be added without
`fying a printer type. Also illustrated in FIG. 3B is a
`30
`requiring recompilation of the agent and can be added
`read-only object labeled “user-logins” (318) to return a
`without stopping the agent. This capability permits the
`string containing identifications of all users currently
`user to expand the agent's capability into areas not pro
`logged onto the network. Continuing in FIG. 3B, the
`vided by the vendor for the agent. The agent can then
`last example is a read-only object labeled "numusers'
`be updated, or it can be modified to accommodate new
`which returns the number of users logged onto the
`software or new equipment, or it can be improved to
`network.
`provide management tools not contemplated by the
`FIGS. 4A and 4B illustrate in comments and pseudo
`designers of the agent.
`code the code which enables an agent to read the ob
`The foregoing description of the present invention
`jects described in the configuration file, to parse the
`has been presented for purposes of illustration and de
`special clauses within the description clause, to associ
`scription. It is not intended to be exhaustive or to limit
`ate user specified executable software with a user de
`the invention to the precise form disclosed, and other
`fined object identifier, and to graft the user defined
`modifications and variations may be possible in light of
`object to the primary tree structure that is defined by
`the above teachings. The embodiment was chosen and
`the vendor when the agent code is compiled. The
`described in order to best explain the principles of the
`misBxport function described in the background section
`45
`invention and its practical application to thereby enable
`is called to graft the user defined 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
`that the appended claims be construed to include other
`tion file is read (402) and information associated with
`50
`each object is then saved in a separate internal data
`alternative embodiments of the invention except insofar
`as limited by the prior art.
`structure named "saved-values' (404). Then the
`misBxport function is called to register the object (406).
`What is claimed is:
`1. In a computer system comprising a managing com
`The ops parameter for the misBxport function requires
`puter and at least one managed computer, the managing
`procedure names for responding to the SNMP GET,
`55
`computer and the managed computer connected by a
`GET-NEXT, and SET requests. In FIG. 4B, these are
`labeled “get routine” (408), "getNext routine” (410),
`network, the managed computer having an executable
`program and an agent, capable of receiving information
`and "set routine” (412) respectively.
`from the managing computer, running as background
`Get-routine (408) is called when a SNMP GetRe
`quest is received by the agent for one of the objects
`software, the agent, while running, having a set of exe
`60
`registered from the configuration file. Get routine
`cutable functions defined by a collection of manage
`(408) uses the misBxport cookie parameter (414) as a
`ment objects forming a management information base, a
`pointer into an internal data structure to identify the
`method for extending the set of executable functions of
`the running agent, the method comprising the following
`path and name of a UNIX shell command. The UNIX
`steps:
`shell command will execute read routine and read
`65
`timeout (402) as specified in the original configuration
`a defining a new management object in a text file in
`file. The getNext routine (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
`
`35
`
`VMware - Exhibit 1019
`VMware v. IV I - IPR2020-00470
`Page 10 of 11
`
`
`
`5,367,635
`8
`7
`text file including at least one object identification
`f interpreting the new management object defined by
`and a directory path for the executable program;
`the text file as an executable function, thereby ex
`b. sending the text file, 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 reconfigure command, over the network, 5
`whereby, if the managing computer sends an object
`from the managing computer to the agent;
`identification which was included in the text file
`d. receiving the reconfigure command by the agent;
`over the network to the agent;
`e. appending the text file, by the running agent, to the
`i) the agent receives the object identification;
`collection of management objects in the running
`ii) the managed computer executes the executable
`agent, in response to the reconfigure command; 10
`program indicated by the object identification.
`and
`k
`k
`k
`sk
`::
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`VMware - Exhibit 1019
`VMware v. IV I - IPR2020-00470
`Page 11 of 11
`
`