`USOO63934.81B1
`(10) Patent No.:
`US 6,393,481 B1
`(12) United States Patent
`United States Patent
`(10) Patent No.:
`US 6,393,481 B1
`(12)
`(45) Date of Patent:
`May 21, 2002
`Deo et al.
`(45) Date of Patent:
`May21, 2002
`Deoet al.
`
`
`(54) METHOD AND APPARATUS FOR
`(54) METHOD AND APPARATUS FOR
`PROVIDING REAL-TIME CALL
`PROVIDING REAL-TIME CALL
`PROCESSING SERVICES IN AN
`PROCESSING SERVICES IN AN
`INTELLIGENT NETWORK
`INTELLIGENT NETWORK
`
`(75)
`(75)
`
`(73)
`(73)
`(*)
`(*)
`
`(21)
`(21)
`(22)
`(22)
`
`(63)
`(63)
`(60)
`(60)
`
`(51)
`(61)
`(52)
`(52)
`
`(58)
`(58)
`
`Inventors: Ajay P. Deo, Lewisville, TX (US);
`Inventors: Ajay P. Deo, Lewisville, TX (US);
`Sami Syed, Tervuren (BE); Henry
`Sami Syed, Tervuren (BE); Henry
`Wang, Irvine, CA (US); Wendy T.
`Wang,Irvine, CA (US); Wendy T.
`Wong, Dallas, TX (US)
`Wong,Dallas, TX (US)
`Assignee: WorldCom, Inc., Clinton, MS (US)
`Assignee: WorldCom, Inc., Clinton, MS (US)
`Notice:
`Subject to any disclaimer, the term of this
`Notice:
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`US.C. 154(b) by 0 days.
`
`Appl. No.: 09/421,827
`Appl. No.: 09/421,827
`Filed:
`Oct. 20, 1999
`Filed:
`Oct. 20, 1999
`Related U.S. Application Data
`Related U.S. Application Data
`
`Continuation-in-part of application No. 09/128,937, filed on
`Continuation-in-part of application No. 09/128,937, filed on
`Aug. 5, 1998.
`Aug. 5, 1998.
`Provisional application No. 60/061,173, filed on Oct. 6,
`Provisional application No. 60/061,173, filed on Oct. 6,
`1997, and provisional application No. 60/104,890, filed on
`1997, and provisional application No. 60/104,890,filed on
`Oct. 20, 1998.
`Oct. 20, 1998.
`
`Int. Cl............................................... G06F 15/173
`Tint. C17 occ ccsceseeeescsescseees G06F 15/173
`U.S. Cl. ....................... 709/224; 709/218; 709/223;
`US. C1. ecccecccetetee 709/224; 709/218; 709/223;
`709/224; 709/226; 709/249; 379/201; 379/207;
`709/224; 709/226; 709/249; 379/201; 379/207;
`379/219; 379/220; 379/230; 379/266; 340/201;
`379/219; 379/220; 379/230; 379/266; 340/201;
`340/219; 340/220; 340/522; 340/585
`340/219; 340/220; 340/522; 340/585
`Field of Search ................................. 370/201, 219,
`Field of Search ............0..cc cece 370/201, 219,
`370/220,585, 522; 379/201, 219, 220,
`370/220, 585, 522; 379/201, 219, 220,
`266, 207, 230; 709/224, 218, 226, 223,
`266, 207, 230; 709/224, 218, 226, 223,
`249
`249
`
`(56)
`(56)
`
`References Cited
`References Cited
`U.S. PATENT DOCUMENTS
`U.S. PATENT DOCUMENTS
`Oberlander
`12/1987
`4,713,806 A
`4,713,806 A 12/1987 Oberlander
`Yoshie et al.
`10/1992
`5,157,390 A
`5,157,390 A 10/1992 Yoshie et al.
`5,323,452 A
`6/1994 Dickmanetal.
`5,323,452 A 6/1994 Dickman et al.
`5,335,268 A 8/1994 Kelly, Jr. et al.
`5,335,268 A
`8/1994 Kelly, Jr. et al.
`5,450,480 A
`9/1995 Manetal.
`5,450,480 A 9/1995. Man et al.
`
`5,463,682. A 10/1995 Fisher et al.
`5,463,682 A
`10/1995 Fisheret al.
`12/1995 Waldoetal.
`5,475,817 A
`5,475,817 A
`12/1995 Waldo et al.
`5,537,466 A
`7/1996 Taylor et al.
`7/1996 Taylor etal.
`5,537,466 A
`8/1996 Arnoldetal.
`5,551,035 A
`5,551,035 A
`8/1996 Arnold et al.
`(List continued on next page.)
`(List continued on next page.)
`FOREIGN PATENT DOCUMENTS
`FOREIGN PATENT DOCUMENTS
`WO
`00/23898
`4/2000
`OO/23898
`4/2000
`WO
`WO
`00/24182
`4/2000
`OO/24182
`4/2000
`WO
`Primary Examiner Robert B. Harrell
`Primary Examiner—Robert B. Harrell
`Assistant Examiner—Farzaneh Farahi
`ASSistant Examiner Farzaneh Farahi
`(57)
`ABSTRACT
`(57)
`ABSTRACT
`System and methodology for providing real-time call pro
`System and methodology for providing real-time call pro-
`cessing Services received at a Switch in an intelligent net
`cessing services received at a switch in an intelligent net-
`work having one or more Service nodes having originating
`work having one or more service nodes having originating
`Switches for receiving a call event. The System includes a
`switches for receiving a call event. The system includes a
`platform-independent communication System for enabling
`platform-independent communication system for enabling
`communication between object instances executing at Ser
`communication between object instances executing at ser-
`Vice nodes in the intelligent network. An operating System
`vice nodes in the intelligent network. An operating system
`agent object instance executing in an execution environment
`agent object instance executing in an execution environment
`asSociated with an originating Switch communicates call
`associated with an originating switch communicates call
`origination information corresponding to a call event
`origination information corresponding to a call event
`received at the Switch to one or more object instances
`received at
`the switch to one or more object
`instances
`executing in an execution environment provided at a Service
`executing in an execution environment providedat a service
`node in the network; the object instances including a line
`node in the network; the object instances including a line
`object instance for maintaining the State of a communica
`object instance for maintaining the state of a communica-
`tions line associated with a call origination, and, a service
`tions line associated with a call origination, and, a service
`object implementing methods for performing a Service
`object
`implementing methods for performing a service
`according to a customer request. A first database Storage
`according to a customer request. A first database storage
`device accessible by the Service object provides call routing
`device accessible by the service object provides call routing
`information according to a customer's Subscription. A Sec
`information according to a customer’s subscription. A sec-
`ond database Storage device is accessible by the Service
`ond database storage device is accessible by the service
`object to provide a corresponding terminating Switch loca
`object to provide a corresponding terminating switch loca-
`tion address at a node in the network for the call based on
`tion address at a node in the network for the call based on
`the retrieved call routing information. The platform
`the retrieved call routing information. The platform-
`independent communication System communicates call
`independent communication system communicates call
`routing commands between the Service object and at least
`routing commands between the service object and at least
`the line object instance, for enabling call connection
`the line object
`instance,
`for enabling call connection
`between originating and terminating Switches independent
`between originating and terminating switches independent
`of their location in the network.
`of their location in the network.
`
`16 Claims, 22 Drawing Sheets
`16 Claims, 22 Drawing Sheets
`
`204
`
`2 iO
`
`\- .
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`.
`
`
`228
`230
`212
`A228
`230
`22
`
`
`Managed Object
`Network Management
`Managed Object ---> NetworkManagement
`CreationEnvironment
`Repository
`‘System ("NMS")
`Creatgiyiment
`Repository
`System ("NMS")
`Me -
`
`204
`204
`
`
`vs.
`.
`IDNA Node
`IDNA Node
`- - - -
`204
`
`
`
`
`
`
`1DNA Node
`DNA Mode
`
`ia,
`
`204
`1
`210
`IDNA Node
`i
`;
`|
`
`INA Node
`
`
`
`| OParations
`I
`Adjunct
`Operations
`Adjunct
`226
`I
`214
`»
`Link
`Processors [“—|
`|
`Lik
`-->
`pigs
`-
`irectLin ,214
`Intelligent Call Processor ("ICP")
`226
`Direct Link/” _|
`|
`
`Ep
`s
`P°Sisnaiing “
`|
`>|
`
`
`
`224
`“Bearer <¢ UT
`208
`“YBearer-
`224
`
`206
`
`
`
`|
`I
`Resource Complex A (RCA)
`RCB
`Resource Complex A ("RCA")
`RCB
`ite
`it
`wi
`‘I
`i
`Si = ahr Si =
`5 =
`Pempueral ++
`158
`f58
`58
`
`
`
`A
`
`Intelligent H
`
`
`
`
`
`Periphera
`88
`\ —|
`Fabric
`Fabric
`Fabric
`Fabric
`ey rt?
`Switch
`Switch
`Switch
`Switch
`|
`("IP")
`Fabric
`Fabric
`Fabric
`Fabric
` 3aBNE|
`
`al-
`N
`
`
`
`
`
`
`
`
`
`
`
`
`(2235)
`
`
`
`PBX222
`Fax
`ISDN Terminal
`Telephone
`54
`220
`52
`Telephone
`Fax
`ISDN Terminal
`Customer Systems
`52
`54
`220
`Customer Systems
`
`200
`
`
`
`
`
`ex
`232
`
`
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`Page 2
`Page 2
`
`U.S. PATENT DOCUMENTS
`U.S. PATENT DOCUMENTS
`Van Berkum
`4/1997
`Van Berkum
`4/1997
`Chow
`7/1997
`Chow
`7/1997
`9/1997
`Faynberg
`Faynberg
`9/1997
`4/1998
`Pepe et al.
`Pepeetal.
`4/1998
`Herz etal.
`5/1998
`5/1998
`Herz et al.
`Blau etal.
`8/1998
`Blau et al.
`8/1998
`Oberlanderet al.
`10/1998
`Oberlander et al.
`10/1998
`Shaeferetal.
`10/1998
`Shaefer et al.
`10/1998
`Thomas
`11/1998
`Thomas
`11/1998
`Giltmanetal.
`2/1999
`Giltman et al.
`2/1999
`
`rrPrePrrere
`
`5,619,557
`5,619,557
`5,644,629
`5,644,629
`5,664,102
`5,664,102
`5,742,668
`5,742,668
`5,754,939
`5,754939
`5,799,153
`5,799,153
`5,825,865
`5,825,865
`5,826,268
`5,826,268
`5,838,970
`5,838,970
`5,867,498
`5,867,498
`
`6,041,117>PrPrrrPr>P
`
`5,881,134
`5,881,134
`5,898,839
`5,898,839
`5,907,607
`5,907,607
`5,915,008
`5,915,008
`5,940,616
`5,940,616
`5,958,016
`5,958,016
`5,966,434
`5,966,434
`5,999,965
`5.999,965
`6,041,109
`6,041,109
`6,041,117
`
`3/1999
`3/1999
`4/1999
`4/1999
`5/1999
`5/1999
`6/1999
`6/1999
`8/1999
`8/1999
`9/1999
`9/1999
`10/1999
`10/1999
`12/1999
`12/1999
`3/2000
`3/2000
`3/2000
`3/2000
`
`Foster et al.
`Foster et al.
`Berteau
`Berteau
`Watersetal.
`Waters et al.
`Dulman
`Dulman
`Wang
`Wang
`Chang et al.
`Changet al.
`Schafer
`Schafer
`Kelly
`Kelly
`Walleret al.
`Waller et al.
`Androski
`Androski
`
`
`
`U.S. Patent
`U.S. Patent
`
`May 21, 2002
`May 21, 2002
`
`Sheet 1 of 22
`Sheet 1 of 22
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`Buissas0ig
`
`ve
`
`(2D
`
`Bulssao0id
`
`be
`
`ed
`
`
`
`(udOl,)JOSSBd01d
`
`
`
`EDyusb1e}u)zo)
`
`YOUMS
`
`eouabiyeyu]
`
`92
`
`Buisss9014
`
`Ayyjoes(—
`
`Ayoes
`
`Buisseo0id
`
`9¢
`
`xe|dwog
`
`9.OunOS3}}
`eounosey
`
`YOUMS
`
`ouqe-
`
`08hBSI
`eS
`
`cLt
`
`BIIAIBS
`
`Bulsss9014
`zzOS!
`
`OGL
`
`BIIAIBS
`
`Bulssacold
`
`co
`
`yuabi9}U|
`
`Bulndwo9
`
`
`
`(,OOL,)Xe|}dwog
`
`SdIAIES
`
`
`
`JUIOd|OsJUOD
`
`cP
`
`(udOS.)
`
`BOIAIBS
`
`Buisse90l14
`
`co
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Bulssed0l4
`
`re
`
`Ayes
`
`Bursseo0ld
`
`92
`
`YOUMS
`
`8ouqe
`
`
`
`BulyoMSSd1A1ES
`
`
`
`pue(,,dSS,,)ulod
`
`
`
`Wa}SASBuiysims
`
`L‘Sid
`
`BOIAIBS
`
`Bursse00!q
`
`co
`
`Bulsss90iq
`
`be
`
`HED
`
`Ayyoes
`
`Buissa9014
`
`9¢
`
`(WN)
`
`INOS}WIOMJON
`
`YyomMspuesouehi||9}U|
`(AS/ISS.,)9uge4
`
`
`
`(ANI)OMENJUSBI)|9}U]
`
`JO(NI'V,,)44OMION
`
`
`
`paynquysiqyue6by||9}U]
`
`
`
`YoIMsajeiedas
`
`
`
`juab|||a}u]peoueApY
`
`YOMSILY!OUS
`
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`May 21, 2002
`May 21, 2002
`
`Sheet 2 of 22
`Sheet 2 of 22
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`gL
`
`JUlod
`
`(d9S)
`
`
`
`
`
`jouog(SWS!)waysks
`
`
`
`BD1AlBSjusuabeuey~y
`
`cr
`
`repayesbeyu|
`
`BIIAIOS
`
`SLsuoneisdo
`
`swayshS
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`9S
`
`99
`
`89
`
`2,7
`
`yu961]/9}UI
`
`(di)
`
`podsuel)
`Buyeubis
`quodsuel L
`
`6u||euôIS -----------
`
`(yyJOL1d)
`
`Z“Old
`
`seuoydae|
`
`jeuluslNS
`
`jeuBis
`
`JaJSUBIL
`
`yulod
`
`?u?OCH(<
`Jaysueu] [ N™---|---------------------------7-------------------+--------Gaess)
`
`
`(dis)pus6e’]uoeUuU0D
`bljesoyduag
`v9suoiyei3dQ
` SUd}SASGi—?JOWOISND
`##788
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`002——
`
`
`
`
`juswsbeuey|YIOMION_——————yalqopeBeuep,
`ZlzO€28@2
`
`
`
`(.SWN.)\w9a}shSAioysodeyuaWUOIIAUUONeaID
`
`(,AOOW.,)
`
`
`
`
`
`
`
`
`
`
`
`
`
`+02202Ler0z
`
`———
`
`May 21, 2002
`May 21, 2002
`
`Sheet 3 of 22
`Sheet 3 of 22
`
`
`
` ||922!(udD1,,)4OSS8d0I[]2DJUSHI|9}u|
`
`
`
`[esayduedYOUMS
`
`||
`
`|g0z
`
`yuab)||9}U]
`
`
`
`(WOU)¥xa|dweDsounosey
`
`suojeiado|younlpy|ZZL
`yurqSJOSS9901¢
`
`S8PONVNC!Po|OLza@PpONWNGI
`YIOMONBayOPI@PONVNGI
`
`
`
`(ud)ouqe+ouqe+ages
`
`
`
`
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`€‘Sid50zz2g
`
`
`
`slua}shsJeWo}sny
`
`FAAsie—H
`
`auoydaye|xeJeujue!lNOS!
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`May 21, 2002
`May 21, 2002
`
`Sheet 4 of 22
`Sheet 4 of 22
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`
`
`FIG. 4a
`
`
`
`a (N 5
`FIG. 4a
`-
`
`CP AGENT
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`229
`229
`700
`700
`
`
`MCI Legacy
`MCI Legacy
`
` Network
`Order Entry &
`Network
`Order Entry &
`
`Provisioning
`Operating
`Operating
`System
`Provisioning
`
`System
`
`
`
`registration of
`registration of
`
`502. Customer
`502
`.)customer
`data, SIBBS,
`data, SIBBs,
`515
`and SLPs
`515
` andSLPs
`
`400
`400
`5OO
`
`
`distribution of data, SIBBs, and SLPs
`500
`distribution of data, SIBBs, and SLPs
`509
`
`
`Data
`activation of data, SIBBs, and SLPs_
`,--5172
`Ser
`activation of data, SIBBS, and SLPs - 512
`
`
`Data
`Service
`rv stral
`Management
`deactivation of data, SIBBs, and SLPs
`-518
`Administration
`Management
`Administration deactivation of data, SIBBs, and SLPs 518
`
`
`removal of data, SIBBs, and SLPs
`521
`removal of data, SIBBS, and SLPs
`521
`
`
`requested
`requested
`data, SIBBS,
`data, SIBBs,
`
`Submit
`submit
`and SLPS
`and SLPs
`
`data, SIBBS,
`data, SIBBs,
`
`503
`and SLPs
`503
`and SLPs
`906
`506
`
`
`
`
`
`
`
`
`
`
`
`Service
`Service
`Creation
`Creation
`
`228
`228
`
`FIG. 4b
`FIG. 4b.
`
`
`
`U.S. Patent
`U.S. Patent
`
`May 21, 2002
`May 21, 2002
`
`Sheet 5 of 22
`Sheet S of 22
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`409
`
`
`
`
`
`
`
`Local/Cache
`ocal/Cache
`415
`
`
`CACHE MGR.
`CACHE MGR.
`
`
`
`
`
`Service
`Service
`DM Server
`SA CLENT DDAP
`
`DM Server SA CLIENT|DD API
`Administration
`Administration
`
`425
`422
`424
`425
`422
`424
`
`
`
`
`400
`400
`
`405
`405
`
`a L
`
`
`
`DM Client
`DM Client
`
`DMAP
`DM API
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`DBOR (Extract) Manager
`DBOR (Extract) Manager
`
`— D
`
`DBOR Extract
`BOR Extract
`427
`427
`
`
`FIG. 4C
`FIG. 4c
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`May 21, 2002
`May 21, 2002
`
`Sheet 6 of 22
`Sheet 6 of 22
`
`92¢
`
`suojelodO
`
`ur]
`
`8
`
`pebeuep\
`
`sypealqo
`
`
`
`(JacS
`
`Asoysoday
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`+.
`
`—on
`
`ZEZ
`
`younlpy
`
`SJOSSSIOld
`
`soxa|dwogTootttt4so01nosey
`_
`JOYIOOLxajdwoy
`
`sojnosey
`30 InOS9}}
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`BGC
`
`S‘Sl4
`
`
`
`
`
`
`U.S. Patent
`
`May 21, 2002
`
`Sheet 7 of 22
`
`US 6,393,481 B1
`
`9¢
`
`
`
`
`
`
`
`(SO71)we}sAgBuljesado[e907
`
`9‘Sis
`
`@ANEN
`
`saeiqry
`
`P C
`
`9¢
`
`
`
`
`
`wa}skgBureisedoYIOMJONPolyOPIN
`
`cre(4371s)
`
`
`
`
`
`
`
`JUNWIUOJIAUWUOIINDExXy4aAe7]BDIAIES
`
`8c
`
`
`
`YIEJSB1EM}OSddl
`
`CLE
`
`s}
`
`
`
`bayuoneinByuodpuesemyosOW
`
`SPUBLULUODPueDIEMYOSOW
`
`
`
`
`
`bre(SOIN)$399IqQpebeuew
`
`99¢
`
`3341S
`
` seuesqi]
`
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`May 21, 2002
`May 21, 2002
`
`Sheet 8 of 22
`Sheet 8 of 22
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`Managed Objects
`Managed Objects
`
`244
`244
`
`252
`252
`Service
`Service
`Control
`Control
`
`250
`250
`
`Call
`Call
`Control
`Control
`
`248
`248
`Bearer
`Bearer
`Control
`Control
`
`246
`246
`Resource
`Resource
`Proxy
`Proxy
`
`320
`320
`Ph
`322
`VRU
`324
`Trunk
`Circuit
`Circuit
`326
`326
`
`308
`308
`Channel
`Channel
`ASSociated
`Associated
`
`31 S
`31 O
`PRI
`
`Channel
`Channel
`Single
`Single
`
`‘ilA“|3
`
`314
`314
`
`wo ~~ie
`
`Phone
`
`316
`Channel
`Channel
`Common
`Common
`
`318
`318
`
`280
`280
`Session
`Session
`Manager
`Manager
`CoNO
`282
`Bearer
`Bearer
`Capability
`Capability
`
`304
`304
`Origination
`Origination
`
`306
`306
`Termination
`Termination
`
`284
`Half-Rat
`Half-Rate
`2-Rate
`286
`286
`Stereo
`
`288
`288
`Service
`Service
`Arbitration
`Arbitration
`290
`290
`
`Features
`
`292
`292
`Override
`
`
`
`294
`294
`Call Block
`296
`296
`Service
`Service
`Discriminator
`Discriminator
`298
`298
`Media
`Media
`Independent
`Independent
`Services
`
`300
`300
`Store and
`Store and
`Forward
`Forward
`302
`
`Services
`
`Connection
`Connection
`Manager
`Manager
`
`FIG. 7
`FIG. 7
`
`
`
`Sheet 9 of 22
`Sheet 9 of 22
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`NIDNJ8uyO
`
`sjusuodUuO9
`
`wa}sks
`
`Jayndwoy
`
`8‘Sid
`
`U.S. Patent
`U.S. Patent
`
`
`
`May 21, 2002
`May 21, 2002
`
`Bunessdo
`
`
`
`U.S. Patent
`U.S. Patent
`
`May 21, 2002
`May 21, 2002
`
`Sheet 10 of 22
`Sheet 10 of 22
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`.
`y
`
`
`
`S
`440"
`
`
`
`S
`
`S
`
`
`
`
`Computer2
`
`as
`
`X
`
`a
`
`is a s
`
`FIG.9
`
`weetTANoocecceceecenccecceeceececeesecesseeseesseeeeneeceneees
`
`Computer1
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`May 21, 2002
`May 21, 2002
`
`Sheet 11 of 22
`Sheet 11 of 22
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`
`
`
`
`
`
`U.S. Patent
`
`May21, 2002
`
`Sheet 12 of 22
`
`US 6,393,481 B1
`
`
`
`Puno}JOUsweU+Npuno}eweu+\
`
`
`
`asuodseay------
`
`senbe.Lzg
`
`PLLSls
`
`é-YSoiuy
`
`4IOIL9
`
`Uo}|puco
`
`
`
`
`
`,_abbOldsmjeyseounosey<bZ8dS0}05YIOMJON#Xepul
`
`Le
`
`peo|pueubissy
`
`3351Sulsse90ud(OO
`
`SouNOsaySPONSONOpon
`
`
`juowabeueyyBuIweN“7777777
`
`‘6z9@daysWol4
`
`cc8
`
`Y99YD
`
`908
`
`
`
`gdunosay[2907
`
`yuswebeuep|
`
`SON12907
`
`Bulwen
`
`Z40|MOldWT108
`
`c08
`
`dis
`
`
`
`
`
`att‘Old
`
`
`
`‘pzgdaiswolj7~~777777OWENsenboy
`
`
`
`
`
`
`
`U.S. Patent
`
`May 21, 2002
`
`Sheet 13 of 22
`
`US 6,393,481 B1
`
` Jasuissaooid{077777
`
`yuswabeuep]Buiwen“7777777
`
`
`
`
`peo]pueubissy9IINOSBYSPOONSON8PpOoNn
`828i_BLLOld
`
`t
`
`ZOgdejs0}OF
`
`c402MOldWAT
`
`
`
`puno}aweu+Aysanbey
`
`‘oggdays0}05}USW9J0UI
`ELLSls#X9pul
`
`
`
`
`
`punojJOUelueU+Nesuodsey------
`
`QbbSls
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`May 21, 2002
`May 21, 2002
`
`Sheet 14 of 22
`Sheet 14 of 22
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`Begin SLEE.java
`Begin SLEE.java
`
`locator available
`
`-initialize DM
`-initialize DM
`-Computer operating
`-computer operating
`system starts SLEE
`system starts SLEE
`-assume site level NNOS
`-assume site level NNOS
`locator available
`
`Import Configuration file
`Import Configuration file
`
`Create Configuration Object
`Create Configuration Object
`
`initialize ORB
`Initialize ORB
`
`Instantiate ClassLoader
`instantiate ClassLoader
`
`instantiate NNOS
`Instantiate NNOS
`locator proxy within
`locator proxy within
`SLEE
`SLEE
`
`
`
`
`
`
`-Load Service Manager
`-Load Service Manager
`(SM) code via Classloader
`(SM) code via Classloader
`-Instantiate SM
`-Instantiate SM
`
`-Bind With NNOS
`-Bind with NNOS
`
`
`
`Execute process event
`Execute process event
`loop
`oop
`
`FIG. 12a
`FIG. 12a
`
`6O2
`602
`
`604
`604
`
`6O6
`606
`
`608
`608
`
`610
`610
`
`612
`612
`
`615
`615
`
`618
`618
`
`
`
`U.S. Patent
`U.S. Patent
`
`May 21, 2002
`May 21, 2002
`
`Sheet 15 of 22
`Sheet 15 of 22
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`Begin
`Begin
`ServiceManagermpl.java
`ServiceManager|mpl.java
`
`NNOS calls SM
`NNOScallls SM
`load method
`load method
`
`
`
`get handle to proxy
`get handle to proxy
`naming service
`naming service
`
`
`
`
`
`624
`624
`
`620
`
`622
`622
`
`Yes
`Yes
`
`
`
`
`
`is object
`is object
`associated with logical
`
`associated with logical
`name instantiated
`name instantiated
`?
`
`
`
`626
`626
`
`
`
`return
`return
`object reference
`object reference
`
`recursively load all
`recursively load all
`classes for requested
`classes for requested
`service
`SeVICe
`
`625
`625
`
`
`635
`635
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`register
`register
`flag set to true
`flag set to true
`
`?
`630
`
`register with
`register with
`NNOS locator
`NNOS locator
`
`proxy
`proxy
`
`
`-instantiate Service Agent
`-instantiate Service Agent
`-associate SA object with
`-associate SA object with
`
`
`requested SLP
`requested SLP
`-enter process event loop
`-enter process event loop
`
`
`-Create and instantiate
`-create and instantiate
`SLEE thread
`SLEE thread
`-associate SLEE thread
`-associate SLEE thread
`wfSvc. Agent
`w/Svc. Agent
`
`F.G. 12b
`FIG. 12b
`
`
`
`U.S. Patent
`U.S. Patent
`
`May 21, 2002
`May 21, 2002
`
`Sheet 16 of 22
`Sheet 16 of 22
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`Begin
`Begin
`SLEEClassloader.java
`SLEEClassloaderjava
`
`686
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`689
`
`
`
`
`
`
`
`Classes not found
`Classes not found
`
`686
`Classes
`Classes
`already loaded
`already loaded
`
`and
`and
`
`defined
`defined
`?
`689
`
`with loaded classes 694
`
`
`
`
`classes
`classes
`
`Classes
`classes
`found in
`found in
`found in local DM
`found in local DM
`local file
`
`local file
`data Store
`
`
`data store
`system
`system
`?
`?
`
`
`
`
`
`
`
`
`
`
`
`690
`690
`
`694
`
`fetch classes
`fetch classes
`
`define classes
`define classes
`
`
`
`
`
`Populate local cache
`Populate local cache
`with loaded classes
`
`695
`695
`
`
`
`
`
`FIG. 12C
`FIG. 12c
`
`FIG. 12d
`FIG. 12C
`
`
`
`-instantiate ThreadManager
`-instantiate ThreadManager
`
`
`
`Execute process
`Execute process
`event loop
`eventloop
`
` 639
`
`639
`
`640
`640
`
`
`
`U.S. Patent
`U.S. Patent
`
`May 21, 2002
`May21, 2002
`
`Sheet 17 of 22
`Sheet 17 of 22
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`Call Begin method
`Call Begin method
`ServiceAgent.java
`ServiceAgent.java
`
`
`
`-pass in tid, orid parameters
`-passin tid, orid parameters
`unique to call
`unique to call
`-pass in message stream
`-pass in message stream
`
`with Call/event information
`with call/event information
`
`
`
`
`-decode message stream
`-decode message stream
`-create call context object
`-create call context object
`and place in extracted message
`and place in extracted message
`
`info.
`info.
`
`-invoke Threadmanager to
`-invoke Threadmanagerto
`retrieve existing or allocate
`retrieve existing or allocate
`new thread instance
`new thread instance
`
`-
`-
`-initialize object variables
`-initialize object variables
`-clone SLP instance.
`-clone SLP instance.
`
`Set cloned SLP instance
`Set cloned SLP instance
`for service in allocated
`for service in allocated
`thread
`thread
`
`641
`641
`
`643
`643
`
`645
`645
`
`646
`646
`
`648
`648
`
`
`
`
`
`
`
`
`
`No
`No
`
`
`
`650
`650
` event to
`event to
`be pushed to
`
`be pushed to
`thread
`thread
`
`?
` Push service event
`
`Push Service event
`information to thread's
`information to thread's
`
`
`priorityevent queue of
`priorityevent queue of
`
`new SLP instance
`new SLP instance
`
`
`654
`654
`
`-start thread on SLP
`-start thread on SLP
`
`FIG. 12e
`FIG. 12e
`
`
`
`U.S. Patent
`U.S. Patent
`
`May 21, 2002
`May 21, 2002.
`
`Sheet 18 of 22
`Sheet 18 of 22
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`Begin
`Begin
`ThreadManager.java
`ThreadManager.java
`
`660
`
`Yes
`Yes
`
`-Receive Tid, Orid
`-Receive Tid, Orid
`identifiers
`identifiers
`-generate key
`
`
`
`-generate key
`662
`662
`
` Thread Key
`Thread Key
`already Created
`already created
`
`1.
`?
`N
`N
`°
`O
`
`return SLEE thread
`return SLEE thread
`instance to SAg
`instance to SAg
`
`664
`664
`
`update a counter
`update a counter
`
`663
`663
`
`
`
`
`
`
`
`Yes
`Yes
`
`667
`667
`
`
`
`-issue warning to NNOS
`-issue warning to NNOS
`LRM
`LRM
`-instantiate new thread
`-instantiate new thread
`instance at another
`instance at another
`
`
`location
`location
`
`
`-initialize new priority
`-initialize new priority
`
`event queue
`event queue
`
`Return to SAg
`Return to SAg
`
`665
`665
`
`
`value of thread
`value of thread
`
`instances exceeded
`
`instances exceeded
`?
`
`
`
`-issue warning to
`-issue warning to
`NNOS LRM that
`NNOS LRM that
`Service threshold is
`
`service threshold is
`reached
`reached
`
`
`
`
`
`
`
`
`Yes
`
`
`
`NO
`
`668
`
`threshold
`value of
`thread instances
`thread instances
`reached
`reached
`?
`?
`
` -instantiate new SLEEthread
`
`-instantiate new SLEEthread
`-initialize new priority event
`-initialize new priority event
`
`queue
`queue
`-Start thread
`-start thread
`
`
`
`
`670
`670
`
`Return to SAg
`Return to SAg
`
`FIG. 12f
`FIG. 12f
`
`
`
`U.S. Patent
`U.S. Patent
`
`May 21, 2002
`May 21, 2002
`
`Sheet 19 of 22
`Sheet 19 of 22
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`
`
`675
`
`675
`
`678
`678
`
`POStevent method
`Postevent method
`SLEEThread.java
`SLEEThread.java
`
`ascertain priority of
`ascertain priority of
`pushed event
`pushed event
`
`
`
`
`
`
`
`compare priority of pushed
`compare priority of pushed
`event with next event On
`event with next event on
`
`
`queue to be processed
`queue to be processed
`
`
`
`680
`680
`
`
`priority > next
`priority > next
`priority
`priority
` -loop through
`?
`-loop through
`
`priorityevent dueue and
`priorityevent queue and
`
`
`determine placement of
`determine placement of
`
`
`
`-place at top of queue -
`event for tracking in
`-place at top of queue -
`eventfor tracking in
`
`
`
`-set as next event to be
`-set as next event to be
`Queue
`queue
`
`
`
`processed
` processed
`
`
`
`
`682b
`
`
`
`
`
`
`
`
`
` -wait for SLEEthread
`-Wait for SLEEthread
`process time
`processtime
`
`
`-process next event in
`-process next eventin
`dueue
`queue
`
`
`
`
`Return to
`Return to
`SLEEthread
`SLEEthread
`
`FIG. 12g
`FIG. 12g
`
`
`
`U.S. Patent
`U.S. Patent
`
`May 21, 2002
`May 21, 2002
`
`Sheet 20 of 22
`Sheet 20 of 22
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`
`
`NOS sends message
`NOS sends message
`to Service Manager
`to Service Manager
`process in SLEE
`process in SLEE
`
`
`
`941
`941
`
`146
`146
`
`
`
`
`
`
`
`
`
`
`
`
`
`943
`943
`
`SLP already
`SLP already
`instantiaed
`instantiaed
`?
`2
`SM instantiates
`
`SM instantiates
`the SLP object
`the SLP object
`
`
`SM assigns
`SM assigns
`new process
`new process
`
`thread to
`thread to
`
`SLP object
`SLP object
`
`
`
`
`
` 920
`
`
`Call arrives at
`Call arrives at
`NGS Switch fabric
`NGS switch fabric
`
`
`
`
`
`
`Call control component
`Call control component
`addresses NOS
`addresses NOS
`
`
`
`
`
`
`
`NOS instantiates ELP
`NOSinstantiates ELP
`
`
`for tracking event data
`for tracking event data
`
`
`
`Call control sends
`Call control sends
`service request
`service request
`message to FD
`message to FD
`
`
`
` FD uses FD tables to
`FD uses FD tables to
`
`
`identify service request
`identify service request
`
`
`
`FD hands off Service
`FD hands off service
`request to NOS to
`request to NOS to
`
`
`instantiate CLP, LLPO
`instantiate CLP, LLPO
`and SLP according to
`and SLP according to
`
`
`service requested
`service requested
`
`
`
`NOS LRM identifies
`NOS LRMidentifies
`which instance of
`which instance of
`requested SLP to use
`requested SLP to use
`
`
`
`
`
`
`
`FIG. 13a
`FIG. 13a
`
`923
`923
`
`926
`926
`
`929
`929
`
`931
`931
`
`934
`934
`
`949
`949
`
`951
`951
`
`954
`954
`
`957
`957
`
`959
`959
`
`
`
`SLP process registers
`SLP processregisters
`physical address
`physical address
`With NOS
`with NOS
`
`
`
`
`
`NOS passes service
`NOS passesservice
`request hand-off
`request hand-off
`
`
`message to SLP
`message to SLP
`
`937
`937
`
`SLP begins processing
`SLP begins processing
`service request
`service request
`
`
`
`SLP determines action
`SLP determines action
`for Call Control
`for Call control
`to take
`to take
`
`
`
`
`Call control instructs
`Call control instructs
`NGS switch to set-up,
`NGS switch to set-up,
`complete and/or,
`complete and/or,
`terminate Call
`terminate call
`
`END
`
`FIG. 13b
`FIG. 13b
`
`
`
`U.S. Patent
`U.S. Patent
`
`May 21, 2002
`May 21, 2002
`
`Sheet 21 of 22
`Sheet 21 of 22
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`From Step 954, FIG. 13b
`From Step 954, FIG. 13b
`
`SLP requests 18C routing
`SLP requests 18C routing
`database by sending
`database by sending
`logical name to NOS
`logical name to NOS
`
`Receive actual 18C DB
`Receive actual 18C DB
`name and address location
`name and addresslocation
`
`Request NOS LRM to
`Request NOS LRM to
`determine if 18C database
`determine if 18C database
`locally available
`locally available
`
`Send physical address
`Send physical address
`of 18C database to
`of 18C databaseto
`SLP if locally available
`SLPif locally available
`
`SLP queries DM for
`SLP queries DM for
`customer profile look-up
`customerprofile look-up
`by sending call parameters
`by sending call parameters
`
`SLP receives final
`SLP receivesfinal
`routing information
`routing information
`
`
`
`
`
`SLP requests DM to
`SLP requests DM to
`lookup actual terminating
`lookup actual terminating
`location and returns
`location and returns
`terminating location to SLP
`terminating location to SLP
`
`960
`960
`
`962
`962
`
`964
`964
`
`966
`966
`
`968
`968
`
`970
`970
`
`972
`972
`
`FIG. 13C
`FIG. 13c
`
`
`
`U.S. Patent
`U.S. Patent
`
`May 21, 2002
`May 21, 2002
`
`Sheet 22 of 22
`Sheet 22 of 22
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`
`
`
` NA
`
`
`
`1-800-Call
`
`75'
`
`FIG. 14
`FIG. 14
`
`
`
`US 6,393,481 B1
`US 6,393,481 B1
`
`1
`1
`METHOD AND APPARATUS FOR
`METHOD AND APPARATUS FOR
`PROVIDING REAL-TIME CALL
`PROVIDING REAL-TIME CALL
`PROCESSING SERVICES IN AN
`PROCESSING SERVICES IN AN
`INTELLIGENT NETWORK
`INTELLIGENT NETWORK
`
`2
`2
`Services from the Services provided by their competition.
`services from the services provided by their competition.
`This also forces some network owners to wait until the
`This also forces some network owners to wait until the
`manufacturer incorporates requests from other network
`manufacturer
`incorporates requests from other network
`owners into the new release. Second, a Switch Software
`owners into the new release. Second, a switch software
`release incorporating a function as requested by one network
`release incorporating a function as requested by one network
`owner to implement a new Service can unintentionally
`owner to implement a new service can unintentionally
`becomeaccessible to other network owners.
`become accessible to other network owners.
`These problems have become intolerable as the demand
`These problems have becomeintolerable as the demand
`for new network Services has increased exponentially over
`for new network services has increased exponentially over
`the last five to ten years due to increased Subscriber mobility,
`the last five to ten years due to increased subscriber mobility,
`increased variety and bandwidth of traffic, dissolution of
`increased variety and bandwidth oftraffic, dissolution of
`traditional numbering plans, more Sophisticated Services and
`traditional numbering plans, more sophisticated services and
`increased competition. Thus, it is widely recognized that
`increased competition. Thus, it is widely recognized that
`new network architectures need to incorporate a more flex
`new network architectures need to incorporate a moreflex-
`ible way of creating, deploying and executing Service logic.
`ible way of creating, deploying and executing service logic.
`In order to fully appreciate the novel architecture of the
`In order to fully appreciate the novel architecture of the
`present invention hereinafter described, the following
`present
`invention hereinafter described,
`the following
`description of the relevant prior art is provided with refer
`description of the relevant prior art is provided with refer-
`ence to FIG. 1.
`ence to FIG. 1.
`Referring to FIG. 1, a logical representation of various
`Referring to FIG. 1, a logical representation of various
`Switching architectures, including the present invention, is
`switching architectures, including the present invention, is
`shown. A monolithic Switch, which is denoted generally as
`shown. A monolithic switch, which is denoted generally as
`20, contains Service processing functions 22, call processing
`20, contains service processing functions 22, call processing
`functions 24, facility processing functions 26 and a Switch
`functions 24, facility processing functions 26 and a switch
`fabric 28. All of these functions 22, 24, 26 and 28 are
`fabric 28. All of these functions 22, 24, 26 and 28 are
`hard-coded, intermixed and undifferentiated, as Symbolized
`hard-coded, intermixed and undifferentiated, as symbolized
`by the group 30. Moreover, functions 22, 24, 26 and 28 are
`by the group 30. Moreover, functions 22, 24, 26 and 28 are
`designed by the Switch manufacturer and operate on propri
`designed by the switch manufacturer and operate on propri-
`etary platforms that vary from manufacturer to manufac
`etary platforms that vary from manufacturer to manufac-
`turer. As a result, these functions 22, 24, 26 and 28 cannot
`turer. As a result, these functions 22, 24, 26 and 28 cannot
`be modified without the aid of the manufacturer, which
`be modified without the aid of the manufacturer, which
`Slows down Service development and implementation, and
`slows down service development and implementation, and
`increases the cost of bringing a new Service to market. The
`increases the cost of bringing a new service to market. The
`development of new and innovative Services, call
`development of new and innovative services, call
`processing, data processing, Signal processing and network
`processing, data processing, signal processing and network
`operations are, therefore, constrained by the manufacturer's
`operations are, therefore, constrained by the manufacturer’s
`control over their proprietary Switch hardware and Software,
`control over their proprietary switch hardware and software,
`and the inherent difficulty of establishing and implementing
`and the inherentdifficulty of establishing and implementing
`industry Standards.
`industry standards.
`The Service processing functions 22 are encoded within
`The service processing functions 22 are encoded within
`the monolithic Switch 20 and only allow local control of this
`the monolithic switch 20 and only allow local control ofthis
`process based on local data contents and the number dialed.
`process based on local data contents and the numberdialed.
`This local information is interpreted by a hard-coded process
`This local information is interpreted by a hard-coded process
`engine that carries out the encoded Service function. The call
`enginethat carries out the encoded service function. The call
`processing functions 24 are hard-coded and provide call
`processing functions 24 are hard-coded and provide call
`origination and call termination functions. This process
`origination and call
`termination functions. This process
`actually brings up and takes down individual connections to
`actually brings up and takes down individual connectionsto
`complete a call. Likewise, the facility processing functions
`complete a call. Likewise, the facility processing functions
`26 are also hard-coded and provide all data processing
`26 are also hard-coded and provide all data processing
`relating