`Robins et al.
`
`[11] Patent Number:
`[45] Date of Patent:
`
`5,049,873
`Sep. 17, 1991
`
`[54] COMMUNICATIONS NETWORK STATE
`AND TOPOLOGY MONITOR
`
`[75]
`
`Inventors: Paul A. Robins, San Francisco; Paul
`D. AJvik, Cupertino; Christopher S.
`Helgeson, Mountain View; Michael
`R. Gannon, Menlo Park; William A.
`Bishop, Mountain View; Sandra L.
`Mumaw, San Jose; Karen L. Forkish,
`Redwood City; Seck·Eng Tan,
`Mountain View; Tim O.
`Radzykewycz, Newark, all of Calif.;
`Roland Dupont, Grand Duchy,
`Luxembourg
`
`[73] Assignee: Network Equipment Technologies,
`Inc., Redwood City, Calif.
`
`[21] Appl. No.: 520,111
`
`[22] Filed:
`
`May 4, 1990
`
`[63]
`
`Related U.S. Application Data
`Continuation of Ser. No. 150,354, Jan. 29, 1988, aban(cid:173)
`doned.
`
`Int. Cl.s
`[51]
`[52] U.S. Cl.
`
`H04M 15/00; G05B 23/00
`340/825.06; 340/825.07;
`340/825.16; 379/14; 379/32; 379/33
`[58] Field of Search
`379/32, 33, 34, 92,
`379/11,14,9,10,12,49,63; 370/13,14,16,17,
`58.2; 371/25; 340/825.06, 825.07, 825.16,
`825.17
`
`[56]
`
`. References Cited
`u.s. PATENT DOCUMENTS
`4,446,341
`5/1984 Rubin
`4,464,543 8/1984 Kline et al.
`4.581,493 4/1986 Gazzo et al.
`4.782,506 11/1988 Sevcik
`
`379/12
`379/14
`379/12
`379/10
`
`OTHER PUBLICAnONS
`Duff, C. K., "Choice of Telemetering Sysmes and
`Channels for a Power System", May 1951, FIG. 2.
`
`Kjonigsen, Jan, "Subsciber Line Management System,
`SLS 160", 1984.
`Microsoft, MacWorld, vol. 1, No. I, 1984, p. 4.
`Wiltron Company, "CMTS Centralized Maintenance
`Test System", 2/4/83, FIG. 2.
`Primary Examiner-Donald J. Yusko
`Assistant Examiner-Peter Weissman
`Attorney, Agent, or Firm-Fliesler, DUbb, Meyer &
`Lovejoy
`
`[57]
`ABSTRACT
`A system gathers and displays information concerning
`status of a communications network without overload(cid:173)
`ing the communications channels in the network. The
`monitoring system includes a monitor node, inclUding
`an operator input interface. The monitor node is cou(cid:173)
`pled to a first switching node in the distributed switch(cid:173)
`ing nodes of the network. The monitor node includes a
`first application maintaining topology data indicating
`the topology of the network and supporting a first pro(cid:173)
`tocol for updating the data with the first switching
`node. In addition, the monitor node includes a second
`application maintaining a list of alarm conditions en(cid:173)
`tered in the node event logs in the network, and sup(cid:173)
`porting a second protocol for updating the list with the
`plurality of distributed switching nodes. A third appli(cid:173)
`cation runs in the monitor node for maintaining a moni(cid:173)
`tor database indicating the configuration of the switch(cid:173)
`ing nodes as it is entered in the node configuration data(cid:173)
`bases in the network. This third application also sup(cid:173)
`ports a third protocol for updating the monitor database
`with the plurality of distributed switching nodes for
`updates to the node configuration database. Distributed
`applications in the switching nodes support the proto(cid:173)
`cols with the monitor node without interference with
`communications tasks in the network. A display appli(cid:173)
`cation that is responsive to operator inputs identifying a
`subject node or other object
`in the network having
`plural windows on a display monitor, presents configu(cid:173)
`ration data about the subject node, the network topol(cid:173)
`ogy and the alarm conditions to the operator.
`
`27 Claims, 16 Drawing Sheets
`2
`
`11
`
`SIJITCH
`
`8
`
`5
`
`MONITOR NODE
`
`SIJITCH OPERATOR
`INTERrACE
`
`13
`
`Oracle Exhibit 1008, page 1
`
`
`
`u.s. Patent
`
`Sep. 17, 1991
`
`Sheet"1 of 16
`
`5,049,873
`
`1
`
`S'vIITC
`
`11
`
`MONITOR NODE
`
`S\JITCH OPERATOR
`INTERFACE
`
`13
`
`12
`
`14
`
`2
`
`S'vIITCH
`
`8
`
`6
`
`3
`
`S'vIITCH
`
`9
`
`S'w'ITCH
`
`10
`
`FIG.-l
`
`NET
`
`'vi
`
`oRK
`
`FIG.-5
`
`Oracle Exhibit 1008, page 2
`
`
`
`U.8. Patent
`
`'"
`
`Sep. 17, 1991
`
`Sheet 2 of 16
`
`5,049,873
`
`ICONS
`
`29
`
`SYSTEM MESSAGES (TEXT) 30
`
`21
`
`25
`
`20
`
`23
`
`!
`
`LE
`
`GE N
`
`I
`D I
`29
`
`NODE X
`C C
`R R •••
`DD
`
`•••
`
`OPERATOR
`INTERFACE
`(TEXT)
`
`ALARM TABLE
`(TEXT)
`
`28
`
`27
`
`FIG.-2
`
`Oracle Exhibit 1008, page 3
`
`
`
`u.s. Patent
`
`Sep. 17, 1991
`
`Sheet 3 of 16
`
`5,049,873
`
`....-
`
`EVENT LOG
`APPLN-MDNITDR
`
`___ 37
`
`-
`
`ALARM TABLE
`APPLN-MONITOR
`
`•-34
`
`33)
`
`I
`
`DISPLAY
`PROCESSOR
`
`I - -
`
`USER INPUT
`INTERFACE I - -
`
`38,)
`
`I - -
`
`TOPOLOGY DATA
`APPLN-MONITOR
`
`,-/35
`
`t--
`
`DATEBASE
`APPLN-MONITOR
`
`_36
`
`Y HDLC PORT
`
`~
`
`40
`
`ITOR 1
`MON
`ODE
`N
`
`FI
`
`G.-3
`
`(39
`
`TO
`S'w'ITCHING
`NODE
`
`45~
`HDLC PORT
`
`/'"""46
`COMMUNICATIONS
`TASKS
`
`-i
`
`I - -
`
`(39
`
`TO
`NITOR
`MO
`
`ODEN
`
`~
`
`K NET'w'ORK >
`
`47
`
`-
`
`EVENT LOG
`(ALARM TABLE)
`
`I - -
`
`CONFIGURATION
`DATA BASE
`
`j,/48
`
`S'w'ITCHIN
`NODE
`
`G
`
`49
`
`FIG.
`
`-4
`
`---
`
`TOPOLOGY
`APPLN-NODE
`
`50
`
`-
`
`51\
`
`MONITOR 1
`ALARM TABLE -
`INTERFACE
`
`52
`
`MONITOR 1
`............ EVENT LOG I - -
`INTERFACE
`
`MONITOR 1
`DATABASE -
`INTERFACE
`
`(53
`
`Oracle Exhibit 1008, page 4
`
`
`
`u.s. Patent
`
`Sep. 17, 1991
`
`Sheet 4 of 16
`
`5,049,873
`
`NTA
`
`105
`
`ELM
`
`103
`
`NodeDeletedMsg ResetMsg
`NodeDownMsg
`NodeUpMsg
`ResetMsg
`
`106
`
`EventLogMsg MsgFll terRequest
`NoEventMsg MsgNextEvent
`Co.ntServMsg
`
`DBS
`
`EvA
`
`104
`
`EvAPE
`
`102
`
`OpenSessionMsg EvPktMsg
`MsgFilterRequest ConfirMMsg
`NxtPktMsg RejectMsg
`10nMsg
`CloseSess
`
`EvPktMsg
`ConflrMMsg
`RejectMsg
`
`OpenSessionMsg
`MsgFitterRequest
`NxtPktMsg
`CloseSeSSi
`
`onMsg
`
`if
`
`TRANSFER SERVICE
`
`--
`
`101
`
`Genero.t systeM overview-EVA
`
`FIG.-6
`
`before wro.p
`
`o.fter wro.p
`
`previous ev 1
`Most recent ev
`oldest event
`next to oldest
`
`new
`wro.p
`
`1
`2 lIE
`3 (1)
`4 (2)
`
`n
`
`Most recent ev
`oldest event
`
`4 - wro.p
`point
`1
`
`2 3
`
`n
`
`Event
`
`log sno.pshot before o.nd o.fter 0. wro.p
`
`FIG.-7
`
`Oracle Exhibit 1008, page 5
`
`
`
`u.s. Patent
`
`Sep. 17, 1991
`
`Sheet 5 of 16
`
`5,049,873
`
`EventLogMsg
`IIIIIIIIIII
`Token Count
`
`TIMe StnMp
`
`Flng
`
`AlnrM Block
`
`Event
`
`orlg Node
`
`orlg TID
`
`Va.lue [4J ~
`
`Mo.p [4J
`
`Token [8]
`
`111/////1//
`
`EvAPE Messnge Buffer
`
`ITC Hender
`
`Pncket Seq
`
`Event Count
`
`Flngs
`
`Token Count
`
`TIMe Sta.Mp
`
`~Io
`
`•
`
`Ma.p [4]
`
`Token 1
`
`Token 2
`
`410
`
`More
`
`T events J
`
`It
`
`EvAPE Messo.ge Buffer a.nd cOMpressing of events
`
`FIG.-8
`
`Event Log Record
`
`Token Count
`Epoch Secs
`Flng
`
`Ala.rM Block
`
`Event
`
`orlg Node
`
`orlg TID
`
`(0)
`(D
`(2)
`
`(3)
`
`(4)
`
`(5)
`
`DB Event Record
`(5)
`Nodeld
`
`EventType
`
`SUbType
`origTID
`
`EpochSecs
`
`Ala.rMLevel
`
`NetSig
`
`(4)
`
`(4)
`
`(6)
`
`(1)
`
`(2)
`
`(2)
`
`Va.lue [4]
`
`(7)-(10)
`
`Ma.p [4]
`
`(lD-<14)
`
`Token [8]
`
`(15)-(22)
`
`Va.lue 1-12
`
`(7)-(22)
`
`Tra.nsla.-tion
`
`Storing event records
`
`FIG.-16
`
`Oracle Exhibit 1008, page 6
`
`
`
`u.s. Patent
`
`Sep. 17, 1991
`
`Sheet 6 of 16
`
`5,049,873
`
`EvA -+ EvAPE .
`
`ITC - Heo.der
`
`Fiti:erCouni:
`UNUSED
`
`-
`-
`
`nUMber of MsgFlli:erRequesi:s following
`for fui:ure exi:enslons I window size
`<Pki:Gro.ni:)
`
`Open Session Messo.ge Si:ruci:ure
`
`FIG.-9
`
`-lo.st po.cket sequence nUMloer sent
`
`EvAPE -+ EvA
`
`ITC - Heo.der
`
`PktSeqNlor
`
`ConfirM Messa.ge Structure
`
`FIG.-IO
`
`EvA -+ EvAPE
`
`ITC - Heo.der
`
`PktSeqNlor
`
`UNUSED
`......- - - - - - - '
`
`-
`
`-
`
`pa.cket sequence nUMber expected
`
`for future extension I dyna.Mlc a.djUstMent
`of window size
`
`Next Po.cket Messo.ge Structure
`
`FIG.-l1
`
`EvA ---. EvAPE
`
`ITC - Hea.der
`
`Pki:SeqNlor
`
`-
`
`lo.st pa.cket sequence nUMber received
`
`Close Session Messa.ge Struci:ure
`FIG.~12
`
`Oracle Exhibit 1008, page 7
`
`
`
`u.s. Patent
`
`Sep. 17, 1991
`
`Sheet 7 of 16
`
`5,049,873
`
`EvAPE ---. EvA
`
`lTC - Hea.der
`
`PktSeqNbr
`
`-- pa.ckei: sequence nUMber
`
`EvCouni:
`
`Fla.gs
`
`nUMber of eveni:s In i:he pa.ckei:
`
`Eveni: Log \rIra.p Fla.g, ELM Cra.sh Fla.g
`
`Ir
`
`JEvent
`
`Pa.cket Messa.ge Struci:ure
`
`FIG.-13
`
`Ev
`
`e
`
`~
`
`1 :
`
`tll""leoui:
`
`&.
`
`) MsgFllterRequest
`la.st MsgFllterRequest
`Confirl""lMsg j MsgFil-terRequest
`(3)
`1402
`
`(4)
`
`NodeUpMsg j
`DpenSessionMsg
`if NodeUp j
`DpenSessionMsg
`
`(1)
`
`(2)
`
`Re Jeci:Msg j
`(5)
`3rd i:iMeout
`&.
`la.si: MsgFll terRequest
`tiMeout
`&.
`la.si: OpenSessionMsg j
`NodeDownMsg j
`(11)
`NodeDelei:edMsg I CloseSessionMsg
`
`j
`
`(6)
`
`(7)
`
`ConfirMMsg )
`NxtPktMsg (8)
`
`(12)
`
`1401
`
`I
`(1403
`..---...1.....+---.
`II Close l~tIIII-I--------------------l:Next ~"'~I---.
`Node DownMsg j
`(11)
`NodeDeletedMsg ) CloseSesslonMsg (12)
`(13)
`EvPktMsg(Cra.sh)
`j
`3rd tiMeoui:
`(14)
`j
`ReJectMsg j
`(15)
`
`) Nx-tPktMsg (n+1)
`EvPki:Msg (n)
`) Nxi:PktMsg (n)
`tiMeoui:
`EvA si:a. te tra.nsli:lon dia.gra.M
`
`FIG.-14
`
`(9)
`(10)
`
`Oracle Exhibit 1008, page 8
`
`
`
`u.s. Patent
`
`Sep. 17, 1991
`
`Sheet 8 of 16
`
`5,049,873
`
`OpenSesslonMsg J ConflrMMsg (4)
`Co.ntServMsg J MsgFllterRequest
`MsgFIlterRequest J MsgFllterRequest
`
`(3)
`(2)
`
`OpenSessionMsg
`ConfirMMsg (D
`
`OpenSessionMsg
`ConfirMMsg (9)
`
`3rd Co.ntServMsg J
`ReJectMsg (5)
`CloseSesslonMsg J (10)
`
`EventLogMsg I
`NoEventMsg j
`ConfirMMsg &.
`MsgNextEvent (6)
`
`1503
`
`CtoseSessionMsg J (10)
`3rd tiMeout
`J EvPktMsg (Cro.sh)
`Co.ntServeMsg J EvPktMsg(Cro.sh)
`
`(1l)
`(12)
`
`NxtPktMsg J
`Re JectMsg (13)
`
`EventLogMsg I
`NoEventMsg J MsgNextEvent
`NxtPktMsg (n) J EvPktMsg(n)
`
`(7)
`(8)
`
`EvAPE sto.te tro.nsltlon dlo.gro.M
`
`FIG.-15
`
`Oracle Exhibit 1008, page 9
`
`
`
`u.s. Patent
`
`Sep. 17, 1991
`
`Sheet 9 of16
`
`5,049,873
`
`MONITOR
`
`IDNX
`
`173
`170
`
`ATA
`
`172
`
`ATA DATA FLO\J
`
`FIG.-17
`
`ATA
`
`ATA OPEN MSG (0)
`
`~
`
`ATA NEXT MSG (1)
`4
`
`ATA NEXT MSG (2)
`
`ATAPE
`
`ATA OPEN MSG (0)
`
`ATA ALARM MSG (1)
`
`~
`
`~
`
`~
`
`SessIon Inltia.liZa.tion
`
`FIG.-18.·
`
`Oracle Exhibit 1008, page 10
`
`
`
`u.s. Patent
`
`Sep. 17, 1991
`
`Sheet 10 of 16
`
`5,049,873
`
`ATA
`
`ATAPE
`
`ATA NEXT MSG (2) - - - - - - - . . . ! <Idle "tIMer)
`ATA NEXT MSG (3 ) - - - - - -... 1-
`
`44------------ AT A IDLE MSG
`~ ~a.la.~ cha.nges)
`...4'------------ ATA ALARM MSG (2)
`
`(Idle -tiMer)
`44 - - - - - - - - - ATA IDLE MSG
`
`NorMa.l Session Pro-tocol
`
`FIG.-19
`
`ATA
`-
`<Idle 1
`
`-tiMer)
`
`ATA NEXT MSG (n)
`4
`
`ATA OPEN MSG (0)
`4
`
`ATA NEXT MSG (1)
`4
`
`ATA NEXT MSG (2)
`
`ATAPE
`
`(rese-t
`occurs)
`
`ATA RESET MSG
`
`ATA OPEN MSG (0)
`
`ATA ALARM MSG (1)
`
`•
`..
`•
`
`•
`
`AT APE Re se-t Scena.rlo
`
`FIG.~20
`
`Oracle Exhibit 1008, page 11
`
`
`
`u.s. Patent
`
`Sep. 17, 1991
`
`Sheet 11 of 16
`
`5,049,873
`
`MONITOR NODE
`2100
`
`IDNX
`
`2104
`
`2101
`
`DBA
`
`da.i:a.ba.se
`a.ppllca. tlon ~I----.
`(DBA)
`
`INCS da.i:a.ba.se
`a.ppllca.tlon
`(DBAPE)
`
`2102
`
`da.ta.ba.se
`
`<ORACLE)
`
`sclp
`si:a.tus
`Messa.ge
`
`2105
`
`IDNX (abc)
`do.to.bo.se (32k)
`
`128 byle block
`
`checksuMs
`
`2103
`
`Network
`Topology
`AppllCa. tion
`(NTA)
`
`/2106
`
`if
`
`IDNX
`for rea.l-til""le
`trunk InforMo.tlon
`
`II
`
`FIG.-21
`
`2203~TA
`NT~2201
`a.da ("lew
`l' k a l''+ f
`delete
`In e
`node
`IS I. 0
`node
`~ 212 nOdes dntn 106 ~
`
`1::;:02-
`
`.
`
`NTA
`node up/down~ DBA node
`hdlc up/down
`
`pending
`'blocks
`
`2204
`2208
`noae#o.na whether we 'ho.ve do.to.~
`node up/down sto.t~
`do.to. - He MeSSo.ge pOlnterl
`tr:o.nsfer
`In progress (excho.nge#),
`tiMer countsl o.na \o.ck'
`fo.ilures.
`- checksuMs1
`o.nd do.to. blocks o.Wo.i'ting vo.lido.tion
`2207
`.....:. vo.lIdo.tea block checksuMs
`2205
`- vo.lido.ted do.to.bo.se do.to. blocks
`2206
`- oro.de checksuM1 COord Id' s
`2209
`
`checksuMs
`
`do.to.bo.se
`blocks
`
`oro.de Mise
`
`FIG.-22
`
`Oracle Exhibit 1008, page 12
`
`
`
`u.s. Patent
`
`Sep. 17, 1991
`
`Sheet 12 of 16
`
`5,049,873
`
`Auto tiMer expired or
`IncoMing MeSSo.ge frOM DBA
`(Send All, Send Cho.nges, Ack)
`
`dirty blocks collected
`Into outgoing MeSSo.ge
`(do.to.
`loo.ded directly
`frOM do.to.loo.se IMo.ge or
`reo.l-tlMe do.to.
`Iolocks)
`
`2301\
`
`2302
`
`2105
`
`checksUMS
`clo.to.bo.se &e
`reo.l-tiMe
`
`dirty flo.gs
`do.to.bo.se 8c
`reo.l-tiMe
`
`reo.l-tlMe
`checksuMs
`
`reo. (cid:173)
`do.t,o.
`
`2304
`
`23J5
`checksuMs
`cOMpo.red
`o.nd ' dirty
`flo.gs set
`for cho.nged
`blocks
`2303
`2306
`
`IDNX (dbc)
`clo.to.bo.se
`(32K)
`
`128 byte
`block
`
`checksUMS
`
`cho.nge to
`do.t o.bo.se
`
`reo.l-tiMe do.to. ~ 2307
`o.nd checksUMS
`updo.ted by
`MeSSo.ges frOM
`cOMMUnico.tlon to.sk
`
`~
`
`cho.nge to
`trunk sto.tus
`(neighbor node,
`neighbor COord,
`connection sto. tus)
`
`FIG.-23
`
`Oracle Exhibit 1008, page 13
`
`
`
`u.s. Patent
`
`Sep. 17, 1991
`
`Sheet 13 of 16
`
`5,049,873
`
`Mess~ge Exch~nge Protocol
`(NorM~l)
`
`FIG.-25
`
`Oracle Exhibit 1008, page 14
`
`
`
`u.s. Patent
`
`Sep. 17, 1991
`
`Sheet 14 of 16
`
`·5,049,873
`
`Messnge Exchnnge Protocol
`(Lost Messo.ges)
`
`DBA
`MeSSo.ge type
`
`Send Cho.nges
`
`exch #
`122 I
`
`Ack 1 122
`Ack 1 I 23 I
`I 24
`Ack 1
`I 25 I
`
`Send Cho.nges
`
`~---- 23
`L_:..J
`r--,
`DB Cho.nges 2
`~---- 24
`L_:..J
`I 25 I DB Cho.nge 5 1
`FIG.-26
`
`DBAPE (lDNX)
`exch # MeSSo.ge -type
`
`~
`
`4
`
`~
`
`I 221
`~---- 22
`L_:..J
`
`r-~
`
`~
`
`DB Cho.nges 1
`
`DB Cho.nges 2
`
`r-~
`
`DB Cho.nges 2
`
`~
`
`~
`
`4
`
`DBAPE <lDNX)
`exch # MeSSo.ge type
`
`FIG.-27
`
`Oracle Exhibit 1008, page 15
`
`
`
`u.s. Patent
`
`Sep. 17, 1991
`
`.
`Sheet 15 of 16
`
`5,049,873
`
`Mess~ge Exch~nge Protocol
`(Out of Sync)
`
`DBA
`Mess~ge type
`
`exch #
`
`DBAPE <IDNX)
`Mess~ge type
`exch #
`
`Send Ch~nges . I 22 I------.~
`.....f----I 22 I DB Ch~nges 1
`
`Ack 1
`
`disc~rd exch #22 MSg
`
`Ack 1
`
`.....---1 23 I DB Ch~"nges 2
`...4,...-----11 22 I DB Ch~nges 2
`Ack 2 I 23 I--·~
`.....4--1 23 I All OK
`FIG.-28
`
`DBA
`Mess~ge type
`
`exch #
`
`DBAPE <lDNX)
`Mess~ge type
`exch #
`
`DB Ch~nges 1
`
`DB Ch~nges 1
`
`Send Ch~nges I 22 r - I--.~
`Ack 1 I 23 If-- ~
`
`disc~rd exch #22 MSg
`
`Ack 2
`
`I 23 If-------
`Ack 3 I 23 !f--___
`
`FIG.-29
`
`Oracle Exhibit 1008, page 16
`
`
`
`u.s. Patent
`
`Sep. 17, 1991
`
`Sheet 16 of 16
`
`5,049,873
`
`Messnge Exchnnge Protocol
`CPn thologicnD
`
`DBAPE <IDNX)
`exch # MeSSo.ge type
`
`DBA
`MeSSo.ge type
`
`Send Cho.nges
`
`exch #
`122 I
`
`Ack 1
`
`Ack 2
`
`Ack 2
`
`22
`
`22
`
`23
`
`Send Cho.nges
`
`Ack 2 I 24 I'
`125 I
`Ack 2 I 25 I
`
`I 22 I DB Cho.nges 1
`I 22 I DB Cho.ng'es 2
`• Node Cro.shes - DBA resto.rts
`•
`diSCo.rds o.cks - won't sto.rt
`checking until
`'send cho.nges'
`0.
`~
`or
`'send o.ll' MeSSo.ge is received
`•
`
`•
`
`~
`
`~
`
`~
`
`~
`
`~
`
`~
`
`I 25 I DB Cho.nges 2
`
`I 251
`
`DB Cho.nges 3
`
`Monitor Cro.shes -DBA resto.rts
`do.to. restored frOM do. to.
`files
`
`If----...
`~1_1-1--..•
`~1_11---"·
`
`1
`
`~
`
`~
`
`Send Cho.nges
`
`Ack 1
`
`Ack 2
`
`Ack 3
`
`Ack 3
`
`Ack 1
`
`diSCo.rd exch #2 MeSSo.ge
`
`DB Cho.nges 1
`
`DB Cho.nges 2
`
`DB Cho.nges 3
`
`All OK
`
`DB Cho.nges 1
`
`DB Cho.nges 1
`
`111
`
`•
`I
`r--,
`~---- 1
`~ L_-l
`-3-1
`..
`I a
`·~--I 2
`
`21
`
`4~--1 3
`
`All OK
`
`FIG.-30
`
`Oracle Exhibit 1008, page 17
`
`
`
`5,049,873
`
`COMMUNICATIONS NETWORK STATE AND
`TOPOLOGY MONITOR
`
`This application is a File Wrapper Continuation of 5
`Ser. No. 07/150,354, filed Jan. 29, 1988, now aban(cid:173)
`doned.
`
`2
`tions to serve calls and data being transferred through
`the network. Further, each of the switching nodes
`maintains a node event log including a node alarm table
`that lists alarm conditions for the node, and maintains a
`node configuration database, identifying a configuration
`of tasks and hardware running on the node.
`The monitoring apparatus according to the present
`invention, comprises a monitor node, including an oper(cid:173)
`ator input interface. The monitor node is coupled to a
`10 first switching node in the plurality of distributed
`switching nodes. The monitor node includes a first
`application maintaining topology data indicating the
`topology of the network and supporting a first protocol
`15 for updating the data with the first switching node. In
`addition, the monitor node includes a second applica(cid:173)
`tion maintaining a list of alarm conditions entered in the
`node event logs in the network, and supporting a sec(cid:173)
`ond protocol for updating the list with the plurality of
`distributed switching nodes. A third application runs in
`the monitor node for maintaining a monitor database
`indicating the configuration of the switching nodes as it
`is entered in the node configuration databases in the
`network. This third application also supports a third
`protocol for updating the monitor database with the
`plurality of distributed switching nodes for updates to
`the node configuration database.
`The monitor node further includes a display applica(cid:173)
`tion that is responsive to operator inputs identifying a
`subject node or other object in the network and is cou(cid:173)
`pled to the monitor database, the list of alarm conditions
`and the topology data. The display application presents
`plural windows on a display monitor, presenting config(cid:173)
`uration data about the subject node, the network topol(cid:173)
`ogy and the alarm conditions to the operator.
`On the first switching node to which the monitor
`node is coupled, an application generates topology data
`in response to the communications functions performed
`on the node and sends in response to the first protocol
`with the first application in the monitor node, the topol(cid:173)
`ogy data to the first application.
`On each of the distributed switching nodes in the
`network, including the first switching node, an applica(cid:173)
`tion coupled to the node event log and responsive to the
`second protocol with the second application, packages
`and sends data indicating alarm conditions entered in
`the node event log to the second application. In addi(cid:173)
`tion, on each of the plurality of distributed switching
`nodes in the network including the first switching node,
`an application coupled to the node configuration data(cid:173)
`base, and responsive to the third protocol with the third
`application, packages and sends data from the node
`configuration database to the third application through
`55 the network.
`the
`According to another aspect of the invention,
`monitor node includes a fourth application which main(cid:173)
`tains a list of event records entered in the node event
`logs in the network and supports a fourth protocol with
`the distributed switching nodes. On each of the plural(cid:173)
`ity of distributed switching nodes, an application cou-
`pled to the node event log on the node and responsive
`to the fourth protocol with the fourth application, pack(cid:173)
`ages and sends data indicating event reports entered in
`the node event log to the fourth application.
`Additional features of the present invention can be
`determined from a review of the following drawings,
`detailed description and claims.
`
`25
`
`BACKGROUND OF THE INVENTION
`1. Field of the Invention
`The present invention relates to apparatus for moni(cid:173)
`toring the status of a communication network, and more
`particularly, for presenting status information concern(cid:173)
`ing a network to an operator in graphical form.
`2. Description of Related Art
`Large communication networks consist of many
`switching nodes interconnected by communication
`links. The switching nodes perform complex communi(cid:173)
`cations tasks, such as call routing, link control and data
`compression. Various switches within the network will 20
`perform different sets of these communications tasks
`depending on the manner in which the nodes have been
`configured by the user. Further, the links interconnect(cid:173)
`ing the nodes are of a variety of types, each having
`unique features, such as satellite or terrestrial lines.
`The switches and links are often geographically sepa(cid:173)
`rated-by some distance. As switches are changed, new
`features are added or switches are deleted, the configu(cid:173)
`ration of the network can change significantly at loca(cid:173)
`tions quite remote from the operator. Further, the dis- 30
`tributed switching nodes suffer alarm conditions, such
`as breakdown of functional modules or failure of com(cid:173)
`munication protocols in real time that must be commu(cid:173)
`nicated to an operator of the system. Likewise, links can
`be added, deleted and changed in real time from geo- 35
`graphically separate locations.
`An operator performing network diagnostics or trou(cid:173)
`ble-shooting tasks, needs efficient access to current
`status information concerning a network. In particular,
`the topology of the network, alarm conditions and the 40
`configuration of the various nodes and links in the net(cid:173)
`work is critical information.
`The task of gathering status information from a large
`communication network in a timely manner and pres(cid:173)
`enting that information in a usable form to an operator 45
`can be quite complex. Preferably, this monitoring task
`should interfere as little as possible with the communi(cid:173)
`cations task going on in the network and not overload
`the communications channels with monitoring informa(cid:173)
`tion being forwarded to a single monitoring station in 50
`the network. Further, it is preferable that the monitor(cid:173)
`ing apparatus be implemented without
`large scale
`changes to communications tasks running in the net(cid:173)
`work in order to support the monitoring function.
`
`SUMMARY OF THE INVENTION
`The present invention provides an apparatus for gath(cid:173)
`ering and displaying information concerning status of a
`communications network without overloading the com(cid:173)
`munications channels in the network. Further, the infor- 60
`mation is displayed to the operator in a novel and useful
`form. Finally, the apparatus is implemented with mini(cid:173)
`mal impact on the design of the running communication
`tasks in the network.
`The network in which the present invention operates, 65
`includes a plurality of distributed switching nodes and a
`plurality of links connecting the switching nodes. Each
`of the switching nodes performs communications func-
`
`Oracle Exhibit 1008, page 18
`
`
`
`5,049,873
`
`45
`
`3
`BRIEF DESCRIPTION OF THE FIGURES
`FIG. 1 is a block diagram providing a system over(cid:173)
`view according to the present invention.
`FIG. 2 is a diagram of the multiple windows on the 5
`display of the monitor node according to the present
`invention.
`FIG. 3 is a block diagram of the monitor node ac(cid:173)
`cording to the present invention.
`FIG. 4 is a block diagram of a switching node accord- 10
`ing to the present invention.
`FIG. 5 is a block diagram illustrating a system includ(cid:173)
`ing a plurality of monitor nodes according to the pres(cid:173)
`ent invention.
`FIG. 6 is a system overview for the event log applica- 15
`tion, distributed between the monitor node and the
`switching node.
`FIG. 7 is a snapshot of the event log on the switching
`nodes before and after a wrap.
`FIG. 8 illustrates the message buffer and compression 20
`of data in the buffer that occurs on the event application
`on the switching node.
`FIG. 9 illustrates the message structure for the open
`session message in the event application.
`FIG. 10 illustrates the confirm message structure for 25
`the event application.
`FIG. 11 illustrates the next packet message structure
`for the event application.
`FIG. 12 illustrates the close session message structure
`for the event application.
`FIG. 13 illustrates the event packet message structure
`for the event application.
`FIG. 14 is a state transition diagram for the event
`application running on the monitor node.
`FIG. 15 is a state transition diagram for the portion of 35
`the event application running on the switching node.
`FIG. 16 illustrates the format for storing event re(cid:173)
`cords on the, switching node and on the monitor node.
`FIG. 17 is a data flow diagram for the alarm table
`application on the monitor node and the plurality of 40
`switching nodes.
`FIG. 18 illustrates the session initialization protocol
`between the alarm table application on the monitor
`node and the corresponding application on the distrib-
`uted switching nodes.
`FIG. 19 illustrates the normal session protocol be(cid:173)
`tween the alarm table application on the monitor node
`and the corresponding application on the distributed
`switching nodes.
`FIG. 20 illustrates a reset protocol between the alarm 50
`table application on the monitor node and the corre(cid:173)
`sponding application on the switching node.
`FIG. 21 is a data flow diagram for the database appli(cid:173)
`cation.
`FIG. 22 illustrates the data structures on the monitor 55
`node for the database application.
`FIG. 23 illustrates data structures on the distributed
`switching nodes for the database application.
`FIGS. 24 and 25 illustrate the message-exchange
`protocol for normal operation between the DBA run- 60
`ning on the monitor node and the DBAPE running on
`the switching nodes.
`FIGS. 26 and 27 illustrate the message-exchange
`protocol for lost messages between the DBA running
`on the monitor node and the DBAPE running on the 65
`switching nodes.
`FIGS. 28 and 29 illustrate the message-exchange
`protocol for messages out-of-sync between the DBA
`
`4
`running on the monitor node and the DBAPE running
`on the switching nodes.
`FIG. 30 illustrates the message-exchange protocol for
`pathological failure between the DBA running on the
`monitor node and the DBAPE running on the switch(cid:173)
`ing nodes.
`DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`With reference to the figures, a detailed description
`of preferred embodiments of the present invention is
`provided.
`In particular, a system level description is provided
`with reference to FIGS. 1-5. Following the system
`level description, the distributed applications running in
`the preferred embodiment, pertinent to the present in-
`vention, are described.
`I. System Overview
`FIG. 1 illustrates the communication system in which
`the present invention operates. In particular, the com(cid:173)
`munication system includes a plurality of distributed
`switching nodes 1,2,3,4, such as Integrated Digital Net(cid:173)
`work Exchange (IDNX) transmission resource manag(cid:173)
`ers provided by the assignee of the present invention.
`The switching nodes are interconnected by links 5,6,7,
`among each other, and across links 8,9,10 to other
`switching nodes in the network.
`The switching node 1 is connected to a monitor node
`11 across link 12. Coupled with the monitor node 11 is
`30 an operator interface 13 used for access to configuration
`programs runqing in the switching nodes in the network
`and which communicates with the switching node 1
`across link 14. The monitor node displays status infor-
`mation concerning the plurality of distributed switching
`nodes and links in the network. The operator utilizing
`the information displayed on node 11, operates the con-
`figuration programs through the interface 13 to perform
`diagnostic functions,
`trouble-shooting and configura(cid:173)
`tion tasks throughout the network.
`II. Display Windows
`The monitor node 11 includes a display, such as a
`monitor provided with a Sun Microsystems, Inc. work(cid:173)
`station, that includes a plurality of windows as illus(cid:173)
`trated in FIG. 2. The first window 20 on the display,
`graphically presents the topology of the network to the
`operator. As illustrated in FIG. 2, the network includes
`a plurality of distributed switching nodes 21 which are
`geographically spread across the continental United
`States. The window 20 displays a map of the U.S. with
`indicators of the locations of the switching nodes and
`the
`lines indicating links between them. In addition,
`window 20 includes highlighting features for particular
`nodes as illustrated at 22 to indicate alarm conditions
`occurring at the node. In the preferred embodiment,
`nodes are highlighted using color, and a legend 29 is
`provided to ease interpretation. The legend 29 also
`includes information identifying symbols for graphi(cid:173)
`cally depicting network components.
`A second window 23 on the display illustrates a con(cid:173)
`figuration of a subject node, Node X. Through the user
`interface,
`the operator can designate a subject node
`using, for instance, a mouse and cursor technique, com(cid:173)
`monly used in windowing display systems. The mouse
`could be used to move the cursor to a subject node on
`the network topology map in window 20. By setting a
`switch on the mouse, the selected node configuration
`can be brought up and displayed in window 23. Node
`configuration includes a graphic display 25 illustrating
`
`Oracle Exhibit 1008, page 19
`
`
`
`m
`
`5
`functional elements CR01, CR02 ... of the node. In
`addition, the textual information 26 concerning cards
`and links in the network, can be listed using a mouse and
`windowing algorithm.
`A third window 27 on the display, presents a list of 5
`alarm conditions occurring throughout the network.
`A fourth window 28 on the display is used as an
`interactive user interface window, such as may serve
`the operator interface 13 to switch configuration tools,
`switch diagnostics, and the like. This area on the screen 10
`is also used for configuration programs for the monitor
`node.
`A fifth window 29 on the display, provides a menu
`service for the operator based on icons.
`An additional text window 30, displays monitor sys- 15
`tern messages, such as the status of various monitor
`applications.
`This display format provides information concerning
`status and alarm conditions in the network in a usable
`fu~
`III. Monitor Node Overview
`FIG. 3 is a block diagram of applications running on
`the monitor node according to the present invention. As
`mentioned above, the monitor node includes a display
`processor 33 which supports the display described with 25
`reference to FIG. 2. Information is supplied to the dis(cid:173)
`play processor 33 from an alarm table application 34, a
`topology data application 35 and a database application
`36. The monitor node includes, in addition, an event log
`application 37, which maintains a log of event records 30
`from distributed switching nodes in the network. This is
`used for report generation rather than being directly
`used by the display processor 33.
`The monitor node also includes a user input interface
`device or devices 38, such as a keyboard and mouse as 35
`described above, in order to identify a subject node for
`display in the node configuration window 23 of the
`display processor 33.
`The monitor node is connected across a HOLC link
`39 to a switching node in the network. Accordingly, a 40
`HOLC port server application 40 is included through
`which messages from the alarm table application, topol(cid:173)
`ogy data application, database application and event log
`application are sent to the distributed switching nodes.
`Further, data is received through the HOLC port 40 45
`from the distributed switching node in response to the
`requests.
`The event log application 37, alarm table application
`34, topology data application 35 and database applica(cid:173)
`tion 36, are distributed tasks with part of each task run- 50
`ning on the monitor node and the remainder of the task
`running on the switching nodes of the network. The
`details of these tasks are provided below.
`IV. Switching Node Overview
`FIG. 4 illustrates tasks running on a switching node 55
`which is coupled to a monitor node in the network.
`Accordingly this switching node includes a HOLC port
`45 coupled to the HOLC link 39 for receiving commu(cid:173)
`nications and supplying messages to the monitor node.
`In addition, the switching node as illustrated in FIG. 4, 60
`performs communications functions as illustrated sche(cid:173)
`matically at 46 for managing communications through
`the network 47. An event log 48 is maintained by the
`switching node in response to the communications task
`46. In addition, a configuration database 49 is main- 65
`tained on the switching node which indicates the con(cid:173)
`figuration of the local node. Finally, a topology applica(cid:173)
`tion 50 runs on the switching node in order to maintain
`
`5,049,873
`
`6
`a database indicating the topology of the network
`which is used by the communications task 46 in call
`routing and similar operations.
`In addition, an alarm table interface 51, an event log
`interface 52 and a database interface 53 run on the
`switching node illustrated in FIG. 4. Each of these
`interfaces 51,52,53 called attached processor executors
`APE, are adapted to pre-process and package informa(cid:173)
`tion from the event log 48 or configuration database 49
`and forward that information to the monitor node in
`response to requests from the monitor node. In addition,
`each of these interfaces 51,52,53 serves a single monitor
`node. In the embodiment shown in FIG. 4, these inter(cid:173)
`faces serve monitor No.1. If a second monitor is added
`to the network, a second alarm table interface for the
`second monitor, a second event log interface for the
`second monitor and a second database interface for the
`second monitor, are required.
`The topology application 50 responds directly to
`requests it receives from a monitor node attached to
`that switching node, to supply topology data. Since this
`information is maintained for the entire network, the
`node to which the monitor node is coupled across the
`HOLC link 39 is the only node that must send topology
`data to the monitor node.
`The event log in the preferred embodiment maintains
`event records for the node and an alarm table. The
`interface for the alarm table is separated from the inter(cid:173)
`face for the event log in order to ensure integrity of the
`alarms as discussed in more detail below.
`FIG. 5 is a schematic diagram of a network including
`two monitors. Because the monitor tasks according to
`the present invention, interfere very little with commu(cid:173)
`nications tasks in the network, the present invention
`allows a plurality of monitors to be coupled to a single
`network. Accordingly, a first monitor MON1 65 is
`coupled to a first switching node 66 in the network.
`Switching node 66 is coupled to switching node 67 and
`68 and through nodes 67 and 68 to other switching
`nodes in the network. A second monitor MON2 69, is
`coupled to switching node 70. Switching node 70 is
`coupled to switching node 71 and to other nodes in the
`netw·ork. As mentioned above, each of the nodes in the
`network served by the respective monitors, MONl and
`MON2, will have