throbber
(12) United States Patent
`Jones et al.
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 6,701,327 B1
`Mar. 2, 2004
`
`US006701327B1
`
`(54) MERGING NETWORK DATA SETS
`COMPRISING DATA ACQUIRED BY
`INTERROGATION OFA NETWORK
`
`.
`(75) Inventors‘
`
`.
`{,‘zlllleelsl’tikleno?egg’
`’
`Hempstead (GB); Lee Anthony
`Walken Watford (GB); Russell
`Kennett Bulmer, Hemel Hempstead
`(GB)
`
`(73) Assignee: 3Com Corporation, Santa Clara, CA
`(US)
`
`ot1ce:
`
`u ect to an 1sc a1mer,t e term 0 t is
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21) Appl. No.: 09/447,096
`(22) Filed:
`Nov. 22, 1999
`(30)
`Foreign Application Priority Data
`
`May 11, 1999
`Jul. 20, 1999
`
`(GB) ........................................... .. 9910961
`(GB) ........................................... .. 9917023
`
`(51) Int. Cl.7 .............................................. .. G06F 17/30
`
`(52) U.S. Cl. . . . . . .
`
`. . . . .. 707/200; 707/10
`
`(58) Field of Search ............................ .. 707/1, 4, 7, 10,
`707/100—104.1, 200—203
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,545,011 A 10/1985 Lyon et a1. ............... .. 364/200
`5,276,789 A
`1/1994 Besaw et a1.
`395/140
`
`5,689,647 A * 11/1997 Miura . . . . . . . . . . . . . .
`
`. . . . . .. 700/2
`
`5,706,509 A * 1/1998 Man-Hak Tso ........... .. 707/200
`
`4/1998 Croslin et a1. ............ .. 370/255
`5,737,319 A
`5,798,935 A * 8/1998 Doreswamy et a1. ..... .. 714/700
`5,920,699 A * 7/1999 Bare ........................ .. 709/225
`5,948,055 A * 9/1999 Pulsipher et a1. ......... .. 709/202
`6,003,080 A * 12/1999 Ratcliff et a1. ............ .. 370/400
`6,032,183 A * 2/2000 Chen 618.1. .................. .. 707/1
`6,141,567 A * 10/2000 Youssefmir et a1. ...... .. 375/349
`6,167,403 A * 12/2000 Whitmire et a1. ........... .. 707/10
`6,263,278 B1 * 7/2001 Nikiel et a1. .............. .. 340/995
`6,292,801 B1 * 9/2001 Campbell 618.1. ......... .. 370/338
`6,338,092 B1 * 1/2002 ch60 et a1. ............... .. 707/201
`6,411,997 B1 * 6/2002 Dawes et a1. ............. .. 709/224
`
`FOREIGN PATENT DOCUMENTS
`
`EP
`EP
`EP
`
`0 621 706 A2 10/1994
`0 695 100 A2
`1/1996
`0 715 435 A2
`6/1996
`
`......... .. H04L/12/24
`H04Q/3/00
`......... .. H04L/12/24
`
`* cited by examiner
`
`Primary Examiner—Greta Robinson
`Assistant Examiner—Harold E. Dodds, Jr.
`(74) Attorney, Agent, or Firm—McDonnell Boehnen
`Hulbert & Berghoff
`(57)
`
`ABSTRACT
`
`A method for providing a data set relating to a network by
`merging a ?rst data set relating to the network at a ?rst time
`and a second data set relating to the network at a 5 second,
`later, time, said ?rst data set comprising data acquired by
`interrogation of the network and other data, and said second
`data set comprising data acquired by interrogation of the
`network, said method comprising: comparing the data in the
`?rst data set with the second data set, and updating the ?rst
`data set to include additional data present in the second data
`to set which is not present in the ?rst data set.
`
`42 Claims, 6 Drawing Sheets
`
`11
`\_
`
`10
`18 \
`f
`
`14
`
`12c \
`
`“I 16E
`
`19
`
`17
`I / 16D
`
`_
`
`16A
`
`22
`
`21
`
`16B
`
`13A
`/
`
`f/
`
`16F
`
`__ \ 13B
`
`129
`
`16C
`
`16G
`
`16H
`
`12A/
`
`125/
`
`12E
`
`ServiceNow, Inc.'s Exhibit 1003
`
`001
`
`

`
`U.S. Patent
`
`Mar. 2, 2004
`
`Sheet 1 0f 6
`
`US 6,701,327 B1
`
`14
`
`f1s
`
`/13A
`
`12D
`
`17 160 1
`
`F lg 1
`
`16A
`/
`
`11
`
`19
`
`22
`
`12A
`
`ServiceNow, Inc.'s Exhibit 1003
`
`002
`
`

`
`U.S. Patent
`
`Mar. 2, 2004
`
`Sheet 2 0f 6
`
`US 6,701,327 B1
`
`LEGEND
`
`O Validated Device
`
`BEFORE INTERROGATION
`
`AFTER INTERROGATION
`
`@
`
`New Link
`
`F 2
`
`BEFORE INTERROGATION
`
`AFTER INTERROGATION
`
`;
`Lmk
`
`LinkA&C
`Removed New Link
`
`3
`
`BEFORE iNTERROGATiON
`
`AFTER INTERROGATION
`
`Link
`
`@ Link
`{Removed
`
`‘
`F lg ‘ 4
`
`BEFORE INTERROGATION
`
`AFTER INTERROGATiON
`
`Link
`
`Link
`Con?rmed
`
`Flg' 5
`
`ServiceNow, Inc.'s Exhibit 1003
`
`003
`
`

`
`U.S. Patent
`
`Mar. 2, 2004
`
`Sheet 3 0f 6
`
`US 6,701,327 B1
`
`LEGEND
`Non~validated Link
`or User Added Link
`Validated Device
`
`3
`
`Non-Validated Device
`Validated Link
`
`BEFORE INTERROGATEON
`
`AFTER INTERROGATION
`
`Vaiidated
`Link
`
`Q1 \
`
`Non-Validated
`Link
`
`\
`\
`
`Non-Validated
`y \
`Device \i B ,1
`
`as
`
`BEFORE INTERROGATION
`
`AFTER INTERROGATION
`
`G1
`
`Non-Validated
`\ 1 Link
`
`\
`\
`
`\
`\
`
`User Added
`
`j Link
`\ ‘(ED
`
`BEFORE INTERROGATION
`
`AFTER INTERROGATION
`
`Fig. 6
`
`Fig. 7
`
`Q)
`
`User Added
`1 Link
`
`\
`x
`
`Validated
`Link
`
`Fig. 8
`
`ServiceNow, Inc.'s Exhibit 1003
`
`004
`
`

`
`U.S. Patent
`
`Mar. 2, 2004
`
`Sheet 4 0f 6
`
`US 6,701,327 B1
`
`GET NExT MULTINET /101
`' FRoM SECOND DATA SH
`
`103
`
`106
`
`IF NExT
`MULTINET
`
`105
`
`CREATE NEw
`MULT|NET1N
`FIRsT DATA SH
`
`plg‘sj'T-Tg'xg g‘E'ET
`
`MERGE MULTINET
`FROM sECDND DATA
`107 SET TO FIRST DATA SET
`
`=
`
`GET NEXT SUBNET _
`IN MULTINET FROM
`sEcoND DATA SET
`
`111
`\
`
`CZSQLZQ"?
`HRST DATA SET
`
`No
`
`IF NEXT
`SUBINET
`
`IF
`SUBNET IN
`FIRST DATA sET
`
`-
`
`GET NExT NODE
`IN SUBNET FRoM
`sECoND DATA SH
`
`1 08
`
`1 O9
`
`110
`
`/
`MovE SUBNET To CURRENT
`MULTINET IN FIRsT DATA
`sET. MERGE SUBNET FROM
`SECOND DATA sET To FIRsT
`DATA SET
`
`112
`
`No
`
`1 16
`
`1 1 5
`
`CREATE NEw
`NoDE FROM
`FlRsT DATA SET
`
`1F
`NODE IN FIRST
`DATA SET
`
`YES MERGE NDDE FRoM
`sECoND DATA sET
`To FIRsT DATA SET
`1
`
`ServiceNow, Inc.'s Exhibit 1003
`
`005
`
`

`
`U.S. Patent
`
`Mar. 2, 2004
`
`Sheet 5 0f 6
`
`US 6,701,327 B1
`
`v U
`
`/121
`GET NExT NODE
`FROM sEcOND DATA sET 1 22
`123
`
`NODE IS
`MANAGED
`
`/1 25
`
`GET NEXT UNIT
`ON NODE FROM
`SECOND DATA sET
`
`~
`
`126
`
`127
`\
`DELETE ANY uNITs THAT
`NO LONGER ExIsT (AND
`_ ANY PORTS BELONGTNG
`TO THE UNITS) FROM
`FIRST DATA SET
`
`129
`/
`
`CREATE NEW
`uNIT FROM
`FIRsT DATA sET
`
`UN" ‘N F'RST
`DATA SET
`
`MERGE UNIT FROM
`sEOOND DATA SET
`TO FIRST DATA SH
`
`=
`=
`
`1 32
`
`130
`
`13\5
`
`CREATE NEW
`PORT IN
`FIRsT DATA SET
`
`GET NExT PORT
`‘
`ON UNIT FROM
`SECOND DATA SET -\ 131
`
`133
`
`/
`DELETE PORTS THAT
`NO LONGER ExIsT —
`FROM FIRST DATA SET
`
`MERGE PORT FROM
`SECOND DATA SET
`TO FIRsT DATA sET
`'
`\
`136
`
`ServiceNow, Inc.'s Exhibit 1003
`
`006
`
`

`
`U.S. Patent
`
`Mar. 2, 2004
`
`Sheet 6 0f 6
`
`US 6,701,327 B1
`
`GET NExT LINK / 141
`E
`_ FROM SECOND DATA SET 142
`
`145
`
`CREATE NEW
`LlNK 1N
`FIRST DATA sET
`
`LINK IN F'RST
`DATA SET
`
`144
`
`MERGE LINK FROM
`sECoND DATA SET
`To FlRST DATA SET
`1
`
`f
`I
`
`GET NEXT LINK
`IN FIRST DATA sET
`
`:
`\ 146
`
`148
`
`LINK IN SECOND
`DATA SET
`
`153
`\
`MAKE LINK
`__ INVAUDATED IN
`FlRST DATA SET
`
`GET NoDEs AT BOTH / 150
`ENDS OF LINK FROM
`FIRST DATA sET
`1
`IF
`BOTH NODES IN
`sECoND DATA
`
`151
`
`152
`/
`
`M
`DELETE LINK FRO
`FIRST DATA sET
`
`ServiceNow, Inc.'s Exhibit 1003
`
`007
`
`

`
`US 6,701,327 B1
`
`1
`MERGING NETWORK DATA SETS
`COMPRISING DATA ACQUIRED BY
`INTERROGATION OF A NETWORK
`
`BACKGROUND OF THE INVENTION
`
`2
`network data set which the network manager already has. In
`particular, it is desirable not to discard information in the
`?rst data set which cannot be shown to be incorrect or not
`present (eg the information manually added by the network
`manager). Whilst the network manager can consider each
`device and link individually and compare them from the two
`network data sets, and make a decision, it is clearly desirable
`to be able to produce some kind of system or algorithm to
`enable the comparison to be carried out by means, for
`eXample, of a program running an algorithm on the network
`manager’s computer.
`Thus in general terms, the present invention relates to
`merging one set of data representing a network, into another
`set of data representing the same network, but that was
`constructed at a different time to the ?rst data set. The
`problem to be resolved is how to deal with the similarities
`and differences between the two sets of data.
`
`10
`
`15
`
`SUMMARY OF THE INVENTION
`
`The present invention relates to merging network data
`bases.
`The present invention provides a method for providing a
`data set relating to a network by merging a ?rst data set
`relating to the network at a ?rst time and a second data set
`relating to the network at a second, later, time, said ?rst data
`set comprising data acquired by interrogation of the network
`and other data, and said second data set comprising data
`acquired by interrogation of the network, said method com
`prising:
`comparing the data in the ?rst data set with the second
`data set, and
`updating the ?rst data set to include additional data
`present in the second data set which is not present in the
`?rst data set.
`In this way the information, usually the information
`which has been added by the network manager subsequent
`to the initial interrogation of the network, is preserved in
`creating the new data set.
`Furthermore, said updating step may include the step of
`deleting from the ?rst data set that data where the second
`data set includes information that the aspect that said data
`relates to is no longer present in the network.
`By this method step, information which has changed and
`is incorrect is deleted from the ?rst data set.
`The present invention also provides a computer program
`on a computer readable medium or embodied in a carrier
`wave for use in providing a data set relating to a network by
`merging a ?rst data set relating to the network at a ?rst time
`and a second data set relating to the network at a second,
`later, time, said ?rst data set comprising data acquired by
`interrogation of the network and other data, and said second
`data set comprising data acquired by interrogation of the
`network, said program comprising:
`program means for comparing the data in the ?rst data set
`with the second data set, and
`program means for updating the ?rst data set to include
`additional data present in the second data set which is
`not present in the ?rst data set.
`A preferred embodiment of the invention will now be
`described by way of eXample and with reference to the
`accompanying drawings in which;
`FIG. 1 is a diagrammatic view of a network incorporating
`a preferred embodiment of the invention,
`FIGS. 2 to 8 show a series of possible links between ports
`of two network devices, the left part of each drawing
`showing the link established in a ?rst set of data representing
`
`The present invention relates to merging network data
`bases. Network databases are used in supervising a network,
`that is a network of electronic devices comprising, for
`example, workstations, personal computers, servers, hubs,
`routers, bridges, switches, (hereinafter referred to as devices
`of the network), and links between these devices which may
`be in the form of physical cable or wireless links. The
`network may be a local area network (LAN), wide area
`network
`or other types and may operate in accor
`dance with any desired protocol.
`After such a network has been installed, it is desirable for
`the person appointed network manager to be able to under
`stand the technical operation of the network. In known
`network management systems, the manner in which the
`relevant data is retrieved from the managed devices, com
`piled and displayed has been problematic in several respects.
`Firstly, the data received from each of the managed devices
`is simply compiled and displayed as a list of data for the user
`to interpret. Secondly, the data does not provide information
`about unmanaged devices. Thirdly, information about a
`given network device, such as the type of device, location of
`the device on the network and operating speed of the device,
`may be contained in different sections of the compiled data.
`Consequently, conventional systems are cumbersome and
`dif?cult to use.
`In co-pending UK patent applications numbers
`99108433, 99108441, 99108458, 99108383, 99108375,
`99108391, 99108409, 9910962.1 (each in the name of the
`assignee of the present application) which are incorporated
`herein, we describe various arrangements for providing
`automatic interrogation of the network to thereby produce a
`network map which may be displayed on a visual display
`unit showing the devices and links between the devices a
`data set with details of the network and devices. At its
`simplest, and where the device is a “managed” device, this
`interrogation uses a known protocol, such as the SNMP
`protocol, of the so-called ‘agent’ of each device which stores
`the devices unique MAC address, data relating to the type of
`device and the MAC addresses of the devices which are
`connected to the ports directly or indirectly.
`Once this information is ascertained, it may be stored, for
`eXample, on the network manager’s work station and used
`for various purposes. Interrogation of all the devices in the
`network will usually be carried out relatively infrequently.
`Between these interrogations, there may be changes to the
`physical network itself or to the data set. For eXample, the
`network manager using his own knowledge may have manu
`ally added to the network data set non-managed devices
`which cannot be interrogated in the same way as managed
`devices, and may also have manually inserted known links
`between devices. Furthermore, devices and links may have
`been altered (ie added, removed, moved, increased or
`decreased in capacity). Over the course of time, therefore,
`the network data set may change substantially from its
`generation by the previous interrogation of the network.
`At a later date, it may desired to interrogate the network
`again to verify or eXtend the network data set, and unless all
`of the earlier information is to be discarded, it is desirable to
`provide a system to deal with the differences between the
`newly generated (second) network data set, and the (?rst)
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`55
`
`60
`
`65
`
`ServiceNow, Inc.'s Exhibit 1003
`
`008
`
`

`
`US 6,701,327 B1
`
`4
`
`-continued
`
`3
`a network (ie the ?rst network map) and the right part of
`each drawing showing the link detected during later inter
`rogation to produce a second, later, network map,
`FIG. 9 is a How chart for merging discovery data,
`FIG. 10 is a How chart for merging siZing data, and
`FIG. 11 is a How chart for merging topology data.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`Referring to FIG. 1 there is shown a network 10 com
`prising a plurality of devices in the form of a network
`supervisor’s workstation or computer 11, other workstations
`12B—E, hubs 13A, 13B, and switch 14. The network is a
`simple network and is set out for purposes of illustration
`only. Other con?gurations and arrangements, may be used.
`The devices are connected together by means of links
`16A—H which may be hard wired and utilise any desired
`protocol, and link 16F which is a wireless link.
`The network supervisor’s workstation includes, in addi
`tion to a visual display unit 18, a central processing unit or
`signal processor 19, a selector which may be in the form of
`a mouse 22, a program store 21 which may comprise, for
`example, a CD drive, a ?oppy disk drive or a Zip drive, and
`a memory 17 for storing a program which may have been
`loaded from the program store 21 or downloaded for
`example via Internet from a website.
`By means which is disclosed in the co-pending patent
`applications referred to above, the network supervisor’s
`computer 11 may interrogate and analyse the network, and
`store in the memory 17 the information relating to the
`devices within the network and the links between the
`devices. In essence, most quality devices include a so-called
`agent which stores information about the device such as its
`unique MAC number, its ID which identi?es what the device
`is and what model type it is, how many ports it has and how
`they are connected, and the address to which at least some
`of the ports are connected. The computer 11 interrogates the
`agents of each device.
`The information obtained by the interrogation at a ?rst
`time is stored on the network supervisor’s computer in the
`form of a ?rst data set. This ?rst data set will initially only
`include the information obtained by the interrogation but
`over the subsequent period of time may include further
`information which the network manager adds to the data set.
`For example, the network manager may add information
`relating to non-managed devices including their links to the
`managed devices.
`This information will comprise a ?rst data set which
`includes information relating to not only the devices and
`links between them, but also parts of the devices, for
`example, units or ports (de?ned hereafter) and combinations
`of devices de?ned as subnets, and multinets, (which are
`de?ned hereafter).
`The computer 11 may, on command from the selector 22,
`process signals from the memory 17 by the signal processor
`19 and provide on the visual display unit 18 a network map
`showing each of the devices and the links therebetween.
`De?nitions:
`
`15
`
`25
`
`35
`
`45
`
`55
`
`Object
`Multinet
`
`Multinet, Subnet, Node, Unit, Port, Link
`A group of subnets which may be linked to the remainder
`of the network or other multinets by means of a single
`switch or router
`
`65
`
`Subnet
`
`Node
`Unit
`Port
`
`= A group of nodes and links which may be, for example,
`linked to the remainder of the network through a
`single switch or router
`= A device connected in the network
`= A module or blade in a stack or chassis of a device
`= A physical connector on a networked device to which a
`connection can be made
`= A connection between two nodes
`Link
`Discovery =
`The method used to determine details of multinet, subnet
`and which nodes are in each subnet
`The method used to determine the unit and port details
`on a device
`The method used to determine details of the links
`between nodes
`
`Sizing
`
`=
`
`Topology =
`
`Particular problems which need to be solved in merging
`two data sets on networks include:
`i) Identifying objects in both sets of data, that represent
`the same ‘real’ object in the network, given that the
`‘real’ object may change over time. Such objects
`include network devices, links between network
`devices, subnets, etc.
`ii) Ensuring that objects manually added to the ?rst data
`set by the user, do not get removed when merging or
`creating in the new set of data.
`iii) Handling objects that move from one part of the
`network to another over time (eg between subsets)
`iv) Handling changes in a network device’s con?guration,
`eg changing IP addresses, objects added/removed, etc
`As examples of how the problems may be solved, we refer
`to FIG. 2 in which the left drawing shows two devices A, B.
`As with all of FIGS. 2 to 8, the left drawing shows the
`network plan deduced from the original ?rst network data
`set and the right drawing shows the network plan deduced by
`the new interrogation of the objects to form the second
`network data set. Thus in the original network plan, devices
`A and B are not connected, and after interrogation, in the
`new plan, devices A and B appear to be connected by a link
`and so in the ?nal produced network plan, that link will be
`added between devices A and B. A new ID is provided.
`Referring to FIG. 3, there are shown three devices A, B
`and C, and in the original network plan devices A and C are
`interconnected, and when the system is interrogated to
`produce the new network plan, it is deduced that devices A
`and C are interconnected. In this case, in the new plan, the
`new link is added from A to B, and the link from A to C is
`removed because there is port con?ict. However it is nec
`essary to check the addresses (nodes) provided at all of the
`devices A, B and C to ensure the veracity of the arrangement
`shown in the right half of FIG. 3. The arrangement shown in
`the right half of FIG. 3 is then added to the network map.
`In the arrangement of FIG. 4, in the original network map
`there is a link between devices A and B. When interrogated
`again, there does not appear to be a link and so this is
`removed.
`In FIG. 5, there is a link in the original network map
`between devices A and B, and that link is con?rmed in the
`interrogation for the new network map, and so the link
`remains and the existing identity (ID) is maintained.
`In FIG. 6, the original network map has a link between
`devices A and B but on interrogation device B cannot be
`found (it may be present but not switched on, for example).
`It is thus retained as a non-validated link and device.
`In FIG. 7, the original network map has a user added link
`between devices A and B, and this is retained in the new
`
`ServiceNow, Inc.'s Exhibit 1003
`
`009
`
`

`
`US 6,701,327 B1
`
`5
`network map. There is no Way of determining Whether that
`link is or is not present by the interrogation method
`employed and so one retains the relevant unveri?ed link.
`In FIG. 8, once again the original map has a user added
`link betWeen devices A and B, but in the neW interrogation
`process, a link is established betWeen A and B and so that
`link is turned into a validated link, that is, a non-user
`addition.
`FIGS. 2 to 8 relate to the problems to be overcome in
`relation to different link arrangements betWeen the ?rst data
`set and the second data set. There Will be similar problems
`to be overcome in relation to multinets, subnets, nodes, units
`and ports Which Will need to be addressed in the same or
`similar manner.
`The How diagrams in FIGS. 9, 10, 11, outline the merge
`processes Which provide the solutions set out in FIGS. 2 to
`7 as Will be set out hereafter. FIGS. 9, 10, 11 deal With
`respectively Discovery, SiZing and Topology information.
`For all three processes, speci?c match criteria have been
`de?ned for each of the object types involved, so that objects
`in both databases that represent the same ‘real’ object in the
`netWork can be identi?ed. Subsequently this alloWs the
`process to determine Whether:
`a) a neW object must be created (as it currently doesn’t
`exist in the ?rst data set), or
`b) an existing object needs to be modi?ed (as it does
`already exist in the ?rst data set but has changed over
`time as found in the second data set), or
`c) an object needs to be removed (as it does exist in the
`?rst data set, but con?icts With information in the
`second data set).
`Note that node objects are not removed from the ?rst data
`set, if they do not exist in the second data set, as there is no
`Way of determining Whether or not the said node no longer
`exists on the netWork, or is temporarily not responding.
`The match criteria used by the Discovery Merge process
`(shoWn in FIG. 9) to identify similar objects in both data
`sets, is as folloWs:
`
`10
`
`15
`
`25
`
`35
`
`=
`Multinet Match Criteria
`(used, for example, in step 104)
`
`=
`Subnet Match Criteria
`(used, for example, in step 109)
`
`=
`Node Match Criteria
`(used, for example, in step 114)
`
`the multinets must contain one or
`more of the same subnets (refer to
`Subnet match criteria)
`the subnets must have the same
`subnet IP address and use the same
`subnet mask
`the nodes must have one or more MAC
`addresses that are the same.
`
`45
`
`The match criteria used by the SiZing Merge process
`(shoWn in FIG. 10) to identify similar objects in both data
`sets, is as folloWs:
`
`55
`
`Unit Match Criteria
`(used, for example
`in step 128)
`Port Match Criteria =
`(used, for example,
`in step 134)
`
`i) the units must be on the same Node
`(refer to Node Match Criteria).
`ii) the units must have the same unit number.
`i) the ports must be on the same Node
`(refer to Node Match Criteria)
`ii) the ports must be on the same Unit
`(refer to Unit Match Criteria).
`iii) the port must have the same port number.
`
`The match criteria used by the Topology Merge process
`(shoWn in FIG. 11) to identify similar objects in both data
`sets, is as follows:
`
`65
`
`Link Match Criteria
`(used, for example, in steps
`143 and 149)
`
`=
`
`the link must connect the same tWo
`nodes (refer to Node Match Criteria)
`
`Note that the above algorithm could be applied to any type
`of netWork, e.g. IP, IPX.
`It may be noted that the process of deduction set out in
`FIG. 2 is derived from, for example, step 145 of FIG. 11.
`The process of addition of a neW link betWeen A and B as
`set out in FIG. 3 is also provided by step 145.
`The process of deletion of the link betWeen A and C as set
`out in FIG. 3 is provided by the step 152.
`The process as set out in FIG. 4 is provided by step 152.
`The process as set out in FIG. 6 is provided by step 143
`of FIG. 11, and the process set out in FIG. 8 is provided by
`step 143.
`We have described hoW the netWork may be supervised.
`The method of the invention may be carried out under the
`control of the netWork supervisor’s Workstation or computer
`and in particular by means of a program controlling the
`processor apparatus of that computer or elseWhere in the
`system.
`The program for controlling the operation of the invention
`may be provided on a computer readable medium, such as
`a CD, or a ?oppy disk, or a Zip drive disk carrying the
`program or their equivalent, or may be provided on a
`computer or computer memory carrying the Website of, for
`example, the supplier of the netWork products. The program
`may be doWnloaded from Whichever appropriate source via,
`for example, a telephone line, a Wireless radio, or an
`infra-red link, in each of Which case it may be embodied in
`a carrier Wave and used to control the processor to carry out
`the steps of the invention as described.
`The program includes steps corresponding to all of the
`steps set out in FIGS. 9, 10 and 11, in particular steps 100
`to 116 of FIG. 9, 120 to 136 of FIG. 10, and 140 to 152 of
`FIG. 11.
`The steps shoWn in FIG. 9 are as folloWs:
`Step 100 Start
`Step 101 Get next multinet from second data set
`Step 102 Is that multinet the next multinet? If no, go to step
`103, if yes, go to step 104.
`Step 103 Stop
`Step 104 Is that multinet in the ?rst data set? If yes, go to
`step 105, if no, go to step 106.
`Step 105 Update multinet from second data set to ?rst data
`set and go to step 107.
`Step 106 Create a neW multinet in the ?rst data set and go
`to step 107.
`Step 107 Get the next subnet in the relevant multinet from
`the second data set.
`Step 108 Is that subnet the next subnet? If yes, go to step
`109, if no, return to step 101.
`Step 109 Is the subnet in the ?rst data set. If yes, go to step
`110, if no, go to step 111.
`Step 110 Move the subnet to the current multinet in the ?rst
`data set. Update the subnet from second data set to ?rst
`data set and go to step 112.
`Step 111 Create neW subnet in ?rst data set.
`Step 112 Get next node in subnet from second data set.
`Step 113 Is the node the next node? If no, return to step 107,
`if yes, go to step 114.
`Step 114 Is the node in ?rst data set? If yes, proceed to step
`115, if no, go to step 116.
`Step 115 Update node from second data set to ?rst data set
`and return to step 112.
`
`ServiceNow, Inc.'s Exhibit 1003
`
`010
`
`

`
`US 6,701,327 B1
`
`7
`Step 116 Create new node in ?rst data set and return to step
`112.
`The steps shown in FIG. 10 are as follows:
`Step 120 Start
`Step 121 Get neXt node from second data set
`Step 122 Is the node the neXt node? If no, go to step 123, if
`yes, go to step 124.
`Step 123 Stop
`Step 124 Is the node managed? If no, return to step 121, if
`yes, go to step 125.
`Step 125 Get the neXt unit on node from the second data set.
`Step 126 Is the unit the neXt unit? If no, go to step 127, if
`yes, go to step 128.
`Step 127 Delete any units that no longer exist and any ports
`belonging to the units from the ?rst data set and go to step
`121.
`Step 128 Is the unit in the ?rst data set? If yes, go to step 129,
`if no, go to step 130.
`Step 129 Update unit from second data set to ?rst data set
`and go to step 131.
`Step 130 Create new unit in ?rst data set and go to step 131.
`Step 131 Get the neXt port on the unit from second data set.
`Step 132 Is the port the neXt port? If no go to step 133, if yes,
`go to step 134.
`Step 133 Delete ports that no longer eXist from the ?rst data
`set and return to step 125.
`Step 134 Is the port in ?rst data set? If no, go to step 135,
`if yes, go to step 136.
`Step 135 Create a new port in the ?rst data set and return to
`step 131.
`Step 136 Merge port from second data set to ?rst data set and
`return to step 131.
`The steps shown in FIG. 11 are as follows:
`Step 140 Start
`Step 141 Get neXt link from second data set
`Step 142 Is the link the neXt link? If yes, go to step 143, if
`no, go to step 146.
`Step 143 Is the link in the ?rst data set? If yes, go to step 144,
`if no, go to step 145.
`Step 144 Merge link from second data set to ?rst data set and
`return to step 141.
`Step 145 Create new link in ?rst data set and return to step
`141.
`Step 146 Get the neXt link in the ?rst data set.
`Step 147 Is the link the neXt link? If no, go to step 148, if
`yes, go to step 149.
`Step 148 Stop.
`Step 149 Is the link in the second data set? If yes, return to
`step 146, if no, go to step 150.
`Step 150 Get nodes at both ends of link from ?rst data set.
`Step 151 Are both nodes in second data set? If yes, go to step
`152, if no, go to step 153.
`Step 152 Delete link from ?rst data set and return to step
`146.
`Step 153 Make link invalidated in ?rst data set and return to
`step 146.
`The invention is not restricted to the details of the
`foregoing eXample.
`What is claimed is:
`1. In a network of devices, a method of managing the
`network, including:
`at a ?rst time, interrogating agents of managed devices
`within the network to provide a ?rst data set relating to
`the network,
`at a second, later, time, interrogating the agents of man
`aged devices within the network to provide a second
`data set relating to the network,
`
`10
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`8
`updating the ?rst data set in accordance with a predeter
`mined set of rules by merging the ?rst data and the
`second data set, to deduce changes in the network, said
`updating step including:
`comparing the data in the ?rst data set with the second
`data set to determine additional data present in the
`second data set which is not present in the ?rst data
`set, the data in the ?rst data set comprising discovery
`data, topology data, and siZing data, and
`updating the ?rst data set to include the additional data
`present in the second data set which is not present in
`the ?rst data set.
`2. A method as claimed in claim 1 wherein said updating
`step includes the step of deleting from the ?rst data set that
`data where the second data set includes information that the
`aspect that said data relates to is no long present in the
`network.
`3. A method as claimed in claim 1 wherein said updating
`step includes the step of creating new data in the ?rst data
`set where additional data is present in the second set which
`is not present in the ?rst set.
`4. A method as claimed in claim 1 wherein said updating
`step includes the step of modifying new data in the ?rst data
`set where additional data is present in the second set which
`is not present in the ?rst set.
`5. Amethod as claimed in claim 1 including an initial step
`of interrogation of the network at the second time to provide
`said second data set.
`6. A method as claimed in claim 1 wherein said data
`includes data relating to the multinet or multinets of the
`network.
`7. A method as claimed in claim 1 wherein said data
`includes data relating to the subnet or subnets of the net
`work.
`8. A method as claimed in claim 1 wherein said data
`includes data relating to the node or nodes of the network.
`9. A method as claimed in claim 1 wherein said data
`includes data relating to the unit or units of the network.
`10. A method as claimed in claim 1 wherein said data
`includes data relating to the port or ports of the network.
`11. A computer program on a computer readable medium,
`said computer program comprising software for performing
`the method of claim 1.
`12. A computer program on a computer readable medium
`for use in managing a network of devices comprising:
`program means for interrogating agents of managed
`devices within the network at a ?rst time to provide a
`?rst data set relating to the network,
`program means for interrogating agents of managed
`devices within the network at a second, later, time to
`provide a second data set relating to the network,
`program means for updating the ?rst data set in accor
`dance with a predetermined set of rules by merging the
`?rst data and the second data set, to deduce changes in
`the network, said updating step including comparing
`the data in the ?rst data set with the second data set to
`determine additional data present in the second data set
`which is not present in the ?rst data set, the data in the
`?rst data set comprising discovery data, topology data,
`and siZing data, and
`program means for updating the ?rst data set to include
`the additional data present in the second data set which
`is not present in the ?rst

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