throbber
United States Patent [19]
`Hamner et al.
`
`11500579695 1 A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,796,951
`Aug. 18, 1998
`
`SYSTEM FOR DISPLAY[NG INFORMATION
`RELATING TO A COMPUTER NETWORK
`INCLUDING ASSOCIATION DEVICES WITH
`:E?gfgégERFoRh/[ABLE 0N THOSE
`
`5.483.631
`5.504.921
`
`~.
`
`.
`
`5.611.050
`
`1/1996 Nagaj et a].
`4/1996 Dev et a].
`e; :1]
`3/1997 Theimer et a1.
`
`u
`
`C
`
`. ...
`
`395/155
`.. 395/800
`
`-
`
`c
`
`. .
`
`395200.53
`
`Inventors: John F. Hamner. Pleasant Grove;
`Sandra Janich Salt Lake City: Jetfrey
`L' DeSpaiIL Pleasant Grove: Katherine
`D. Niemann. Orem: Brian D. Sevy.
`Lshi» all Of Utah: 9111111: D- Tram
`Baavenon; Frank K- Welch- P°r?al1d~
`both of Oreg.
`
`OTHER PUBLICATIONS
`_
`.
`_
`,
`Anonymous. User Irate/face Des/gn to Hltit’ Complexity m
`Dialogs, [BM Techn1cal Disclosure Bulletin. vol. 34. No. 9.
`Feb‘ 1992“ pp‘ 234-236‘
`Primary Examiner—Richard L. Ellis
`Attorney, Agent, or Firm—Blakely. Sokolo?. Taylor &
`Zafman
`
`Assignee: Intel Corporation. Santa Clara. Calif.
`
`[57]
`
`ABSTRACT
`
`1541
`
`[75]
`
`[731
`
`[21]
`[221
`[5 1]
`[52]
`[5 8]
`
`[56]
`
`App 1‘ No‘: 577375
`Filed;
`Dec_ 22, 1995
`
`6
`Int Cl. ................................................. ..
`------------------ -- 395/200-53
`Field of Search ....................... .. 395000.53. 200.54.
`395/200.55. 200.56. 911
`
`Refefellffs Cited
`
`Us PATENT DOCUMENTS
`4/1989 Diehm et a1. ......................... .. 395/352
`4,823,283
`9/1989 Blakely-Fogel et a]. .
`....... .. 395/54
`4.864.492
`526L044 ll/l993 Dev BN1‘ ---------- --
`395000-53
`5.335.323
`8/1994 Kolnick .................. ..
`. 395/164
`6‘ a1‘
`3953,3223;
`395/200
`$114312 5/1995 Filip at al
`395/154
`5,428,730 6/1995 Baker 6‘ a1’ "
`. 364/468
`5.434.791
`7/1995 KOkO et a1.
`395/161
`5.452.415
`9/1995 Hotka ......... ..
`5.471.399 11/1995 Tanaka et a]. ........................ .. 364/491
`
`A co uter-im lemented method of mana in a com uter
`netwyrlk including a plurality of devicgs gis provlfded.
`wherein a plurality of network management tasks are per
`formable upon the devices. Data is gathered about a present
`Con?guration of [hs nC[wol-k_ including the types of dgviccs
`in the network. the quantity of each type of device present
`in the network. the relationships between the devices. and
`the tasks performable upon each of the devices. The data is
`then stored in a database representing a network map. A
`display is generated corresponding to the network map using
`the data in the database. The display shows an association of
`the devices with the tasks performable on the devices using
`bitmap representations of the devices and tasks. The display
`may include hierarchical. schematic. or geographical repre
`sentations of the devices on the network. The devices are
`Organized into a plurality of groups, In responsg to a use,
`input selecting a device or group. the tasks performable by
`that device or group are identi?ed on the display. user may
`initiate any one of the displayed tasks by applying a user
`iIIPHt S?lwing that task
`
`39 Claims, 15 Drawing Sheets
`
`‘7
`DETERMINE CONFIGURATION f 1001
`OF NETWORK (DISCOVERY)
`
`DETERMINE VALID TASKS
`
`1002
`
`ASSOCKATE VALID TASKS WITH
`PARTICULAR DEVICES OH GROUPS
`
`f 1003
`
`DISPLAY NETWORK MAP
`AND ASSOCIATED TASKS
`
`r1005
`
`ServiceNow, Inc.'s Exhibit 1005
`
`001
`
`

`

`US. Patent
`
`Aug. 13, 1993
`
`Sheet 1 of 15
`
`5,796,951
`
`ServiceNow, Inc.'s Exhibit 1005
`
`002
`
`

`

`US. Patent
`
`Aug. 18, 1998
`
`Sheet 2 0f 15
`
`5,796,951
`
`=
`
`Management Console 2.0
`
`v e
`
`File
`
`.
`Help
`Edit View Manage Tools
`Task Categones
`Device Groups
`205 “'2 PC 210
`22! ‘ E Device-independent
`GUEST
`U @ LANDesk Tools
`[21 1
`g SUPERVISOR
`Momtor _/
`'
`209
`212
`206" L
`J Display packet counts
`Q: User 2
`J Filter on selected lPX devices /
`‘
`Show print jobs belonging to
`,1
`207 B punter
`__ J selected user-\_ 213
`208,4»[33 Server
`0 E5 Report
`['S‘ystem Ready
`
`£2
`
`FIG. 2A
`
`FIG. 28
`
`[
`
`(USER Agent>
`g1 GUEST
`Q SUPERVISOR
`g Userl
`C@UserQ
`
`ServiceNow, Inc.'s Exhibit 1005
`
`003
`
`

`

`US. Patent
`
`Aug. 18,1998
`
`Sheet 3 0f 15
`
`5,796,951
`
`REAL-TIME
`DEVICE
`DATA
`
`DISCOVERY
`MANAGER
`Bill
`
`PHYSICAL
`NETWORK
`MODEL
`
`DATABASE
`ENGINE
`392
`
`FIG. 3
`
`HISTORICAL
`DATA
`
`ServiceNow, Inc.'s Exhibit 1005
`
`004
`
`

`

`US. Patent
`
`Aug. 18, 1998
`
`Sheet 4 of 15
`
`5,796,951
`
`EIL Wm
`Y RE
`
`
` CO nbM D
`
`m
`
`D|SCOVERY
`CONTROL
`
`DISCOVERY
`MODULE
`
`DISCOVERY
`
`PHYSICAL
`NETWORK
`MODEL
`3.0.3
`
`FIG. 4
`
`ServiceNow, Inc.'s Exhibit 1005
`
`005
`
`

`

`US. Patent
`
`Aug. 18, 1998
`
`Sheet 5 of 15
`
`5,796,951
`
`Emet.
`
`m3<>
`
`mPDmECRFP
`mat“.0FOwBO0...
`v2...2:E3003-.
`
`mat.
`
`mnE.xz:
`
`mod
`
`<\\\
`
`mSmEC<
`
`V.mat
`
`SwaoH830
`
`matI.._voe
`
`3a
`
`whamEhE
`
`mm?—
`
`m2<z
`
`v.2...
`
`mat.
`
`«a
`
`£22
`
`mm:
`
`?v.§_mor.
`.
`
`ServiceNow, |nc.'s Exhibit 1005
`
`006
`
`ServiceNow, Inc.'s Exhibit 1005
`
`006
`
`
`
`

`

`US. Patent
`
`Aug. 18, 1998
`
`Sheet 6 0f 15
`
`5,796,951
`
`mom
`
`46.911
`
`61am I l I l I I I l i l i l I l l |
`
`
`
`E0552 #9911
`
`
`
`.mooz E0252
`
`
`
`$555 Ammo:
`
`
`
`_n_< IEOOE
`
`XEOENZ
`
`Pom
`
`ServiceNow, Inc.'s Exhibit 1005
`
`007
`
`

`

`US. Patent
`
`Aug. 18, 1998
`
`Sheet 7 0f 15
`
`5,796,951
`
`F .GE
`
`All
`
`mwmEwE m<I
`
`' mmmEmE w<I
`Al
`
`NON
`
`.. _
`
`Al
`
` 130mm — mmmsmz w<_._
`
`ServiceNow, Inc.'s Exhibit 1005
`
`008
`
`

`

`US. Patent
`
`Aug. 18, 1998
`
`Sheet 8 of 15
`
`5,796,951
`
`/800
`
`«a
`(D
`-
`LL
`
`<
`E
`
`Pg
`a:
`8
`E
`
`g
`
`‘2’
`
`55
`E
`a
`a
`'u'.’
`
`<2)
`

`
`E
`
`‘é
`

`
`SEGMENT
`
`NIC
`
`m
`E
`8
`“I
`
`‘23
`

`
`5%
`g
`LIJ
`0')
`
`ServiceNow, |nc.'s Exhibit 1005
`
`009
`
`ServiceNow, Inc.'s Exhibit 1005
`
`009
`
`

`

`US. Patent
`
`Aug. 18, 1998
`
`Sheet 9 of 15
`
`5,796,951
`
`add
`
`mOEmmsz3m;
`
`E<
`
`
`
`homemo
`
`
`
`5300.2«ESE
`
`mthO
`
`mmOEEmzmo3m;
`
`x9;
`
`m0h<mwzmo3m;
`
`
`
`.595.3050.—
`
`
`
`m0h<mwzww>>m_>
`
`mmE.
`
`mohémzmo
`
`>cm>oom5
`
`mmo<z<z
`
`ServiceNow, |nc.'s Exhibit 1005
`
`010
`
`ServiceNow, Inc.'s Exhibit 1005
`
`010
`
`
`
`
`
`
`

`

`US. Patent
`
`Aug. 18, 1998
`
`Sheet 10 of 15
`
`5,796,951
`
`k
`
`DETERMINE CONFIGURATION
`OF NETWORK (DISCOVERY)
`I
`DETERMINE VALID TASKS Id‘
`
`1001
`
`1002
`
`ASSOCIATE VALID TASKS WITH
`PARTICULAR DEVICES OR GROUPS
`
`1003
`
`DISPLAY NETWORK MAP
`AND ASSOCIATED TASKS
`
`1005
`
`1006
`
`NO
`
`TIME
`TO UIZDATE
`YES
`
`FIG. 10
`
`ServiceNow, Inc.'s Exhibit 1005
`
`011
`
`

`

`US. Patent
`
`Aug. 18, 1998
`
`Sheet 11 of 15
`
`5,796,951
`
`A POLL FOH DEVICES
`
`| IDENTIFY TYPE 0F nsvsce F "o3
`
`I IDENTIFY KEY ATTHIBUTE(S) F "04
`
`ADD INFO TO DATABASE
`
`1105
`
`FIG. 1 1
`
`ServiceNow, Inc.'s Exhibit 1005
`
`012
`
`

`

`US. Patent
`
`Aug. 18, 1998
`
`Sheet 12 0f15
`
`5,796,951
`
`I
`
`EFFECTIVE TASKS = ALL TASKS
`
`1201
`
`I CALCULATE TASKS FOR GROUP
`
`‘I2
`02
`
`1203
`
`EFFECTIVE TASKS = EFFECTIVE TASKS
`INTERSECTED WITH TASKS FOR GROUP
`
`CALCULATE TASKS
`FOR SELECTED DEVICE
`
`1205
`
`1206 j”? EFFECTIVE TASKS = EFFECTIVE TASKS
`INTERSECTED WITH TASKS FOFI DEVICE
`
`DEVICES
`DONE
`1;
`
`YES
`RETURN EFFECTIVE TASKS If 1208
`
`FIG. 12
`
`ServiceNow, Inc.'s Exhibit 1005
`
`013
`
`

`

`US. Patent
`
`Aug. 18, 1998
`
`Sheet 13 0f 15
`
`5,796,951
`
`+
`
`TASKS FOR GROUP = NULL
`
`1301
`
`TASKS FOR GROUP = TASKS FOR GROUP
`I.
`1302
`UNIONED wm1 TASKS FOR CURRENT GROUP
`
`1303
`
`CURRENT GROUP = PARENT
`OF CURRENT GROUP
`
`I RETURN TASKS FOR GROUP IJ ‘305
`
`FIG. 1 3
`
`ServiceNow, Inc.'s Exhibit 1005
`
`014
`
`

`

`US. Patent
`
`Aug. 18, 1998
`
`Sheet 14 of 15
`
`5,796,951
`
`I
`TASKS FDR DEVICE = NULL F 1401
`
`1402 j-l SELECT GROUP OF WHICH I
`DEVICE IS A MEMBER
`
`1 3 f CALCULATE TASKS
`4°
`FOR SELECTED GROUP
`
`T
`
`‘404
`
`TASKS FOFI DEVICE = TASKS FOFI DEVICE
`UNIONED WITH TASKS FDR CRDUP
`
`ALL
`GROUPS OF
`WHICH DEVICE IS A
`MEMBER DONE
`'7
`
`YES
`1406
`CALCULATE COMPONENT TASKS F
`I
`1407 f TASKS FOR DEVICE = TASKS FOR DEVICE I
`UNIONED WITH COMPONENT TASKS
`T
`TASKS FOR DEVICE : TASKS FOR DEVICE
`UNIONED WITH TASKS ASSIGNED TO DEVICE
`
`1408
`
`RETURN TASKS FOR DEVIC?f 1409
`
`FIG. 14
`
`ServiceNow, Inc.'s Exhibit 1005
`
`015
`
`

`

`US. Patent
`
`Aug. 18, 1998
`
`Sheet 15 Of 15
`
`5,796,951
`
`I
`
`TASKS FOFI COMPONENT = NULL
`
`1501
`
`1502
`
`SELECT DEVICE WHICH IS A
`COMPONENT OF GIVEN DEVICE
`
`1503 "J l CALCULATE TASKS FOFI DEVICE I
`
`f TASKS FOR COMPONENT = TASKS
`‘504
`FOR COMPONENT UNIONED WITH
`TASKS FOR DEVICE
`
`DEVICES WHICH
`ARE COMPONENTS OF
`GIVEN DEVICE DONE
`
`YES
`RETURN TASKS FOR COMPONENT F ‘506
`
`FIG. 15
`
`ServiceNow, Inc.'s Exhibit 1005
`
`016
`
`

`

`5.796.951
`
`1
`SYSTEM FOR DISPLAYING INFORMATION
`RELATING TO A COMPUTER NETWORK
`INCLUDING ASSOCIATION DEVICES WITH
`TASKS PERFORMABLE ON THOSE
`DEVICES
`
`FIELD OF THE INVENTION
`The present invention pertains to the field of computer
`networking. More particularly. the present invention relates
`to tools for providing management services for a computer
`network.
`
`BACKGROUND OF THE INVENTION
`The rapidly increasing use of personal computers has
`created a growing interest worldwide in computer
`networking. a prime example of which is the pervasive use
`of “the Internet”. Computer networking on a smaller scale.
`such as in the form of Local Area Networks (LAN 5). has also
`expanded into countless different areas of business and
`technology. As users place more reliance upon computer
`networks. however. they also demand more sophisticated
`capabilities for managing these networks. Various different
`software packages exist for providing users with such capa
`bilities.
`Existing software products for network management have
`several disadvantages. however. For example. such products
`tend to be largely “tool-based”. That is. although the soft
`ware provides the user (e.g.. a network administrator) with
`a set of tools for performing network functions. such as
`troubleshooting. it is often up to the user to determine which
`tool is best for performing a particular task and to determine
`on which devices in the network a task should be performed.
`Further. it is often di?icult for a network administrator or
`user to become pro?cient enough with the available man
`agement tools to be able to use those tools to their full
`potential. These tools also tend to require that the user have
`extensive knowledge about the layout of the network. and
`that the user provide this information to the management
`tool. Moreover. existing network management tools gener
`ally provide the user with only one or two predetermined
`formats for examining the layout of the network.
`Hence. what is needed is a set of network management
`services which are designed from a more ?exible. device
`oriented perspective. Speci?cally. what is needed is a net
`work management tool which provides the user with infor
`mation on me layout of the network. tasks that can be
`performed. and the devices on which each particular task can
`be performed. What is further needed is a tool which
`provides the user with customizable ways of viewing the
`layout of the network.
`SUMMARY OF THE INVENTION
`A computer-implemented method of providing informa
`tion on a computer network is provided. The network
`includes a number of devices. A number of tasks are
`provided. such that each task can be performed upon at least
`one of the devices. In the method. a display is generated
`having a ?rst area corresponding to the devices and a second
`area corresponding to the tasks. A representation of a subset
`of the plurality of devices is displayed in the ?rst area. A user
`input selecting the representation is accepted. and. in
`response to the user input. information indicating which of
`the tasks can be performed upon each device of the subset
`is displayed in the second area.
`Other features of the present invention will be apparent
`from the accompanying drawings and from the detailed
`description which follows.
`
`35
`
`45
`
`55
`
`65
`
`15
`
`25
`
`2
`BRIEF DESCRIPTION OF THE DRAWINGS
`The present invention is illustrated by way of example
`and not limitation in the ?gures of the accompanying
`drawings. in which like references indicate similar elements
`and in which:
`FIG. 1 illustrates a computer network in which the present
`invention can be implemented.
`FIG. 2A illustrates a logical view display having a device
`window and a task window.
`FIG. 2B illustrates a display consisting of a tree hierarchy
`of devices.
`FIG. 3 is a block diagram of core services for managing
`a network.
`FIG. 4 is a block diagram of a discovery manager core
`service.
`FIG. 5 is an object relationship model (ORM) diagram
`showing a metaschema of a database engine according to the
`present invention.
`FIG. 6 is a block diagram of a physical network model
`core service.
`FIG. 7 is an object relationship model (ORM) diagram of
`a physical network model schema.
`FIG. 8 illustrates a graph representing network con?gu
`ration information stored in accordance with the present
`invention.
`FIG. 9 is a block diagram of a view generator core service.
`FIG. 10 is a ?owchart depicting the overall operation of
`core services for managing a network in accordance with the
`present invention.
`FIG. 11 is a ?owchart depicting the steps performed
`during the network discovery process by core services in
`accordance with the present invention.
`FIG. 12 is a ?owchart illustrating the steps for calculating
`the tasks for a selected device or group.
`FIG. 13 is a ?owchart illustrating the steps for calculating
`tasks for a group.
`FIG. 14 is a ?owchart illustrating the steps for calculating
`the tasks for a given device.
`FIG. 15 is a ?owchart illustrating the steps for calculating
`tasks of a component.
`
`DETAILED DESCRIPTION
`A method and apparatus for providing management ser
`vices for a computer network is described. In the following
`description. for purposes of explanation. numerous specific
`details are set forth in order to provide a thorough under
`standing of the present invention. It will be evident.
`however. to one skilled in the art that the present invention
`may be practiced without these specific details. In other
`instances. well-known structures and devices are shown in
`block diagram form in order to avoid unnecessarily obscur
`ing the present invention.
`The present invention includes steps for providing a
`number of core services for managing a computer network.
`such as a local area network (LAN). The steps may be
`performed by a general purpose processor programmed with
`instructions that cause the processor to perform the recited
`steps. The instructions may be stored in a memory or on a
`magnetic disk. CD-ROM. or any other mass storage device.
`Alternatively. the steps may be performed by speci?c hard
`ware components that contain hard-wired logic for perform
`ing the recited steps. or by any combination of programmed
`general purpose computer components and custom hardware
`components.
`
`ServiceNow, Inc.'s Exhibit 1005
`
`017
`
`

`

`5.796.95l
`
`4
`1. User Interface
`
`15
`
`25
`
`FIG. 2A illustrates an example of a logical view 200
`display for a typical network. The logical view 200 includes
`a device window 201 and a task window 202. Devices and
`device groups in the network are represented in the device
`window 201. Each group and each device is represented
`with its name and a bitmap (icon). For example. device
`window 201 includes bitmaps 205. 207. and 208 represent
`ing the “PC” group. the “Printer” device group. and the
`“Server” device group. respectively. Double-clicking on a
`group bitmap with a cursor control device (e.g.. a mouse.
`trackball. etc.) will cause that group to be expanded in the
`device window 201 into a tree hierarchy consisting of all
`devices within that group. For example. “Guest” 206 and
`“User 1” 210 are displayed descending from “PC” 205.
`because those devices are members of the “PC” group.
`The task window 202 displays the tasks and categories of
`tasks that can be performed on a particular device or group
`which has been selected in the device window 201. For
`example. the tasks and task categories displayed in task
`window 202 represent tasks/categories that can be per
`formed upon the device “User 1”. the bitmap 206 of which
`has been selected (and is therefore enclosed by a box) within
`the device window 201. In the task window 202. tasks 211.
`212. and 213 ("Display packet counts". “Filter on selected
`IPX protocol devices”. and “Show print jobs belonging to
`selected user”. respectively) each are members of the task
`category “Monitor” 209. Selecting a dilferent device or
`group in the device window 201 will cause a different set of
`tasks/categories to be displayed corresponding to the
`selected device or group.
`The user can cause any displayed task to be performed
`upon a device. A task is initiated by the user’s selecting the
`bitmaps of the desired task and the device or group upon
`which the task is to be performed. and then entering a
`predetermined user input. such as selecting an option from
`a pull-down menu. or double-clicking with the cursor con
`trol device on one of the tasks.
`In one embodiment of the present invention. the device
`window 201 displays a tree hierarchy showing the logical or
`physical connection of all devices in the network. organized
`into device groups. FIG. 2B shows an example of a display
`consisting of a tree hierarchy of devices. as represented by
`their bitmaps and names. Each of the devices belongs to the
`group “Server”. The group “Server” includes a device
`“Server 1”. Devices “NIC” (Network Interface Card) and
`“USER Agent” are components of the device “Server 1” and
`are therefore displayed with their names enclosed by the
`symbols “< >”. Devices “GUEST”. “SUPERVISOR”. “User
`1'’. and “User 2” are attached to (but not components of)
`device “Server 1”. A second “NIC" is a component of device
`“User 2”. It should be appreciated that alternative embodi
`ments of the present invention might include schematic.
`geographic. or other views of the layout of the network. in
`addition to or instead of a tree hierarchy view.
`
`3
`As illustrated in FIG. 3. the core services 300 include a
`discovery manager 301. a database engine 302. a physical
`network model 303. a view generator 304. and a task
`manager 305. The core services 300 provide a user. such as
`a LAN administrator. with customizable views of the layout
`of a network. the various network management tasks that
`can be performed on devices in the network. and the
`particular devices on which each task can be performed. It
`should be noted that. for purposes of this description. the
`term “device" may refer to either a physical device or a
`logical device.
`The functions and information provided by the core
`services 300 are presented through a graphical user inter
`face. Accordingly. the present invention is designed to
`operate in a windows-and-icons environment. Speci?c
`methods for implementing a windows-and-icons environ
`ment are well known in the computer art and therefore will
`not be described herein. The present invention also operates
`in conjunction with an operating system and system func
`tions capable of displaying windows. graphical and textural
`information within windows. and cursor symbols on the
`display device. System functions for interfacing with a
`mouse and cursor function keys are also required. These
`resources are standard processing components which are
`also well known in the computer art.
`FIG. 1 illustrates a computer network 10 in which the
`present invention may be implemented. The network 10
`includes a number of individual computer systems 12. 15.
`and 20. These computer systems include personal computer
`(PC) systems 20 that are clients of either a management
`server 12 or a managed server 15. Although many servers
`may be present in the network 10. only one server. the
`management server 12. is required in order to implement the
`present invention. At least some of the services. including
`control software for coordinating the various services. are
`implemented within the management server 12. The man
`aged server 15 represents any server in the network 10 other
`than the management server 12. It should be appreciated
`that. in any given network in which the present invention is
`implemented. there may be multiple management servers 12
`or managed servers 15.
`As will be described in greater detail below. the core
`services gather data. either periodically or in response to a
`user command. about the current physical and logical layout
`of the network. This data. which includes the types of
`devices in the network. the quantity of each type of device.
`and their connectivity. is then stored in a database repre
`senting a network
`In addition. the core services
`gather and maintain data regarding tasks which can be
`performed upon each of the devices. Tasks are actions that
`can be taken to troubleshoot. monitor. or report on devices
`in the network. Some examples of tasks which might be
`performed on various devices in a network are: viewing the
`screen of a particular PC: displaying packet counts; running
`a report; executing a remote virus scan; rebooting selected
`workstations; displaying print jobs; or. displaying non
`functioning printers.
`A display. referred to in this description as the “logical
`view”. shows symbolically the devices in the network and
`associated performable tasks. In one embodiment. the
`devices are shown as part of a hierarchical structure based on
`the stored network map. Devices can be organized into
`various device groups. which are user-de?nable. and tasks
`can be organized into various user-de?nable task categories.
`which are also user-de?nable. The user may initiate any of
`the displayed tasks by applying a user input via a “control
`panel” screen (e.g.. by double-clicking on a task icon with
`a mouse).
`
`35
`
`45
`
`50
`
`55
`
`11. System Architecture
`As illustrated in FIG. 3. the software of the present
`invention comprises several core services 300 implemented
`as distinct modules. which include a discovery manager 301.
`a database engine 302. a physical network model 303. a view
`generator 304. and a task manager 305. In general. the
`discovery manager 301 gathers real-time data about the
`devices in the managed network 10 and coordinates access
`to both historical network data and the real-time device data.
`The database engine 302 provides a logical database struc—
`
`65
`
`ServiceNow, Inc.'s Exhibit 1005
`
`018
`
`

`

`5 .796.95 1
`
`6
`310 also handles user requests for information about
`devices. The control module 310 can satisfy such requests
`by searching for devices in the physical network model 303.
`running one or more discovery modules 312. or both. as
`needed. The discovery control module 310 determines
`which discovery module to run by searching for entries in
`the con?guration ?le that indicate the device type and the
`name of the corresponding discovery module to run. Thus.
`the network can be polled automatically by the discovery
`manager 301 on a periodic basis. where the period can be
`user-de?ned. or manually in response to a user’s query.
`The discovery API 311 provides a functional interface
`between the operating system of the management server 12
`and the control module 310. In the discovery API 311. any
`functions which return lists of devices or data about a device
`include a parameter which informs the discovery manager
`whether to look in the physical model database for the
`current state of the network. historical data. or both. to
`supply the list of devices. In either case. the devices iden
`ti?ed will be in the database (either the devices were already
`present or the discovery module placed them there in
`response to the function being called) and applications can
`obtain information about them.
`The functions of the discovery API 311 which can retrieve
`realtime data are:
`Get Device Attribute
`List Devices
`List Device Attributes
`List Devices with Attribute
`List Devices With Attribute Value
`List linked Devices
`List Group Members The terms “attribute”. “attribute
`value". and the concept of “linked” devices are
`explained below. Other functions of the discovery API
`311 include:
`Add Device (to physical network model)
`Update Device
`Add Device to Group
`List Group Members
`FIG. 11 provides a ?owchart of the steps performed in the
`discovery process. Note that the responsibility for perform
`ing these steps may be distributed between various comput
`ers in the network. Based on the scheduling provided by the
`control module 310. the individual discovery modules 312
`each poll the network for speci?c types of devices (steps
`1101 and 1102). In order to be recognized as part of the
`network. a given device must provide at least the attributes
`belonging to a prede?ned set of attributes for that device
`type. When a particular device is found. the corresponding
`discovery module 312 identi?es any key attribute values of
`that device (step 1104) and adds the device and those values
`to the database (step 1105).
`
`25
`
`30
`
`35
`
`45
`
`5
`ture for storage of network device and task data. The
`database engine 302 also supports a query mechanism
`adequate for the needs of various client software
`applications. such as an inventory management application.
`Further. the database engine 302 allows client applications
`to de?ne ?elds to be stored in a way that is appropriate for
`each such application. The physical network model 303
`includes the actual database and uses the database engine
`302 to provide storage and retrieval of network device
`information for the discovery manager 301. The physical
`network model 303 represents all lmown pieces of the
`managed network 10 and how those pieces interrelate. In
`some embodiments of the present invention. the physical
`network model 303 may provide means for client applica
`tions to add. modify. and remove devices and the relation
`ships between devices. and provide. in response to a user
`request. lists of devices with a given relationship to a device
`or other list of devices. The view generator 304 provides a
`?exible. user-de?ned listing of devices in the network 10
`and available tasks. which may be displayed in the logical
`view 200. The LAN Administrator can arrange devices in
`different ways to provide the most useful presentation of
`network organization. Finally. the task manager 305 main~
`tains knowledge of all executable tasks in the network and
`the devices on which such tasks can be performed and
`initiates tasks in response to user commands.
`The overall operation of the core services 300 is illus
`trated in the ?owchart of FIG. 10. The discovery manager
`301 determines. either periodically or in response to a user
`query. the logical (and. optionally. the physical) con?gura
`tion of the network (step 1001) and stores this con?guration
`information in the database of the physical network model
`303. The task manager 305 determines the valid tasks for the
`network (i.e.. tasks that are performable on at least one
`device in the network) (step 1002) and associates each valid
`task with the particular devices and groups of devices on
`which each such task can be performed (step 1003). If a
`display is requested by the user (step 1004). the logical view
`200 is updated and displayed (step 1005) by the view
`generator 304. The process is then repeated periodically
`based on a user-de?ned update frequency (step 1006).
`A. Discovery Manager
`The Discovery Manager provides data on devices that are
`currently connected in the network as well as historical
`information about devices that have been connected and
`available in the past. FIG. 4 shows a block diagram of the
`discovery manager 301. The discovery manager includes a
`control module 310. a number of discovery modules 312.
`and a discovery application programming interface (API)
`311. The various discovery modules 312 poll the network 10
`to ?nd speci?c types of devices. Each discovery module is
`a specialist in ?nding a certain type of device. although there
`may be overlap in the particular devices found by different
`discovery modules. When a device is found by a discovery
`module 312. that module then adds information about the
`device to the physical network model 303. Referring again
`to FIG. 1. the discovery modules 312 may be implemented
`on the management server 12. or they may be distributed
`between amongst two or more of the computers on the
`network 10. The presence of a module for discovering a
`particular type of device is recorded in a con?guration ?le
`for use by the discovery control module 310.
`The control module 310 and the API 311 are implemented
`on the management server 12. The control module 310
`provides scheduling for the polling of the network per
`formed by the discovery modules 312. The control module
`
`50
`
`55
`
`65
`
`B. Database Engine
`
`As noted above. the database engine 302 supports a query
`mechanism for use by various client applications. In
`addition. the database engine allows client applications to
`de?ne ?elds to be stored in an appropriate way for each such
`application. The database will store data e?iciently even
`though the ?elds of a record are not de?ned until the core
`services 300 are actually put into use. Accordingly. the
`database engine 302 embodies a database schema that is
`used to de?ne another. more specialized database schema.
`More speci?cally. the database engine 302 embodies a
`
`ServiceNow, Inc.'s Exhibit 1005
`
`019
`
`

`

`5.796.951
`
`7
`metaschema that is used to de?ne the more-specialized
`schema. which is described below. that is the foundation of
`the physical network model 303.
`FIG. 5 is an object relationship model (ORM) diagram
`conceptually showing the components of the database
`engine's metaschema and their relationships to each other.
`The primary storage unit of the database is an object 600. In
`the ORM diagram in FIG. 5. rectangles represent object
`classes. lines represent relationships between objects. a
`diamond indicates a ternary relationship. an un?lled triangle
`represents the concept of specialization. and a ?lled triangle
`represents the concept of aggregation. An object 600 has an
`object type 601 associated with it. which is registered by the
`user. Each object type 602 has an object type name 602. An
`object 600 also has a link 603 of a speci?c link type 603 to
`another object 600. Link types 603 are registered by the user
`and may represent any logical connection or relationship the
`user wishes. Two objects 600 may have multiple links. but
`each link must be of a dilferent link type 603. Each link type
`603 has a link type name 603. Examples of some possible
`link types are: IPX (Le. a communication protocol). physi
`cal component. logical component. and ethernet. Link
`records may be stored in a separate table from the object
`records for improved e?iciency.
`Attributes 605 are used for attaching data selected by the
`user (e.g.. an device address. a mail center. etc.) to objects
`600. Attributes 605 are optional ?elds. in that they can be
`used for only selected devices. Attributes 605 are also the
`criteria which are used in determining if a device is recog
`nized by the discovery manager 301 as part of the network.
`as will be described below. In order to be recognized as part
`of the network. a given device must provide at least the
`attributes that have been previously de?ned for a given
`device type. An attribute 605 is a specialization of an object
`600. In addition. an attribute 605 is an aggregation of an
`attribute type 606. which is registered by the user. and an
`attribute value 607. Objects 600 are therefore linked to
`attributes 605. Each attribute type 606 has an attribute type
`name 608.
`
`15
`
`25
`
`30
`
`C. Physical Network Model
`
`The physical network model (PNM) 303 represents all
`known pieces of the managed network 10 and how those
`pieces interrelate. Referring to FIG. 6. the PNM 303
`includes a PNM Manager 331. a PNM API 332 functionally
`coupled to the discovery manager 301. and a physical model
`database 333 driven by the database engine 302. The PNM
`303 provides storage in the physical model database 333 of
`the real-time and historical network information acquired by
`the discovery modules 312. The stored information includes
`the devices. device types. device attributes. and relationships
`between devices in the network. Devices are represented in
`the physical model database 333 as objects (see FIG. 4) and
`relationships are represented as links. The PNM 303 further
`provides means for client applications to add. modify. and
`remove devices and relationships between devices. The
`PNM 303 further provides. in response to user requests. lists
`of devices with a speci?ed relationship to a device or other
`list of devices.
`To represent the physical organization of a network. the
`PNM 303 uses a list of all devices which have been
`discovered by the Discovery Manager 301 and maintains
`within the physical model database 333 information on how
`each device is connected to each other device. This connec
`tivity information may include s

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