`
`I 1111111111111111 11111 111111111111111 11111111 IIIII IIIII IIIII IIIII IIIIII IIII
`
`
`US006393481Bl
`
`(12)United States Patent
`
`
`Deo et al.
`
`Bl (10)Patent No.:US 6,393,481
`
`
`(45)Date of Patent:
`May 21, 2002
`
`(54)METHOD AND APPARATUS FOR
`
`PROVIDING REAL-TIME CALL
`
`PROCESSING SERVICES IN AN
`INTELLIGENT NETWORK
`
`5,463,682 A 10/1995 Fisher et al.
`
`
`
`
`
`
`
`5,475,817 A 12/1995 Waldo et al.
`
`5,537,466 A 7/1996 Taylor
`
`et al.
`
`5,551,035 A 8/1996 Arnold et al.
`
`(75)Inventors: Ajay P. Deo, Lewisville, TX (US);
`
`
`Sarni Syed, Tervuren (BE); Henry
`
`Wang, Irvine, CA (US); Wendy T.
`
`Wong, Dallas, TX (US)
`
`
`
`(List continued on next page.)
`
`FOREIGN PATENT DOCUMENTS
`
`WO
`WO
`
`
`00/23898 4/2000
`
`00/24182 4/2000
`
`
`
`
`
`(73)Assignee: WorldCom, Inc., Clinton,
`MS (US)
`
`ABSTRACT
`
`Primary Examiner-Robert B. Harrell
`
`
`
`Assistant Examiner---Farzaneh Farahi
`
`
`
`( *) Notice: Subject to any disclaimer, the term of this
`(57)
`
`
`
`patent is extended or adjusted under 35
`
`U.S.C. 154(b) by O days.
`
`System and methodology for providing real-time call pro
`
`
`
`
`
`
`
`cessing services received at a switch in an intelligent net
`
`
`work having one or more service nodes having originating
`
`
`
`switches for receiving a call event. The system includes a
`
`
`platform-independent communication system for enabling
`
`
`
`
`communication between object instances executing at ser
`
`
`
`vice nodes in the intelligent network. An operating system
`
`
`agent object instance executing in an execution environment
`
`
`
`Aug. 5, 1998.
`
`
`
`associated with an originating switch communicates call
`( 60)Provisional application No. 60/061,173, filed on Oct. 6,
`
`
`
`
`
`
`origination information corresponding to a call event
`
`
`
`1997, and provisional application No. 60/104,890, filed on
`
`
`received at the switch to one or more object instances
`Oct. 20, 1998.
`
`
`
`
`executing in an execution environment provided at a service
`
`
`
`
`node in the network; the object instances including a line
`
`(51)Int. Cl.7 .............................................. G06F 15/173
`
`
`
`object instance for maintaining the state of a communica
`
`
`
`(52)U.S. Cl. ....................... 709/224; 709/218; 709/223;
`
`
`tions line associated with a call origination, and, a service
`
`
`
`709/224; 709/226; 709/249; 379/201; 379/207;
`
`
`object implementing methods for performing a service
`
`
`
`
`379/219; 379/220; 379/230; 379/266; 340/201;
`
`
`
`
`
`according to a customer request. A first database storage
`
`
`
`340/219; 340/220; 340/522; 340/585
`
`
`
`
`
`
`device accessible by the service object provides call routing
`
`
`(58)Field of Search ................................. 370/201, 219,
`
`
`
`information according to a customer's subscription. A sec
`
`
`
`370/220, 585, 522; 379/201, 219, 220,
`
`
`
`
`ond database storage device is accessible by the service
`
`
`266, 207, 230; 709/224, 218, 226, 223,
`
`
`
`
`
`object to provide a corresponding terminating switch loca
`249
`
`
`
`
`tion address at a node in the network for the call based on
`
`
`
`the retrieved call routing information. The platform
`
`
`independent communication system communicates call
`
`
`
`
`routing commands between the service object and at least
`
`
`the line object instance, for enabling call connection
`4,713,806 A 12/1987 Oberlander
`
`
`
`
`
`between originating and terminating switches independent
`
`
`
`5,157,390 A 10/1992 Yoshie et al.
`
`of their location in the network.
`5,323,452 A 6/1994 Dickman et al.
`
`5,335,268 A 8/1994 Kelly, Jr. et al.
`
`
`5,450,480 A 9/1995 Man et al.
`
`(21)Appl. No.: 09/421,827
`
`(22)Filed:Oct. 20, 1999
`
`
`
`
`
`Related U.S. Application Data
`
`( 63)Continuation-in-part of application No. 09/128,937, filed on
`
`(56)
`
`
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`16 Claims, 22 Drawing Sheets
`
`Cr��1��g��v���e��nt 1+--,.!==e=='l.._.i
`
`("MOCE")
`
`212
`
`2QQ
`
`Ne�����(,���i�t
`t !+-
`-- - - - - -
`
`�
`
`Wide Area Network
`
`��\ ____________
`
`_
`
`I IDNA Node -
`
`--�
`
`-
`
`- -� 172
`
`I
`
`-----------------�
`
`
`
`Intelligent Call Processor("ICP")
`
`226
`
`□
`/i==!!i�\
`ISDN Terminal
`52
`
`Telephone PBX
`54
`222
`
`
`
`Customer Systems
`
`
`
`US 6,393,481 Bl
`
`Page 2
`
`
`
`U.S. PATENT DOCUMENTS
`
`
`5,619,557 A 4/1997
`
`Van Berkum
`
`5,644,629 A 7/1997
`
`Chow
`
`5,664,102 A 9/1997
`
`Faynberg
`
`5,742,668 A 4/1998
`
`Pepe et al.
`
`5,754,939 A 5/1998
`
`Herz et al.
`
`5,799,153 A 8/1998
`
`Blau et al.
`
`5,825,865 A 10/1998
`
`Oberlander et al.
`
`5,826,268 A 10/1998
`
`Shaefer et al.
`
`5,838,970 A 11/1998
`Thomas
`
`5,867,498 A 2/1999
`
`
`Giltman et al.
`
`
`5,881,134 A 3/1999
`
`
`Foster et al.
`5,898,839 A 4/1999 Berteau
`
`
`5,907,607 A 5/1999 Waters et al.
`
`5,915,008 A 6/1999 Dulman
`
`5,940,616 A 8/1999 Wang
`
`5,958,016 A 9/1999 Chang et al.
`
`5,966,434 A 10/1999
`Schafer
`5,999,965 A 12/1999
`
`Kelly
`
`6,041,109 A 3/2000 Waller et al.
`
`6,041,117 A 3/2000 Androski
`
`
`
`FIG. 1
`
`22
`
`24
`
`26
`
`42
`
`24
`
`..........__..,
`
`156
`
`> I >
`26
`
`Service B
`/ \ Control Point
`("SCP")
`
`Intelligent
`Computing
`omplex ("ICC")
`/160 I I110
`Service
`Processing
`I I
`150 I I 22 I 172
`Service I I I �
`1741 176
`Processing
`6140 I (:\
`154
`Call
`Processing
`Call
`Call I I Processing 44
`Processing
`> Facility
`Processing
`Facility
`Processing
`Facility I I I1
`Processing
`
`Intelligent Call
`Switch
`Intelligence Processor ("ICP")
`
`Switch
`Fabric ) I I I 158 I 1;1ao
`Switch I I
`Fabric
`Switch
`Resource
`Fabric
`Complex
`
`Service Switching
`
`Point ("SSP") and
`
`Switching System
`Advanced Intelligent
`
`Intelligent Distributed
`
`Separate Switch
`
`Monolithic Switch
`
`Network or
`
`
`Architecture � Intelligence and Switch Network
`
`Intelligent Network
`("IN") Fabric ("SSI/SF")
`
`24
`;178
`
`26
`
`I
`
`152
`
`. ./
`
`I \ 28
`28 I I
`
`I.....____....
`
`("AIN")
`
`("IDNA")
`
`d
`r:JJ.
`
`•
`
`•
`
`�
`�
`......
`
`......
`
`�
`�
`'-<
`N
`'"""'�
`
`N
`0
`0
`N
`
`�
`=-
`�
`'"""'
`
`0
`
`....,
`N
`N
`
`O'I
`�
`'°
`�
`I■-
`�
`I■-
`
`
`
`78
`Integrated
`Service
`Management
`System (ISMS)
`
`50
`
`84
`
`d
`r:JJ.
`
`•
`
`•
`
`�
`
`� ...... �
`= ......
`
`88
`
`76
`
`72
`L
`
`------•-t••--
`
`Switching
`����i�:�1 � ...................... /::.
`System
`(IP) r---=::: ············
`�o
`74 Signal
`.l-.................
`Transfer
`� ·······
`Point
`(STP)
`
`Connection Legend
`'JJ.
`=� � ....
`Operations
`Transport
`0 ....,
`Signaling
`
`�
`�
`'-<
`N '"""'�
`N
`0
`0
`N
`
`N
`
`N
`N
`
`58
`
`64
`
`Customer
`Systems
`ISDN Terminal
`
`54
`
`56
`
`Telephones
`
`(Prior Art)
`
`FIG. 2
`
`e rJ'J.
`O'I
`�
`�
`�
`�
`
`I■-
`
`�
`
`I■-
`
`
`
`228
`
`230
`
`212
`
`200
`
`•
`
`d
`r:JJ.
`
`• � � ......
`
`=......
`
`204
`
`Managed Object 1--► �
`.. ► I Network Management
`
`Creation Environment --� Reposito
`ry ...,.__ System ("NMS")
`("MOCE")
`---
`l.. ► 1 IDNA Node
`204 IDNA Node 1.. ►C
`Wide Area Network
`
`�'-<N
`� N00N
`------------------,
`r _\._ ------------ -
`I IDNA Node
`172
`Operations
`Adjunct I I
`► I
`..
`Link
`Processors
`I
`
`Intelligent Call Processor ("ICP")
`
`'JJ.
`
`Direct Link/ I
`2:�;- signaling
`=� � ....�
`: n! ►I
`,+; · L.224
`I
`'Bearer 1
`f:-
`0 ...., NN
`
`Resource Complex A ("RCA")
`
`RCB
`224
`Intelligent
`Peripheral
`Switch
`Fabric
`("IP")
`
`158 ;158 ;158 ;158
`
`204
`
`210
`
`I
`I
`214
`
`'"""'
`
`226
`
`206
`
`208
`
`. 88
`I
`________ _J
`
`Fax Telephone
`PBX
`ISDN Terminal
`
`Customer Systems
`
`52
`
`220 54
`
`222
`
`1111111�
`
`1111111 1111111
`
`1111111 1111111
`
`e
`
`rJ'J. O'I � � � �
`
`FIG. 3
`
`i,-�
`
`i,-
`
`
`
`U.S. Patent May 21, 2002 Sheet 4 of 22 US 6,393,481
`
`Bl
`
`228
`
`SCE
`(MOCE)
`
`(DM)
`
`400
`
`(SA)
`
`r---------------------,
`
`-----.
`I ----
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`230
`
`REPOSITORY :
`
`500 raDMIN lI
`�
`11 RM II 700
`! rr-:y�--p(NOS)
`I I
`q /
`11
`I ...._ ____ q
`1 NODE : ! ICP AGENT
`L ________ J I
`RM
`I 1----"
`
`I L--------'
`I
`
`I
`I
`I
`I
`I
`I
`I
`
`�----------------------'
`
`: (NMS)
`I 212
`,, , __
`
`FIG. 4a
`
`�-1----------------�·
`r�----------------�,
`I
`II
`575
`II
`I
`
`I
`
`------------------J
`
`I Lega
`er Ent
`ovisioni
`new
`502 customer
`orders
`
`Network
`Operating
`System
`
`registration of
`data, S188s,
`and SLPs
`
`
`distribution of data, SIBBs, and SLPs
`
`activation of data, SIBBs, and SLPs
`
`deactivation of data, S188s, and SLPs
`
`removal of data, SIBBs, and SLPs
`requested
`data, S1B8s,
`submit
`and SLPs
`data, SIBBs,
`and SLPs
`
`503
`
`506
`
`228 FIG. 4b
`
`400
`
`
`
`U.S. Patent May 21, 2002
`Sheet 5 of 22
`
`
`US 6,393,481 Bl
`
`409
`DM Client
`
`DMAPI 410
`
`400
`
`405
`Local/Cache
`
`CACHE MGR.
`
`415
`
`407
`
`DM Server
`
`SA CLIENT DD API �+---+-...,...
`
`425
`
`422 424
`
`426
`
`DBOR (Extract) Manager
`
`DBOR Extract
`
`427
`
`FIG. 4c
`
`
`
`d
`r:JJ.
`
`•
`
`•
`
`�
`�
`
`......
`
`= ......
`
`�
`'-<
`N '"""'�
`N
`0
`0
`N
`
`'JJ.=�
`
` � .....
`
`O'I
`
`0
`
`...., N
`N
`
`228
`
`MOCE
`
`230
`
`212
`
`----
`
`____ .....-r
`
`210
`I
`
`200
`
`_;_ 204
`
`7
`
`,,172
`
`242
`
`Operations
`Link
`
`226
`
`240
`
`244
`
`NMS
`Repository
`t-392
`232 r Wide Area Network
`i IDNA Node
`I
`I ICP
`Adjunct
`ICP-NMS
`Processors
`Agent
`SLEE
`Managed• ,
`Objects
`Direct Link/214
`
`ignaling n I
`earer i i,
`Bearer
`Service
`Call
`Control
`Control
`Control
`
`'s·
`216
`218
`'B
`
`..,
`
`252 250
`
`248 246
`
`224
`
`I
`
`----
`
`Resource ) ,180
`Complex -----
`
`I
`
`L--------------------------�
`254
`
`FIG. 5
`
`To Other
`Resource
`Complexes
`
`e r.,J.
`O'I
`�
`�
`�
`�
`I■-
`�
`I■-
`
`
`
`d
`r:JJ.
`
`•
`
`•
`
`�
`�
`...... �
`= ......
`
`�
`�
`'-<
`N '"""'�
`N
`0
`0
`N
`
`'JJ.
`=� �
`
`0 ....,
`N
`N
`
`....-..J
`
`
`
`ICP Software Stack
`
`
`I 4 I MO Software and Configuration Req'ts
`i----1
`
`MOCE
`
`MO Software and Commands
`
`ICP 172
`
`ICP NMS
`Agent
`240
`
`
`
`Managed Objects (MOs) 244
`
`
`
`SLEE Libraries 266
`
`
`
`Service Layer Execution Environment
`
`(SLEE) 242
`
`264
`Native
`Libraries
`
`e rJ'J.
`O'I
`�
`�
`�
`�
`
`
`
`i,- �
`
`i,-
`
`Wide Area Network Operating System
`262
`
`
`
`Local Operating System (LOS) 260
`
`FIG. 6
`
`
`
`
`U.S. Patent May 21, 2002 Sheet 8 of 22
`
`US 6,393,481 Bl
`
`244
`Managed Objects
`
`252
`Service
`Control
`
`250
`Call
`Control
`
`248
`Bearer
`Control
`
`Resource
`Proxy
`
`280
`Session
`Manager
`
`304
`308
`Channel
`Origination
`Associated
`
`320
`
`322
`
`306
`282
`Bearer
`Termination
`Capability
`
`312
`Channel
`Single
`
`Channel
`Common
`
`Modem
`
`284
`Half-Rate
`
`c286
`IStereo I
`288
`Service
`Arbitration
`
`290
`
`292
`
`294
`Call Block
`
`296
`Service
`Discriminator
`
`298
`Media
`Independent
`Services
`
`300
`Store and
`Forward
`
`302
`Connection
`Manager
`
`FIG. 7
`
`
`
`•
`
`d
`r:JJ.
`
`•��
`...... �
`
`= ......
`
`��
`'"""' �
`
`'-<
`N
`
`N
`0
`0
`N
`
`'JJ.
`
`=-��
`
`....
`\0
`
`0
`
`....,
`N
`N
`
`e
`
`rJ'J.O'I�
`���
`I■-�
`
`FIG. 8
`
`I■-
`
`I
`
`14-----'�
`
`430
`
`Al
`
`571
`
`435
`
`440
`
`85
`
`59
`� M
`API
`SCA
`540
`�
`554
`·····
`SM
`ELPs
`/
`/,ll
`520
`/
`NOS ��-��
`NOS
`SLPs
`master _ •• /
`\ ••• client
`e
`G
`0
`•.. NOS •• •·
`545
`100·············· ···················
`I
`530 �
`\
`�
`�
`�
`�
`��7
`',
`'(', ......_
`SLEE1
`;;.,,
`SLEE 2 '...._ _
`-- -_.,,,,.
`------
`
`Operating System
`� 450:- --- - - - - - - -
`Computer
`
`
`
`d•
`r:JJ.•
`�
`�
`......�
`= ......
`
`��
`N '"""' �
`
`'-<
`
`N
`0
`0
`N
`
`I
`=-� � ....'"""'
`
`0
`
`0 ....,
`
`N
`N
`
`i,-�
`
`i,-
`
`
`
`580 Computer 2
`
`e
`rJ'J. O'I
`�
`�
`Site "A"
`��
`···································································\············
`204
`FIG. 9
`
`
`440"
`
`
`Computer 3
`
`440
`
`440'
`
`700
`
`• •••
`
`• •
`
`• •·· C 1 .......... .
`: :...···;;1.
`,..l....('•· ....
`� �---··
`.. �
`·
`·• ...... j NOS •••••••
`NOS i ... •··
`............
`. ·········· t
`··
`···
`··•············
`
`700'
`
`.. ······ .I ... ······
`
`. I
`.
`.
`.
`
`I I I
`
`
`
`•.........•.....•.. · ·· · · ··· · · ··· · · · ··· ·
`
`
`
`
`
`I
`I
`I
`580
`
`
`
`
`Sheet 11 of 22
`U.S. Patent May 21, 2002
`
`US 6,393,481 Bl
`
`
`
`Computer 3 Computer x
`
`Computer y
`
`Site "B"
`Site "A"
`Site "C"
`···········
`I...................
`
`
`.......... /.................... 1··················
`
`.. ..... ------
`440b
`440c
`440a
`
`FIG. 10
`
`
`
`d
`r:JJ.
`
`•
`
`•
`
`�
`�
`...... �
`
`= ......
`
`�� '-<
`N'"""'�
`N00N
`
`'JJ.
`=� �
`....'"""'N
`
`0
`
`....,NN
`
`e
`rJ'J.
`O'I
`�
`�
`�
`�
`
`i-- �
`
`i--
`
`
`
`801
`
`
`
`LRM Flow 1 of 2
`
`'
`
`_________ From Step
`
`824,
`FIG. 11b
`
`SLEE1
`
`804
`
`al Resou
`anageme
`
`N
`
`810
`
`ode Resou
`anagem
`
`From Step 829, � 1
`FIG. 11b
`
`Go to Step 824,
`FIG. 11b
`
`Y + name found
`N + name not found
`
`Request
`------Response
`
`FIG. 11a
`
`821
`error
`condition
`
`
`
`LRM Flow 2 of 2
`
`d
`r:JJ.
`
`•
`
`•
`
`�
`�
`...... �
`= ......
`
`N
`
`e Reso
`nagem
`
`828
`ign and
`ess in S
`
`�
`�
`'-<
`N'"""'�
`N
`0
`0
`N
`
`Go to step
`FIG. 11a
`802,
`♦
`824
`y
`Node NOS
`Naming
`
`N
`
`'JJ.
`=� �
`
`....'"""'� 0
`
` ....,
`N
`N
`
`829
`
`increment V - Go to Step
`index# � FIG.11a
`820,
`
`Request
`------Response
`
`Y + name found
`N + name not found
`
`e rJ'J.
`O'I
`�
`�
`�
`�
`
`i,- �
`
`i,-
`
`
`
`FIG. 11b
`
`
`
`
`U.S. Patent May 21, 2002 Sheet 14 of 22
`
`US 6,393,481 Bl
`
`Begin SLEE.java
`
`602
`
`-initialize DM
`
`
`-computer operating
`
`system starts SLEE
`-assume site level NNOS
`
`locator available
`
`604
`
`Import Configuration file
`
`606
`
`Create Configuration Object
`
`608
`
`
`Initialize ORB
`
`610
`Instantiate Classloader
`
`
`
`612
`Instantiate NNOS
`
`
`locator proxy within
`SLEE
`
`615
`-Load Service Manager
`(SM) code via Classloader
`
`-Instantiate SM
`-Bind with NNOS
`
`618
`Execute process event
`
`
`loop
`
`FIG. 12a
`
`
`
`
`U.S. Patent May 21, 2002 Sheet 15 of 22
`
`US 6,393,481 Bl
`
`Begin
`
`ServiceManagerl mpl .java
`
`NNOS callls SM
`
`load method
`
`620
`
`622
`get handle to proxy
`naming service
`
`Yes
`
`No
`
`626
`
`return
`
`object reference
`
`625
`
`recursively load all
`
`classes for requested
`service
`
`Yes
`
`630
`
`register with
`
`NNOS locator
`proxy
`
`632
`
`
`-instantiate Service Agent
`
`
`-associate SA object with
`
`requested SLP
`
`
`-enter process event loop
`
`635
`-create and instantiate
`
`SLEE thread
`
`-associate SLEE thread
`w/Svc. Agent
`
`Return
`
`FIG. 12b
`
`
`
`
`U.S. Patent May 21, 2002
`
`Sheet 16 of 22 US 6,393,481 Bl
`
`Begin
`SLEEClassloader.java
`
`Yes
`
`No
`
`No
`
`Yes
`
`Yes
`
`
`
`Classes not found
`
`690
`fetch classes
`
`694
`define classes
`
`695
`Populate local cache
`
`with loaded classes
`
`Return
`
`FIG. 12c
`
`639
`-instantiate ThreadManager
`
`
`
`FIG. 12d
`
`640
`Execute process
`
`event loop
`
`
`
`U.S. Patent May 21, 2002 Sheet 17 of 22
`
`
`
`US 6,393,481 Bl
`
`Call Begin method
`ServiceAgent.java
`
`641
`-pass in tid, orid parameters
`unique to call
`-pass in message stream
`
`with call/event information
`
`-decode message stream
`
`
`
`-create call context object
`
`and place in extracted message
`info.
`
`643
`
`645
`-invoke Threadmanager to
`
`
`
`retrieve existing or allocate
`new thread instance
`
`646
`-initialize object variables
`
`
`
`-clone SLP instance.
`
`648
`Set cloned SLP instance
`
`for service in allocated
`thread
`
`No
`
`652
`Push service event
`
`
`information to thread's
`queue of
`priorityevent
`new SLP instance
`
`
`
`-start thread on SLP
`
`654
`
`FIG. 12e
`
`
`
`
`U.S. Patent May 21, 2002 Sheet 18 of 22
`
`US 6,393,481 Bl
`
`Begin
`ThreadManager.java
`
`-Receive Tid, Orid
`
`identifiers
`
`-generate key
`
`660
`
`Yes
`
`No
`
`664
`return SLEE thread
`
`
`instance to SAg
`
`663
`update a counter
`
`Yes
`
`667
`
`-issue warning to NNOS
`
`
`
`LRM
`-instantiate new thread
`
`
`instance at another
`location
`
`-initialize new priority
`event queue
`
`-issue warning to
`
`
`NNOS LRM that
`
`
`service threshold is
`reached
`
`No
`
`Return to SAg
`
`670
`-instantiate new SLEEthread
`
`
`
`-initialize new priority event
`queue
`
`-start thread
`
`Return to SAg
`
`FIG. 12f
`
`
`
`
`U.S. Patent May 21, 2002
`
`Sheet 19 of 22 US 6,393,481 Bl
`
`Postevent method
`
`SLEEThread.java
`
`675
`ascertain priority of
`
`
`pushed event
`
`678
`compare priority of pushed
`
`event with next event on
`queue to be processed
`
`No
`
`Yes
`
`-place at top of queue
`
`
`-set as next event to be
`processed
`
`682b
`
`-loop through
`
`priorityevent queue and
`
`
`determine placement of
`682a
`
`event for tracking in
`queue
`
`684
`-wait for SLEEthread
`
`process time
`
`-process next event in
`queue
`
`Return to
`SLEEthread
`
`FIG. 12g
`
`
`
`
`U.S. Patent May 21, 2002
`Sheet 20 of 22
`
`US 6,393,481 Bl
`
`920
`Call arrives at
`
`NGS switch fabric
`
`923
`Call control component
`
`
`addresses NOS
`
`926
`
`NOS instantiates ELP
`
`for tracking event data
`
`929
`Call control sends
`
`
`service request
`message to FD
`
`941
`NOS sends message
`to Service Manager
`
`
`process in SLEE
`
`Yes
`
`146
`SM instantiates
`the SLP object
`
`945
`SM assigns
`new process
`thread to
`SLP object
`
`931
`
`FD uses FD tables to
`
`
`identify service request
`
`949
`SLP process registers
`
`
`physical address
`with NOS
`
`934
`FD hands off service
`
`request to NOS to
`
`instantiate CLP, LLPO
`
`and SLP according to
`
`service requested
`
`937
`NOS LRM identifies
`
`which instance of
`
`requested SLP to use
`
`FIG. 13a
`
`951
`NOS passes service
`
`request hand-off
`message to SLP
`
`954
`SLP begins processing
`
`service request
`
`957
`
`SLP determines action
`for Call control
`to take
`
`959
`Call control instructs
`
`NGS switch to set-up,
`
`complete and/or,
`
`terminate call
`
`END
`
`FIG. 13b
`
`
`
`
`U.S. Patent May 21, 2002
`Sheet 21 of 22
`
`US 6,393,481 Bl
`
`
`From Step FIG. 13b
`954,
`
`960
`SLP requests 18C routing
`
`
`database by sending
`
`logical name to NOS
`
`962
`Receive actual 18C DB
`
`
`
`name and address location
`
`964
`Request NOS LRM to
`
`
`determine if 18C database
`
`locally available
`
`966
`Send physical address
`of 18C database to
`
`SLP if locally available
`
`968
`SLP queries DM for
`
`
`
`customer profile look-up
`
`by sending call parameters
`
`970
`
`SLP receives final
`
`routing information
`
`972
`
`SLP requests OM to
`
`
`lookup actual terminating
`
`location and returns
`
`
`location terminating to SLP
`
`END
`
`FIG. 13c
`
`
`
`
`U.S. Patent May 21, 2002 Sheet 22 of 22
`
`US 6,393,481 Bl
`
`1-800-Call
`
`75
`Switch
`
`
`
`Service Control
`
`54
`
`1-800-Call
`
`75'
`
`FIG. 14
`
`
`
`1
`
`
`
`METHOD AND APPARATUS FOR
`
`
`
`US 6,393,481 Bl
`
`
`
`PROVIDING REAL-TIME CALL
`
`
`
`
`
`PROCESSING SERVICES IN AN
`
`
`
`
`
`INTELLIGENT NETWORK
`
`
`
`FIELD OF THE INVENTION
`
`BACKGROUND OF THE INVENTION
`
`CROSS-REFERENCE TO RELATED
`
`APPLICATION
`
`2
`services from the services provided by their competition.
`
`
`
`
`This also forces some network owners to wait until the
`
`
`
`manufacturer incorporates requests from other network
`
`
`
`owners into the new release. Second, a switch software
`
`
`
`by one network a function as requested 5 release incorporating
`
`
`
`owner to implement a new service can unintentionally
`
`
`become accessible to other network owners.
`
`
`
`These problems have become intolerable as the demand
`
`
`This Application is a Continuation-In-Part of commonly
`
`
`
`
`for new network services has increased exponentially over
`
`
`
`assigned, U.S. patent application Ser. No. 09/128,937 filed
`
`10 the last five to ten years due to increased subscriber mobility,
`
`
`Aug. 5, 1998 entitled "Intelligent Call Platform for an
`
`
`
`
`increased variety and bandwidth of traffic, dissolution of
`
`
`
`
`Intelligent Network Distributed Architecture" which claims
`
`
`
`traditional numbering plans, more sophisticated services and
`
`
`
`
`the benefit of U.S. Provisional Application Ser. No. 60/061,
`
`
`increased competition. Thus, it is widely recognized that
`
`
`173, filed Oct. 6, 1997 both of which are incorporated herein
`
`
`
`new network architectures need to incorporate a more flex-
`
`
`
`
`in their entirety by reference thereto. This application addi
`
`
`
`
`
`service logic. and executing 15 ible way of creating, deploying
`
`
`
`tionally claims the benefit of U.S. Provisional Application
`
`
`In order to fully appreciate the novel architecture of the
`
`Ser. No. 60/104,890 filed Oct. 20, 1998 the whole contents
`
`
`
`
`present invention hereinafter described, the following
`
`
`
`and disclosure of which is incorporated by reference as if
`
`
`
`
`description of the relevant prior art is provided with refer
`fully set forth herein.
`ence to FIG. 1.
`
`Referring to FIG. 1, a logical representation of various
`20
`
`
`
`
`
`switching architectures, including the present invention, is
`
`
`
`
`shown. A monolithic switch, which is denoted generally as
`
`
`
`
`
`The present invention relates generally to intelligent net
`
`
`
`
`20, contains service processing functions 22, call processing
`
`
`
`
`work systems for providing communications services, and
`
`
`
`
`functions 24, facility processing functions 26 and a switch
`
`
`
`
`specifically, to a novel service control system for providing
`
`
`22, 24, 26 and 28 are 25 fabric 28. All of these functions
`
`
`
`
`
`real-time event processing services at each of a plurality of
`
`
`
`hard-coded, intermixed and undifferentiated, as symbolized
`
`
`
`
`services nodes distributed throughout an intelligent network.
`
`
`by the group 30. Moreover, functions 26 and 28 are
`22, 24,
`
`
`
`
`designed by the switch manufacturer and operate on propri
`
`
`etary platforms that vary from manufacturer to manufac-
`A network service is a function performed by a commu
`
`
`
`
`
`
`
`22, 24, 26 and 28 cannot these functions 30 turer. As a result,
`
`
`
`nications network, such as data or telephony, and its asso
`
`
`
`
`be modified without the aid of the manufacturer, which
`
`
`
`
`ciated resources in response to an interaction with one or
`
`
`
`slows down service development and implementation, and
`
`
`
`
`more subscribers. For example, a telephony network resi
`
`
`
`
`increases the cost of bringing a new service to market. The
`
`
`dent service, such as call forwarding or voice mail access,
`
`
`
`development of new and innovative services, call
`
`
`
`
`
`can be invoked by a subscriber by dialing a special sequence
`
`
`
`
`and network processing 35 processing, data processing, signal
`
`
`
`
`of digits. Other network services may be directed at assisting
`
`
`
`operations are, therefore, constrained by the manufacturer's
`
`
`
`a network owner with security, validation, and authentica
`
`
`
`
`control over their proprietary switch hardware and software,
`
`
`
`tion. Adding or modifying a service requires changes to be
`
`
`
`and the inherent difficulty of establishing and implementing
`
`made in the communications network.
`
`industry standards.
`
`
`
`Most conventional telecommunication networks are com-40
`The service processing functions 22 are encoded within
`
`
`
`
`
`posed of interconnected switches and communication ser
`
`
`
`
`
`
`the monolithic switch 20 and only allow local control of this
`
`vices. These switches are controlled by integrated or imbed
`
`
`
`
`
`
`process based on local data contents and the number dialed.
`ded processors operated by proprietary software or firmware
`
`
`
`
`
`
`
`This local information is interpreted by a hard-coded process
`
`designed by the switch manufacturer. Typically, the switch
`
`
`
`
`
`
`
`
`engine that carries out the encoded service function. The call
`
`manufacturer's software or firmware must support all func
`
`
`
`
`
`
`45 processing functions 24 are hard-coded and provide call
`
`
`
`tional aspects of service processing, call processing, facility
`
`
`
`origination and call termination functions. This process
`
`
`
`processing and network management. This means that when
`
`
`
`actually brings up and takes down individual connections to
`
`
`
`a network owner wishes to implement a new service or
`
`
`
`
`complete a call. Likewise, the facility processing functions
`
`
`modify an existing service, the software of every switch in
`
`
`
`26 are also hard-coded and provide all data processing
`the network must be revised by the various switch manu
`
`
`
`
`
`
`
`
`50 relating to the physical resources involved in a call. The
`facturers.
`
`
`
`switch fabric 28 represents the hardware component of the
`
`
`
`
`The fact that the network contains different switch models
`
`
`
`switch and the computer to run the monolithic software
`
`
`
`
`from different manufacturers requires careful development,
`
`
`
`provided by the switch manufacturer, such as Northern
`
`
`
`
`testing and deployment of the new software. The time
`
`
`Telecom, Inc. The switch fabric 28 provides the physical
`
`
`
`
`required to develop, test and deploy the new software is
`
`
`
`
`55 facilities necessary to establish a connection and may
`
`
`
`lengthened because the code size at each switch grows larger
`
`
`
`include, but is not limited to, bearer devices (Tl's and
`
`
`and more complex with each now revision. Thus, this
`
`
`
`
`
`
`DSO's), switching matrix devices (network planes and their
`
`
`
`
`
`process can take several years. In addition, this increased
`
`
`processors), link layer signal processors (SS7, MTP, ISDN,
`
`
`
`
`
`complexity further burdens the switch processors, increases
`
`
`
`
`LAPD) and specialized circuits (conference ports, audio
`
`
`
`
`the chances for switch malfunction, and may require the
`60 tone detectors).
`
`
`modification or replacement of the switch.
`In an attempt to address the previously described
`
`
`
`
`
`
`
`Moreover, the fact that multiple network owners depend
`
`
`
`problems, the International Telecommunications Union and
`
`
`
`
`upon a common set of switch manufacturers results in two
`
`
`
`the European Telecommunication Standards Institute
`("IN").
`
`
`
`
`undesirable situations that limit competition. First, a manu
`
`
`
`endorsed the ITU-T Intelligent Network Standard
`
`
`
`
`65 Similarly, Bellcore endorsed the Advanced Intelligent Net
`
`
`facturers' software release may attempt to incorporate
`("AIN").
`
`
`
`changes requested by several network owners, thus prevent
`
`
`
`work Standard Although these two standards differ
`
`
`ing the network owners from truly differentiating their
`
`
`
`in presentation and evolutionary state, they have almost
`
`
`
`
`
`US 6,393,481 Bl
`
`4
`3
`identical objectives and basic concepts. Accordingly, these
`
`
`
`services or to manage per-subscriber access to services. The
`
`
`
`
`
`
`
`
`ISMS 78 operates mainly by altering the operating logic and
`
`
`
`
`standards are viewed as a single network architecture in
`
`
`data stored within the SSP 70 and SCP 42. The ISMS 78 has
`
`
`
`which the service processing functions 22 are separated
`
`
`
`various user interfaces 80 and 82. This ISMS 78 is connected
`from the switch.
`
`
`
`and Switching line 84, the SSP 5 to the SCP 42 by operations
`
`
`Using the IN and AIN architectures, a network owner
`
`System 44 by operations line 86, and the Intelligent Periph
`could presumably roll out a new service by creating and
`
`
`
`
`eral ("IP") 88 by operations line 90. The Intelligent Periph
`deploying a new Service Logic Program ("SLP"), which is
`
`
`
`
`
`
`
`eral 88 is a device used to add functions to the network that
`essentially a table of Service Independent Building Blocks
`
`
`
`
`
`are not available on the switches, such as a voice response
`
`("SIBB") to be invoked during a given type of call. Accord
`
`
`
`
`
`
`or speech recognition system. The IP 88 is connected to the
`
`
`ing to this approach, a number of specific element types
`10
`
`
`SSP and Switching System 44 by signaling line 92 and
`
`
`
`inter-operate in conjunction with a SLP to provide services
`
`transport line 94.
`
`
`
`to network subscribers. As a result, any new or potential
`Now referring to FIG. 2, the processing of a call in
`
`
`
`
`
`services are limited by the existing SIBBS.
`
`
`
`accordance with the prior art will be described. The call is
`
`
`
`The In or AIN architecture, which is denoted generally as
`
`
`
`initiated when the customer picks up the receiver and begins
`
`
`
`40, logically separates the functions of the monolithic switch
`15
`
`
`dialing. The SSP 70 at the company switch monitors the
`
`
`20 into a Service Control Point ("SCP") 42, and a Service
`
`
`
`
`dialing and recognizes the trigger sequence. The SSP 70
`
`
`
`Switching Point ("SSP") and Switching System 44. The SCP
`
`
`
`
`
`suspends further handling of the call until service logic can
`
`
`
`
`
`42 contains the service processing functions 22, whereas the
`
`
`
`be consulted. The SSP 70 then composes a standard SS7
`
`
`
`SSP and Switching System 44 contain the call processing
`
`
`
`message and sends it through STP(s) 74 to the SCP 42. The
`
`
`
`
`functions 24, facility processing functions 26 and the switch
`
`
`
`
`SCP 42 receives and decodes the message and invokes the
`20
`
`
`
`
`fabric 28. In this case, the call processing functions 24,
`
`
`
`SLP. The SLI interprets the SCP, which may call for actu-
`
`
`
`
`facility processing functions 26 and the switch fabric 28 are
`
`
`
`ating other functions such as database lookup for number
`
`
`
`hard-coded, intermixed and undifferentiated, as symbolized
`
`
`
`translation. The SCP 42 returns an SS7 message to the SSP
`
`by the group 46.
`
`
`
`and Switching System 44 regarding the handling of the call
`
`
`
`The Service Switching Point ("SSP") is a functional
`
`
`
`
`
`or otherwise dispatches messages to the network elements to
`25
`
`
`
`
`
`module that resides at a switch in order to recognize when
`
`
`
`
`carry out the correct service. At the conclusion of the call, an
`
`
`a subscriber's signaling requires more than simple routing
`
`
`SS7 message is sent among the switches to tear down the
`
`
`call and call detail records are created by each switch
`
`
`based solely upon the number dialed. The SSP suspends
`
`
`involved in the call. The call detail records are collected,
`
`
`
`
`further handling of the call while it initiates a query for
`
`
`
`
`
`correlated, and resolved offline for each call to derive billing
`
`
`
`correct handling of the call to the remote SCP 42, which 30
`
`
`for toll calls thus, completing call processing.
`
`
`
`essentially acts as a database server for a number of
`
`
`
`The IN and AIN architectures attempt to predefine a
`
`
`
`
`
`switches. This division of processing results in the offload
`
`
`
`
`standard set of functions to support all foreseeable services.
`
`
`
`
`ing of the infrequent, yet time consuming task of handling
`
`
`
`
`These standard functions are all hard-coded into various
`
`
`
`special service calls, from the switch. Furthermore, this
`
`
`
`state machines in the switch. Unfortunately, any new
`
`
`
`
`moderate centralization draws a balance between having one 35
`
`
`
`
`functions, which are likely to arise in conjunction with new
`
`
`
`
`
`readily modifiable, heavy burdened repository serving the
`
`
`
`
`technologies or unforeseen service needs, cannot be imple-
`
`
`
`whole network versus deploying a complete copy of the
`
`
`
`mented without an extensive overhaul and testing of the
`
`repository at every switch.
`
`
`
`network software across many vendor platforms.
`
`
`Referring now to FIG. 2, a diagram of a telecommunica
`
`
`
`
`Furthermore, if a new function requires changes to stan
`
`
`tions system employing an IN or AIN architecture is shown 40
`
`
`
`
`dardized call models, protocols, or interfaces, the implemen
`
`
`
`
`and is denoted generally as 50. Various customer systems,
`
`
`
`
`tation of the service utilizing that function may be delayed
`
`
`such as an ISDN terminal 52, a first telephone 54, and a
`
`
`
`
`
`until the changes are ratified by an industry standards group.
`
`
`
`second telephone 56 are connected to the SSP and Switching
`
`
`
`
`But even as draft standards have attempted to broaden the set
`
`
`System 44. The ISDN terminal 52 is connected to the SSP
`
`
`of IN and AIN supported functions, equipment suppliers
`
`
`and Switching System 44 by signaling line 60 and transport
`
`
`
`have refused to endorse these draft standards due to the
`45
`
`
`
`line 62. The first telephone 54 is connected to the SSP and
`
`
`
`
`staggering increase in code complexity. A detailed flow chart
`
`
`Switching System 44 by transport line 64. The second
`
`
`
`describing the process for generic service creation according
`
`
`
`telephone 56 is connected to a remote switching system 66
`
`to the prior art may be found in above-mentioned,
`
`
`by transport line 68 and the remote switching system 66 is
`
`
`
`
`commonly-owned, co-pending U.S. patent application Ser.
`
`
`connected to the SSP and Switching System 44 by transport
`
`
`
`No. 09/128,937 filed Aug. 5, 1998 entitled "Intelligent Call
`50
`line 70.
`
`
`Platform for an Intelligent Network Distributed
`
`
`
`
`
`
`As previously described in reference to FIG.
`
`
`Architecture", 1, the SSP 70 the contents and disclosure of which is incor
`
`
`is a functional module that resides porated at a switch in order to by reference as if fully set forth herein.
`
`
`
`
`
`recognize when a subscriber's signaling requires more than
`
`
`
`
`In further view of FIG. 2, other limitations of the IN and
`
`
`
`
`simple routing based upon the number dialed. The SSP 70
`
`
`55 AIN architecture arise from having the call processing and
`
`
`
`
`
`suspends further handling of the call while it initiates a query
`
`
`
`facility processing functions, namely, the SSP 70, operating
`
`
`for correct handling of the call. This query is sent in the form
`
`
`
`within the switch. As a result, these functions must be
`
`
`
`of SS7 messaging to a remote SCP 42. The Service Control
`
`
`provided by each switch manufacturer using their propri
`
`
`
`Point 42 is so named because changing the database content
`
`
`
`
`etary software. Network owners are, therefore, still heavily
`
`
`
`at this location can alter the network function as it appears
`
`
`
`60 dependent upon manufacturer software releases to support
`
`
`
`to subscribers connected through the many subtending
`
`
`
`
`new functions. To further complicate the matter, the network
`
`
`
`
`switches. The query is sent through signaling line 72 to the
`
`
`
`owner cannot test SSP 70 modules in conjunction with other
`
`
`
`Signal Transfer Point ("STP") 74, which is simply a router
`
`
`
`modules in a unified development and test environment.
`