throbber
US006269396B1
`(10) Patent No:
`a2) United States Patent
`US 6,269,396 B1
`Shahet al.
`(45) Date of Patent:
`Jul. 31, 2001
`
`
`(54) METHOD AND PLATFORM FOR
`INTERFACING BETWEEN APPLICATION
`PROGRAMS PERFORMING
`TELECOMMUNICATIONS FUNCTIONS AND
`AN OPERATING SYSTEM
`
`9707638
`9724837
`9731451
`
`crrrssssssessrssssesrsseeen H04Q/3/00
`2/1997 (WO)
`vecessscecsessserensensees HO4L/12/24
`TIV9IOT (WO)
`S/1997 (WO) sessesvewerresreens HO4L/12/24
`
`OTHER PUBLICATIONS
`
`(75)
`
`Inventors: Mahesh V. Shah, Plano; David W.
`McDaniel, Dallas; James R. Vatteroni,
`Allen; Stephen B. Jaggers, Allen;
`Mark E. Worline, Allen, all of TX
`(US)
`
`(73) Assignee: Alcatel USA Sourcing, L.P., Plano, TX
`(us)
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`US.C. 154(b) by 0 days.
`
`(*) Notice:
`
`Maltini, et al. “OSI System and Application Management:
`an Experience in a Public Administration Context”, pp.
`492-500, Apr. 492-500, Apr. 15, 1996, TEEE.
`
`* cited by examiner
`
`Primary Examiner—Robert B. Harrell
`(74) Attorney, Agent, or Firm—Baker Botts L.L-P.
`(57)
`ABSTRACT
`
`(21) Appl. No.: 09/211,016
`.
`Filed:
`
`Dec. 11, 1998
`
`(22)
`
`A method of providing a software interface between appli-
`cation programs performing telecommunications functions
`and an operating system running on atleast one nodeat a site
`supporting the application programs,and further forming an
`interface between the application programs and a telecom-
`Related U.S. Application Data
`munications network is provided. The method includes
`Provisional application No. 60/069,576, filed on Dec. 12,
`providing a network platform manager operable to remove
`nodes from service, restore nodes to service, remove appli-
`1907.
`cations from service, and restore applications to service,
`Tents C07eecceeceececeeeseseeceseccceceeeceecenn GO6F 13/00
`CSL)
`providing a network system integrity manager operable to
`(82) U.S: (Cle cxnessensranneencmmmeeeccorern: 709/223
`(58) Field of Search o.ccccccccccccccccsscssssssssseee 379/113, 201,|monitor the nodes and to enable failed nodes to recover,
`379/242; 709/200, 220, 221, 222, 223-224
`providing a configuration manager operableto interface with
`a host coupled to the telecom platform, providing a node
`platform manager operable to provide management func-
`tions for a node, providing a service manager operable to
`start and stop processes at the direction of the node platform
`U.S. PATENT DOCUMENTS
`
`5,940,487 * secsssssssssssee 379/201-manager, and providing a node system integrity manager8/1999 Bunch et al.
`
`operable to monitor inter-node links.
`FOREIGN PATENT DOCUMENTS
`
`(60)
`
`(56)
`
`References Cited
`
`
`
`93205508—10/1993, (WO) oa. eeeeeceeseneneneeee G06F/9/40 42 Claims, 21 Drawing Sheets
`
`
`
`12
`
`‘
`
`fant Sere
`144
`LAYER
`TELECOM PLATFORM APIs
`|
`NUMBER 1
`L__.____.---- =E=
`
`poween- oe -L_
`Sxl
`UER
`LAY!
`TELECOM PLATFORM SERVICES
`M NUMBER 2
`i i i ie i i New i
`
`|
`
`T
`a
`
`po----- ainee -aee
`
`
`
`
`1 |
`II!
`
`| [|||
`
`t
`3
`a
`t
`I
`
`
`
`
`a
`_Ea
`1674
`i
`
`
`
`} Pee FameSeEA |
`| AVE
`SYSTEM INTERFACE LAYER
`|I
`
`|Nba 3 0S, NETWORK PROTOCOLS, 3rd PARTY |
`
`
`
`Ex.1008 / Page 1 of 41Ex.1008 / Page 1 of 41
`Ex.1008 / Page 1 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 1 of 21
`
`US 6,269,396 B1
`
`N
`pocomaec se sasecse
`LAYER
`“N
`NUMBER 1
`
`
`
`14
`
`Lo~~
`
`penne eee e eee
`J
`LAYER
`TONG
`NUMBER 2
`|
`ce re oe es es ee
`
`DIRECT
`ACCESS
`
`
`
`as
`I
`
`I
`I
`!
`1674
`
`1I
`
`l
`I
`1
`I
`!
`1
`SS |
`
`
`LAYER-,CoSYSTEMINTERFACELAYER !
`QS NETWORK PROTOCOLS, 3rd PARTY
`1
`; NUMBER 3°
`
`Dee ee eeaee ee ee ee
`
`
`Ex.1008 / Page 2 of 41Ex.1008 / Page 2 of 41
`Ex.1008 / Page 2 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 2 of 21
`
`US 6,269,396 BI
`
`<<
`
`eeeeJ
`
`“HS
`
`zSo—<2—aa.
`
`FIG. 2
`
`
`Ex.1008 / Page 3 of 41Ex.1008 / Page 3 of 41
`Ex.1008 / Page 3 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 3 of 21
`
`US 6,269,396 BI
`
`2Z$}9S])JOMIApapojdxaaSeuQ
`
`¥SOHOS
`
`p09"7SIspi7pewudeTieweule
`
`
`uorjooddyeVS.yeuse/aancv
`[090}0Jq,paddowsiN7
`aysD0}5
`
`
`
`$}aS4Daqoynquysip;a3}Sopsay
`
`
`
`WUaLEYIP>“aliaspanne
`
`
`
`UNOND|gWOI9A>]
`
`&Olt
`
`$}aS})JOMaIApapoldxa
`
`/|ZSpoNUONooddy
`
`7Msceceecereeeeeeecefeeeeeeeoeeeee=_lf[osoessetess
`
`
`
` sjaSQJJO,saidodaiding|i
`
`
`
`paxo\dapaso
`
`sapoussoi90|
`
`
`
`BPON01)x3
`
`Sypainbyuey
`
`POWN9S10110
`
`
`
`
`
`aaisagsOssad0lgIEEEeeeeeee=“(9Sd)dnos9
`
`
`
`
`
`
`Ex.1008 / Page 4 of 41Ex.1008 / Page 4 of 41
`Ex.1008 / Page 4 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 4 of 21
`
`US 6,269,396 B1
`
`Application Services 60
`
`
`Event
`Services
`
`Distributed
`Object
`Services
`
`Node
`Network
`Management|| Management
`Services
`Services
`
`
`
`||NODEMANAGEMENT
`SERVICES|sawenttdRET}a—S.atSERVICES
`
`
`wyZl
`; neSIMULATOR
`
`el 48 5< LaeSERVICES
`
`2| 2Oo
` [arEVENT SERVICES
`
`
`[__ LZDICTIONARY/ SERVICES
`
`
`
`
`C- {sareSTarisTIon[SERVICES
`
`
` 65
`
`cuSERVESSERVICES
`SB
`
`
`
`
`
`
`
`o| =
`
`DISTRIBUTED
`OBJECT SERVICES
`
`7
`
`OS, NETWORKS PROTOCOLS, 3rd PARTY
`
`
`Ex.1008 / Page 5 of 41Ex.1008 / Page 5 of 41
`Ex.1008 / Page 5 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 5 of 21
`
`US 6,269,396 BI
`
`PLATFORM
`APPLICATIONS
`
`Dictionary
`Managment
`System Package
`
`Host Maintenance
`Simulator Package
`
`oOLu5a=2oOld4lJ—
`
`Navigator
`
`a<==ce
`
`* SINGLE-THREADED PROCESS
`
`* OPTIONAL PACKAGE
`
`FIG. 6
`
`
`Ex.1008 / Page 6 of 41Ex.1008 / Page 6 of 41
`Ex.1008 / Page 6 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`PM Node (standby)
`121
`
`FIG.
`
`7A
`
`100
`
`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 6 of 21
`
`US 6,269,396 B1
`
`100
`
`PM SUBSYSTEM Network Level Testing
`PM Node (active)
`
`102
`
`110
`
`102
`
`adjtime()
`
`120
`
`xntpd (master)
`
`Application Node
`
`xntpd (slave)
`
`
`Ex.1008 / Page 7 of 41Ex.1008 / Page 7 of 41
`Ex.1008 / Page 7 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 7 of 21
`
`US 6,269,396 BI
`
`sayosauab
`
`abunyo
`
`cs
`
`fC
`
`yeusaua|
`
`|dI/ddL|
`jlwsuDJ]
`
`
`
`SN}O}SSpon
`
` APoN
`mosmsSSOF
`
`
`SaD1AaSyUaWwaboUDWapPoN|
`nysaynou@)|||rel
`sa6u049(@{eg=)so6u0ugQZOla
`
`uoloaddy
`sjon}sul
`gC|snjo}sAynou
`sasnjo}suonooyddo|sabuoys
`
`
`pud9SqauiwJayapif~~7sasnojs
`vO!—sabuoyo
`
`
`S9olMasjusWaboUD_yJOMJaN
`
`
`APONJuaWwaboOUNWwW40})0[4
`sabuoyoAjnou)j|———-
`
`
`Ly3U}SPJDMIO}
`
`}SOH
`
`Or
`
`
`Ex.1008 / Page 8 of 41Ex.1008 / Page 8 of 41
`Ex.1008 / Page 8 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`
`
`

`

`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 8 of 21
`
`US 6,269,396 B1
`
`Change CE Status;
`Link Status Change
`
`Audit Req
`
`TP CORE SERVICES PROCESS INTERACTION
`
`RUN ON ALL NODES
`
`II
`
`MegoHub Host
`
`Remove, Restore,
`(Test)Node
`
`112
`
`NodePM
`
`Remove!|node Node/Link
`trestNode
`Status
`Status Change
`
`Remove,
`Restore, CE
`Restore,
`(Test)Node||Status
`
`Node
`Status
`
`Remove,
`Restore CE;
`Heartbeat,
`
`CE
`Fault
`
`
`Ex.1008 / Page 9 of 41Ex.1008 / Page 9 of 41
`Ex.1008 / Page 9 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`U.S. Patent
`
`Jul. 31, 2001
`
`US 6,269,396 B1
`
`Sheet 9 of 21
`
`Descriptor
`
`200
`
`Tel
`
`
`Ex.1008 / Page 10 of 41Ex.1008 / Page 10 of 41
`Ex.1008 / Page 10 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`snjo}s3)S39SAZONIU]/S\101WS=—(ssayjo)
`ryaSPONWd4050HSOPONWdSSPONIVNBWI}PUDSEpoN]/OoeaSny0}S
`4Q@}0a15=|3Dsezjonyl/syOsWS
`YoP30sazyonul/SuoIsWS
`==(sbwbyyu0g)
`nhsobuoy)
`99930819
`33}09=(Wd}®N)39930819
`
`
`[ddy/9Sd/PONJOSN}O\S4/0M}9N-SN}DIS
`
`[ddy¥/9Sd/aPON(13S-NIN)
`300Ndl U.S. Patent
`9k2"UIDWSHH/1SCHaxa6ybyuo)OX9"UOWNdION3X9"UlOWNdePONaXa"SSID0JdNSd\66S/P'¢21/2)3/
`
`
`
`
`
`
`
`
`
`
`(13S-NIW)LIN]
`
`
`
`39NIN-3dd$¥9)$
`
`yodsOWSSW0}S
`
`yurwayssSQjo
`
`9sazyonul/syo\sWS
`
`
`
`(SWH)3991084)
`
`
`
`
`
`abuny)snjo}SapoN
`
`=Fa
`
`.eSG6Old
`
`
`Ex.1008 / Page 11 of 41Ex.1008 / Page 11 of 41
`Ex.1008 / Page 11 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`
`
`
`
`
`
`
`
`xd"UIONSHH/}SOHaxa‘ubybiyu059X9"UIDAWION3X9"UlOWWd2PONOX9"SS990/qNSdyg6S/P'¢94/2)8/
`
`
`
`
`
`(ASI)LIN]3GONdl
`
`U.S. Patent
`
`
`
`
`
`
`
`Jul. 31, 2001
`
`Sheet 11 of 21
`
`US 6,269,396 BI
`
`
`
`ysanbaya0jsay
`
`
`
`ysanbay30}say
`
`$99ASI3°381]
`
`
`
`ysanbayas0}say
`
`
`
`(139ASI)309}0219
`
`
`
`(u39ASI)39910819
`
`
`
`sabupysnjyo}s39
`
`JOsazyontuy/syoysWS
`
`JDSaziOnlul/Sy0}SWS
`
`
`
`
`
`2PONWd40}sOHSaPONWd
`"=——————————— snjoj¢
`SOPONIVa,
`
`abupy)$n}0}Sapon
`
`(ddy/9Sq/aPON
`
`
`
`snyojis\ddy/9Sd/@pon
`
`J6Old
`
`
`Ex.1008 / Page 12 of 41Ex.1008 / Page 12 of 41
`Ex.1008 / Page 12 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 12 of 21
`
`US 6,269,396 BI
`
`
`
`snyojs[ddy/9Sd
`
`
`
`ysonbayasoysay
`
`
`
`(ASI-1SOd)LIN!
`
`
`
`ysanbayajqouy
`
`
`
`ysanbayajqouy
`
`
`
`snyojg|ddy/9Sq
`
`
`
`snyojs|ddy/9Sd
`
`d6Old
`
`
`
`sabuny)snyo}s39
`
`3G0NdL
`
`
`
`
`
`9X9"UIOWSWH/ISOHaxaibybiyu0yXa"UIOWNdON3X9"UOWdaPON9X9"SS990IdNS
`3PONWdJOISO}S8PONWdS3PONIV
`
`Td
`mosmise|
`SOO-|2}0)SJuasisiadyimsuoNnDaiddysoy|30sezyoulul/syo}SWSOLAW
`
`
`
`
`
`
`
`
`\ddypaysonbasJoy499|qoU7SayxOAU|Wd}eN
`
`
`$39ASI-1SOd40}499}094)SaxOAU|Wd}9N
`
`sobuoy)snjyoys39JYOLSIY
`
`
`
`30sazyontul/syo}SWS]SyaNWW
`
`JUOLS3u
`
`
`
`3DsayqouyWSTWNNVW
`
`JIEYNA
`
`
`Ex.1008 / Page 13 of 41Ex.1008 / Page 13 of 41
`Ex.1008 / Page 13 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 13 of 21
`
`US 6,269,396 B1
`
`External Request
`
`710
`
`FIG.
`SM
`
`CE(s)
`
`
`
`createApplication
`
`stateChgNotify(U,E,X
`
`stateChgNotify(U,X,X)
`
`disableApplication
`;
`
`(stateChqNotify(S,x,X)
`
`fork/exec
`ready (L,0,1)
`
`initComplete (L,D,X)
`setAdminState(U)*
`setAdminStateResp(U,E,X)
`
`|
`setAdminState(U)
`
`setAdminStateResp(U,X,X)
`
`setAdminState(S)
`setAdminStateResp(S,X,X)
`
`setAdminState(L)
`;
`setAdminState(L)
`stateChgNotify(L,X,x)
`ee setAdminStateResp(L,X,X)
`
`;
`disableApplication
`setAdminState(L)
`stateChqNotify(L,x,X
`X)
`ee setAdminStateResp(L,X,X)
`
`removeApplication
`
`stateChgNotify(S,E,|)
`
`setAdminState(S)
`;
`setAdminStateResp(L,D,1)
`
`terminateProcess
`
`endProcess
`
`| - Idle
`£ - Enabled
`
`D —- Disabled
`S - Shutdown
`
`U - Unlocked
`L - Locked
`
`X - Don't care
`
`+ This message will only be sent
`
`if
`
`the Auto Unlocked status is set
`
`to AUTO_UNLOCKED
`
`
`Ex.1008 / Page 14 of 41Ex.1008 / Page 14 of 41
`Ex.1008 / Page 14 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 14 of 21
`
`US 6,269,396 B1
`
`eventmanagerimpl.exe
`
`Application program
`
`296
`
`Event :
`: Manager
`,
`Event :
`: Receiver
`Nome = Node123)|register_|(node state change)
`
`
`
`: Receiver
`Event :
`(IPR notification)
`
`: Manager
`Event :
`Name = IprEventMgr
`
`generate event
`
`[prgrImpl.exe
`
`262
`
`NodePMMain.exe
`
`254
`
`FIG.
`
`17
`
`Send To Host
`
`Send To Host
`
`272
`
`
`IPR2HOST
`
`IPR2HOST
`TRANSLATOR
`
`FIG. 12
`
`TRANSLATOR
`
`Monitor
`
`
`Receive
`
`
`Active PM Node
`
`
`
`276
`
`
`CORBA I/F
`
`
`
`CORBA I/F
`IPRClient WRAPPER
`
` WRAPPER OLD
`NEW APPLICATION
`OLD LIBRARY NEW
`
`
`APPLICATION
`APPLICATION
`Client Processes Issued Requests are Forwarded to IprMgr
`in Active PM
`
`
`
`
`Ex.1008 / Page 15 of 41Ex.1008 / Page 15 of 41
`Ex.1008 / Page 15 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 15 of 21
`
`US 6,269,396 B1
`
`FIG. 18
`
`Application
`
`IprManager
`
`IPR GUI
`EventMonager
`registerRegExp(IPRs)
`
`issue(Ipr)
`
`notify(Ipr)
`
`notify(Ipr)
`
`
`Ipr Browser Main Window
`
`File
`
`Tools
`View Ipr
`
`
`SIS} [ea IR.
`
`IPR Category Overview
`
`100
`
`ano
`
`££
`ec
`S
`oO
`oe
`Pe
`
`
`
`MANUAL EXTERNAL MEMORY REMOVAL
`
`00:26:00
`
`206:
`
`06:35:20
`
`
`
`3 08/05/95 00:06:15
`278 08/05/95 00:06:13
`280 08/05/95 00:06:13
`3 08/05/95 00:06:13
`15 08/05/95 00:06:1
`15 08/05/95 00:06:1
`15 08/05/95 00:06:1
`3 08/05/95 00:06:1
`15 08/05/95 00:06:1
`15 08/05/95 00:06:1
`0 08/05/95 00:06:10
`3 08/05/95 00:06:09
`15 08/05/95 00:06:09
`
`MANUAL PROCESSOR REMOVAL
`DS1 HOURLY THRESHOLD CROSSING
`DS{ DAILY THRESHOLD CROSSING
`MANUAL PROCESSOR REMOVAL
`MANUAL EXTERNAL MEMORY REMOVAL
`MANUAL EXTERNAL MEMORY REMOVAL
`MANUAL EXTERNAL MEMORY REMOVAL
`MANUAL PROCESSOR REMOVAL
`MANUAL EXTERNAL MEMORY REMOVAL
`MANUAL EXTERNAL MEMORY REMOVAL
`EXTERNAL MEMORY REMOVAL
`MANUAL PROCESSOR REMOVAL
`
`
`Ex.1008 / Page 16 of 41Ex.1008 / Page 16 of 41
`Ex.1008 / Page 16 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 16 of 21
`
`US 6,269,396 B1
`
`PM Node (active)
`
`PM Node (standby)
`
`Covet=
`
`306
`
`298
`
`sends
`data
`
`sends data
`
`Application Node
`
`shared
`
`memory Peg Counters
`OcMProcess
`
`(made up of 12~ L+++1+1 (69 minutes totel) FIG. 15
`five minute slots) yo
`
`299
`
`TheDcMaster
`
`RevCollM
`
`evoollMsg
`
`DcProcess
`
`
`Ex.1008 / Page 17 of 41Ex.1008 / Page 17 of 41
`Ex.1008 / Page 17 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 17 of 21
`
`US 6,269,396 B1
`
`PM Node for SCP1
`
`544
`
`TC Server
`Requests
`
`-—
`Application Node
`
`Application
`
`Application
`
`Del
`TC Server Process -—~
`r—__
`
`Counter
`Threshold
`Notifications
`
`346
`
`Application
`
`Application Node
`340
`
`
`
`Application
`Application Code
`
`
`
` ORB-independent Thresholded Counter Subsystem
`Objects
`(ThresholdedCounterStore, ThresholdedCounter,
`
`
`
`
`
`PM Node
`
`S64
`
`ORB-dependent Thresholded Counter Store server
`(orbThresholdedCounterStore)
`
`FIG. 18
`
`
`
`
`
`
`Ex.1008 / Page 18 of 41Ex.1008 / Page 18 of 41
`Ex.1008 / Page 18 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 18 of 21
`
`US 6,269,396 B1
`
`Sends outbound
`messages to the
`host or another node
`
`MH creates the
`link processes
`
`!1
`or other nodes 570~|
`
`MH
`
`| saree}
`; Memory ,
`!
`(logical
`!
`link list)
`
`The Linkxxx
`processes handle
`inbound messages
`from the host
`
`MH Test(ssMHTestDriver=)
`Application (user
`and Control
`(PM
`
`
`
`La) LinkTcP) (LinkUDP)(_LinkONI
`
`
`
`UDP 378
`
`|Decnet
`
`UDP 378~_]Decnet
`
`MH(MHTestDriver=)Driver
`
`+eControl
`
`(PM
`
`Application (user
`
`FIG. 20
`
`
`Ex.1008 / Page 19 of 41Ex.1008 / Page 19 of 41
`Ex.1008 / Page 19 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 19 of 21
`
`US 6,269,396 B1
`
`DOME Subsystem
`Local node-client requests/responses
`re |
`
`FIG.
`
`217
`
`Client
`
`es
`| shored [900
`I memory l
`sims it i
`
`CE I/F
`
`|
`shared
`1
`L memory I.380
`Control 1/F
`
`.
`.
`incoming
`messages
`
`_I
`
`|
`
`I | |
`
`I
`|
`Lo
`
`|
`|
`Remote!
`node-client!
`|
`responses| —
`
`Application Process
`wee et eee ee eee =
`
`FIG. 22 1402 x
`
`
` Trace Buffer
`410
`
`
`Ex.1008 / Page 20 of 41Ex.1008 / Page 20 of 41
`Ex.1008 / Page 20 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 20 of 21
`
`US 6,269,396 B1
`
`
`Ex.1008 / Page 21 of 41Ex.1008 / Page 21 of 41
`Ex.1008 / Page 21 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`U.S. Patent
`
`Jul. 31, 2001
`
`Sheet 21 of 21
`
`US 6,269,396 B1
`
`aay
`
`440
`
`Application n
`
`
`Application 1 456
`
`454
`
`
`Ex.1008 / Page 22 of 41Ex.1008 / Page 22 of 41
`Ex.1008 / Page 22 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`US 6,269,396 B1
`
`1
`METHOD AND PLATFORM FOR
`INTERFACING BETWEEN APPLICATION
`PROGRAMS PERFORMING
`TELECOMMUNICATIONS FUNCTIONS AND
`AN OPERATING SYSTEM
`
`RELATED APPLICATION
`
`This patent application claims benefit from provisional
`patent application No. 60/069,576, filed on Dec. 12, 1997,
`and entitled Telecom Platform System and Method.
`
`TECHNICAL FIELD OF THE INVENTION
`
`This invention is related in general to the field of tele-
`communications. More particularly, the invention is related
`to a telecom platform system and method.
`
`SUMMARY OF THE INVENTION
`
`10
`
`15)
`
`In one aspect of the present invention, a telecom platform.
`forming an interface between application programs perform-
`ing telecommunications functions and an operating system
`running on at
`least one node at a site supporting the
`application programs, and further forming an interface
`between the application programsand a telecommunications
`network. The telecom platform includes network manage-
`mentprocesses operable to provide inter-node configuration,
`monitoring and management functionality, node manage-
`ment processes operable to provide node initialization,
`configuration, monitoring, and management functionality,
`event processes operable to provide initialization,
`termination, and distribution of tasks in response to prede-
`termined events, common processes operable to provide a
`library of a plurality of programmingtools for the develop-
`ment of the application programs, communications pro-
`cesses operable to provide message handling functionality,
`and distributed object processes operable to provide a dis-
`tributed database repository for object-based communica-
`tions.
`
`40
`
`45
`
`In another aspect of the present invention, a method of
`providing a software interface between application pro-
`grams performing telecommunications functions and an
`operaling system running on at
`least one node at a site
`supporting the application programs,and further forming an
`interface between the application programs and a telecom-
`munications network is provided. The method includes
`supplying network management processes operable to pro-
`vide inter-node configuration, monitoring and management
`functionality, supplying node management processes oper-
`able to provide node initialization, configuration,
`monitoring, and management functionality, supplying event
`processes operable to provide initialization, termination, and
`distribution of tasks in response to predetermined events,
`supplying common processes operable to provide a library
`of a plurality of programmingtools for the development of 5
`the application programs, supplying communications pro-
`cesses operable to provide message handling functionality,
`and supplying distributed object processes operable to pro-
`vide a distributed database repository for object-based com-
`munications.
`
`60
`
`In yet another aspect of the present invention, a method of
`providing a software interface between application pro-
`grams performing telecommunications functions and an
`operating system running on at Icast one node at a site
`supporting the application programs,and further forming an
`interface between the application programs and a telecom-
`munications network is provided. The method includes
`
`65
`
`2
`providing a network platform manager operable to remove
`nodes from service, restore nodes to service, remove appli-
`cations from service, and restore applications to service,
`providing a network system integrity manager operable to
`monitor the nodes and to enable failed nodes to recover,
`providing a configuration manager operableto interface with
`a host coupled to the telecom platform, providing a node
`platform manager operable to provide management func-
`tions for a node, providing a service manager operable to
`start and stop processesat the direction of the node platform
`manager, and providing a node system integrity manager
`operable to monitor inter-node links.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`For a better understanding of the present invention,ref-
`erence may be made to the accompanying drawings,
`in
`which:
`
`FIG. 1 is a simplified block diagram of the telecom
`platform architecture layers according to an embodiment of
`the present invention;
`FIG. 2 is a simplified block diagram of the telecom
`platform conceptual components according to an embodi-
`ment of the present invention;
`FIG. 3 is a block diagram of telecom platform’s concep-
`tual components and relationships therebetween according
`to an embodiment of the present invention;
`FIG. 4 is a simplified block diagram of the logical
`partitioning of the telecom platform according to an embodi-
`ment of the present invention;
`FIG. 5 is a simplified block diagram of the telecom
`plattorm services and their dependencies according to an
`embodimentof the present invention;
`FIG. 6 is a simplified block diagram of the physical
`partitioning of the telecom platform according to an embodi-
`ment of the present invention;
`FIG. 7A is a block diagram of NetPM’s testing flow
`according to an embodiment of the present invention;
`FIG. 7B is a block diagram of NetPM’s time synchroni-
`zation flow according to an embodiment of the present
`invention;
`FIG. 7C is a block diagram showing fault detection and
`interaction between network managementservices and node
`management services according to an embodiment of the
`present invention;
`FIG. 7D is a block diagram showing interaction between
`core services according to an embodiment of the present
`invention;
`FIG. 8 is a state transition diagram of telecom platform
`nodes according to an embodimentof the present invention;
`FIG. 9A is a simplified block diagram of node start up
`process according to an embodiment of the present inven-
`tion;
`FIG. 9B is a message flow diagram of node initialization
`process according to an embodiment of the present inven-
`tion;
`FIG. 9C is a message flow diagram of node initialization
`process according to an embodiment of the present inven-
`tion;
`FIG. 9D is a message flow diagram of nodeinitialization
`process according to an embodiment of the present inven-
`tion;
`FIG. 10 is a message flow diagram of service management
`interface protocol according to an embodiment of the
`present invention;
`
`
`Ex.1008 / Page 23 of 41Ex.1008 / Page 23 of 41
`Ex.1008 / Page 23 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`US 6,269,396 B1
`
`10
`
`15)
`
`3
`FIG. 11 is a simplified block diagram showing Event
`Manager uses according to an embodiment of the present
`invention;
`FIG. 12 is a simplified information and problem report
`(IPR) flow diagram according to an embodiment of the
`present invention;
`FIG. 13 is a simplified TPR processing flow diagram
`according to an embodimentof the present invention;
`FIG. 14 is an exemplary IPR view graphicaluser interface
`according to an embodimentof the present invention;
`FIG. 15 is a simplified block diagram showing data
`collection according to an embodimentof the present inven-
`tion;
`FIG. 16 is a simplified block diagram of the data collec-
`tion subsystem according to an embodiment of the present
`invention;
`FIG. 17 is a simplified block diagram of the threshold
`counter data communication paths according to an embodi-
`ment of the present invention;
`FIG. 18 is a simplified block diagram of the threshold
`counter subsystem according to an embodiment of the
`present invention;
`FIG. 19 is a simplified block diagram of the message
`handling subsystem according to an embodiment of the -
`present invention;
`FIG. 20 is a simplified block diagram of message handling
`testing according to an embodimentof the present invention;
`FIG. 21 is a simplified block diagram of the distributed
`object messaging environment according to an embodiment
`ot the present invention;
`FIG. 22 is a simplified block diagram of the internal
`debugging and tracing object relations according to an
`embodiment of the present invention;
`FIG. 23 is a simplified block diagram of the dictionary
`management system according to an embodiment of the
`present invention;
`FIG. 24 is a simplified block diagram of the hardware
`representation of the telecom platform according to an
`embodiment of the present invention;
`FIG. 25 is a simplified block diagram of the software
`representation of the telecom platform according to an
`cmbodiment of the present invention; and
`FIG. 26 is a simplified block diagram showing dynamic
`mapping of software onto hardware representation of the
`telecomplatform according to an embodiment of the present
`invention.
`
`40
`
`45
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`Architecture Overview
`Telecom platform (TP) 10 of the present invention is a
`software system designed to support the development and
`execution of distributed, scalable, fault resilient telecommu-
`nications applications 12. Telecom platform 10 provides a
`unique set of tools developed for a computing environment
`such as UNIX. These tools include not only the set of
`interfaces, libraries, and executables provided bythe tele-
`com platform development and runtime packages, but also
`a set of conceptual components necessary to design and
`managedistributed, scalable, fault resilient applications.
`Asshownin FIG. 1, telecom platform 10 is comprised of
`three distinct software layers 14-16. Layer #1 is a telecom
`platform application programming interface (API) layer 14;
`layer #2 is a telecom platform services layer 15; and layer #3
`is a systemsinterface layer 16. Telecom platform API layer
`
`60
`
`65
`
`4
`14 provides the communication methods for accessing tele-
`com platform services layer 15, which is comprised of
`telecommunications middleware services. Telecom platform
`services layer 15 is the software layer that provides the most
`commonly needed middleware services for a UNIX-based
`telecommunications system, for example. System interface
`layer 16 is comprised of operating system (OS) API and the
`network links. System interface layer 16 defines the func-
`tions of process and thread management, memory
`management, timers, file system, communication, interface
`to hardware devices, and other system components. Telecom
`platform 10 allows higher level client applications 12 to be
`decoupled from the operating system and network. By using
`telecom platform 10, developers may write applications
`without having to master the intricacies of the underlying
`services, such as the operating system and the network, that
`perform the work on behalf of the application.
`FIG. 2 is a block diagram of the conceptual components
`associated with telecom platform 10. The smallest concep-
`tual component is a configurable element (CE) 30. A con-
`figurable element 30 is defined by telecom platform 10 as
`one or more copies of a UNIX executable program that is
`administered by telecom platform 10. For example, a con-
`figurable element may be a link process, database, graphical
`user interface, timing process, query process, error handlers,
`etc. Configurable elements 30 are the fundamental building
`blocks of application programs. ‘The mostbasic services that
`telecom platform 10 provides to application developers are
`those service to create, configure, and monitor configurable
`elements 30. Configurable elements 30 can be configured to
`be started at specific points during node initialization. The
`Unix executable configurable elements represent can be run
`multiple times for scalability or redundancy. Thresholds of
`the numberof instances of configurable elements required to
`provide adequate services can be configured as well as
`whether or not the instances should be restarted automati-
`
`cally by the telecom platform 10 in the event of a process
`failure.
`
`Configurable attributes of a configurable elementincludes
`RunLevel, whichis the level a configurable elementstarts at.
`The RunLevels include PREMIN, OS_MIN, IN_SVC,
`and POST_IN_SVC. PREMIN run level specifies that
`the configurable element will be created automatically by a
`service management subsystem at boot time. PRE_MIN
`configurable elements are not monitored by the platform
`manager subsystem. OS_MIN specifies that
`the config-
`urable element will be created when the nodeis transitioning
`to OS_MIN. IN_SVCspecifics that the configurable cle-
`ment will be created when the node is transitioning to
`IN_SVC. POST_IN_SVCspecifies that the configurable
`element will be created when the nodetransitions to the
`
`IN_SVC state. Another configurable attribute is
`NumberOflnstances, which specifies how many copies of
`the executable is to be run. InServiceThreshold is a config-
`urable attribute that specifies how many out of NumberO-
`fInstances is required to be up and running to make the
`configurable element’s state be ENABLED. If the number of
`instances drop below this threshold, the entire configurable
`elementor all the instances of the configurable element are
`removed. Another attribute of the configurable element is
`the HeartbeatSchedule which specifies the schedule for
`heartbeat messages to be sent to a configurable element.
`Each configurable element also has an AuditSchedule,
`whichspecifics the schedule for audit messages to be sent to
`the configurable element.
`A configurable element set (CESet) 26 is defined by
`telecom platform 10 as a group of configurable elements
`
`
`Ex.1008 / Page 24 of 41Ex.1008 / Page 24 of 41
`Ex.1008 / Page 24 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`

`

`US 6,269,396 B1
`
`5
`designed to be deployed together on one or more nodes 24.
`A configurable element set is a distributable component.
`Telecom platform 10 may not manage configurable element
`sets 26 directly, but does support their creation and deploy-
`ment. Configurable element sets 26 can be viewed as being
`the distributable and/or replicable components of an appli-
`cation 28.
`An application 28 is defined as a group of configurable
`element sets 26 that fully define all of the configurable
`elements 30 of a distributed program. Telecom platform 10
`provides software to manage applications 28 within a site
`20. Defining the configuration of applications in terms of
`their distributable componcnts allows the software for a
`distributed application to be defined independently of the
`hardware on whichit will be run. An application’s config-
`urable element sets will at some point in time be deployed
`to the nodes 24 of a site 20. When that occurs the scale and
`
`10
`
`15)
`
`6
`each POST_IN_SRV configurable element. State changes
`for POST IN SRV configurable elements do not affect
`node state, and maybe started and stopped repeatedly. The
`process of stopping a POST_IN_SRV configurable element
`does not cause the node to downgradeto a lowernodestate.
`A site 20 is defined by the telecom platform to be a group
`of nodes that distributed applications can be deployed
`across. Telecom platform provides a telecom platform appli-
`cation known as the platform manager that manages nodes
`24 within a site 20. A site may be made up of at least one
`node. In multi-node sites, the platform manager application
`may run as an active/standby distributed application in two
`of the nodes. In single node sites, the platform manager
`application runs in the single node along with user defined
`applications, but runs without the fault handling capabilities
`provided by a standby node. Administration of a site is
`provided through the platform manager.
`A processor service group (PSG)22 is defined as a group
`of nodes that a specific configurable element set 26 is
`deployed to for redundancy. Telecom platform 10 provides
`software applications to manager processor service groups
`within an application. Processor service groups support
`reduodancy by allowing the telecomplatformuser to iden-
`tify the number of nodes a configurable element set
`is
`required to run on to provide an adequate level of service. As
`the state of the nodes or the configurable element sets
`running on them change, telecom platform 10 verifies that
`the appropriate level of service is maintained or it will
`change the application status as configured.
`FIG. 3 is a diagram illustrating a system 40 design
`employing the conceptual components of telecom platform
`10 which are mapped onto hardware components.
`In terms of hardware configuration, a node is a computer
`processor within a network (such as ethernet) that can act
`either as a client or a server. Each nodehasa single instance
`of the operating system running onit. The processors within
`a node cannot run independently from one another because
`of their dependence on the operating system. Each node at
`a site can be classified as a platform manager or an appli-
`cation node. A site can consist of one node or a grouping of
`nodes that are connected to a host. The platform manager
`node has a redundant mate. The platform manager node and
`its mate may operate in an active/standby mode ora load-
`sharing mode.
`System 40 has eight nodes, which includes two platform
`manager nodes (active 42 and standby 43) and six applica-
`tion nodes 44-49. An application 50 for handling telephone
`calls based on the time the call is placed, or time dependent
`routing, is deployed across the nodes. Configurable element
`sets 52 and 54 of application 50 are the distributed compo-
`nents which supply the time dependentrouting functionality.
`Each configurable element set 52 and 54 contain the soft-
`ware processes of the UNIX executable programs or con-
`figurable elements for a specific time zone. As shown,
`application 50 does not haveto reside on a single application
`node 44-49. It may be desirable to map configurable ele-
`ment sets onto different nodes. This makes it possible to
`scale the application by increasing the number of nodes to
`which the configurable element sets are configured.
`The telecom platform internal architecture is described
`from both the logical and physical partitioning perspectives.
`The logical partitioning decomposes the telecom platform
`into distinct functional areas as shown in FIG. 4. Each
`
`functional arca contains a cohesive group of classes, which
`together provide one particular system function. The physi-
`cal partitioning describes the concrete software and hard-
`ware decomposition of the system’s context. The services
`
`
`Ex.1008 / Page 25 of 41Ex.1008 / Page 25 of 41
`Ex.1008 / Page 25 of 41
`
`TESLA, INC.TESLA, INC.
`TESLA,INC.
`
`fault resilience of the application 28 will be determined
`based on the number of nodes used to support each config-
`urable elementset.
`A node 24 is defined as an instance of a supported
`operating system on which telecom platform 10 runs. Tele-
`com platform 10 provides software that manages processes
`on nodes 24. Nodes 24 may be fault tolerant or non-fault
`tolerant, sing

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