`(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



