`Norell
`
`[54] SOFTWARE PROGRAM STRUCTURE AND
`METHOD FOR MODULIZING THE
`OPERATIONS OF A
`TELECOMMUNICATIONS SYSTEM
`
`[75] Inventor: Bror L. Norell. Alvsjo, Sweden
`
`[73] Assignee: Telefonaktiebolaget LM Ericsson,
`Stockholm, Sweden
`
`[21] Appl. No.: 451,072
`[22] Filed:
`May 25, 1995
`
`Related US. Application Data
`
`[63] Continuation of Ser. No. 112,809, Aug. 27, 1993, aban
`doned.
`Foreign Application Priority Data
`
`[30]
`
`Aug. 28, 1992 [SE]
`Mar. 25, 1993 [SE]
`
`Sweden ................................ .. 9202488
`Sweden ........................ ..
`9301000
`
`[51] Int. Cl.6 .................................................... .. G06F 15/00
`[52] US. Cl.
`395/674
`[58] Field of Search ................................... .. 395/600, 650,
`395/700; 455/39
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,280,610
`5,303,375
`5,303,379
`
`1/1994 Travis, Jr. et a1. ................... .. 395/600
`4/1994 Collins et al. . . . . .
`. . . .. 395/650
`4/1994 Khoyi et a1. .......................... .. 395/700
`
`FOREIGN PATENT DOCUMENTS
`
`405 829 111991 European Pat. 01f. .
`
`OTHER PUBLICATIONS
`K. Maruyama et al.. “Object-Oriented Switching Program
`Structure”, Electronics and Communications in Japan, Part
`1, vol. 75, No. 6, pp. 26-40 (1992).
`
`USO05634126A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,634,126
`May 27, 1997
`
`R. Bruins, “Stored Program Controlled Telecommunication
`Services”, IEEE International Conference on Communica
`tions, vol. 4, pp. 1632-1636 (1990).
`K. Maruyama et al., “A Concurrent Object-Oriented
`Switching Program in Chill”, IEEE Communications Maga
`zine, vol. 29, No. 1, pp. 60-68 (1991).
`
`Primary Examiner-—Kevin A. Kriess
`Attorney, Agent, orFirm-Burns, Doane, Swecker & Mathis
`[57]
`ABSTRACT
`
`The invention relates to a telecommunication system pro
`vided with resources and with software which controls the
`individual resources and also the manner in which the
`resources cooperate mutually at a system level. In accor
`dance with the invention, the software is divided into two
`parts. The ?rst part, called object logic, comprises a number
`of object units, each of which represents an individual type
`of resource. Further, each object unit includes operations for
`controlling its individual resource. An individual type of
`resource may be used for a number of di?’erent purposes.
`The second part, called control logic, includes a number of
`control cases. Each control case, in turn, combines a number
`of object units in a superordinate fashion, to control the
`mutual cooperation of corresponding resources irrespective
`of the manner in which an individual object unit is intended
`to in?uence its resource. A control case includes a number
`of control stages, each of which has only one input, at least
`a ?rst operation, called control stage operation, and at least
`one output. The control stages of a control case are mutually
`connected by links, each of which is designed to connect an
`output of a preceding control stage with the input of a
`following control stage. The points at which links are
`connected to the control stages are called potential connec
`tion points to which additional control cases, called control
`case features, can be connected to the control case in which
`the control stages are present, called the basic control case,
`for modi?cation of the basic control case.
`
`30 Claims, 34 Drawing Sheets
`
`54
`
`Object unit
`0
`
`32
`
`52
`
`/
`/
`
`NEW I/
`iii]
`:
`58
`
`s]
`
`x-m
`
`'
`
`\
`\
`
`E2 \ \
`l
`\\
`so
`\
`\
`\<
`\\
`\
`\
`
`A
`
`\\\ 5/15
`
`GTL 1008
`IPR of U.S. Patent 7,324,637
`
`
`
`US. Patent
`
`May 27, 1997
`
`Sheet 1 of 34
`
`5,634,126
`
`Fig. 1
`
`21\ Software
`
`1 1
`
`22\
`Database
`\ Computer
`
`Operative
`system
`\2O
`
`15
`\
`
`TI
`
`12
`/
`
`F“- _ _ _ _ _ ' _ '___"'"1
`
`6E2?
`\
`14
`
`I
`i
`I
`l
`
`I
`*
`'
`‘
`|\19
`51.1 X ET
`\
`\1s
`\17
`18 l
`l
`
`Lsritsniaaswerrsrrmniw
`
`
`
`U.S. Patent
`
`May 27,1997
`
`Sheet 2 of 34
`
`5,634,126
`
`Flg. 2
`
`21\ Software
`
`23\
`\ Control logic
`
`24\\ Object logic
`
`13\ TI
`
`12 /
`
`15
`
`'
`
`@- su
`‘4
`\1s
`
`><
`\
`17
`
`ET —-——§——
`\
`1s‘
`
`19
`
`Switching equipment
`
`\10
`
`
`
`US. Patent
`
`May 27, 1997
`
`Sheet 3 0f 34
`
`5,634,126
`
`Fig 3
`
`28
`/
`
`j
`
`Self-starting
`object unit
`
`/
`25
`
`Object logic
`
`28
`
`28
`/
`
`Object unit
`
`Object unit
`
`/
`26
`
`/
`27
`
`24
`
`
`
`US. Patent
`
`May 27, 1997
`
`Sheet 4 of 34
`
`5,634,126
`
`Fig 4
`
`46
`
`\\'i
`
`Control logic
`
`Control case
`
`_|
`
`_
`
`47
`\
`
`48
`/ \
`Part
`sequense
`
`Por‘t-
`sequense
`
`45
`\
`Start
`logic
`
`_
`
`/42
`/43
`/37 /38 /36 /39 /4()
`
`23
`
`44
`/
`/41
`
`l
`
`I
`l
`l
`I
`
`i
`I
`
`30
`i /
`Sub-
`scriber
`data
`
`31
`/
`Routing
`do’co
`
`Object
`{Ogle
`
`32
`/ »
`
`Sub-
`scriber
`interface
`
`34
`33
`/ i /
`Switch
`Trunk
`interface
`
`35
`i /
`Operator
`interface
`
`i
`1
`
`22 4-’ 49
`
`51
`
`13\ TI
`
`15 [__1—_T_”T_—i
`0 \ i
`su X ET
`2 \
`\
`\
`\
`19
`14
`I
`16
`17
`18 :
`
`Léw?shisa 21:11pmnt __ _J\1o
`
`(1
`
`
`
`US. Patent
`
`May 27, 1997
`
`Sheet 5 of 34
`
`5,634,126
`
`Object unit
`(class)
`
`32
`
`5
`
`2 3
`
`m m 2 .000 DOI m
`N O W M.»- /
`
`/ 5/ m
`
`
`
`J! :h* llll\\|\\
`
`5 X
`
`6
`
`1\
`
`
`5 .|_| .wa. \
`\ D \\
`
`A \
`
`6 ¥ \
`
`5 \ D \ X
`
`/ __ v
`
`\\ \ A E
`
`\
`
`O \ \
`
`- \ ~
`
`b
`
`/
`
`\, \
`
`\ _
`
`\
`
`
`
`US. Patent
`
`May 27, 1997
`
`Sheet 6 0f 34
`
`5,634,126
`
`54
`
`Interface
`I \
`I
`28
`I
`l
`l
`|
`:--L»
`l
`:
`I
`l
`I‘
`I
`l
`:
`:
`l
`I
`53
`:
`67
`\
`FL» > STOP
`:
`I
`End
`|
`I
`sequence
`
`4 65
`
`F ig 6
`
`62
`/
`
`Free
`gran-existent
`__J
`
`52
`
`> NEW /
`Star’:
`/63
`sequence
`
`64
`< START
`response /
`
`66
`l/
`‘
`Existing
`J
`
`73
`/
`
`> op1
`|
`op1
`procedure
`
`> op2
`i
`op2
`procedure
`
`:
`I
`72
`|"-—-A—-—-
`I i
`i
`
`l
`
`l
`
`\68
`\74
`< Result
`< Result
`\70
`\71
`
`\69
`
`r
`
`
`
`US. Patent
`
`May 27, 1997
`
`Sheet 7 of 34
`
`5,634,126
`
`Fl 9 7
`
`class Y
`public:
`{ //START SEQUENCE } ;
`Y()
`virtual ~ Y() { //END SEQUENCE };
`
`
`
`int op‘! int 0p2();
`
`int Y ::op1() {
`//op1 procedure
`
`int Y ::op2() {
`//op2 procedure
`
`Fig 8
`
`
`
`X=new Y Y-.—>‘op1();
`
`X—>op2()
`delete (X)
`
`
`
`US. Patent .
`
`May 27, 1997
`
`Sheet 8 0f 34
`
`5,634,126
`
`Fig 9
`
`Control case A
`
`55
`
`A5
`
`
`
`US. Patent
`
`May 27, 1997
`
`Sheet 9 0f 34
`
`5,634,126
`
`Fig 10
`
`Fig 11
`
`. P
`
`O
`1
`
`80\
`
`[
`
`82
`\
`
`83
`
`P
`0/
`
`Execute control stage
`operation
`
`S1\
`
`\a1
`
`.
`Output selection
`
`84
`/
`
`Fig 12
`
`C t I
`
`In???
`
`executor
`
`47
`
`\ / \ /
`
`r3
`
`87
`
`r1
`
`r2 ,
`
`A,
`
`
`
`US. Patent
`
`May 27, 1997
`
`Sheet 10 of 34
`
`5,634,126
`
`Fig 13
`
`P
`
`- O
`88 I
`m
`0 9 9
`
`L1
`
`P
`
`Q
`
`Q
`
`
`
`US. Patent
`
`May 27, 1997
`
`Sheet 11 0f 34
`
`5,634,126
`
`Control case D
`
`14
`
`Control case start -
`
`
`
`US. Patent
`
`May 27,1997
`
`Sheet 12 of 34
`
`5,634,126
`
`Control case
`
`A
`
`Pl 160
`9
`gggérol
`
`A
`
`Ccgnsléol
`feature
`8
`
`Control
`case
`feature
`C
`
`Flg 16b gggéml
`
`Control
`C058
`
`feature
`B
`
`Control case
`feature
`
`Controt case
`feature
`
`B
`
`o
`
`D
`
`Control case
`feature
`
`4
`
`C
`
`(égg‘t‘lrol
`feature
`D
`
`Fl 16d
`g
`Control
`case
`
`gggérol
`feature
`B
`
`gaggol
`feature
`D
`
`A
`
`Flg l6e ggnsgol
`
`Control
`CGSE
`
`feature
`B
`
`A
`
`A
`
`feature
`C
`
`feature
`C
`
`Fig 160
`
`Control
`C088
`
`A
`
`Fig 161‘
`
`Control
`C088
`
`A
`
`
`
`US. Patent
`
`May 27, 1997
`
`Sheet 13 of 34
`
`5,634,126
`
`Fig 1 70
`
`Control cose D
`
`Control oose feature I
`
`Control case
`specialization
`P
`
`l
`
`op2
`
`104
`
`D1
`
`op1
`
`103
`
`r1
`
`r2
`
`r3
`
`Fig 17b
`
`L
`
`op2
`
`10%
`
`
`
`US. Patent
`
`May 27, 1997
`
`Sheet 14 of 34
`
`5,634,126
`
`'Fig 180
`
`Control case D
`
`Control case feature J
`
`D1
`
`(LP
`
`op1
`
`O
`
`\
`
`PASS
`
`l
`
`103 q
`/
`
`‘
`
`106
`/
`
`r1
`
`r2
`
`r3
`
`F3
`
`r5
`
`r6
`
`1
`
`2
`
`3
`
`4
`
`5
`
`6
`
`F:
`9
`
`18b
`
`o\
`F)
`
`\
`
`op1
`
`107
`/
`
`
`
`US. Patent
`
`May 27, 1997
`Sheet 15 of 34
`Fig 190
`
`5,634,126
`
`Control cose D
`
`Control case feature K
`
`o
`
`i
`
`op2
`
`clp
`
`\
`
`0P1
`
`1
`
`102
`/
`
`r1
`
`r2
`
`r3
`
`1
`
`2
`
`3
`
`Fig 19b
`
`x
`
`O\
`1
`F’
`
`1
`
`op2
`
`103
`/
`
`r1
`
`r2
`
`r3
`
`
`
`U.S. Patent
`
`May 27, 1997
`
`, Sheet 16 0f 34
`
`5,634,126
`
`Fig 200
`
`Hg 20b
`
`
`
`US. Patent
`
`May 27, 1997
`
`Sheet 17 of 34
`
`5,634,126
`
`Fig 21
`
`Control stage
`specialization
`
`Control stage
`
`
`
`U.S. Patent
`
`May 27, 1997
`
`Sheet 13 of 34
`
`5,634,126
`
`
`
`US. Patent
`
`May 27, 1997
`
`Sheet 19 of 34
`
`5,634,126
`
`89
`
`1
`10
`/
`/
`
`SR3 SR4 SR5 SR6
`SR2
`
`SR1
`\
`
`\
`
`Control stoge=|=
`
`___//
`
`Control stoge
`implementation
`
`Control stoge=o=
`
`n"
`
`r1
`
`r2
`
`r3
`
`1
`
`2
`
`3
`
`_
`
`l
`I
`
`Output number
`1
`
`2
`
`3
`
`112
`
`Next control
`stage-ID
`
`6
`
`Control stoge-lD 1
`2
`
`I5
`
`4
`
`5
`
`6
`
`Fig 23
`
`
`
`U.S. Patent
`
`May 27, 1997
`
`Sheet 20 of 34
`
`5,634,126
`
`Control stage feature
`
`Fig 24
`
`Modified
`control case
`
`Feature type
`
`F
`
`. t
`t
`6° “re pom
`
`Control case-ID
`
`Input
`takeover
`
`C°”tr°'
`St°9°"'D
`
`Output
`takeover
`
`Control
`stage-—lD
`Output-ID
`
`Control stage
`specialization
`
`Control
`stage-ID
`
`89
`
`Hurst control
`stage——lD
`
`116
`
`1 10
`
`1 1 1
`
`Control stage
`
`Control staget
`
`Control staget
`
`Output number
`1
`
`..?..._..-p
`
`2
`
`35
`
`Control
`
`stage—lD or
`return—lD
`
`Possible
`Control stage
`output
`Retum—:o --
`Control
`stage—-ID —
`
`Control
`
`stoge——lD
`
`output-lD
`
`
`
`U.S. Patent
`
`May 27, 1997
`
`Sheet 21 of 34
`
`5,634,126
`
`ll
`
`Control
`
`stage—|D
`
`\1CDUI-¥>-(.rll\'>-*
`
`Output number
`
`Control
`
`stage-ID
`
`Control stage
`implementation
`
`Dl
`
`Control stage
`implementation
`
`D2
`
`Control stage
`implementation
`
`D3
`
`Control stage
`implementation
`
`D4
`
`Control stage
`implementation
`
`D5
`
`Control stage
`implementation
`
`D6
`
`Control stage
`implementation
`
`D7
`
`
`
`U.S. Patent
`
`May 27, 1997
`
`Sheet 22 of 34
`
`5,634,126
`
`Modified
`control case
`
`Feature type
`
`Control stage
`specialization
`
`Control stage
`implementation
`
`D1
`
`Control stage
`implementation
`
`E1
`
`C°"tr°'
`stage—lD
`
`Control Possible
`Return—lD Stage
`output
`
`I‘
`
`
`
`U.S. Patent
`
`May 27, 1997
`
`Sheet 23 of 34
`
`5,634,126
`
`Modified
`control case
`
`Feature type
`
`input takeover
`
`Control stage
`implementation
`
`F1
`
`Controi stage
`implementation
`
`F2
`
`Control
`
`Possible
`
`Return-—lD
`
`stage
`
`output
`
`Fig 27
`
`
`
`U.S. Patent
`
`May 27, 1997
`
`Sheet 24 of 34
`
`5,634,126
`
`Modified control case
`
`Feature type
`
`Output
`
`takeover
`
`_
`Feature pomt
`
`Control stage 5
`
`Output
`
`2
`
`89
`
`E
`
`C
`
`Control stage
`
`implementation
`
`G1
`
`Control
`
`stage-lD
`
`T9
`
`Omput "”mbe'
`1
`2
`
`Control
`Possible
`Return--ID
`stage
`output
`T:
`
`112
`
`115
`
`Fig 28
`
`
`
`U.S. Patent
`
`May 27, 1997
`
`Sheet 25 of 34
`
`5,634,126
`
`Fig 29
`
`Colllapsed control case
`
`R
`
`Ere
`
`Control
`stage-ID
`
`-—\O¢.OUJ\lO')LJ'l-#(.>1l\)-'~
`
`._L—l
`
`Control
`stage-lD
`
`Output number
`|._:_.______..
`1
`2
`
`3 1
`
`0
`
`Control stage
`implementation
`
`D1/E1
`
`Control stage
`implementation
`D2
`
`Control. stage
`implementation
`D3
`
`Control stage
`implementation
`D5
`
`Control stage
`implementation
`D7
`
`Control stage
`implementation
`E1
`
`Control stage
`implementation
`G1
`
`Control stage
`implementation
`F1
`
`Control stage
`implementation
`
`Short—circuited control stage
`
`Short—circuited control stage
`
`--
`
`-_L_L—-OtOm\lOiU'l-F~LrJl\'J-'-
`
`I-
`
`I1
`
`-_“
`
`--
`-EH
`_- -
`----
`--
`--
`
`
`
`U.S. Patent
`
`May 27, 1997
`
`Sheet 26 of 34
`
`5,634,126
`
`Control case configu-
`ration (data per exe-
`cufion
`
`
`
`
`Representation of a control case (Hg 2.3)
`
`start89
`
`1 1 1
`
`
`—'.._"—"-5‘-—-|
`stage
`I
`
`Control
`
`imple-
`mentation
`
`I
`
`Control case
`feature
`Control case
`feature
`
`Basic control
`
`case
`
`C
`
`
`
` A
`
`
`
`
`
`
`
`
`
`
`
`
`
`89
`start
`1 1 1
`Control stage jd
`table
`a“
`
`Control
`link
`112 St°9°
`.
`imple-
`matnx
`mentation
`
`Control
`
`|
`
`
`
`
`
`
`
`
`
`
`
`
`
`Control stage
`executor
`(F79 33)
`
`Next control
`
`stage (Y.A.U)
`
`Execute control case
`‘[22 (basic control case)
`
`
`
`
`
`lnitiate/
`terminate
`execution
`
`
`
`
`
`Execute control
`
`123
`
`
`
`case (Fig 34) I
`
`Execute control
`
`case (X)
`
`Control
`
`logic executor
`
`
`
`feature
`
`45
`
`Start
`
`logic
`
`
`
`
`
`I
`
`Representation of a control
`case feature
`1 14
`Feature information
`
`Control case
`feature
`Control case
`
`
`
`U.S. Patent
`
`May 27, 1997
`
`Sheet 27 of 34
`
`5,634,126
`
`Fig 31
`
`127
`
`Call of function with
`input parameter X and
`output porometer Y
`
`Coll of function which
`has the alternative
`
`responses A and B with
`response data (X) and (Y)
`
`fknix)
`
`in the
`Entry point
`definition of a function
`
`/
`
`133
`
`Return from 0 function
`
`definition
`
`134
`
`/
`
`Loop
`
`
`
`U.S. Patent
`
`May 27, 1997
`
`Sheet 28 of 34
`
`5,634,126
`
`Control
`
`stage
`
`I l
`
`Control
`executor
`
`logic
`
`II {
`
`4
`:
`I
`
`/
`
`
`
`
`
`1 38
`
`-
`Fig
`
`
`
`
`
`Control
`stage opera-
`
`tion
`
`
`
`137 :
`Execute
`I
`
`Execute
`-1 ——————————— —— control stage
`control stage
`operation
`{
`operation
`
`CREATE
`OBJECT
`
`14-1
`
`145
`
`OVERLAY
`
`
`
`§
`I145
`__/V 0Ve"‘°Y
`Over1ay
`‘T
`control C058
`cQnfro| cqse
`'
`f
`i
`t‘
`W'th ‘d
`t'f'
`\‘ 140
`ienucanono
`I
`which feature control
`—.—\A
`case shall be overlaid
`147
`148;
`_______:____z___
`Create
`:
`object
`'
`lMth identification of
`which object unit shall
`be started
`.
`/
`150;
`--—--+ ---------- --
`:
`I
`
`Create
`object
`\\
`—————— ———*
`149
`
`——————
`
`PASS
`
`PART—
`SEQUENCE
`
`OBJECT
`OPERA‘l1ON
`
`OBJECT
`
`1 l
`
`I
`
`.
`
`oP__
`response
`
`.
`Object
`-‘F UN”
`operation
`1
`!
`144 . :
`153 :
`:
`— T-
`I
`:
`'
`g\
`1:56
`(28)
`
`154
`
`30
`
`143
`
`14-2
`
`Part-
`
`——————————————————————
`
`
`
`Operation
`
`is there an output from
`this control stage for
`this result?
`
`158
`————-
`
`159
`
`_ _ _ _ _ _ _ _ _ _ _ _ _
`
`_ _ ___ Output from this
`control stage
`
`
`
`U.S. Patent
`
`May 27, 1997
`
`Sheet 29 of 34
`
`5,634,126
`
`Control stage
`.
`€X€CU1Zl0n
`
`For all control cases
`in the control case
`priority list from the
`feature control case
`of highest priority to
`basic control case
`
`Execute—o control stage
`(A)=contro| stage identity
`
`1 64
`
`________
`
`p
`
`_........
`
`.__..
`
`0 Yes
`
`CONTROL
`
`CASE 8
`
`169
`
`Does this control cose/
`
`control case feature 8
`
`include the control
`stage A or a control
`stage specialization
`for A?
`
`End of control
`case
`
`1 67
`
`____ __
`
`168
`
`172
`
`Loop end B
`
`
`
`control stage
`operation
`
`
`Control stage
`lacking
`
`.
`
`Create object or
`CUS6
`
`-
`
`173
`
`Carry out
`
`requested
`function
`
`171 0
`
`170
`
`Default output
`
`Output
`
`‘-‘°“t"°'
`
`this ]"“‘
`
`Output
`
`1 7
`
`4-
`
`
`
`175
`
`""
`
`For all control cases
`in the control case
`-
`-
`1- t f
`{h
`
`cintrfimcasee
`
`of highest priority to
`basic control case
`
`1“
`
`fl°W
`
`1
`
`Does this control case/
`control case feature B
`include the control
`stage A or a control
`‘r 1-
`?°(r3_gz?SpeCl0 lZCl Ion
`
` at
`
`_
`
`________ __
`
`0
`
`1 77
`
`Loop end C
`
`End of control
`case
`
`__
`
`Control stage
`lacking
`
`178
`
`Output
`
`Yes
`
`1 76
`
`179
`
`CONTROL
`PASE C
`
`output
`selection
`
`_ __
`
`D 180
`
`-————
`
`Control
`Stage A
`
`
`
`O t
`
`t X '
`
`02:32.
`
`C
`
`181
`
`132
`
`}............--
`
`ou(;>,ut
`
`9
`
`
`
`U.S. Patent
`
`May 27, 1997
`
`Sheet 30 of 34
`
`i
`
`5,634,126 i
`
`B<ecute control case
`X=Contro| case
`identi
`
`183
`
`184
`
`identify first
`control stage
`(X)
`
`
`
`
`
`=flrst control stage
`in control case X
`
`————
`
`Indicated control
`stage==A
`
`----'
`
`Execute—-A—
`control stage
`
`géntgol
`----- -— exefiufion
`(fig 33)
`
`135
`
`188
`
`O
`
`186
`
`output
`
`::":;::,:;° --
`
`
`
`Indicated output U from }
`
`control stage A in cont-
`rol case or control case
`feature Y
`Is there an observing control
`case feature with output obser-
`vation on output U from cont—
`rol stage A in control case or
`control case feature Y?
`
`189
`__ 0 °
`
`N
`
`End
`
`l=observing cont-
`For all
`rol case features accord— —————
`ing to the above
`
`187
`
`Determine next control stage
`after output U in control
`stage A _in control case
`(also while taking transitions
`to control cc)xse features
`'nt
`ccount
`I
`o a
`
`Control stage 8 in control
`case or control case
`feature 2
`
`Is there an observing control
`case feature with input take—
`over on control stage B in
`control case for control case
`
`feature 2?
`
`196
`
`--
`
`Yes
`
`No
`
`194
`
`For all
`l=observing cont-
`rol case feotures accord— ___.._. @ 198(-'-'12s)
`ing to the above
` SELl-"(recursive call of
`
`Execute control
`case (I)
`
`the now described
`function)
`
`Change of signs for
`repetition of the function
`for the next control stage
`
`199
`—--—---— Y<"Z
`
`Fig 34
`
`
` SELF(recursive call of
`
`
`
`
`Execute control
`case (I)
`
`— the now described
`function)
`
`
`/
`192
`_____
`
`Ne“ n°n_
`tml Stage
`(YAU)
`O /
`19 .
`r
`
`____ input
`
`124
`
`________
`
`Link
`executer
`
`195
`
`1
`/
`Control sta ‘_
`
` .___.___._............_.._.....—._....—._——.—_.—._—_...—.—.—.-—......._._—.——......-..._.—.....—...—._.——.._—.—-..—-—....—.._._—_.—
`
`
`
`U.S. Patent
`
`May 27, 1997
`
`Sheet 31 of 34
`
`5,634,126
`
`..-.—-pg..-.————_...._......._._._.——_..._..—..—_._.._._.-——...—.__.._..—.———_.._.——.._.._......_._.——._._.._—-._._-_.————_——_._....—.—.-..-..._
`
`Link executer
`
`Is there a control case
`feature Z with output
`takeover on output U
`from control stage A
`in control case or
`control case feature Y?
`
`Link from output U from
`control stage A in cont-
`rol case or control case
`
`feature Y > control stage
`C in control case W
`(also taking into account
`a return from control
`
`case feature)t
`
`ls the link empty,
`
`i.e. W,C undefined?
`
`Fig 35
`
`
`Next control stage
`=control case ID
`A=contro| stage ID
`
`U=°utput
`
`————-——
`
`-----
`
`Determine next control
`stage after output U
`in control stage A in
`control case Y (also
`taking into account
`transitions to control
`case features)
`
`
`Identify first
`control stage
`(w)——>(w,c)
`
`_______J
`
`\
`
`—————— '"'
`
`C=first control
`
`stage in control
`case W
`
`
`
`Control
`stage
`lacking
`
`
`
`207
`
`Is there a control case
`feature 2 with input
`takeover on the input to
`control stage C in cont— ‘“‘-"
`rol case or control case
`feature W?
`
` Identify first
`control stage
`
`_______J
`
`V‘”—_i——“_7
`B=first control
`stage in control
`case Z
`
`
`
`209
`
`
`
`U.S. Patent
`
`May 27, 1997
`
`Sheet 32 of 34
`
`5,634,126
`
`Start
`
`logic
`
`Start
`event
`
`
`
`
`Start configuration-or
`
`Start configuration:
`
`
`
`
`
`
`
`Start
`logic, data
`
`
`29
`
`
`
`
`
` Observing
`control case
`list
`
`Start configurationt
`
`216
`
`Self~starting
`object unit
`
`Start
`
`logic. program
`
`25
`
`45
`
`Start execution
`(configuration)
`
`logic
`Start
`executor
`
`I
`I Configuration
`I (data per exe— I
`I cution of controtl
`
`47
`
`/
`120(Fig 30)
`
`
`
`U.S. Patent
`
`May 27, 1997
`
`Sheet 33 of 34
`
`5,634,126
`
`Fig 37
`
`Representation of a control case (Fig 23)
`
`Control
`_ matrix
`
`link
`
`1 12
`
`Link executer (Fig 35)
`
`Representation of a control
`case feature
`
`Feature information
`
`identify first
`
`control stage
`(w)__>(w’C)
`
`‘
`
`203
`
`222
`
`Link
`(Y,A,U)—>(W,C)
`
`913
`
`Representation of a control
`case feature (Fig 24)
`Feature information
`_
`
`start
`
`-
`
`89
`
`link
`
`Control
`matrix
`
`l 12
`
`“5
`
`
`
`U.S. Patent
`
`May 27, 1997
`
`Sheet 34 of 34
`
`5,634,126
`
`Fig 38
`
`Control stage
`
`
`
`
`Operation code
`
`51
`
`Parameter
`
`227
`
`227
`
`Operation
`
`Parameters
`
`Overlay
`control case
`
`1
`
`Identity of control case features
`that shall be added to the now
`
`Result
`
`Lacking
`
`
`
`executing configuration
`
`2 Priority (O=observing)
`
`
`
`
`Create object
`
`1
`
`ldentity of the object unit for
`which a new object shall be
`created
`
`2 Reference for this object
`
`L-°°kl“9
`
`
`
`
`
`
`Table 1
`
`0Pel'0ti°"
`code
`
`1
`
`2
`
`
`
`
`
`
`
`Object
`operation
`
`
`
`
`
`2 4
`
`1 Reference to object
`
`2 Operation
`
`
`
`
`Maps result
`value to
`output
`
`
`
`
`
`1
`
`SOFTWARE PROGRAM STRUCTURE AND
`METHOD FOR MODULIZING THE
`OPERATIONS OF A
`TELECOMMUNICATIONS SYSTEM
`
`This application is a continuation of application Ser. No.
`08/112,809, filed Aug. 27, 1993 now abandoned.
`
`TECHNICAL FIELD
`
`The present invention relates generally to a method and to
`an arrangement by means of which a functionality in a
`telecommunication system can be quickly changed. By
`telecommunication system is meant
`telecommunication,
`devices and arrangements and methods by means of which
`such devices and arrangements can be operated. The term
`telecommunication arrangement as used here also includes
`the network or networks in which communication takes
`place. By telecommunication network is meant a typical
`telephone network, a telex network. a circuit switched data
`network, picture information transmission network, a pri-
`vate telecommunication network, a radio network, a satellite
`communication network and general carriers of telecommu-
`nication services. Communication can be effected by analog
`transmission, digital transmission, synchronous multiplex
`transmission or asynchronous multiplex transmission. This
`list is given merely by way of example and has no limiting
`etfect on the invention.
`
`By functionality is meant the ability to carry out a
`function in a telecommunication network. Examples of
`functionality are activities and services that can be per-
`formed in the telecommunication network. Examples of
`functionalities are the ability to establish a connection or
`signal route or path between two parties, and the digit
`analyzing, billing, operating and maintaining of functions.
`By connection is meant a circuit switched connection or
`packet switched connection. In the case of a circuit switched
`connection, it is meant by establishing a connection that a
`circuit switched connection is established between two
`pieces of hardware terminal equipment, while in the case of
`a packet switched connection relationships are created
`between logic channels on physical links which mutually
`connect nodes in the telecommunication network.
`
`One main problem with present-day telecommunication
`systems is that the systems must be tailor-made to a large
`extent, so that they can be adapted to network operators in
`diiferent markets. A telecommunication system that has been
`developed for a network operator in one market, for instance
`the European market, cannot be used by another network
`operator in another market, for instance the U.S.A. market.
`since the different network operators place dilferent
`demands on the configuration of the telecommunication
`services. The work required in tailoring an existing telecom-
`munication system to comply with the requirements of a
`network operator is a highly comprehensive operation on a
`system level. The task is sometimes impossible to achieve
`with reasonable work inputs, since the changes required
`become much too complicated.
`A telecommunication system is a complex arrangement
`which constantly changes. The hardware involved changes
`with time, as a result of continuous development in appro-
`priate technologies. Telecommunication networks are
`extended into new geographical areas, and users come and
`go.
`Different users within one and the same telecommunica-
`tion network require diiferent services. For instance, com-
`pany users require the network operator to handle and
`
`5,634,126
`
`2
`
`control certain specific network services, while private users
`require the network operator to handle and control other
`specific network services which difler from the former.
`Different company users may also require access to mutually
`different network services. Consequently, a telecommunica-
`tion system must be capable of providing the network
`operator with a system which can be readily adapted to the
`requirements of diiferent subscribers with regard to tele-
`communication services, preferably by the actual network
`operator.
`
`Ditferent markets may also have diiferent requirements as
`to how one and the same service shall be implemented with
`respect to hardware and software. It may be possible in one
`market to implement a functionality with the aid of one
`certain piece of hardware, while in another market, it may be
`possible to implement the functionality with other hardware
`that is different from the first-mentioned. The opposite may
`also occur, namely that the same may be programmed to
`carry out different functions in different markets. In both
`cases, the software which controls a functionality on one
`market diflers from the software which controls the same
`functionality on another market. This creates problems when
`wishing to make changes in the telecommunication system
`on a system level. since the change will
`influence the
`software used in the different markets.
`
`The present-day technique of tailoring telecommunication
`systems to meet the aforesaid requirements of the network
`operator is highly deficient in several aspects.
`
`KNOWN TECHNIQUES
`
`The telephone system A}G-E 10 retailed by the Swedish
`company Ericsson can be adapted to ditferent markets by
`enabling the use of specific hardware for ditferent work
`tasks, and also by enabling a particular piece of hardware to
`be replaced with another without needing to reprogram on a
`system level. To make this possible. when constructing the
`telephone exchanges of the telephone system the system
`constructors have prepared each telephone exchange for
`connection to predetermined types of functionalities that
`have been envisaged by the system constructors to be
`necessary in the future. This preparation resides in the
`construction of separate interfaces which permit predeter-
`mined types of future functionalities to be added to the
`telephone system. Attempts have been made to make these
`interfaces as general as possible within the framework of the
`type of functionality concerned
`However. it is diflicult to try to anticipate at the construc-
`tion stage of a telecommunication system all conceivable
`futuristic functionalities that may be required but which do
`not yet exist.
`The known technique only provides a limited possibility
`of adapting the telecommunication system. The only func-
`tionalities which can be changed and varied are those
`functionalities for which the system has been prepared. The
`number of possible variants is limited. The task of changing
`a functionality where the system has been prepared for
`making such a change is time consuming. The known
`technique provides no solution to the problem of adapting a
`telecommunication system to an end user who requires the
`telecommunication system to handle a novel type of func-
`tionality for which the system has not been prepared.
`When a new functionality for which the telecommunica-
`tion system has not been prepared is to be constructed, or
`configured, problems occur. For instance. it is necessary to
`ascertain whether or not the new functionality can be
`combined with the functionalities possessed by the existing
`telecommunication system.
`
`5
`
`10
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`5,634,126
`
`3
`In order to ascertain whether or not the new functionality
`can be combined with existing functionalities, it is necessary
`to investigate the functions of the telecommunication system
`as a whole and also to investigate the diiferent functions of
`the individual existing functionalities and also the function
`of the new functionality. Since a telecommunication system
`is highly complex, this analysis is often very comprehensive
`and diflicult to carry out, even when several system con-
`structors work together. The incorporation of the new func-
`tionality in the existing telecommunication system consti-
`tutes a problem. since no prepared interfaces are included in
`the system. It is possible that the entire telecommunication
`system must be reconstructed in order to adapt the system to
`the new functionality. It is also possible that an existing
`interface in the telecommunication system must be recon-
`structed and made more general in order to enable the new
`functionality to be connected-up in the system. On the other
`hand. it may be necessary to construct an entirely new
`interface.
`
`The development of a new functionality requires the
`assistance of system constructors that have a special com-
`petence in this field. More particularly, the system construc-
`tors must have detailed knowledge of the function of the
`telecommunication system, more specifically knowledge of
`how the system resources shall be used in order to imple-
`ment the desired new functionality. Such competence is very
`rare. which is a disadvantage.
`The document Electronics and Communications in Japan,
`Part 1, Volume 75. No. 6. June 1992, K. Maruyama et al,
`“Object-Oriented Switching Program Structure” pages
`26-40 and the document IEEE Communications Magazine,
`Volume 29, No. 1, January 1991, K. Maruyama et al, “A
`concurrent Object-Oriented Switching Program in Chill”,
`pages 60-68 do both describe an object oriented program for
`controlling a switch. Chill is an object-oriented program-
`ming language. The two documents are almost identical and
`therefor only the first one will be described. There is first
`created a logical model of a switch and its resources. The
`model has three layers, a service layer, a resource layer and
`an execution control layer. Each logical component in the
`diiferent layers is implemented as a software “object”.
`An object at the service layer sends a request message to
`a resource allocation object at the resource layer. Aresource
`is seized, the object-ID of the resource is returned and then
`the seized resource is controlled from the resource layer by
`sending logical messages to the “object-1D”.
`At the service layer there is a call-control object (in reality
`there are two call-control objects, one associated with the
`caller and one associated with the callee). A call-control
`object receives among other things the digits dialled by the
`caller. The digits are analyzed by a service analyzer object
`so as to establish the type of the requested service. A call
`control-object shall not comprise all “features” of a
`requested service. Each service should be packaged indi-
`vidually as an independent program.
`The term “service scenario” class definition is introduced
`
`The service analyzer object dynamically creates a service
`scenario object from the class definition and returns a
`scenario object-ID to the call control object. Afterwards the
`call-control object executes the scenario object.
`The program structure makes it easy to maintain and
`modify a complex software system and does also allow for
`distributed processes.
`The software described in the two documents is divided
`
`into two parts, a first one is called logic at the resource layer
`and relates to the resources of the telecommunication
`
`4
`
`system, and the second one is called logic at the service layer
`and relates to control of the resources at the resource level.
`
`The logic at the service layer handles and controls func-
`tions on a system level. For instance, to enable a telephone
`exchange operator to enter certain data, to enable an operator
`to take a specific subscriber line interface into operation, to
`enable a subscriber to make a telephone call, i.e.. it controls
`external functions which the telecommunication system
`provides for its environment, i.e., its operators, subscribers,
`etc. The logic at the service layer includes a control program
`for each such function on a system level, these control
`programs combining the system resources mutually in a
`desired manner, irrespective of how each specific resource is
`implemented.
`A switch is, for instance, hardware which contributes to
`the utility of enabling two connections to be coupled
`together and to enable this utility to be used for different
`functions, for instance for a first function in which two
`speech channels are connected together, and a second func-
`tion in which a signal path or route is established for an
`internal signalling arrangement in the network, and a third
`function which enables arented or hired line to be connected
`
`to a company. One and the same resource can thus be used
`in many different functions. The logic at the service layer
`defines which.
`A service scenario utilizes the resources via a standard-
`ized interface towards the logic at the resource layer. This
`enables one and the sa.me operation towards the logic at the
`resource layer to be used in totally different contexts and by
`several different service scenarios in creating different func-
`tions in the surroundings of the telecommunication system.
`For instance, the logic at the service layer is able to define
`the procedure to be carried out when connecting a telephone
`call from a subscriber; the logic at the resource layer makes
`subscriber stages, switches and trunk lines available to the
`logic at the service layer. Definitions of what shall be carried
`out at system level, for instance the procedures to be
`followed with regard to the aforesaid telephone call, are
`found in a service scenario. A service scenario defines a
`desired functionality by defining different operations which
`control a number of resources in a manner to obtain the
`desired functionality.
`The aforesaid structuring of the software into logic at the
`service layer and logic at the resource layer makes it easy to
`change a functionality in the system, for instance to add to
`an existing functionality or service, since the logic at the
`service layer is not dependent on how the resources are
`implemented. Access to people having the aforesaid spe-
`cialist knowledge is not required when introducing a new
`functionality into the telecommunication system. It is suf-
`ficient to use only two types of constructional engineer, of
`which one type need only know the function of the tele-
`communication system on a system level. while the other
`need only have knowledge of parts of the telecommunica-
`tion system on a detail level, more specifically knowledge of
`how the resources shall be used to implement the desired
`new functionality. The first type of construction engineer. or
`designer, need have no knowledge of the system on a detail
`level, while the second type of construction en