throbber
US007392300B2
`
`(12) Ulllted States Patent
`Anantharangachar et a].
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 7,392,300 B2
`Jun. 24, 2008
`
`(54) METHOD AND SYSTEM FOR MODELLINGA
`COMMUNICATIONS NETWORK
`
`2003/0046370 A1* 3/2003 Courtney .................. .. 709/220
`2003/0055883 A1* 3/2003 Wiles, Jr. .................. .. 709/203
`2003/0161266 A1
`8/2003 Baccelliet a1.
`
`
`
`
`
`
`
`(75) Inventors: Raghu Anantharangachar, Kamataka gN)’fasI2nth fingagilglanlignchana _ I I I
`
`
`
`
`
`
`
`
`
`
`
`gronentbjlrg et al' ~~~~~~ ~~ 0311 e 2005/0226167 Al* 10/2005 Braun et a1. . . . . . . . . . . ..
`
`
`
`370/254
`
`P5511121"
`
`UN)’ run “0
`
`2006/0129672 A1 *
`
`6/2006 Mayer ...................... .. 709/223
`
`’
`(73) Assignee: Hewlett-Packard Development
`Company, L_P_ Houston TX (Us)
`
`* cited by examiner
`
`_
`Primary ExamineriAbdullahl Salad
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U S C 1546)) by 730 days
`'
`'
`'
`'
`(21) Appl_ No; 10/753,841
`
`(22) Filed;
`
`Jam 8, 2004
`
`(65)
`
`Prior Publication Data
`
`Us 2005/0154571A1
`
`Jul‘ 14’ 2005
`
`(51) Int Cl
`G081? 5/1 77
`
`(2006 01)
`'
`_
`_
`702/220’ 70301;’2Z0/222544
`"" "_ ""
`g'sl‘dCl}
`ass‘ canon earc """" "
`T
`I
`1e
`0
`70_9/22_0’222; 715/734’735; 703/1_3; 370/254
`See apphcanon ?le for Complete Search hlstory'
`References Cited
`
`(
`
`)
`
`(56)
`
`US. PATENT DOCUMENTS
`
`(57)
`
`ABSTRACT
`_
`_
`_
`A system and method of modell1ng a commun1cat1ons net
`work using a computer system is disclosed, the method
`including generating a network representation'using com
`puter-readable code that represents structured 1nformat1on;
`parsing the network representation; generating a network
`model using the parsed network representation, the network
`model including a plurality of network objects and relation
`ships between the plurality of network objects; and storing the
`network model in memory. Any type of network may be
`modeled. The com uter-readable code ma be an suitable
`P
`y
`y
`language or instructions for representing structured informa
`tion such as, for example, extensible mark-up language
`@(ML). A network inventory adapter receives the network
`representation from the network. The network inventory
`adapter is a software component that may be used to connect
`applications to the network. The network inventory adapter
`receives the network representation from 'the network and
`reads and parses the network representat1on to determ1ne
`which network objects are to be operated on and the order of
`
`5,963,943 A * 10/1999 Cummins et a1. ........... .. 707/10
`2001/0011215 A1
`8/2001 Becker et a1.
`2002/0021675 A1 *
`2/2002 Feldmann ................. .. 370/254
`
`Operanon'
`
`24 Claims, 5 Drawing Sheets
`
`GENERATE NETWORK
`
`REPRESENTATION (
`
`:00
`
`I
`PARSE NETWORK
`REPRESENTATION
`
`I
`GENERATE NETWORK
`MODEL
`
`202
`
`204
`
`206
`
`[-208
`
`ENERATE GRAPHIC ‘I
`REPRESENTATION?
`
`Y“
`
`GENERATE AND DISPLAY
`GRAPHICAL REPRESENTATION
`
`212
`r.
`EXIT PROCESS
`
`i5
`
`No
`
`' ROCESS NETWO '
`EVENT?
`
`VII
`0
`IDENTIFY OBJECTS IN
`NETWORK MODEL
`
`DETERMINE ORDER
`OF OPERATIONS
`
`EXECUTE EVENT
`
`i)
`
`214
`
`218
`
`001
`
`ServiceNow, Inc.'s Exhibit 1001
`
`

`

`US. Patent
`
`Jun. 24, 2008
`
`Sheet 1 of5
`
`US 7,392,300 B2
`
`002
`
`ServiceNow, Inc.'s Exhibit 1001
`
`

`

`U.S. Patent
`
`Jun. 24, 2008
`
`Sheet 2 of 5
`
`US 7,392,300 B2
`
`mm>mwm
`
`man—(m
`
`wv
`
` 023w223hn=
`
`imam—501n—
`
`”mm—.540”—
`
`MOON
`
`mw>mwm
`
`Ebmi2wEmu
`www00<VIA
`VIAmun—50mm
`
`-mmEOFmDO
`
`”$.50”.
`
`wODw
`
`003
`
`ServiceNow, |nc.'s Exhibit 1001
`
`003
`
`ServiceNow, Inc.'s Exhibit 1001
`
`
`
`
`
`

`

`U.S. Patent
`
`Jun 24, 2008
`
`wnh_S—_
`
`3:7S
`
`2B00
`
`
` 833$559.;-:5moEzmmxfiSE302%..:--—._——_—um_u_.0—-__3_—_-
`U$.59."$59.
`
`
`-Soma-mmiohmaomun
`
`$3mm>mmwmeow
`
`3.}lnmOE
`
`004
`
`ServiceNow, |nc.'s Exhibit 1001
`
`mm
`
`hmZmMPE"._._
`
`
`omJOUOFOEQ023mzznkmmw
`
`
`
`ZO_._.OMZZOOAWOOHOm—n.
`
`T(L
`
`n.
`(I.
`
`N._m>m._
`
`O4m>m5
`
`_.4mm...
`
`m..m>w.._
`
`
`
`ZOFOm—ZZOOJOOOhOmn.EZKmFZ.20....0wZZOUmgmm209
`
`
`
`
`
`004
`
`ServiceNow, Inc.'s Exhibit 1001
`
`
`

`

`U.S. Patent
`
`2n.
`
`4teehS
`
`SU
`
`2B003,
`
`mII
`
`moéohm
`
`
`
`
`
`moSwoom<0m>mxmotzozxma
`
`905922220039>
`
`mowmmoomn.
`
`8.028Fmfi8F2:
`
`
`
`4,0‘.290
`xmoszzom<0m>mx89>35.05M9.05.5Ezoo405200.6528.6528EzwwmzIm2mzoazExm
`
`
`
`
`
`
`
`
`
`
`
`
`
`2.wv.0_n—79cm_.
`
`fmlamoo:
`5moEmmE
`
`
`
`
`
`m:III:2:405.20035.52Q..EEEEEm:
`
`o33;
`
`005
`
`ServiceNow, |nc.'s Exhibit 1001
`
`005
`
`ServiceNow, Inc.'s Exhibit 1001
`
`
`
`

`

`US. Patent
`
`Jun. 24, 2008
`
`Sheet 5 of5
`
`US 7,392,300 B2
`
`@ 200
`
`GENERATE NETWORK /
`REPRESENTATION
`
`202
`
`l
`PARSE NETWORK
`REPRESENTATION
`I
`204
`GENERATE NETWORK /
`MODEL
`
`ENERATE GRAPHICA
`REPRESENTATION‘?
`
`206
`Yes
`
`F208
`GENERATE AND DISPLAY
`GRAPHICAL REPRESENTATION
`
`“°
`
`210
`
`PROCESS NETWOR
`EVENT?
`
`212
`f‘
`
`No—>
`
`EXIT PROCESS
`
`END
`
`Yes
`A
`214
`IDENTIFY OBJECTS IN /
`NETWORK MODEL
`
`1
`DETERMINE ORDER
`OF OPERATIONS
`
`216
`
`l
`EXECUTE EVENT
`
`K 21a
`
`(3
`
`FIG. 5
`
`006
`
`ServiceNow, Inc.'s Exhibit 1001
`
`

`

`US 7,392,300 B2
`
`1
`METHOD AND SYSTEM FOR MODELLING A
`COMMUNICATIONS NETWORK
`
`FIELD OF THE INVENTION
`
`The present invention relates generally to computer sys
`tems, and more speci?cally, to modelling a communications
`network using a computer system.
`
`BACKGROUND OF THE INVENTION
`
`Computer networks have become integral to businesses in
`conducting transactions with both their customers and other
`businesses. A number of different network systems have been
`developed for speci?c applications and to meet the speci?c
`needs of users.
`On example computer network is a virtual private network
`(VPN). Virtual private networks provide secure communica
`tions over shared or public networks, such as the Internet. The
`shared network is typically maintained by a service provider
`such as, for example, an application service provider (ASP),
`a network service provider (N SP) or an Internet service pro
`vider (ISP). Therefore, the users of the virtual private network
`are not required to commit resources to maintaining and
`servicing the network. Any number of products, applications,
`devices, and other objects may be coupled to the virtual
`private network.
`A variety of software products and applications currently
`exist to facilitate network development, management, and
`maintenance. Maintaining and troubleshooting a network can
`be costly and dif?cult. Often, it is desirable to simulate a
`communications network prior to actually establishing the
`network in order to reduce the cost and number of di?iculties
`encountered. However, existing systems and methods have
`not fully addressed the issues relating modelling communi
`cations networks.
`
`SUMMARY OF THE INVENTION
`
`Embodiments provide for a system and method of model
`ling a communications network. A representation of a com
`munications network may be generated using computer-read
`able code, the computer-readable code representing
`structured information about the communications network.
`The network representation is parsed, generating a network
`model including a plurality of network objects and relation
`ships between the plurality of network objects. The network
`model may be stored in memory for further use.
`It is to be understood that other aspects of the present
`invention will become readily apparent to those skilled in the
`art from the following detailed description where, simply by
`way of illustration, exemplary embodiments of the invention
`are shown and described. As will be realiZed, the invention is
`capable of other and different embodiments, and its several
`details are capable of modi?cations in various respects, all
`without departing from the invention. Accordingly, the draw
`ings and description are to be regarded as illustrative in nature
`and not as restrictive.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`These and other features, aspects, and advantages of the
`present invention will become better understood with regard
`to the following description and accompanying drawings
`where:
`FIG. 1 is an architecture diagram of a data communications
`network in accordance with an embodiment of the present
`invention.
`
`2
`FIG. 2 is an object diagram of a network model for a local
`area network dial-in access server in accordance with an
`embodiment of the present invention.
`FIG. 3 is a circuit view diagram of the network model
`shown in FIG. 2.
`FIG. 4 is a block diagram of an exemplary architecture for
`a general purpose computer suitable for operating the pres
`ently described system and related network applications, in
`accordance with an embodiment of the present invention.
`FIG. 5 is a ?ow diagram of an example process for mod
`elling a communications network, in accordance with an
`embodiment of the present invention.
`
`DETAILED DESCRIPTION
`
`The detailed description set forth below in connection with
`the appended drawings is intended as a description of exem
`plary embodiments of the present invention and is not
`intended to represent the only embodiments in which the
`present invention can be practiced. The term “exemplary”
`used throughout this description means “serving as an
`example, instance, or illustration,” and should not necessarily
`be construed as preferred or advantageous over other embodi
`ments. The detailed description includes speci?c details for
`the purpose of providing a thorough understanding of the
`present invention. However, it will be apparent to those
`skilled in the art that the present invention may be practiced
`without these speci?c details.
`In the following description, reference is made to the
`accompanying drawings, which form a part hereof, and
`through which is shown by way of illustration speci?c
`embodiments in which the invention may be practiced. It is to
`be understood that other embodiments may be used as struc
`tural and other changes may be made without departing from
`the scope of the present invention.
`The communications network modeled may be any type of
`network such as, for example, a local area network, wide area
`network, virtual private network, or any other suitable net
`work con?guration. The communications network may
`include a middleware bus or any other desired software.
`The communications network representation may include,
`but is not limited to, one or more of the following elements in
`any suitable combination: circuit level index, circuit type
`identi?cation, order of operation indication, delete circuit
`identi?cation, underlying circuit index, underlying link
`index, delete object identi?cation, parent circuit identi?ca
`tion, and child circuit identi?cation. The network representa
`tion may be generated at startup or recon?guration or at any
`other determined time.
`Network events may be executed using the communica
`tions network representation. The network event may be
`selected from the group consisting of provisioning, circuit
`provisioning, service provisioning, switch provisioning, roll
`back, and delete. However, any other desired network events
`or received data may be processed using the present inven
`tion. The network event may be received from the middleware
`bus. Processing of the network event may further include
`identifying one or more of the network objects using the
`network representation, and determining an order of opera
`tion on the one or more network objects using the network
`representation.
`A graphical representation of the network model may be
`generated and displayed on a display monitor. Also, the
`graphical representation may include a graphical user inter
`face used that is used to modify the network model and
`otherwise interact with the network model.
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`007
`
`ServiceNow, Inc.'s Exhibit 1001
`
`

`

`US 7,392,300 B2
`
`3
`The system may be used to provide end-to-end integrated
`management capability in the areas functionality, inventory,
`con?guration, accounting, performance and supportability. A
`service provider may integrate all of the products associated
`With a particular service lifecycle over a common middleWare
`bus. The system may also be used by the service provider to
`automate the service lifecycle and manage VPN service offer
`ings.
`The system may include a netWork inventory adapter. In an
`exemplary embodiment, the netWork inventory adapter may
`receive and process the netWork inventory or netWork repre
`sentation. The netWork inventory adapter is a customiZable
`softWare component that alloWs applications to be interfaced
`With the communications netWork. The applications may also
`be interfaced With the netWork using a middleWare bus. Upon
`receiving events from the netWork, the adapter reads and
`parses the netWork representation to determine Which net
`Work objects are to be operated on and the order of operation.
`One step in creating the netWork inventory adapter is to
`understand the netWork model being used. Network models
`provide a representation of the various objects that are mod
`eled in the netWork inventory and also the relationships that
`exist betWeen these objects. This netWork model vieW may
`depend on the user’s particular business or services being
`provided and also the platform being used, such as DSL,
`Leased Line, and the like.
`The netWork inventory adapter, in accordance With one
`embodiment, alloWs for customiZation of the netWork model
`to suit the user’s particular needs While reducing customiZa
`tion time, reducing the dependency of the adapter on the
`netWork model, increasing the standards compliance for the
`network model representation, and increasing the ease of
`customiZation.
`In one exemplary embodiment, the netWork inventory pro
`vides a mechanism to represent the netWork model using a
`standards compliant representation such as, for example,
`XML. The XML representation also alloWs the customer to
`specify the entire data model, de?ne their oWn tags, and
`therefore de?ne the model in such a Way that the data model
`can be tailored to their particular use, and de?ne the opera
`tions that are speci?ed in the XML document.
`In another exemplary embodiment, the netWork inventory
`adaptor may read and parse the XML ?le upon startup or
`recon?guration and store a representation of the netWork
`model in memory. The adapter may also refer to the XML
`45
`document representation While performing operations on the
`objects in the netWork inventory, the operations including, but
`not limited to, provisioning, rollback, and delete. The net
`Work inventory adapter may refer to the XML representation
`to decide on What objects need to be deleted and/or rolled
`back and also decide on the order of operation on the objects.
`The netWork inventory adapter may also receive events from
`the middleWare bus to provision a speci?c scenario in the
`netWork inventory.
`Using the XML representation to arrive at a ?exible and
`easily con?gurable data model, the system may provide the
`folloWing desirable outcomes: reduction in the customiZation
`time, reduction in the development/customization cost for the
`user, and improvement in the performance of the netWork
`inventory adapter as the adapter becomes a thin adapter. Fur
`thermore, compliance to the XML standards helps the system
`become more Widely usable.
`One embodiment provides generally for a system and
`method of performing operations on a communications net
`Work using a netWork inventory. In an exemplary embodi
`ment, the netWork inventory is a collection of the different
`objects in the netWork and their interrelationships. These
`
`55
`
`50
`
`60
`
`65
`
`20
`
`25
`
`30
`
`35
`
`40
`
`4
`objects represent the various physical or logical entities that
`exist in the netWork. For example, these objects may repre
`sent entities including, but not limited to, computers, termi
`nals, servers, storage devices, database, routers, sWitches,
`printers, communications lines, circuits, and other telecom
`munications media and devices. The netWork inventory may
`also depict the Way the various relationships are created
`among the objects on the netWork. A representation of the
`netWork inventory may be created using extensible markup
`language @(ML). An XML document representing the net
`Work inventory may be generated automatically by a com
`puter application that queries objects on the netWork or manu
`ally by a user of the system. A netWork model may be a logical
`model or a representation of obj ects in the netWork inventory
`and their interrelationships. The netWork model may be cre
`ated and/ or stored in memory in any suitable format includ
`ing, but not limited to, text, markup languages, programming
`languages, database languages, graphical representation, and
`any other computer-readable format. In one embodiment, a
`netWork model of the netWork may be generated using the
`XML representation.
`Referring noW to FIG. 1, an architecture diagram of a data
`communications netWork, in accordance With an embodi
`ment, is shoWn. In the illustrated embodiment, a physical
`netWork 10 may be a public or shared netWork such as the
`Internet or other netWork. A middleWare bus 12 or messaging
`bus is established as a virtual private netWork on the physical
`netWork 10. The virtual private netWork is established by Way
`of the virtual private netWork solution centre application 14
`and the virtual private of?ce application 16. Virtual private
`netWorks are knoWn to those skilled in the art and may be
`established using any suitable method or products. One suit
`able product is the Virtual Private NetWork Solutions Center
`(V PNSC) available from Cisco Systems, Inc. While the illus
`trated embodiment includes a middleWare bus and a virtual
`private netWork, embodiments may operate on any netWork
`con?guration including, but not limited to, both private and
`public netWorks, bus architectures, and hub-and-spoke archi
`tectures. Communications over the netWork may be made
`using any suitable netWork communication protocol.
`A plurality of sample applications are coupled to the
`middleWare bus 12, including a process management appli
`cation 18, a data transformation application 20, a customer
`relationship management application 22, an Internet usage
`application 24, a customer manager and billing application
`26, an open document architecture application 28, and a prob
`lem determination and resolution application 30. Exemplary
`applications are available from HeWlett Packard under the
`product names Internet Usage Manager (IUM), Order Details
`Agent (ODA), and Product Details Repository (PDR). One or
`more databases 32 may be provided as memory for applica
`tions on the data communications netWork. Also, the netWork
`may have one or more databases to serve as a central storage
`device for the netWork that may be accessible by any appli
`cation on the netWork. The process management application
`18 generally retains the control on the entire application or
`product set. An exemplary suitable process manager applica
`tion is the HP Process Manager (HPPM) available from the
`HeWlett-Packard Company. The process management appli
`cation 18 sequences the various activities to be performed,
`ensures that the status is adequately checked, and performs
`retries if necessary.
`The process management application 18, the open docu
`ment architecture application, the virtual private netWork
`solution centre application 14, and the virtual private of?ce
`application 16 are each coupled to the middleWare bus 12
`using a netWork inventory adapter 34. In an exemplary
`
`008
`
`ServiceNow, Inc.'s Exhibit 1001
`
`

`

`US 7,392,300 B2
`
`5
`embodiment, the network inventory adapter 34 is a software
`component that allows the applications to be interfaced with
`the middleware bus 12. The network inventory adapter 34
`may be used as the network interface for any application that
`is suited to the functionally provided by the adapter 34. The
`adapters 34 may provide the capability to convert the data and
`events from the middleware format to the application format
`and, conversely, from the application format to the middle
`ware format. The adapters 34 may support speci?c operations
`and allow for various operations to be triggered by certain
`events and commands. The adapters 34 may also transmit and
`receive the network inventory over the data communications
`network.
`FIG. 2 is an object diagram of a network model for a local
`area network (LAN) dial-in access server in accordance with
`an embodiment. The network model is shown using an exem
`plary graphical illustration. For example, in the case of an ISP
`providing dial-in access as a service, the logical model would
`represent the various objects for this scenario, such as a
`remote access server (RAS) 40 and a customer edge router 36,
`and the way that circuits are created between these objects.
`The customer edge router 36 connects with a PSTN (public
`switched telephone network) provider 38. The customer edge
`router 36 may be connected using other suitable transmission
`mediums and communication protocols including, but not
`limited to, integrated services digital network (ISDN), ?ber
`distributed data interface (FDDI), T-carrier systems, and
`E-carrier systems. The PSTN provider provides access to the
`RAS 40. In the illustrated embodiment, access to the RAS 40
`is provided using and El carrier lines 42, however other
`carrier systems may be used. Any number of carrier lines 42
`may be used. The RAS 40 may validate the received request
`using a Remote Authentication Dial-In User Service (RA
`DIUS) server 44 or other authentication service. If authenti
`cation is successful, the RAS creates an IP tunnel 46 between
`the customer edge router 36 and the provider edge router 48.
`In an exemplary embodiment, a GRE tunnelling protocol,
`developed by Cisco Systems, Inc., may be used to create the
`IP tunnel 46.
`A representation of the above example scenario would be
`available from the network inventory. Using a graphical user
`interface (GUI) with the network inventory, it is possible to
`view the network model as a whole, as well view and/or
`modify the various properties and attributes of the various
`objects.
`FIG. 3 is a circuit view diagram of the network model
`shown in FIG. 2. Circuit levels are measured relative to the top
`circuit level. For example, referring to FIG. 3, the GRE tun
`nelling protocol 50 is at level Zero (0), the Internet protocol
`connection 52 is at level one (1), the point-to-point protocol
`(PPP) 54 is at level two (2), the ISDN connection 56, the RAS
`connection 58, and the Internet protocol connection 60 are at
`level three (3), and the ISDN connection 62 and the El carrier
`64 are at level four (4). At the link level, the customer edge
`router 36 and the PSTN provider 38 may be coupled by a
`suitable physical link 66, the PSTN provider 38 and RAS 40
`may be coupled using a suitable physical link 68, and the RAS
`40 and provider edge router 48 may be coupled using a fast
`Ethernet or asynchronous transfer mode protocol (ATM) 70.
`FIG. 4 is a block diagram of an exemplary architecture for
`a general purpose computer suitable for operating the pres
`ently described system, in accordance with an embodiment.
`The illustrated general purpose computer may also be suit
`able for running other network applications. A microproces
`sor 100, including of a central processing unit (CPU) 105, a
`memory cache 110, and a bus interface 115, is operatively
`coupled via a system bus 180 to a main memory 120 and an
`
`10
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`65
`
`6
`Input/Output (I/O) control unit 175. The I/O interface control
`unit 175 is operatively coupled via an I/O local bus 170 to a
`disk storage controller 145, video controller 150, a keyboard
`controller 155, a network controller 160, and I/O expansion
`slots 165. The disk storage controller 145 is operatively
`coupled to the disk storage device 125. The video controller is
`operatively coupled to the video monitor 130. The keyboard
`controller 155 is operatively coupled to the keyboard 135.
`The network controller 160 is operatively coupled to the
`communications device 140. The communications device
`140 is adapted to allow the system and related applications
`operating on the general purpose computer to communicate
`with a communications network, such as the Internet, a Local
`Area Network (LAN), a Wide Area Network (WAN), a virtual
`private network, or a middleware bus, or with other software
`objects over the communications network.
`Computer program instructions for implementing features
`of the presently described system may be stored on the disk
`storage device 125 until the processor 100 retrieves the com
`puter program instructions, either in full or in part, and stores
`them in the main memory 120. The processor 100 then
`executes the computer program instructions stored in the
`main memory 120 to implement the features of the network
`inventory adapter and the present invention. The program
`instructions may be executed with a multiprocessor computer
`having more than one processor.
`The general purpose computer illustrated in FIG. 4 is an
`example of a one device suitable for use with the present
`invention. The described system, the network inventory
`adapter 34, and other associated applications may also run on
`a network server or other suitable computers and devices.
`FIG. 5 is a flow diagram of an example process for mod
`elling a communications network, in accordance with an
`embodiment. In step 200, the network representation is gen
`erated. In one embodiment, the network representation is an
`XML document but may be created and/ or stored in memory
`in any suitable format including, but not limited to, text,
`markup languages, programming languages, database lan
`guages, graphical representation, and any other computer
`readable format. The network representation may be gener
`ated automatically by a computer application or manually by
`a user of the system. The network representation may include
`a representation of objects in the network and their relation
`ships. In step 202, the network representation is parsed. The
`parsed network representation is used to generated a network
`model, step 204. In step 206, the system determines whether
`a graphical representation of the network is to be generated. If
`yes, then the graphical representation of the network is gen
`erated and displayed to a screen or other output, step 208. If
`no, then the system determines whether an event is to be
`processed, step 210. If no, then the system exits the process,
`step 212. If yes, then the system identi?es the needed objects
`in the network model, step 214. In step 216, the system
`determines the order of operations needed to process the
`network event. In step 218, the system then executes the event
`as required.
`An example of a rollback implementation is herein
`described. A rollback is the restoring of the status of the
`network inventory whenever a network operation or provi
`sion operation fails. The rollback implementation may be
`automated to execute when an operation fails. In an exem
`plary rollback execution, the XML representation may used
`to identify the various objects that need to be deleted and/or
`rolled-back. Use of the XML representation helps ensure that
`the pre-provisioned data is not removed from the ISP. This
`pre-provisioned data may be de?ned as part of the network
`model. For example, the pre-provisioned data may include a
`
`009
`
`ServiceNow, Inc.'s Exhibit 1001
`
`

`

`US 7,392,300 B2
`
`7
`third party cloud, which is used to offer dial-in access. In an
`exemplary embodiment, this type of object should not be
`deleted/rolled-back, as it is not provisioned as part of the
`process ?ow. This type of data is identi?ed in the XML data
`?le given below.
`Exemplary XML code including speci?cations for the roll
`back activities is as follows:
`
`<?xml version=”l.0” encoding=”ISO-8859—l”?>
`<!DOCTYPE UpdateAndRollBack (View Source for full doctype. . .)>
`<UpdateAndRollBack>
`<Circuit index=”3” Type=”ISDN S0 Bearer” DeleteCircuit=”YES”
`UnderlyingCircuitsIndex="NA" UnderlyingLinkIndex=”NA"
`UseSaIne=”NA” Delete=’”’ />
`<Link Index=”3” DeleteLink=”Yes” ModifyPort=”StartPortNarne”
`AssociatedNode=”StartNodeNaIne” DeleteDevice=”NA” I>
`<ISDN>
`<Variant Type=”GRE”>
`<Circuit index=”0” Type=”GRE” DeleteCircuit=”Yes”
`UnderLyingCircuitsIndex=”l ” UnderlyingLinkIndex=”NA"
`UseSaIne=”NA” Delete=”Loopback” />
`<Circuit index=”l” Type=”IP Connectivity”
`DeleteCircuit=“Yes” UnderlyingCircuitsIndex=”2"
`UnderlyingLinkIndex=“NA" UseSaIne=”DestNodeNaIne”
`Delete=”NA” />
`<Circuit index=”2” Type=”PPP” DeleteCircuit=”Yes”
`UnderlyingCircuitsIndex="3 ,4” UnderlyingLinkIndex=”NA"
`UseSaIne=”DestNodeNaIne” Delete=”NA” />
`<Circuit index=”3” Type=”RAS Connection”
`DeleteCircuit=”NO” UnderlyingCircuitsIndex="NA"
`UnderlyingLinkIndex=”NA" UseSaIne=”SourceNodeNaIne”
`Delete=”NA” />
`<Circuit index=“4” Type= “ISDN Connection”
`Deletecircuit=”Yes” UnderlyingCircuitsIndex="PP”
`UnderlyingLinkIndex=”NA" UseSaIne=”DestNodeNaIne”
`Delete=”NA” />
`</Variant>
`</ISDN>
`<UpdateAndRollBack>
`
`The above XML code captures the network model from the
`top most circuit level to link level. ‘Circuit index’ identi?es
`the circuit level in terms of distance from the top level. In the
`model shown in FIG. 3, the GRE tunneling connection is the
`topmost level, therefore, having an index of Zero (0). The
`Index ?eld identi?es the order in which the circuits are to be
`deleted. ‘Type’ is a reference ?eld that may be used to identify
`the type of circuit. ‘DeleteCircuit’ identi?es whether or not a
`particular circuit needs to be deleted. This ?eld is used since
`certain circuits may not need to be deleted, such as circuits
`used in multiple models or circuits that may be part of a
`backbone. ‘UnderlyingCircuitsIndex’ identi?es the index of
`the underlying circuits. If multiple underlying circuits exist,
`commas may be used to separate them. In the model illus
`trated, there may be multiple ISDN bearer circuits, which are
`represented as parallel paths using “PP.” ‘UnderlyingLinkin
`dex’ identi?es whether or not the circuit has an underlying
`link. If an underlying link exists, the underlying link index has
`numerical value identifying the order in which it is to be
`deleted. Otherwise, the ?eld has the value “NA” (Not Appli
`cable). ‘UseSame’ identi?es a common point for the child and
`parent circuit. The ?eld may have values such as ‘StartNode
`Name’ or ‘EndNodeName.’ These values may be used to
`identify the correct child circuit or parent circuit. ‘Delete’
`identi?es the objects and attributes to be deleted when the
`particular circuit is deleted.
`When the adapter receives an event to rollback a line, the
`adapter gets a Service Instance ID (SIID) as input. For this
`particular SIID, the associated circuits are retrieved and the
`correct circuit is chosen. The XML ?le is parsed and the
`
`8
`correct variant is identi?ed using the input values. For this
`particular illustrated variant, the ?rst circuit node index is
`retrieved and this will be the circuit with index Zero (0). All of
`the circuits or links found are stored in a Hashtable with index
`as the key and the circuit or link name as the value. Similarly,
`underlying circuits are retrieved and, based on the ‘UseSame’
`attributes value, they are stored with the appropriate index.
`When the Underlying circuit has value ‘PP,’ the Circuit
`Node under <UpdateAndRollBack> whose value is equal to
`the number of parallel circuits, in this case:
`
`<Circuit index=”3” Type=”ISDN S0 Bearer” DeleteCircuit=”YES”
`UnderlyingCircuitsIndex="NA"
`UnderlyingLinkIndex=”NA"
`UseSaIne=”NA” Delete=’”’ />,
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`is duplicated and added in the memory. Note that these nodes
`may not exist in the actual XML document. These nodes may
`not exist in the XML document because the number of par
`allel paths varies and therefore it is easy to manage in memory
`rather than having to code it in the XML document. The index
`value is increased accordingly. Similarly, depending on the
`requirements, other attributes can also be modi?ed.
`After all the circuits and links have been stored, the tree is
`traversed again and deletion starts. If the DeleteCircuit or
`DeleteLink attribute is “YES,” then the circuit object or link
`object corresponding to the index is retrieved. This index is
`the key for the Hashtable. If any objects associated with this
`circuit or link are to be deleted, they are then deleted. After the
`associated objects are deleted, the circuit or link is deleted.
`This is known by the attribute Delete:“Loopback”.
`The above XML document is an example of how any
`desired operation such as, for example, provisioning, assur
`ance, usage, modify, delete, and rollback, may be performed.
`The XML tags a

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