`
`WORLD INTELLECTUAL PROPERTY ORGANIZATION
`International Bureau
`
`(11) International Publication Number:
`
`(51) International Patent Classification :
`H04M 11/00, 15/00, 3/42
`H04M7/00
`
`INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT)
`wo 94/05111
`3 March 1994 (03.03.94)
`
`At
`
`(43) International Publication Date:
`
`(21) International Application Number:
`
`PCT/US93/07835
`
`(22) International Filing Date:
`
`20 August 1993 (20.08.93)
`
`(30) Priority data :
`934,240
`972,501
`972,502
`972,503
`972,504
`972,813
`972,817
`
`US
`25 August 1992 (25.08.92)
`6 November 1992 (06.11.92) US
`6 November 1992 (06.11.92) US
`6 November 1992 (06.11.92) US
`6 November 1992 (06.11.92) US
`6 November 1992 (06.11.92) US
`6 November 1992 (06.11.92) US
`
`(71) Applicant: BELL COMMUNICATIONS RESEARCH,
`INC. {US/US]; 290 West Mount Pleasant Avenue, Li(cid:173)
`vingston, NJ 07039-2729 (US).
`
`(72) Inventors: MAN, Susan, Kuo-Kung ; 5 Old Farm Road,
`Holmdel, NJ 07733 (US). CEBULKA, Kathleen, Dick(cid:173)
`ens ; 75 Evans Avenue, Piscataway, NJ 08854 (US).
`FISHER, Gregory, Michael ; 2704 North Oak Boule(cid:173)
`vard, North Brunswick, NJ 08902 (US). LANCASTER,
`Jill, Ellen ; 1029 Old York Road, Hightstown, NJ 08520
`(US). NAZIF, Zaher, Amin ; 7 Jane Lane, High Bridge,
`NJ 08829 (US). VINCIGUERRA, Lori, Jean ; 75 Evans
`
`Avenue, Piscataway, NJ 08854 (US). SHASTRY, Subra(cid:173)
`manya, Kolpe ; 66 Green Meadow Boulevard, Middle(cid:173)
`town, NJ 07748 (US). CHU, Francis, Yiu-keung ; 123
`Forest Glen Drive, Highland Park, NJ 08904 (US).
`WANG, Lei-Lei, Chu
`; 37 Brians Circle, Princeton
`Junction, NJ 08550 (US).
`
`(74) Agents: WINTER, Richard, C.; PCT International, Inc.,
`Post Office Box 573, New Vernon, NJ 07976 (US) et al.
`
`(81) Designated States: CA, JP, European patent (AT, BE, CH,
`DE, DK, ES, FR, GB, GR, IE, IT, LU, MC, NL, PT,
`SE).
`
`Published
`With international search report.
`Before the expiration of the time limit for amending the
`claims and to be republished in the event of the receipt of
`amendments.
`
`(54)Title: AN APPARATUS AND METHOD FOR CREATING, TESTING, VALIDATING, AND PROVISIONING TE(cid:173)
`LECOMMUNICATION SERVICES
`
`204
`
`SERVICE MANA6EMENT SYSTEM
`
`200
`
`SCI' IMSAP !EXECIITIIlN APPLICATION) ]
`
`CREA TlON ENVIRONMENT
`
`EXECUTION ENVIRONMENT
`
`I' : ~
`
`(57) Abstract
`
`In a method of creating a general service specification for a call processing record in a telephone network, a processor [230]
`· in the record creation system [200] prompts the operator to identify at least one optional node [128c], at least one required node
`[126c], and at least one restricted node from a node set presented to the operator. Also, in a method of creating a template for the
`creation of call processing services, a processor [230] in the record creation system [200] displays a selected call processing record
`[925] to the operator. The operator then identifies which nodes in the call processing record will be made customizable. Data
`tables [1220] can be created and accessed by one or more call processing records for executing telephone services. Also, call pro(cid:173)
`cessing saJ!lple nodes [734] and measurement nodes [733] can be created and used for call processing.
`
`CISCO SYSTEMS, INC. Ex. 1008 Page 606
`
`
`
`..
`
`....
`
`,\
`
`FOR THE PURPOSES OF INFORMATION ONLY
`
`Codes used to identify States party to the PCf on the front pages of pamphlets publishing international
`applications under the Per.
`
`AT
`AU
`BB
`BE
`BF
`BG
`BJ
`BR
`BY
`CA
`CF
`CG
`CH
`Cl
`CM
`CN
`cs
`cz
`DB
`DK
`BS
`Ill
`
`Austria
`Australia
`Barbados
`Belgium
`Burkina Faso
`Bulgaria
`Benin
`Brazil
`Belarus
`Canada
`Central African Republic
`Congo
`Switzerland
`COte d'lvoire
`Cameroon
`China
`Czechoslovakia
`Czech Republic
`Germany
`Denmark
`Spain
`F"mland
`
`FR
`GA
`GB
`GN
`GR
`HU
`IE
`IT
`JP
`KP
`
`Kll
`KZ
`Ll
`LK
`UJ
`LV
`MC
`MG
`ML
`MN
`
`France
`Gabon
`Uniled Kingdom
`Guinea
`Greece
`Hungary
`Ireland
`Italy
`Japan
`Democratic: People's Republic
`of Korea
`Republic of Korea
`Kazakhstan
`Liecbtenstein
`Sri Lanka
`Luxembourg
`Latvia
`Monaco
`MMapscar
`Mali
`Mongolia
`
`MR
`MW
`NE
`NL
`NO
`NZ
`PL
`PT
`RO
`RU
`SD
`SE
`Sl
`SK
`SN
`TD
`TG
`UA
`us
`uz
`VN
`
`Mauritania
`Malawi
`Niger
`Netherlands
`Norway
`New Zealand
`Poland
`Portugal
`Romania
`Russian Federation
`Sudan
`Sweden
`Slovenia
`Slovak Republic
`Senepl
`Chad
`Toao
`Ukraine
`United Statea of America
`Uzbcltistan
`Vwt Nam
`
`CISCO SYSTEMS, INC. Ex. 1008 Page 607
`
`
`
`..
`
`WO 94/05111
`
`Per tllS93/07835
`
`-1-
`
`.AN APPARATUS AND METHOD FOR CREATING, TESTING, VALIDATING,
`AND PROVISIONING TELECOMMUNICATION SERVICES
`Background of the Invention
`
`The present invention relates generally to the field of
`customized services, and more specifically to the problems of
`creating, testing, validating, and provisioning customized
`telecommunication services.
`Existing telephone systems can include a service
`creation environment for creating customized telephone
`services and a service execution environment for executing
`the telephone services. The service creation environment can
`include a graphical user interface, which permits a user to
`build and/or change a displayed graphical representation of a
`desired service using "nodes," "decision boxes," and
`"branches." Each node represents a high level instruction
`for the execution of the service. The displayed graphical
`representation of the service is translated to a binary
`representation and stored as a call processing record (CPR).
`CPRs are transmitted from a creation environment to an
`execution environment where they are executed during call
`processing operations to send call processing instructions to
`inquiring switches.
`These systems and methods for creating and executing
`customized telephone services can be implemented in the
`Advanced Intelligent Telephone Network (AIN).
`Fig. 1 illustrates an exemplary AIN comprising System
`Service Points (SSPs) 30, 35, 40, and 45, Signal Transfer
`Points (STPs) 48 and 50, Service Control Points (SCPs) 10 and
`20, and Service Management Systems (SMS) 60 (only one shown).
`SSPs are central office switching systems which receive
`telephone calls from telephones 12. Each SSP recognizes a
`variety of "triggers" within customer telephone call signals
`and generates queries to SCPs based on the triggers. The
`SSPs then process customer calls in response to commands
`received from the SCPs.
`The SCPs communicate with the SSPs over a common(cid:173)
`channel-signalling (CCS) network 67 that includes STPs 48 and
`
`CISCO SYSTEMS, INC. Ex. 1008 Page 608
`
`
`
`wo 94/05111
`
`PCf /VS93/07835
`
`..
`
`- 2 -
`
`50. The CCS network 67 employs communication channels
`separate from channels used to transport customer voice
`signals and includes a packet-switching system. The CCS
`network 67 switches data in packets instead of allocating
`circuits for the duration of a call. The STPs 48 and 50
`provide the packet-switching functions.
`Each SCP is fault tolerant because each SCP includes
`processors connected through dual local-area networks (not
`shown).
`If one processor of an SCP fails, another processor
`of the SCP can ensure that the SCP continues to function.
`Further, SCPs are configured as a mutually mated pair in
`different locations.
`If an SCP, such as SCP 10, is disabled,
`its mate, SCP 20, can ensure that telephone service continues
`without interruption.
`Associated with each SCP or each pair of SCPs is an SMS
`60. An SMS 60 provides a support interface through which
`customer data and service logic can be added or managed.
`Techniques also exist for testing and validating CPRs
`that have been created at a creation environment. Testing of
`a CPR for example can provide a visual indication on a
`displayed graphical representation (graph) of the CPR of the
`execution path taken through the CPR during a call processing
`operation. The visual indication may be a red line trace of
`the paths connecting the nodes of a displayed graph.
`Validating a CPR involves detecting logical infractions in
`the processing routine of the CPR and identifying these
`infractions to an operator based on a set of rules and a
`knowledge base understood by an expert system.
`Some service providers may wish to maintain a high
`degree of control over services that they make available.
`For example, they may wish to restrict the use of certain
`nodes to their customers or to offer only certain types of
`services to certain types of customers.
`Moreover, an operating company may offer a substantially
`similar service to numerous customers. It is expensive and
`inefficient to build substantially the same graph to provide
`
`CISCO SYSTEMS, INC. Ex. 1008 Page 609
`
`
`
`wo 94/05111
`
`PCf /lTS93/07835
`
`- 3 -
`
`each customer with substantially the same service. Hence, it
`would be beneficial to an operating company to be able to
`provide a specification for a service from which numerous
`similar graphs could be generated, but with enough
`flexibility to cater to each customer's individual needs.
`For example, an operating company may determine that many of
`its customers are interested in a service that permits the
`customer to specify the carrier for long distance calls
`associated with the customer's "800" number. This service
`would be similar for each customer and would require certain
`nodes (such as carrier nodes) in each customer's CPR.
`However, larger businesses may want additional features from
`such a service. For example, they may want to provide for
`different carriers during different times of the day.
`It
`would therefore be beneficial to the operating company to be
`able to offer a basic 800 service and an enhanced 800 service
`wherein each service is partially predefined, yet flexible
`enough to permit some customization by the individual
`customers.
`Accordingly, it is desirable to provide a general
`service specification that allows a service creator to define
`a service, but permits a user enough flexibility to customize
`the service to some degree.
`It is also desirable to permit a service creator to
`define a service specification in which certain predetermined
`nodes are mandatory, certain predetermined nodes are
`optional, and certain predetermined nodes are restricted.
`In addition, many customers may want the same service,
`or they may want services with only minor differences. For
`example, an operating company may determine that most of its
`customers desire a service that permits them to specify the
`carrier for their long distance calls. This service would be
`similar for each customer, and each customer's graph for this
`service would be almost identical. It may be impractical or
`costly for the service creator to generate essentially the
`same CPR numerous times, once for each customer, particularly
`when only slight differences need exist in the CPRs.
`In the
`
`CISCO SYSTEMS, INC. Ex. 1008 Page 610
`
`
`
`wo 94/05111
`
`PCf /VS93/07835
`
`-
`
`Ll.
`
`-
`
`example of the long distance carrier, it would be beneficial
`to the operating company to be able to create a long distance
`carrier service only once and make only minor changes to it
`to accommodate each customer.
`In addition, this allows for
`consistent service deployment within an operating company.
`Accordingly, it is desirable to provide for the creation
`of a service template that specifies most of a desired
`service, but permits some tailoring to meet the needs of
`individual customers.
`It is also desirable to permit an operator to create a
`service CPR template that is readily adaptable for any number
`of customers.
`Some existing service creation systems suffer from a
`disadvantage because they do not efficiently scale up to
`provide services to a large number of customers.
`For example, a company with several employees may wish
`to prevent long distance calls from certain phone extensions
`in its building. To offer such a service to the company, one
`existing service creation system would require a CPR
`specifying a branch node for each phone extension of the
`company for which it sought to permit such long distance
`calls, and provide different routing requirements therefor.
`It would take an extraordinary amount of time to create such
`a CPR and its different branch conditions. Moreover, the
`service logic corresponding to this CPR would be very
`complicated and make the overall service implementation very
`inefficient.
`Accordingly, it is desirable to provide an efficient and
`effective means to create services on a large scale.
`It is further desirable to provide CPR nodes which
`permit the efficient and effective accessing and updating of
`data tables during call processing.
`In general, CPRs, after being created, are transmitted
`to an execution environment where a service provider has
`little control over the CPR. However, for many services, a
`service provider may desire to monitor the service or to
`
`CISCO SYSTEMS, INC. Ex. 1008 Page 611
`
`
`
`\\'0 94/05111
`
`Per ll.'S93/07835
`
`- 5 -
`
`obtain useful information concerning the execution of the
`service. Accordingly, it is desirable to permit a service
`provider to administer the execution of a service.
`In the system referred to, services can be created using
`only fixed or predefined nodes. Although these nodes provide
`a great deal of service creation flexibility, because only
`certain nodes are available, service creation flexibility is
`limited.
`It is desirable to provide for the design, layout, and
`instantiation of user-defined nodes that are
`indistinguishable from other predefined nodes from the
`perspective of the service creation and execution
`environments.
`The CPRs discussed above comprise a "key" and a
`plurality of nodes, decision boxes, and branches. The "key"
`includes a telephone number and a suffix. The suffix .e04
`means that the CPR controls Galls made from the corresponding
`telephone number, and the .eOS sufxix means that the CPR
`controls calls made to the corresponding telephone number.
`Hence, to provide separate services for calls made to or from
`a subscriber's telephone number, existing service creation
`systems require separate CPRs.
`Requiring multiple CPRs per customer in a system having
`many customers strains the storage and execution environments
`with tremendous amounts of service logic. Moreover, it
`complicates and hinders efficient service execution and
`management.
`Accordingly, it is desirable to provide a CPR structure
`that permits efficient use of CPRs on a large scale in an
`execution environment.
`It is also desirable to provide a CPR structure that
`permits quick and efficient storage, access, management, and
`execution of CPRs.
`Additional desires of the invention will be set forth in
`the description which follows, and in part will be apparent
`from the description, or may be learned by practice of the
`
`CISCO SYSTEMS, INC. Ex. 1008 Page 612
`
`
`
`wo 94/05111
`
`PCf fliS93/07835
`
`- 6 -
`
`invention. The advantages of the invention may be realized
`and obtained by means of the instrumentalities and
`combinations particularly pointed out in the appended claims.
`
`Disclosure of the Invention
`
`To achieve the foregoing desires and objects, and in
`accordance with the purposes of the invention as embodied and
`broadly described herein, the present invention provides a
`method of creating a general service specification for a call
`processing record comprising logically related nodes and
`branches, the method comprises the steps, executed by a
`processor, of: prompting an operator to identify at least
`one optional node which may appear in a call processing
`record associated with the general service specification;
`receiving from an operator, an identification of at least one
`optional node which may appear in a call processing record
`associated with the general service specification; prompting
`an operator to identify at least one required node which must
`appear in a call processing record associated with the
`general service specification; receiving from an operator, an
`identification of at least one required node which must
`appear in a call processing record associated with the
`general service specification; and enabling the optional and
`required nodes as a general service specification.
`To achieve the foregoing desires and objects, and in
`accordance with the purposes of the invention as embodied and
`broadly described herein, the present invention also provides
`a method of creating a template for the creation of call
`processing services, each call processing service being
`represented by a call processing record comprising logically
`related call processing nodes and branches, the method
`comprises the steps, executed by a processor, of: displaying
`a selected call processing record to an operator; receiving
`from an operator a selection of a node in the call processing
`record to be made customizable, a customizable node being a
`node for which subsequent template users can specify
`
`CISCO SYSTEMS, INC. Ex. 1008 Page 613
`
`
`
`wo 94/05111
`
`PCT /L;S93/07835
`
`- 7 -
`
`predetermined expressions; displaying all expressions of the
`selected node; prompting the operator to specify which of the
`selected node expressions will be customizable; designating
`the specified node expressions as customizable; and enabling
`the selected call processing record and the designation of
`customizable node expressions for the selected node as a
`service template.
`To achieve the foregoing desires and objects, and in
`accordance with the purposes of the invention as embodied and
`broadly described herein, the present invention also provides
`in a telecommunication service creation environment providing
`for call processing records and value tables, the value
`tables comprising one or more columns and one or more rows of
`values, a method of creating a call processing procedure to
`determine whether a particular value exists in a particular
`value table, the method comprises the steps, executed by a
`data processor, of: prompting an operator to name a value
`table to be searched; receiving from the operator a name of
`the value table to be searched; prompting an operator to
`identify one or more columns in the value table to be
`searched; receiving from the operator an identification of
`one or more values in the value table to be searched;
`prompting an operator to specify a value to be searched for
`in the one or more columns to be searched; receiving from the
`operator a value to be searched for in the one or more
`columns to be searched; prompting an operator to specify
`comparison criteria for the value specified and values in the
`column to be searched; receiving from the operator a
`comparison criteria for the value specified and values in the
`column to be searched; and instantiating the table name, one
`or more columns, value to be searched for, and comparison
`criteria as part of the call processing procedure.
`To achieve the foregoing desires and objects, and in
`accordance with the purposes of the invention as embodied and
`broadly described herein, the present invention also provides
`a method of providing a call processing sample node to
`determine an amount of call processing activity, the method
`
`CISCO SYSTEMS, INC. Ex. 1008 Page 614
`
`
`
`wo 94/05111
`
`PCf /L'S93/07835
`
`- 8 -
`
`comprises the steps, executed by a processor, of: prompting
`an operator to input values for parameters to be used with
`the sample node; receiving from an operator a sampling rate
`identifying a percentage of calls to be sampled; receiving
`from an operator a sample name for data collected; receiving
`from an operator a sampling type defining whether a sample
`activity should be determined based on attempted or completed
`call processing operations; receiving from an operator a
`collection type defining whether results of a sample activity
`should be collected presently or deferred; receiving from an
`operator an identification of call variables to be sampled;
`and instantiating the sampling rate, sample name, sampling
`type, collection type, and call variables as a call
`processing sample node.
`The present invention also provides a method of
`providing a call processing measurement node to count call
`processing events, the method comprises the steps, executed
`by a processor, of: prompting an operator to input values
`for parameters to be used with the measurement node;
`receiving from an operator a call variable naming a
`measurement vector; receiving from an operator a component
`name identifying a component in the measurement vector;
`receiving from an operator information specifying whether the
`component should be incremented or decremented; and
`instantiating the call variable name, component name, and
`increment or decrement information as a measurement node.
`To achieve the foregoing desires and objects, and in
`accordance with the purposes of the invention as embodied and
`broadly described herein, the present invention also provides
`a method of creating a user-defined call processing node for
`a call processing record, the call processing record
`comprising logically related nodes and branches, the method
`comprising the steps, executed by a processor, of:
`receiving
`an instruction from an operator to construct a user-defined
`call processing node; presenting to the customer a screen in
`which to construct the user-defined call processing node;
`constructing an underlying representation of call processing
`
`CISCO SYSTEMS, INC. Ex. 1008 Page 615
`
`
`
`wo 94/05111
`
`PCT /l1S93/07835
`
`- 9 -
`
`procedures selected by the operator; and enabling the
`underlying representation of call processing procedures as a
`single node for use in creating call processing records.
`Finally, to achieve the foregoing desires and objects,
`and in accordance with the purposes of the invention as
`embodied and broadly described herein, the present invention
`provides a call processing record for execution in a
`telephone service execution environment, comprising: a record
`header associating the call processing record with a
`corresponding telephone service subscriber; at least one call
`processing logic section including call processing procedures
`executable by a processor in the telephone service execution
`environment; at least one first data section, each of the at
`least one first data sections being associated with one of
`the at least one call processing logic sections and storing
`data executable only by the call processing procedures
`included in the associated one of the at least one call
`processing sections; and at least one entry point, each of
`the at least one entry points being associated with one of
`the at least one call processing logic sections and an
`associated one of the at least one first data sections, the
`at least one entry point identifying the associated one of
`the at least one call processing sections.
`
`Brief Description of the Drawings
`
`The accompanying drawings, which are incorporated in and
`constitute a part of the specification, illustrate presently
`preferred implementations of this invention and, together
`with the general description given above and the detailed
`description of the preferred implementations given below,
`serve to explain the principles of the invention.
`In the drawings:
`Fig. 1 is a block diagram of the Advanced Intelligent
`Telephone Network (AIN);
`
`CISCO SYSTEMS, INC. Ex. 1008 Page 616
`
`
`
`WO 94/05111
`
`PCf /L:S93/07835
`
`- 10 -
`
`Fig. 2A is a block diagram illustrating a service
`creation environment in accordance with one embodiment of the
`present invention;
`Fig. 2B is a block diagram illustrating a workstation
`within the service creation environment shown in Fig 2A in
`accordance with one embodiment of the present invention;
`Fig. 3 is a procedure diagram for a service creation
`environment in accordance with one embodiment of the present
`invention;
`Fig. 4A is a schematic representation of software
`modules corresponding to display and editing procedures of
`the software in accordance with one embodiment of the present
`invent;ion;
`Fig. 4B is a schematic representation of software
`modules corresponding to data structure procedures of the
`software in accordance with one embodiment of the present
`invention;
`Fig. 4C is a schematic representation of software
`modules corresponding to binary and other related procedures
`of the software in accordance with one embodiment of the
`present invention;
`Fig 5 illustrates the structure of a CPR in accordance
`with one embodiment of the present invention;
`Fig. 6A illustrates a Tab£e in accordance with one
`embodiment of the present invention;
`Fig. 6B illustrates a Table Specification in accordance
`with one embodiment of the present invention;
`Fig. 6C illustrates a Table Record in accordance with
`one embodiment of the present invention;
`Fig. 7 illustrates a system screen in accordance with
`one embodiment of the present invention;
`Fig. 8 illustrates a New Record Information Box in
`accordance with one embodiment of the present invention;
`Fig. 9 illustrates a CPR Editor screen in accordance
`with one embodiment of the present invention;
`Fig. 10 illustrates a GSS Editor screen in accordance
`with one embodiment of the present invention;
`
`CISCO SYSTEMS, INC. Ex. 1008 Page 617
`
`
`
`wo 94/05111
`
`- 11 -
`
`Fig. 11 is a flow diagram illustrating a GSS creation
`operation in accordance with one embodiment of the present
`invention;
`Fig. 12 illustrates a GSS Editor screen showing an
`exemplary GSS in accordance with one embodiment of the
`present invention;
`Fig. 13A illustrates an example of a graph in accordance
`with one embodiment of the present invention;
`Fig. 13B illustrates another example of a graph in
`accordance with one embodiment of the present invention;
`Fig. 14 is a flow diagram illustrating an operation for
`validating a graph against an associated GSS in accordance
`with one embodiment of the present invention;
`Fig. 15 illustrates a NODE Editor screen in accordance
`with one embodiment of the present invention;
`Fig. 16 illustrates an example of a graph using
`Measurement and Sampling nodes in accordance with one
`embodiment of the present invention;
`Fig. 17 illustrates an example of a graph using External
`System Interaction nodes in accordance with one embodiment of
`the present invention;
`Fig. 18 illustrates a Custom Node Editor screen in
`accordance with one embodiment of the present invention;
`Fig. 19A illustrates Parameter Editor screen in
`accordance with one embodiment of the present invention;
`Fig. 19B illustrates a Selection List Editor screen in
`accordance with one embodiment of the present invention;
`Fig. 20 illustrates a Custom Node Preview screen in
`accordance with one embodiment of the present invention;
`Fig. 21 illustrates a Custom Node Layout Screen in
`accordance with one embodiment of the present invention;
`Fig. 22 illustrates a Custom Node Category screen in
`accordance with one embodiment of the present invention;
`Fig. 23 illustrates an example of a graph using an
`Intable node in accordance with one embodiment of the present
`invention;
`
`CISCO SYSTEMS, INC. Ex. 1008 Page 618
`
`
`
`wo 94/05111
`
`PCf /l'S93/07835
`
`- 12 -
`
`Fig. 24 illustrates a table in accordance with one
`embodiment of the present invention;
`Fig. 25 is an Intable Editor screen in accordance with
`one embodiment of the present invention;
`Fig. 26 is a flow diagram illustrating an operation of
`an Intable node in accordance with one embodiment of the
`present invention;
`Fig. 27 is a Table Node Editor screen in accordance with
`one embodiment of the present invention;
`Fig. 28 is a flow diagram illustrating an operation of a
`Table node in accordance with one embodiment of the present
`invention;
`Fig. 29A illustrates a Template Editor screen in
`accordance with one embodiment of the present invention;
`Fig. 29B illustrates a Carrier Node Editor screen for
`templates in accordance with one embodiment of the present
`invention; and
`Fig. 29C illustrates a Template Preview Editor screen in
`accordance with one embodiment of the present invention;
`Fig. 29D illustrates a Template Layout Editor screen in
`accordance with one embodiment of the present invention; and
`Fig. 30 illustrates a Template Find Editor screen in
`accordance with one embodiment of the present invention.
`
`Best Mode for Carrying Out the Invention
`
`Reference will now be made in detail to the construction
`and operation of the preferred implementations of the present
`invention which are illustrated in the accompanying drawings.
`In the drawings, like elements and operations are designated
`by like reference numbers. The following description of the
`preferred implementations is exemplary, and does not limit
`the invention to these specific implementations
`
`CISCO SYSTEMS, INC. Ex. 1008 Page 619
`
`
`
`wo 94/05111
`
`Per /l'S93/07835
`
`A.
`
`System Configuration
`
`- 13 -
`
`In a preferred embodiment of the present invention, a
`service is created in the AIN.
`In particular, a service is
`created by a user at a workstation associated with the SMS
`200.
`
`Fig. 2A is a block diagram of a preferred embodiment of
`an SMS 200 in accordance with the present invention. The SMS
`200 includes a service creation and management application
`204 which preferably comprises the SPACE® application version
`2.0. SPACE is a proprietary software application owned by
`Bellcore 1 the assignee of this application.
`In addition to the service creation and management
`application 204, SMS 200 includes a user workstation 210.
`Preferably, user workstation 210 (also shown in Fig. 2B)
`includes an IBM RS-600 (Model 320) as well as related
`equipment, for example, processor 230, keyboard 250, mouse
`260, and graphical display 240 which preferably runs AIX
`windows (IBM), version 3.2 or X-windows 1 version 11 1 release
`4 or later .
`The SMS 200 also includes database 203 1 Programming
`Language Data Structure Translator (PLDST) 214, ASN.1
`Encoder/Decoder 216 1 Message Constructor/Deconstructor
`(Message C/D) 218, and Data Communications Manager 220.
`These elements 1 their relationships, and their relationship
`to the execution. environment in an SCP 10, 20 are described
`in the incorporated interface application.
`The service creation portion of the SPACE application is
`dedicated to the creation of CPRs and Tables (described
`below). CPRs are created using the SPACE application by
`generating a high level, displayed representation (graph) of
`the desired service on the display 240 of user workstation
`210. The displayed graph of a CPR is extremely useful in
`that it permits an operator to create and understand the
`telephone serv~ce being created and to test and validate the
`service logic. However, the graph cannot be interpreted
`
`CISCO SYSTEMS, INC. Ex. 1008 Page 620
`
`
`
`wo 94/05111
`
`Per /l'S93/07835
`
`- 14 -
`
`efficiently directly by the execution environment.
`Accordingly, the CPR graph is translated into a binary
`representation which can be used to process calls in the
`execution environment.
`
`B.
`
`Software Configuration
`
`In a preferred embodiment, before a CPR graph is
`translated into a binary representation, it is first
`translated into an internal representation comprising data
`structures and pointers. These translations and
`representations are shown in Fig. 3, wherein display
`procedures 300 generate the display representation 302 of the
`CPR, data structure procedures 304 generate the internal
`representation 306, and binary procedures 308 generate the
`binary representation 310 of the CPR, which is stored in
`database 203.
`Preferably, the display procedures 300 are designed
`according to an object-oriented design methodology using the
`C++ language. Accordingly, the data structure procedures 304
`are also object-oriented. The data structure procedures 304
`are less machine dependent than the display procedures 300
`because the data structure procedures 304 can be used with
`many different display forms and many different types of
`hardware. The binary representation 310 of the CPR is the
`most machine independent.
`Each of the foregoing display, data structure, and
`binary data procedures is established in the SPACE
`application by one or more software "modules." Modular
`programming allows individual procedures or functions to be
`distinctly represented during design, and individually
`exercised during execution. A defined module may
`interactively "call" or invoke another module.
`
`CISCO SYSTEMS, INC. Ex. 1008 Page 621
`
`
`
`wo 94/05111
`
`1. Display and Editing Modules
`
`- 15 -
`
`In a preferred embodiment, the display procedures 300 of
`Fig. 3 include display and editing modules. The display and
`editing modules display variou