CA2098607C - Visual programming of telephone network call processing logic - Google Patents
Visual programming of telephone network call processing logicInfo
- Publication number
- CA2098607C CA2098607C CA002098607A CA2098607A CA2098607C CA 2098607 C CA2098607 C CA 2098607C CA 002098607 A CA002098607 A CA 002098607A CA 2098607 A CA2098607 A CA 2098607A CA 2098607 C CA2098607 C CA 2098607C
- Authority
- CA
- Canada
- Prior art keywords
- service
- node
- nodes
- new
- call processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/4228—Systems providing special services or facilities to subscribers in networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/0016—Arrangements providing connection between exchanges
- H04Q3/0029—Provisions for intelligent networking
- H04Q3/0054—Service creation techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/135—Service creation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13502—Indexing scheme relating to selecting arrangements in general and for multiplex systems primitives - inc. service-independent building blocks [SIBBs]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13525—GUI - graphical user interface, inc. for service creation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13547—Indexing scheme relating to selecting arrangements in general and for multiplex systems subscriber, e.g. profile, database, database access
Abstract
A system for creating and modifying intelligent tele-phone network call processing logic trees which can be custom-ized for individual customers and created in a user-friendly vis-ual environment (10, 15, Fig. 3-5). Service primitives are de-fined as logical graph nodes (20, Fig. 2, Fig. 3) which can be visually assembled into logic trees (Fig. 5) which represent the service logic flow and which provide default values for all ser-vice options. Higher level nodes, assembled from a plurality of service primitives, can likewise be defined and stored (12, 13, 19) for later use as entities in defining yet further call process-ing logic trees. These call processing logic trees are interpreted to allow the service control point computers (17) to implement the services in the switched telephone network (18) by sequen-tially executing the specified call processing primitives. A lib-rary (12, 13, 19) of defined nodes and defined node assemblies which represent service features can thus be made available to permit graphical manipulation into complete logic trees repres-enting new services. These logic trees are then interpreted by generic programs in the service control point to actually pro-vide the described services.
Description
-- VISUAL PROGRAMMING OF TELEPHONE NEWTORK
CALL PROCESSING LOGIC
Techni~l Field This inven~ion rela~es to the creation an the provisioning of special eus~omizedtelephone network services for telephone subscribers and. more particularly, to ~ por~ble.
visually programmed call processing logic interface for creating and provisioning su~h customized services.
I() B~ck~rol-nd of the Invention New telephone services are continually being developed by telephone serviee providers in order to meat the needs of their customers. As such services becomeavailable, the telephone companies, subscribers and the users seek yet further improvements in these services. Special services such as 800 service, 900 service, and Private V~ual Networks (PVN) are only a few of the possible services being offered.
Other services might well be conceived and might well find extensive use. Unfortunately.
however, new telephone services have heretofore required long and expensive desiYn.
testing and deployment activities. Such special teleco~ "unications services are typicallv provided in the public telephone network by computer program call processing sequences residing in digital switches. A typical approach to providing such special services is the introduction into the telephone network of a service implementing network element which interacts with the telephone network so as to implement the telephone services. Such jervice implementing network elernents are variously called Service Adjuncts (SAi)~
Service Switching Points (SSPs) and Service Control Points (SCPs). One such Service Adjunct is disclosed in S.M. Lin and J.F. Rizzo patent 4,878,240, granted October 31.
1989. A typical Service Switching Point is disclosed in J.J. Bemardis patent 4,782.517, granted Novcmber 1, 1988. Each Service implementing networl~ cle ~ t is e~luipped with a set of software-implemented service primitives which can be combined in various ways to implement a number of telephone services. A set of such primitives for a Service Adjunct is disclosed in the above-mentioned Lin et al. patent.
Another set of prirnitives for a Service Switching Point is disclosed in the above mentioned Bernardis et al. patent. Yet another set of such primitives for a Service Control Point is disclosed in Business Services Database (BSDB): A Service Control Point (SCP) Application Designed to Support Private Virtual Network (PVN) Service, "Technical Advisory TA-TSY-000460, issue 2, February 1988, published by Bell CommunicationsResearch, Inc., Red Bank, New Jersey. All of these sets of service-implementin~
.~
primitives are, as a group, generally equivalent, although each is implemented in a slightly different way.
A telecommllnications network including such programmable special service 5 implementing components is called an "intelligent network." Such networks make it possible to offer useful and profitable new services such as 800 service, Alternate Billing service and Private Virtual Network Service. Intelligent Network Call Processing Logic (INCPL) is the name given to the software that "stitches together" the approl,liate service primitives to enable the Intelligent Network mechanism to implement and customize such 10 services without the need for new switch software or har.lware. Currently, this INCPL is custom-developed for each new service by a service de~igner, usually associated with the service provider, installed in the intelligent network service implementing component and supported by a service management system for that service. Thus, instead of the software to support a new service coming from a switch vendor, it can now come from a seNice 15 vendor, making it posjible to reduce the interval between service concept and service offering. Unfortunately, a great deal of time is still required to custom design and implement each new service. Moreover, since such service designs are not high portable, further delays arise due to the need to provide widely distributed software elements to support the new service in a wide variety of dirrerent environments.
Sumnl~ry of the ~nvPntio~
In accordance with the illustrative embodiment of the present invention, these and other problems are ov~,lcome by providing a user-friendly environment in which intelligent network service primitives can be assembled into telephone services utili7ing 25 the graphic capabilities of a co..lpu~el workstation. If a complete telephone service is analyzed as a graph con~isting of nodes and edges, the nodes represent the intelligent network service primitives executable by the service implementing component~s and the edges represent the order of execution of these primitives. Both action nodes and decision nodes can be defined in terrms of the available service primitives and stored for later use in 30 designing a new telephone service. Moreover, with this representation, the new telephone service can be displayed as a "tree" of such nodes. Such a tree display can be manipulated graphically to create and alter the logic of a service. An inte.~ program, designed for a particular service implem~nting component, implements such display representations with the available adjunct service primitives. In accordance with this invention, telephone 35 services can be created, manipulated and altered by simple, user-friendly graphical manipulation. Not only can intelligent network service primitives be assembled graphically into new services, but service features can be defined as assemblies of such intelligent network service primitives and, once designed, stored in a library as a single node to be invoked and reused as a single entity in designing a plurality of future services.
More particularly, graphical images or icons on a display screen are used to 5 represent a reusable library of user-defined telephone service primitives. These images or icons can be manipulated graphically so as to assemble the images into logical trees representing new services or new service features. Once fully assembled, the electronic representation of the graphical service tree ore service feature tree can be interpreted so as to actually implement the service or service feature. In this way, new telephone services 10 can be designed and implemented much more quickly than in the prior art and thus save much of the expense previously associated with telephone service design and deployment.
In addition, the e~L enlely high level representation of telephone services implicit in the graphical service trees is an extremely portable mechanism for quickly and easily deploying such services without extensive reworking of service implementing code.
15 Indeed, the simplicity, speed and flexibility of telephone service design andimplementation provided with the present invention can be exploited to allow each individual telephone user to customer design telephone services exactly matching the need of the customer.
The present invention makes possible dynamic graphical creation, customizing and provisioning of new call processing services. Using both simple nodes hereunto called primitive nodes and consi~ting of predefined primitives, and complex nodes that are user defined constructed nodes and are called user defined service feature nodes, new services can be defined rapidly and with great ease. A new service created visually as a logic tree with nodes defined to represent a high-level abstraction of the primitive call processing actions or call processing decision points or combination of such primitive actions and decision points. This tree, or the electronic representdtion of the tree, is called a Call Processing Record (CPR) since it defines exhaustively the processin~ necessary to provide an individual call with the defined service. Service providers, as well as subscribers themselves, can customize and provision the graphically defined service to satisfy specific customer needs by dyn~ic~lly modifying and p~a~lletcli~ing the relevant graphical call processing record trees. The thus provisioned call proces~ing records representing the service can then be tr~nsl~tecl from the user-friendly visual format to a rigorous program-generating format which can be generically in~l~reted by existing service implementing components. The distribution and installation of such call processing records toapl)ropliate service imple,~enL;ng components in a intelligent network enables the thus-described service to become instantly available to telephone subscribers.
There are three steps in this service specification process: I) defining the nodes~
') estabiishing which nodes can be used in a particular service. and. 3) cre,~ting call procesiing records defining a particular service using the nodes that have been de~ined and to which can be added the customer-specific parameters necessary to completely specify S the ~ervice. These three steps can be iterated interactively to improve the quality of the resulting service. to remove '`bugs''. or to provide new features and capabilities.
Brief DescriDtion of he nr~win~s A complete understanding of the present invention may be gained by considering 10 the following detailed description in conjunction with the accompanying drawings. in which:
FIG. 1 show a block diagram of an intelligent telephone network including a graphical telephone service design and deployment system in accordance with the present 1 5 invention;
~0 ~IVO 92/11724 2 0 9 8 6 0 7 Pcr/US91/o94s6 FIG. 2 shaws a nawch~ of the servioe definition, pro~ g and impl~ . pr~s talcing piace in thc system of FIG. l;
FIG. 3 is a ~ical ~ tion of a display screen uscd to defiDc ncw tr~ imi~d~s in ~e system of FIG. l;
S FfG. 4 is a gryhical ~.~tation of a disphy saocn uscd to define the allawable su~et of t~ senrice nodes ~ich arc usod to design a~d implement a partia~ r se~ice in the s~ of FIG. 1;
~d FIG. S is a graphical representatil of a display ~een used to 10 ~ni~ a logical t ee t~p~r of ser~icc primiti~es by spoQfying all of the customer~ t ~rariablcs roquired to ;~ ~A~ a ~icular ncw scn~ioe for a particular . ~n~ in the system of FIG. 1.
To facilitate rcader ~ind~ ;ng, irl~ntic~l Icfcrcnoe numerals are used to designate cl,~ r~ to the figures.
15 Det~led Descri~tion Rcf.,.li~g more par~cularly to FIG. 1 of the dla..~ p, there is shown a general block diagram of an intellig~nt network teleFhon~ se~ioe design and deployment system canprising a ~ l;on 10 for ~l~igr ing new tel~phon~
se~ices in ac~.d&~cc with the ~,i~nt in~ention. As will be described 20 ~, e ~rt~ l;on 10 i..~l.JAes graphical facili~es for dcr~ lo~-.crspo~al servioe nodes in te~ms of senice control point t,.~~ ;..g new spocal senices in tcnns of the thus ~r.~r~ nodes which can be used for that servioe, and ass~mhling these ~ ho~ sennce nodes into ~I~pl~tc~ or ~C~m~lies of call proce~ng logic uni~ capable of prv^viding the new ti~lçpho~.c 25 spoaal senrices. Senrice crcation process 11 pro~ides the software for a~l~pOlLillg these facilities and i--',d~s ;,t~,dar~ window ~ g ra~hlity as well as mouse or other ~al s le~on a~tllS S~1lJ~VIl~ and is typically storcd in the l~n~ IIVI~ -f WOrkStatiVn 10. Storage devicc 12 s~rcs a library of the clC~.hOrliC ~ ta~ions of all of thc nodes p.~ s~;i;~ bo~ simple 30 y~ i~ nodes and morc complc~, uscr-dcfi~ servicc fcature nodes. Storage devicc 13 stvres ~e defini~ons of all of the ~.~ s dcfi~ at worlt~ n 10, whcrc a service dcfinition is simply ~c sp~fi~tion of which of ~e d~r..~
nodes (~J.h.~ s) can bc used to implement a particular ser~ioe. Storage devioe 19 stvres t~-mpl~tes of ml~ltin~te fully l~i~ services as call ~ ;ng .6- 2098607 records. In the l"~nt appLication, a t~npl~te" is a fully decign~ senrice, but without all of thc rariable par~.,ct~ which are dcpen.~ient on the acn~al ... r using thc scrv-cc. Although sho~vn as separate storage devioes, storcs 12, 13 iand 19 can bc c~ in a single storage de~icc.
l~e p,~"t in~cntion ~.~ atff t~rec step6 in crea~ng new ser~iccs, lirr;-l;.-g graphical nodcs from which scr ~ic~s can bc assembled (node definition), presaibiu which nodes can be us~ in a par~allar ser-~ice (se~ioe definition) and prcs~bing the logical i~b~ of the variols nodes n~c~ o produce the desircd sa~ice (call pn~ record creation). As 10 new nodes are dr~l~cd, they are stored in node Ubrary 12 for later retrieval iand rcusc. Once a new scr~ice is fully ~ ~ in terms of ~ ,., or cornple~
se~icc nodes, a rcp.~ ~ of that sa~rice defini1inn is storcd in a scr~
definition s~ragc facility 13. Oncc thc service nodes are ~ml~ into a servic~
lo~c trcc or ~cmpl~t~-., that t~mpl~te is s~ed ias a call pf~-: ng record (CPR) 15 in call 1~ 8 re0rd temp~tJ~ Lib~ary 19. 'Ihc ~ t~s in Library 19 re~uire only the specification of ccr~in ~ r~ d~ ariables rcquired to fully implem~nt dlc sen~ice for a particular ~ r.
A ~n~ Z'~ t S~l 14 pro~ides a~miniS~ativc c~ntrol over a pluraUty of sen~ice 0ntrol pants s~ch as ser~ice control point 17 which 20 acn~ally implemcnt the new swices by r ~ .k control m~g~
with thc a..;hhc~ t~ hQ~ t 18. Sincc the strucnlre and op .~ of the scr~ice c~trol point 17 and the a~itched tcle~hc~ sgstem 18 ~~ facilitics, they will not bc fur~ d~ibod here. s~r~ to n~te that thesc cl~"~n~ are able to 25 implem0~t ~l~h~ t.o,l~ sen~ice ~ s whic~ can be utili7~ to realize t~ ~..~ and which arc si~r or i~ to tho6e liCrl~t in the afo.~ h~ J. J. l~ ;s and S. M. Iin patents and BSDB publication.
th thc ~.~;~s m~n~--.- -t ays~n 14 is a ~l~rc~m~r data basc 16 ~ic~ ~.l~i..~ *~;lcd il.f~.~lil conce..~ the .~,r~..cr~
ut~ ng ~leyl.~A c n~ 18. Also a~ig~ ~ith Scr~i~s m~nag~m~t systcm 14 is a fur~cr c~ ,-ut~ ~l;''l 15 ~ich can bc used to add C"~(~..tr plefcrc.ha.s and othcr ~ sp~ific data to the sc~icc templ~t~s ,, ~, definr~ in store 19. 'n is addition of the a~ r specific data to a service templ~r is called "scrvic~ provisioning" and perrTLit~ the senice t~nrl~tes passed to scn~icc control point 17 to be C~ mi7~i for a par~cular ~Istom~r or set of c~stomers using nclwulk 18. Wo.L~ 15 can, of coursc, be c~mbined with 5 wo~b~i~tion 10 if the two wo,b~tions arc at the ~mc location.
nc wo~ tior-c 10 and 15 can be any modem worksta~on s~ g ~aphical mani~ n ca~hility. One such wulb~tion is the SUN~160 te.~ ,~,llg under the SUN o~.atillg system and using the SUNVIEW~ graphics en~ Thi emi~r-.- ~ rovidc window support.
10 mousc c~ntrol, and graphic creation and m~ni~ ti~ ~p~bility adequate to implrmrnt thc pl~c~l~ invcntion. hlany other modcrn wulk~tions, however, would Likewise suppûrt im~ r..~ ;.ti..u of thc ~ t invcntion.
The yl~nt invention will be bcttes undc~a~ by considering the nowchart of FIG. 2. In FIG. 2 tberc is shovm a a~.~alL of the process for 15 drsigJling and deplûying new services {or tc~ ~r su~ibers in accordance with the ~l~t invcntion. Th*e mapr tcp6 are involved, node dcfinition, ser~ice definition and call p~xc~ , record creation. lllece teps will be taken up individually belaw.
l~c ;~ dc~l uscr of tbc proccss of FIG. 2 is the ser~ice aeator, 20 typically tbe t~lr~ r scr~ice ~prc~idcr. As s~ ~ in bo~ 20 of FIG. 2, this pes~n must crcate tbe nodcs to 'oc uscd in r~ ser~ices. The new nodes are aeatcd dr~mir~lly by *~ng the fdlowing pr~.Lies of the new node.
1. Nodc Narne 2. Nodc Typc 3. Data Type 4. Node R~ulcs 5. "Othcr" Allo~red 6. Nodc Error Messagc 7. Notes As is ahown in dctail in FIG. 3, a node dcfinition scrcen can be usod to ca~e d~e nodc l~r~.Les as data it~nc. 'Ihe "Load," '~alidate,"
"Store," 'l~cletc," "Bra~se," '~dp,' and "Quit" ~ d buttons are utilizcd to ac~s-a and proc~s nodcs as cn**~s lbe data ~ion fieida are used to define new nadcs by spocifying ~c node namc and the node ~1 ~ .hCS. Using SUN is a trademark and SUNVIEW is a registered trademark of Sun Microsystems, Inc.
209~607 WO92/11724 PCl/US91/09456 ~esc y ~c~ ~cs, a nodc can be administcrcd by the scrvioe ...~ gr...~..t sys~m 14 of FIG. 1 and implem~ by thc ~icc control point 17 of FIG. 1 ~ithout the ~eo~ity of ~vriting new ser icc implne~g code. As illus~ated in FIG. 3, the user is p~d ~ith ~ 0 saoen form ~hich roquires that thc user S ~paify thc values f each of thac ~de~. Thc cur~or inidally is IQ~ at thc fir~t data ficld (NODE N~E:) ~d ~cos to ~e~i~rc data fidds ~s the ~a~r~ ~D Ic~y is dep~ed. O~cc thesc p.~4.~ies ha~rc been spoafiod, thc w~ can storc thc ~d ~dc ~idl for the ~wly w~at~l ~c in a node lil~ary in ~orc 12 (FIG. 1), u~g the a~m-nd lu~s identified 10 in the t~ do~l of thc ~n display of F~G. 3.
- Thc ~lies cap~od l~y thc Dodc definition screen of FIG. 3 oontain kcy information about the De~v ~ode and, ~vhen oe~q, can be tra~atod and sent to ~e scrvice o~rd pc~int 17 of FIG. 1 to dnve a generic Call P~g Rax~rd (CPR) ~e~ (such as that dischscd in the 15 afo~e .w-tioncd D~n~is patcnt), so that it can support thc usc of this ncw node in any call processing lo~.~ that arc acatcd and ~ ..~ for sc~ices.
Additio~al or supplemcntal pr~.èies, wch as a~Qr~s~A senice control point call ~anables, node connection n~les and node tr~ -191i~ rules, can bc added to thc nodc lib~ary at a later timc to ca~pletdy characterizc thc .~ ¢ and intent 20 of thesc opcratioos at a ~lar sa~i~s .--~--~a~ system 14 and a particular senricc control point 17 (FIG. 1) in a generic ~ r. More ~li~l~ly, a Sy~:rr i(~ hr~ on of thc scnrice imple~-.c~ g ~,.h~ e in one or morc senrice irnpl(~ g nctworl~ ~ts which can be uscd to realiæ
the node can be r~d;~ addcd to thc node definition. The y~ cc of such an 25 i~ ;l;r~tion of thc ac~al code sequence in the scrvice control point would n;s~ly simplify the design of the interpretor program which î,~ t~ the call pro~ng roco~d into actual service unple~ , In this sense, the nodes k--~e ~k-~ of an e~tendible, high levcl pra~ g~-5~ for at~~ lg tCI~f~'h~C senrices.
In response tl~ ~e NODE N~ IE ~J~olll~Jt, thc user S-~tf~lir,C any uni~ue namc chooen f0 thc new nodc. This ~ame will hcn~tc~ be used to identify ~e node. l'nis new node n~me can be 'hought of as a higher-level a~rac~on represcnting a ~..;r.c opcration using prc-d~ call ~ ~;n~
vanablcs. Nodes can be d~er decision nodes or action nodes. ~e follo~ring WOg2/1l724 2098607 node types, ~ c~ in response to the NODE TYPE ~ t, are po6sible:
WO 92/117242 0 9 8 6 0 7: PCr/US91/094~i6 NODE TYPES
ACIION nF~oN
NODES NODES
A~mlt ~0 ll~h Do~ion ~odean ~r~ ~0 _r Comloct Ac~on StriDg Dotision C~ Ac~on CPR A~ Ac~
r~ ir Action Return Ac~on TaUe Acoe~ Ac~on T~ ~nd Over Action T~.uu,lat~ Action The node type s~l~ ~nu~ides inf~ll~li~l that can be used during call pra~Dg record ~ n and call processing record code g~ ,dlion. These node types n~d to all of the basic types of actions and 35 ~ c that might ~e utilized in providing t~ *~ spocial scrvices. Thcy are already ~r~-- r~ or ~r~.u..able into p~ioq art servioe i.~ ,le...c.~
network ~ ~ such as senrice con~d point 17. Should a new type of node be requirod, howe~er, it is necc~ary to specify the new type, and to provide ~! C'.~C.;t impl~-m~tion o~ the activity of the new nodc type in the scrvice control 40 point 17.
The node types ha~re par~cular meaning to scrvice control pdnt 17, vhich must e~ecute the call processing rocord in real time. SpK~f the node type informs sen~ice control point 17 what func~ons or call p.l,.uti~
are to be invoked. These node types thus reprcsent thc ''IJ,~.. ~
45 ~p;lt~ilitil~s" of seMoe controt point 17, which, whcn !mhinP~l with the node wo 92/11724 2 0 9 8 6 ~ 7 . ~/US911094~6 ._ .
name, ~esenting a par~cular pre-~lcl;~rA call variable in the service control point call processing e~ tion ~.J.~ t enable service control point 17 to ac~ally p~,.f~...J thc roquesoed operatils using the o~rect data.
The DATA TYPE fidd spodfies thc format o the data that will be 5 aa~ble as input ~lu~s for this node ~hen this node is usod in a call ~asDB record. lhe data 1~ allowcd are docimal numbers, alphanumeric ~t, trl~t)h~ ~ numbers, tn~ identifiers, variable da~, ~d billing i~f.,J...~l;....
The data type is used during call praoessing rooord v~lidation at the time the call pn~o4 rocord is "pnvi~d" by the ~iS~ati~ stomer~ c.~t 10 data values.
To administer a call proce~g ~oord, services manag~.-~nl system 14 of FIG. 1 must be able to d~,~...,...c whether ~alid values havc bcen entered for the nodes in the the call pr~,-~ re~rd tree. The.~fo.~ the user must specify the rules to be used when vs~ sti~ the input ~ralues for this node lS when ~is node is used in a call procossing record. In aoc~dance with the l,.esc.-t invention, a ,~ lar e~pression can be used to ~ .~.lt the Vsli~stiQn rules.
Mo,w.~,~, such validation rules can be c.ltl,.cd d~.~a~ir~11y in the node definition as oppased to hard coding them in a ~ . For e~smrle, to specify the vaL;~t~ for a queuing node, the user can specify the regular 20 e~pression ' (lifo I fifo)S". This e~pression states that the node can accept either 'last in, first out" or "first in, first out" qucue behavior as input .ralues.
In respwse to the OTHER ALLOWED, I,.o",t)t, the user must specify .h~ r the node can accept the word "other" as n input value. For e~unple, if a day of the week node were d~ fi~rA and available for a particular 2S sen~ice, a call ~ g record would be C~ . t~ with the day of the week node in the tree. If the input values for ~e day of the week node were sF er~fied as ~Ionday and Tuesday," then a second branch would need to be c,~ d to caver what should be done on Sat~da~, Sunday, Wednesday, Thu~ and Friday. Rathcr ~an spetl out the rcmaining days, the string "other" oould be 30 used. For some nodes "othcr" is not a sensibte value. Tl,c~forc, during node definition, the user must indicate whc~cr "otha" is a ~alid input value or whcthcr rn~,ing "othcr" shoutd re~tt in a val~d~tion crror.
In ~ r to the NODE ERROR UESSAGE l"u,--~t, the user enters a string to be printed when an i,~yt,.o~,iate input value is sF~fie~ for a wo 92/11724 2 0 9 8 6 0 7 Pcr/usg1/og4s6 nodc dun~g ~hc pmvi~ g of a call Pr~U record. This allaws "on the ny"
~ralida~on of data en~ics dunng all sumediD5 uscs of tbis nodc dl~Gll,tiu l.
Thc NO~ prompt pon~its a ~ellce fidd for the uscr. It c~n bc used to notc limita~0s 0 lhc Dode behavior, a gc~eral func~onal S d~ 0 of ~e node or ay oth i~tion thc us~ ~ to a~~s~,e wi~
the Do~e dofid~
~ Iso ~ha~n at ~e top of ~cn 30 of FIG. 3 are a scries of ~mand 0ght ~s lahled ~d,~ ~Validi~tc," "SO~c," ~clete," ~c,"
Wp," and "Quit." The~c an~d bu~ rc ~tod, for c~amplc, by a 10 mouse-dmen wrsor, to u~i~h the sco~atcd ~en display control fimctic os. F0 a~amplc, ~oad" ~ill -load any par~a~lar ~ously ~ node defini~on (c.g., for ~iting) ~nply by giviDg the node namc and cYoldng the nLoad" command. Simil~y, "Validate" pfo~s the ~ralida~don on the data cntries madc in re~onsc to ~c prompts. "Store" stores tbe newly ~ A node 15 in the ~ote lib~ary 12 of FIG. 1. lbe "Delete" command delctcs thc i~ ;1;6~
note definition from lib~y 12. ~sc" alla~vs the uscr t~ browse through all of the ~ y d~-fi-~ nodcs, ~dp" provides s-.~s of uscful anQllary inf0matioo lil~y to bc of _Doe to tbc uscr during the node definition acti rity, and "Quit" allows the uscr to te~ ~ tbe node Aefiniti~l actiYity.
20 Thc implcmenta~on of thesc so-called "almmand ~ t~ LC" arc well-known in the art and will not bc further des~ibed berc.
Returning to FIG. 2, thc sooond ba~ 21 n~,.~cnb ~e a~ of dcfining a new senricc in terms of prcviously A .fi-~ nodes. In this CCI~tt ~, a"rocord" is a smicc dcfinition and ba~ 21 indudes ~oad," "Validate" and 25 '~tore" ~. ~ for tbesc sa~icc definition r~o.~. In ~d~l;ti~, bo~c 21 Jdt C "Ca~as" ~mmands. Tbesc commands pcnnit thc visual and graphical m&.,~lstion of prcviously ~-fi C.3 nodes into servicc definitils. As can be bcttcr seen in FIG. 4, thc left balf of tbe screen 40 is tbc drawing arca whcre vi~al rc~escntations o pre riously !~ fi~ nodes can bc assembled into scrvice 30 dt fi~ Thc "Camas" commands in~uk "acar" (to clcar thc camas area), 'I)raw" (to.prepare for manipulating items on tbc camas), "Hclp" (to obtain screcns of uscful i~ on to assist in tbe usc of tbe sys~m), and "Quit" (to tc~n~inatc thc senioe definition sesnl). In addition, individual items in the can~ras arca can bc .~ sbod with thc c~.~ "Sclect" (to sclect a particular node), "Add" (to add a selected node to the service definition), "~lew" (to view the node definition of the selected node), and "Delete" (to delete a node from the service definition).
The intended user of the service definition process is the service creatoL This creator utilized the service definition process to define the subset of nodes in the node library that are to be used in a specific service. The user is presented with the form shown in FIG. 4 which enables the user to specify the nodes from the node library that are allowed for use by a specific service with a certain qualifier. A qualifier could, for example, be a specific area of service in the service provider's territory. Wlth the functions described above, the user of any particular node in a service can be defined by a service creator and any particular node in a service can be defined by a service creator and administered by the service management system 14. Once the allowable node names for a particular service have been specified, using the screen 40 of FIG. 4, the user can store the service definition for the new service in service definition library 13 (FIG. 1). These service definitions can thereafter be edited, augmentecl or deleted from the service definition library 13 whenever desired.
The service creation user can distribute the node library and the service definition library in store 13 to the generic service management system 14 for use in ~lministering the new service. Services management system 14 will permit the use of only the specified subset of nodes in all call processing records that are created and provisioned for this particular service. Additional propellies, such as service specific node connection rules and node translation rules, can be added to the service definition tables at this time to completely and generic~lly characterize the me~ning and intent of these operations for the service management system 14.
Retu~ning to FIG. 2, the box 22 represents the procedures for "provisioning" the service defined in box 21. In this regard, the term "provisioning" means creating the logic tree representing the new service an customizing the defined service in terms of node parameter values. The screen 50 of FIG. 5 illustrates a mechanism for carrying out this process. The service creator can use this process to define a default representation of the service offering as a template of nodes interconnected in a call processing record tree format. The allowed nodes for a particular service are the ones specified through the service definition process. The service provisioning user can use this WO g2/11724 2 0 9 8 6 0 7 PCr/USsl/09456 process to co#~nize thc de~ult ~cc templatc and to ~on thc ser~ice tool illu~aeod i~ FIG. 5 to ~c a gr~pbical, u~er-f~i~dly ~ ion and f ~ podSc are~ of ~ u~ tbe ~ice ~s~Titory. lbc ~ ~f FIG. S pr~vide~ ro~rd m_~ &~os (I~_A Raord, V~lidatc 10 (Seb~t, ae-r, Hdp, Q~t, ~d Rahs~).
tanplatc af nod~ in_ in a ~11 ~ ~cord trec fo~mat as a de~ult ~1 of the sa~ice o~iog. Fluthenwre, thc truc power of the prece~t inve~on boc~es a~ t ~hell it is alizod that the s~icc ~lu.
15 can define modular templa~es of commo~ ~sable node-bascd lolpc as scnricc features, which n then bc addod to lhe nodc li~Ny as nodes for reusc ~y othcr f~L~ and sernces. Isl effect, lhe pre6ent inven~o~ provides a m~r,h~ni~m for usi~g the set of "p~ble capab~ities" available at thc senicc control point 17 and ~e reu~ble, uscr-fria~dly and bigh-levd m~"l~S that enable 20 ea~er and faster ~al p~mmiDg of the call p~n~ logic.
It should bc ~o~d ~at assemblies of low level nodes can bc assoaated togc~er into a higber Icvel ca~ility ~hich, oncc given a namc, can bc re~ieved, manipulated and usod in aea~g ncw scnrices just lilce a low lcvcl node. In this ~vay, as time p,~l$, the acation of new senrices ~ s casicr 25 and casier sincc evcr higher levels of sen~icc p~imiti~ a~railablc for - assembly into the Da~ ~ices.
Once the dcfault seni~ ta~splatc has boen spo~fied, thc uscr can store the servicc tcmplatc definition for the new servicc in ssrvicc t~ 9t~
definitil skxe 19. The uscr ~n ~flcr distribute thcsc senricc t~
30 definiitiaa tablcs to the ~eneric services management system 14 for use in admiDis~g the new ~ervice, praviding a default s~icc logic flow for the purpo6c of pravisiooiDg. Furthe~more, the availability of sen icc node tlcfin;~
in storc 13 ~rill ensure that ~i~iDg will support the usc of only thc ~lc~tor spocificd subset of nodes in any call processing ~1~ that are ~ o~ and 'O 92/117U 2 0 9 8 6 0 7 pcr/us91/o94s6 _ . .
~,.u. -~ for this par~Q~lar scnice.
l~le scnri~ pmvidcr 0 the sulxaiber can also use ~e y~C~
illus~ated in FIG. 5 to au~mi~ ~e default senice t~ ls~ and to ~.u.~ on thc ~nce ~y ~ding node parame~r ~alues. At this ~tage, ~e nodc values 5 ~uppliod ~re validaocd dlmamic~y ~y imoldng ~e nodc ~lida~0 rules ~ r~cd for c~ ~e Damc ~ ~c node libruy. Addi~ odc ~d ~ervioe tefi~i~on ~ lies, wch as ~ode c~0 mlcs ~d Dodc ~ rulcs, ~n be spodfiod to drivc thc valitai0 ~d t~i0 aperaio~s at thc scn iccs m~_t ~n 14 in a ~ ;c malmer.
l~le attachod ~ndis p~vidcs pw~lc for impl ~ .. ti.,p the flaw~art of FIG. 2. ~Ith this p~ lc and thc dies~iption hcrcin pra~rided, any person of o.din~ sl~ll in the ~ g art is able to fully implement thc present i,.~
It should also be clear to thase slcilled in the art ~at further 15 cmbodimcnts of the present in~cn~don may be made ~y th~6c skilled in the art ~.;th~t dcpa-~ing from the teachings of the y~C~l invcntion.
WO g2/11724 2 0 9 8 6 0 7 PCr/US91/09456 APPE~
P~eud~e Node Det~itb~ Proo~ Pseudocode ~e ('nodc_dcfinition') S do until (invdcc ('quit')) if (vicw (Dodc_d~fi~ition)) then il~pUt (nodc_~ne) i~e ('bad') if (nodc_dcfinition (nodc_namc) in librar,y then (node_dcfinition (nodc_namc)) display (node_dc,finition (node_namc)) clsc crcate (nodc_definiti~window (nodc_name)) display (node_Acfin;tion~indow (node_name)) endif end_invokc endif if (spo~fy (node_t~,o~.lios)) thcn sct_dcfault (fidd_valucs (node_name)) enter (fidd_valucs (node_name)) c~
if (modify (node_l,.o~cs)) then updatc (fidd_~ralues (node_name)) cndif endif if (~r-s';~is1iQn_check (node_name)) then imo~e ('validate') ~rcrify (node nsm~, fidd_cntrics, fidd_entry_c~mhin-s-1iQnc) end_imoke endif if (store (node_d~fi~
then invoke ('store') le~;e~e (node_defil~lion (node_n. me)) 20986`07 ~
~0 92/11724 pcr/us91/o94~6 ._ .
u._.lay (node_dcfi,l,tio,l. node_~,.c~c~,cs) store (G~c,lay (node_name)) cnd_im~olcc cndif S if (deletc (node_definitil)) thcn imblcc ('deletc') r~ (node_defini~on (node_name)) ddete (nodc_definition (node name)) end_imolcc dif if (~awsc (node_~1cfi~
~cn invoke ('browse') display (nodc_~,.opc, ~.es) (node_defini~ons) display (node_defini~ons) end_invoke cndif 20 end_do Wo 92/1 1724 Pcr/US91/09456 Servioe Defimition Proce~ Pscudocode involcc ('senricc A~
do until (imoke ('quit')) if view (~enice_defini~don) S l~cn input (~icc_namc, ~icc_quaLifier) imrolce ('bad') rc~ic~ e (ser~icc_tefini~on (sa~ice_namc, se~i~ce_qualifier)) di~lay (node_Dame_list) end_imolce endif U view (all_nodcs) then invoke ('sde~t') B~n~-a~L (menu (all_nodes)) end_invoke endif if (select_nodc) then invoke ('sdect') select (desired_node, menu (all_nodes)) display (desired_node, . ull~nl_node_display) end_involce endif if use (~ cnt_node) then invoke ('add') poation (~l.,.lt_node, canvas) add (~l.,.ll_node, servicc_~fini1inn) cnd_invoke cndif if disallow (cu~ t_node) then invokc ('dcletc') sdect (w~l~t_node) ddete (s~ _node) end_invoke cndif _ vo 92/11724 2 0 9 8 6 0 7 . /US91/094S6 if ~iew (w..~ t_node_definition) then im~oke ('view') se~ (w.,~.lt_node) S dispby (node_d~ r.~ ol~, current_node) end_imolce eodif if validate (sen~ice_definition) then imolce ('v~lidatc') ve~ify (fidd_entriG, ~en~ice_definition) ~aify (fidd_ent~ scrviee_*fi~
end_invoke endif 15 if store (sen~ice_d~ fi~
tben invoke ('store') r~ie~ ice_definition (senrice_name, service_qualifier)) o.e.lay (scrvice_definition (sen~ice_name, sen~ce_qualifier), canvas_nodes)) s.orc (scrvice_d~_Gih~on (ser~ name, senioe_qualifier)) end_imolce endif if clear (canvas_area) then imroke ('dear') dcar (all_nodes, canvas_area) cnd_imokc cndif if redraw (camras_arca) thcn imokc ('draw') clcar (all_nodes, Gm~ras_arca) auto_in~okc ('load') end_invokc cndif cnd_do wo 92/11724 2 0 9 8 6 0 7 Pcr/US91/09456 CPR Input Proc~ Pscudocode imoke ('CPR_input') do un~l imolcc ('quit') if ~ncw (c~ing_CPR_trec) S then input (~oe_n~mc, ~icr_oamc, customcr_ounc) imokc ('load') (nodc_l~ames (selvi~_Damc, ~cnice_qualificr)) re~ic~rc (CPR_~oc(~i~_oame, er~ice_qualificr, a~mer_Damc)) display (CPR_trec (sa~ri~ ~e, scrvicc_qualifier, ~iu~.~ _name)) end_invoke endif if view (allowed_nodes (senice_name, s~vice_q~slifi~r)) ~en invoke ('select') g~ nc,.~tc (menu (allawed_node ~ nff)) end_invoke endif if select (allowed_node) then invoke ('select') identify (desired_node) display (desired_node, ~u,.,a~_node) end_invoke endif if add (cu~ t_ct~de, CPR_calIvas) then invoke ('phce') position (w"~q1 nQde, CPR_canvas) place (~-.,nl_node, CPR_canvas) end_invoke endif if coq~q~l (node_namel, node_name2, CPR_canvas) ~en invoke (c~
select (from_nodc) sclect (to_node) d~aw_linc (from_node, to_node) cnd_imoke 5 cndif if mave (nodc_name) thcn imokc (mave) eruc (nodc_llame, dd_location) re~aw (nodc r~n~, new_l~
end_imokc cndif if edit (node_name, node_value) ~cn invoke ('edit') select (node_name) display (edit_menu) input (nodc_value) invokc ('enter') erasc (dd_value) - display (ncw_value) end_imoke end_invoke 25 endif if ~ (node_name) then invoke ('~
select (node_name) er~e_c~ n (node_name, node_parent) end_invokc endif if ~.,.o.~ (node_name) d~en imoke ('rc,uo~:) sele~t (node_name) 1.,.l.~ c (node_name, children, c~
end_invoke endif 40 if validate (CPR_node) wO 92/11724 2 0 9 8 6 0 7 Pcr/uss1/094s6 .æ.
then invoke (' alidate') for (each node in CPR_tree) do ~idate (node_value, node_mle) end_do d~y (~or~
end_invdce 10 endif if storc (CPRtroe) invoke ('store') re~ieve (CPR_tree (~oe_name, ~aYice_qualifier, customer_D~me)) u~ y (CPR_tree (savice_Dame, service_qu lifier, customer_Dame), CPR_~ee (camas_area)) store (CPR_tree, u._.h~) end_imokc endif if clear (can~as_area) thcn invoke ('clear') erase (canv~s_area) cnd_invoke endif if redraw (cm~ras_area) then invoke ('rcdraw') erasc (canvas_area) auto_invoke ('load') end_imolce cndif end_do
CALL PROCESSING LOGIC
Techni~l Field This inven~ion rela~es to the creation an the provisioning of special eus~omizedtelephone network services for telephone subscribers and. more particularly, to ~ por~ble.
visually programmed call processing logic interface for creating and provisioning su~h customized services.
I() B~ck~rol-nd of the Invention New telephone services are continually being developed by telephone serviee providers in order to meat the needs of their customers. As such services becomeavailable, the telephone companies, subscribers and the users seek yet further improvements in these services. Special services such as 800 service, 900 service, and Private V~ual Networks (PVN) are only a few of the possible services being offered.
Other services might well be conceived and might well find extensive use. Unfortunately.
however, new telephone services have heretofore required long and expensive desiYn.
testing and deployment activities. Such special teleco~ "unications services are typicallv provided in the public telephone network by computer program call processing sequences residing in digital switches. A typical approach to providing such special services is the introduction into the telephone network of a service implementing network element which interacts with the telephone network so as to implement the telephone services. Such jervice implementing network elernents are variously called Service Adjuncts (SAi)~
Service Switching Points (SSPs) and Service Control Points (SCPs). One such Service Adjunct is disclosed in S.M. Lin and J.F. Rizzo patent 4,878,240, granted October 31.
1989. A typical Service Switching Point is disclosed in J.J. Bemardis patent 4,782.517, granted Novcmber 1, 1988. Each Service implementing networl~ cle ~ t is e~luipped with a set of software-implemented service primitives which can be combined in various ways to implement a number of telephone services. A set of such primitives for a Service Adjunct is disclosed in the above-mentioned Lin et al. patent.
Another set of prirnitives for a Service Switching Point is disclosed in the above mentioned Bernardis et al. patent. Yet another set of such primitives for a Service Control Point is disclosed in Business Services Database (BSDB): A Service Control Point (SCP) Application Designed to Support Private Virtual Network (PVN) Service, "Technical Advisory TA-TSY-000460, issue 2, February 1988, published by Bell CommunicationsResearch, Inc., Red Bank, New Jersey. All of these sets of service-implementin~
.~
primitives are, as a group, generally equivalent, although each is implemented in a slightly different way.
A telecommllnications network including such programmable special service 5 implementing components is called an "intelligent network." Such networks make it possible to offer useful and profitable new services such as 800 service, Alternate Billing service and Private Virtual Network Service. Intelligent Network Call Processing Logic (INCPL) is the name given to the software that "stitches together" the approl,liate service primitives to enable the Intelligent Network mechanism to implement and customize such 10 services without the need for new switch software or har.lware. Currently, this INCPL is custom-developed for each new service by a service de~igner, usually associated with the service provider, installed in the intelligent network service implementing component and supported by a service management system for that service. Thus, instead of the software to support a new service coming from a switch vendor, it can now come from a seNice 15 vendor, making it posjible to reduce the interval between service concept and service offering. Unfortunately, a great deal of time is still required to custom design and implement each new service. Moreover, since such service designs are not high portable, further delays arise due to the need to provide widely distributed software elements to support the new service in a wide variety of dirrerent environments.
Sumnl~ry of the ~nvPntio~
In accordance with the illustrative embodiment of the present invention, these and other problems are ov~,lcome by providing a user-friendly environment in which intelligent network service primitives can be assembled into telephone services utili7ing 25 the graphic capabilities of a co..lpu~el workstation. If a complete telephone service is analyzed as a graph con~isting of nodes and edges, the nodes represent the intelligent network service primitives executable by the service implementing component~s and the edges represent the order of execution of these primitives. Both action nodes and decision nodes can be defined in terrms of the available service primitives and stored for later use in 30 designing a new telephone service. Moreover, with this representation, the new telephone service can be displayed as a "tree" of such nodes. Such a tree display can be manipulated graphically to create and alter the logic of a service. An inte.~ program, designed for a particular service implem~nting component, implements such display representations with the available adjunct service primitives. In accordance with this invention, telephone 35 services can be created, manipulated and altered by simple, user-friendly graphical manipulation. Not only can intelligent network service primitives be assembled graphically into new services, but service features can be defined as assemblies of such intelligent network service primitives and, once designed, stored in a library as a single node to be invoked and reused as a single entity in designing a plurality of future services.
More particularly, graphical images or icons on a display screen are used to 5 represent a reusable library of user-defined telephone service primitives. These images or icons can be manipulated graphically so as to assemble the images into logical trees representing new services or new service features. Once fully assembled, the electronic representation of the graphical service tree ore service feature tree can be interpreted so as to actually implement the service or service feature. In this way, new telephone services 10 can be designed and implemented much more quickly than in the prior art and thus save much of the expense previously associated with telephone service design and deployment.
In addition, the e~L enlely high level representation of telephone services implicit in the graphical service trees is an extremely portable mechanism for quickly and easily deploying such services without extensive reworking of service implementing code.
15 Indeed, the simplicity, speed and flexibility of telephone service design andimplementation provided with the present invention can be exploited to allow each individual telephone user to customer design telephone services exactly matching the need of the customer.
The present invention makes possible dynamic graphical creation, customizing and provisioning of new call processing services. Using both simple nodes hereunto called primitive nodes and consi~ting of predefined primitives, and complex nodes that are user defined constructed nodes and are called user defined service feature nodes, new services can be defined rapidly and with great ease. A new service created visually as a logic tree with nodes defined to represent a high-level abstraction of the primitive call processing actions or call processing decision points or combination of such primitive actions and decision points. This tree, or the electronic representdtion of the tree, is called a Call Processing Record (CPR) since it defines exhaustively the processin~ necessary to provide an individual call with the defined service. Service providers, as well as subscribers themselves, can customize and provision the graphically defined service to satisfy specific customer needs by dyn~ic~lly modifying and p~a~lletcli~ing the relevant graphical call processing record trees. The thus provisioned call proces~ing records representing the service can then be tr~nsl~tecl from the user-friendly visual format to a rigorous program-generating format which can be generically in~l~reted by existing service implementing components. The distribution and installation of such call processing records toapl)ropliate service imple,~enL;ng components in a intelligent network enables the thus-described service to become instantly available to telephone subscribers.
There are three steps in this service specification process: I) defining the nodes~
') estabiishing which nodes can be used in a particular service. and. 3) cre,~ting call procesiing records defining a particular service using the nodes that have been de~ined and to which can be added the customer-specific parameters necessary to completely specify S the ~ervice. These three steps can be iterated interactively to improve the quality of the resulting service. to remove '`bugs''. or to provide new features and capabilities.
Brief DescriDtion of he nr~win~s A complete understanding of the present invention may be gained by considering 10 the following detailed description in conjunction with the accompanying drawings. in which:
FIG. 1 show a block diagram of an intelligent telephone network including a graphical telephone service design and deployment system in accordance with the present 1 5 invention;
~0 ~IVO 92/11724 2 0 9 8 6 0 7 Pcr/US91/o94s6 FIG. 2 shaws a nawch~ of the servioe definition, pro~ g and impl~ . pr~s talcing piace in thc system of FIG. l;
FIG. 3 is a ~ical ~ tion of a display screen uscd to defiDc ncw tr~ imi~d~s in ~e system of FIG. l;
S FfG. 4 is a gryhical ~.~tation of a disphy saocn uscd to define the allawable su~et of t~ senrice nodes ~ich arc usod to design a~d implement a partia~ r se~ice in the s~ of FIG. 1;
~d FIG. S is a graphical representatil of a display ~een used to 10 ~ni~ a logical t ee t~p~r of ser~icc primiti~es by spoQfying all of the customer~ t ~rariablcs roquired to ;~ ~A~ a ~icular ncw scn~ioe for a particular . ~n~ in the system of FIG. 1.
To facilitate rcader ~ind~ ;ng, irl~ntic~l Icfcrcnoe numerals are used to designate cl,~ r~ to the figures.
15 Det~led Descri~tion Rcf.,.li~g more par~cularly to FIG. 1 of the dla..~ p, there is shown a general block diagram of an intellig~nt network teleFhon~ se~ioe design and deployment system canprising a ~ l;on 10 for ~l~igr ing new tel~phon~
se~ices in ac~.d&~cc with the ~,i~nt in~ention. As will be described 20 ~, e ~rt~ l;on 10 i..~l.JAes graphical facili~es for dcr~ lo~-.crspo~al servioe nodes in te~ms of senice control point t,.~~ ;..g new spocal senices in tcnns of the thus ~r.~r~ nodes which can be used for that servioe, and ass~mhling these ~ ho~ sennce nodes into ~I~pl~tc~ or ~C~m~lies of call proce~ng logic uni~ capable of prv^viding the new ti~lçpho~.c 25 spoaal senrices. Senrice crcation process 11 pro~ides the software for a~l~pOlLillg these facilities and i--',d~s ;,t~,dar~ window ~ g ra~hlity as well as mouse or other ~al s le~on a~tllS S~1lJ~VIl~ and is typically storcd in the l~n~ IIVI~ -f WOrkStatiVn 10. Storage devicc 12 s~rcs a library of the clC~.hOrliC ~ ta~ions of all of thc nodes p.~ s~;i;~ bo~ simple 30 y~ i~ nodes and morc complc~, uscr-dcfi~ servicc fcature nodes. Storage devicc 13 stvres ~e defini~ons of all of the ~.~ s dcfi~ at worlt~ n 10, whcrc a service dcfinition is simply ~c sp~fi~tion of which of ~e d~r..~
nodes (~J.h.~ s) can bc used to implement a particular ser~ioe. Storage devioe 19 stvres t~-mpl~tes of ml~ltin~te fully l~i~ services as call ~ ;ng .6- 2098607 records. In the l"~nt appLication, a t~npl~te" is a fully decign~ senrice, but without all of thc rariable par~.,ct~ which are dcpen.~ient on the acn~al ... r using thc scrv-cc. Although sho~vn as separate storage devioes, storcs 12, 13 iand 19 can bc c~ in a single storage de~icc.
l~e p,~"t in~cntion ~.~ atff t~rec step6 in crea~ng new ser~iccs, lirr;-l;.-g graphical nodcs from which scr ~ic~s can bc assembled (node definition), presaibiu which nodes can be us~ in a par~allar ser-~ice (se~ioe definition) and prcs~bing the logical i~b~ of the variols nodes n~c~ o produce the desircd sa~ice (call pn~ record creation). As 10 new nodes are dr~l~cd, they are stored in node Ubrary 12 for later retrieval iand rcusc. Once a new scr~ice is fully ~ ~ in terms of ~ ,., or cornple~
se~icc nodes, a rcp.~ ~ of that sa~rice defini1inn is storcd in a scr~
definition s~ragc facility 13. Oncc thc service nodes are ~ml~ into a servic~
lo~c trcc or ~cmpl~t~-., that t~mpl~te is s~ed ias a call pf~-: ng record (CPR) 15 in call 1~ 8 re0rd temp~tJ~ Lib~ary 19. 'Ihc ~ t~s in Library 19 re~uire only the specification of ccr~in ~ r~ d~ ariables rcquired to fully implem~nt dlc sen~ice for a particular ~ r.
A ~n~ Z'~ t S~l 14 pro~ides a~miniS~ativc c~ntrol over a pluraUty of sen~ice 0ntrol pants s~ch as ser~ice control point 17 which 20 acn~ally implemcnt the new swices by r ~ .k control m~g~
with thc a..;hhc~ t~ hQ~ t 18. Sincc the strucnlre and op .~ of the scr~ice c~trol point 17 and the a~itched tcle~hc~ sgstem 18 ~~ facilitics, they will not bc fur~ d~ibod here. s~r~ to n~te that thesc cl~"~n~ are able to 25 implem0~t ~l~h~ t.o,l~ sen~ice ~ s whic~ can be utili7~ to realize t~ ~..~ and which arc si~r or i~ to tho6e liCrl~t in the afo.~ h~ J. J. l~ ;s and S. M. Iin patents and BSDB publication.
th thc ~.~;~s m~n~--.- -t ays~n 14 is a ~l~rc~m~r data basc 16 ~ic~ ~.l~i..~ *~;lcd il.f~.~lil conce..~ the .~,r~..cr~
ut~ ng ~leyl.~A c n~ 18. Also a~ig~ ~ith Scr~i~s m~nag~m~t systcm 14 is a fur~cr c~ ,-ut~ ~l;''l 15 ~ich can bc used to add C"~(~..tr plefcrc.ha.s and othcr ~ sp~ific data to the sc~icc templ~t~s ,, ~, definr~ in store 19. 'n is addition of the a~ r specific data to a service templ~r is called "scrvic~ provisioning" and perrTLit~ the senice t~nrl~tes passed to scn~icc control point 17 to be C~ mi7~i for a par~cular ~Istom~r or set of c~stomers using nclwulk 18. Wo.L~ 15 can, of coursc, be c~mbined with 5 wo~b~i~tion 10 if the two wo,b~tions arc at the ~mc location.
nc wo~ tior-c 10 and 15 can be any modem worksta~on s~ g ~aphical mani~ n ca~hility. One such wulb~tion is the SUN~160 te.~ ,~,llg under the SUN o~.atillg system and using the SUNVIEW~ graphics en~ Thi emi~r-.- ~ rovidc window support.
10 mousc c~ntrol, and graphic creation and m~ni~ ti~ ~p~bility adequate to implrmrnt thc pl~c~l~ invcntion. hlany other modcrn wulk~tions, however, would Likewise suppûrt im~ r..~ ;.ti..u of thc ~ t invcntion.
The yl~nt invention will be bcttes undc~a~ by considering the nowchart of FIG. 2. In FIG. 2 tberc is shovm a a~.~alL of the process for 15 drsigJling and deplûying new services {or tc~ ~r su~ibers in accordance with the ~l~t invcntion. Th*e mapr tcp6 are involved, node dcfinition, ser~ice definition and call p~xc~ , record creation. lllece teps will be taken up individually belaw.
l~c ;~ dc~l uscr of tbc proccss of FIG. 2 is the ser~ice aeator, 20 typically tbe t~lr~ r scr~ice ~prc~idcr. As s~ ~ in bo~ 20 of FIG. 2, this pes~n must crcate tbe nodcs to 'oc uscd in r~ ser~ices. The new nodes are aeatcd dr~mir~lly by *~ng the fdlowing pr~.Lies of the new node.
1. Nodc Narne 2. Nodc Typc 3. Data Type 4. Node R~ulcs 5. "Othcr" Allo~red 6. Nodc Error Messagc 7. Notes As is ahown in dctail in FIG. 3, a node dcfinition scrcen can be usod to ca~e d~e nodc l~r~.Les as data it~nc. 'Ihe "Load," '~alidate,"
"Store," 'l~cletc," "Bra~se," '~dp,' and "Quit" ~ d buttons are utilizcd to ac~s-a and proc~s nodcs as cn**~s lbe data ~ion fieida are used to define new nadcs by spocifying ~c node namc and the node ~1 ~ .hCS. Using SUN is a trademark and SUNVIEW is a registered trademark of Sun Microsystems, Inc.
209~607 WO92/11724 PCl/US91/09456 ~esc y ~c~ ~cs, a nodc can be administcrcd by the scrvioe ...~ gr...~..t sys~m 14 of FIG. 1 and implem~ by thc ~icc control point 17 of FIG. 1 ~ithout the ~eo~ity of ~vriting new ser icc implne~g code. As illus~ated in FIG. 3, the user is p~d ~ith ~ 0 saoen form ~hich roquires that thc user S ~paify thc values f each of thac ~de~. Thc cur~or inidally is IQ~ at thc fir~t data ficld (NODE N~E:) ~d ~cos to ~e~i~rc data fidds ~s the ~a~r~ ~D Ic~y is dep~ed. O~cc thesc p.~4.~ies ha~rc been spoafiod, thc w~ can storc thc ~d ~dc ~idl for the ~wly w~at~l ~c in a node lil~ary in ~orc 12 (FIG. 1), u~g the a~m-nd lu~s identified 10 in the t~ do~l of thc ~n display of F~G. 3.
- Thc ~lies cap~od l~y thc Dodc definition screen of FIG. 3 oontain kcy information about the De~v ~ode and, ~vhen oe~q, can be tra~atod and sent to ~e scrvice o~rd pc~int 17 of FIG. 1 to dnve a generic Call P~g Rax~rd (CPR) ~e~ (such as that dischscd in the 15 afo~e .w-tioncd D~n~is patcnt), so that it can support thc usc of this ncw node in any call processing lo~.~ that arc acatcd and ~ ..~ for sc~ices.
Additio~al or supplemcntal pr~.èies, wch as a~Qr~s~A senice control point call ~anables, node connection n~les and node tr~ -191i~ rules, can bc added to thc nodc lib~ary at a later timc to ca~pletdy characterizc thc .~ ¢ and intent 20 of thesc opcratioos at a ~lar sa~i~s .--~--~a~ system 14 and a particular senricc control point 17 (FIG. 1) in a generic ~ r. More ~li~l~ly, a Sy~:rr i(~ hr~ on of thc scnrice imple~-.c~ g ~,.h~ e in one or morc senrice irnpl(~ g nctworl~ ~ts which can be uscd to realiæ
the node can be r~d;~ addcd to thc node definition. The y~ cc of such an 25 i~ ;l;r~tion of thc ac~al code sequence in the scrvice control point would n;s~ly simplify the design of the interpretor program which î,~ t~ the call pro~ng roco~d into actual service unple~ , In this sense, the nodes k--~e ~k-~ of an e~tendible, high levcl pra~ g~-5~ for at~~ lg tCI~f~'h~C senrices.
In response tl~ ~e NODE N~ IE ~J~olll~Jt, thc user S-~tf~lir,C any uni~ue namc chooen f0 thc new nodc. This ~ame will hcn~tc~ be used to identify ~e node. l'nis new node n~me can be 'hought of as a higher-level a~rac~on represcnting a ~..;r.c opcration using prc-d~ call ~ ~;n~
vanablcs. Nodes can be d~er decision nodes or action nodes. ~e follo~ring WOg2/1l724 2098607 node types, ~ c~ in response to the NODE TYPE ~ t, are po6sible:
WO 92/117242 0 9 8 6 0 7: PCr/US91/094~i6 NODE TYPES
ACIION nF~oN
NODES NODES
A~mlt ~0 ll~h Do~ion ~odean ~r~ ~0 _r Comloct Ac~on StriDg Dotision C~ Ac~on CPR A~ Ac~
r~ ir Action Return Ac~on TaUe Acoe~ Ac~on T~ ~nd Over Action T~.uu,lat~ Action The node type s~l~ ~nu~ides inf~ll~li~l that can be used during call pra~Dg record ~ n and call processing record code g~ ,dlion. These node types n~d to all of the basic types of actions and 35 ~ c that might ~e utilized in providing t~ *~ spocial scrvices. Thcy are already ~r~-- r~ or ~r~.u..able into p~ioq art servioe i.~ ,le...c.~
network ~ ~ such as senrice con~d point 17. Should a new type of node be requirod, howe~er, it is necc~ary to specify the new type, and to provide ~! C'.~C.;t impl~-m~tion o~ the activity of the new nodc type in the scrvice control 40 point 17.
The node types ha~re par~cular meaning to scrvice control pdnt 17, vhich must e~ecute the call processing rocord in real time. SpK~f the node type informs sen~ice control point 17 what func~ons or call p.l,.uti~
are to be invoked. These node types thus reprcsent thc ''IJ,~.. ~
45 ~p;lt~ilitil~s" of seMoe controt point 17, which, whcn !mhinP~l with the node wo 92/11724 2 0 9 8 6 ~ 7 . ~/US911094~6 ._ .
name, ~esenting a par~cular pre-~lcl;~rA call variable in the service control point call processing e~ tion ~.J.~ t enable service control point 17 to ac~ally p~,.f~...J thc roquesoed operatils using the o~rect data.
The DATA TYPE fidd spodfies thc format o the data that will be 5 aa~ble as input ~lu~s for this node ~hen this node is usod in a call ~asDB record. lhe data 1~ allowcd are docimal numbers, alphanumeric ~t, trl~t)h~ ~ numbers, tn~ identifiers, variable da~, ~d billing i~f.,J...~l;....
The data type is used during call praoessing rooord v~lidation at the time the call pn~o4 rocord is "pnvi~d" by the ~iS~ati~ stomer~ c.~t 10 data values.
To administer a call proce~g ~oord, services manag~.-~nl system 14 of FIG. 1 must be able to d~,~...,...c whether ~alid values havc bcen entered for the nodes in the the call pr~,-~ re~rd tree. The.~fo.~ the user must specify the rules to be used when vs~ sti~ the input ~ralues for this node lS when ~is node is used in a call procossing record. In aoc~dance with the l,.esc.-t invention, a ,~ lar e~pression can be used to ~ .~.lt the Vsli~stiQn rules.
Mo,w.~,~, such validation rules can be c.ltl,.cd d~.~a~ir~11y in the node definition as oppased to hard coding them in a ~ . For e~smrle, to specify the vaL;~t~ for a queuing node, the user can specify the regular 20 e~pression ' (lifo I fifo)S". This e~pression states that the node can accept either 'last in, first out" or "first in, first out" qucue behavior as input .ralues.
In respwse to the OTHER ALLOWED, I,.o",t)t, the user must specify .h~ r the node can accept the word "other" as n input value. For e~unple, if a day of the week node were d~ fi~rA and available for a particular 2S sen~ice, a call ~ g record would be C~ . t~ with the day of the week node in the tree. If the input values for ~e day of the week node were sF er~fied as ~Ionday and Tuesday," then a second branch would need to be c,~ d to caver what should be done on Sat~da~, Sunday, Wednesday, Thu~ and Friday. Rathcr ~an spetl out the rcmaining days, the string "other" oould be 30 used. For some nodes "othcr" is not a sensibte value. Tl,c~forc, during node definition, the user must indicate whc~cr "otha" is a ~alid input value or whcthcr rn~,ing "othcr" shoutd re~tt in a val~d~tion crror.
In ~ r to the NODE ERROR UESSAGE l"u,--~t, the user enters a string to be printed when an i,~yt,.o~,iate input value is sF~fie~ for a wo 92/11724 2 0 9 8 6 0 7 Pcr/usg1/og4s6 nodc dun~g ~hc pmvi~ g of a call Pr~U record. This allaws "on the ny"
~ralida~on of data en~ics dunng all sumediD5 uscs of tbis nodc dl~Gll,tiu l.
Thc NO~ prompt pon~its a ~ellce fidd for the uscr. It c~n bc used to notc limita~0s 0 lhc Dode behavior, a gc~eral func~onal S d~ 0 of ~e node or ay oth i~tion thc us~ ~ to a~~s~,e wi~
the Do~e dofid~
~ Iso ~ha~n at ~e top of ~cn 30 of FIG. 3 are a scries of ~mand 0ght ~s lahled ~d,~ ~Validi~tc," "SO~c," ~clete," ~c,"
Wp," and "Quit." The~c an~d bu~ rc ~tod, for c~amplc, by a 10 mouse-dmen wrsor, to u~i~h the sco~atcd ~en display control fimctic os. F0 a~amplc, ~oad" ~ill -load any par~a~lar ~ously ~ node defini~on (c.g., for ~iting) ~nply by giviDg the node namc and cYoldng the nLoad" command. Simil~y, "Validate" pfo~s the ~ralida~don on the data cntries madc in re~onsc to ~c prompts. "Store" stores tbe newly ~ A node 15 in the ~ote lib~ary 12 of FIG. 1. lbe "Delete" command delctcs thc i~ ;1;6~
note definition from lib~y 12. ~sc" alla~vs the uscr t~ browse through all of the ~ y d~-fi-~ nodcs, ~dp" provides s-.~s of uscful anQllary inf0matioo lil~y to bc of _Doe to tbc uscr during the node definition acti rity, and "Quit" allows the uscr to te~ ~ tbe node Aefiniti~l actiYity.
20 Thc implcmenta~on of thesc so-called "almmand ~ t~ LC" arc well-known in the art and will not bc further des~ibed berc.
Returning to FIG. 2, thc sooond ba~ 21 n~,.~cnb ~e a~ of dcfining a new senricc in terms of prcviously A .fi-~ nodes. In this CCI~tt ~, a"rocord" is a smicc dcfinition and ba~ 21 indudes ~oad," "Validate" and 25 '~tore" ~. ~ for tbesc sa~icc definition r~o.~. In ~d~l;ti~, bo~c 21 Jdt C "Ca~as" ~mmands. Tbesc commands pcnnit thc visual and graphical m&.,~lstion of prcviously ~-fi C.3 nodes into servicc definitils. As can be bcttcr seen in FIG. 4, thc left balf of tbe screen 40 is tbc drawing arca whcre vi~al rc~escntations o pre riously !~ fi~ nodes can bc assembled into scrvice 30 dt fi~ Thc "Camas" commands in~uk "acar" (to clcar thc camas area), 'I)raw" (to.prepare for manipulating items on tbc camas), "Hclp" (to obtain screcns of uscful i~ on to assist in tbe usc of tbe sys~m), and "Quit" (to tc~n~inatc thc senioe definition sesnl). In addition, individual items in the can~ras arca can bc .~ sbod with thc c~.~ "Sclect" (to sclect a particular node), "Add" (to add a selected node to the service definition), "~lew" (to view the node definition of the selected node), and "Delete" (to delete a node from the service definition).
The intended user of the service definition process is the service creatoL This creator utilized the service definition process to define the subset of nodes in the node library that are to be used in a specific service. The user is presented with the form shown in FIG. 4 which enables the user to specify the nodes from the node library that are allowed for use by a specific service with a certain qualifier. A qualifier could, for example, be a specific area of service in the service provider's territory. Wlth the functions described above, the user of any particular node in a service can be defined by a service creator and any particular node in a service can be defined by a service creator and administered by the service management system 14. Once the allowable node names for a particular service have been specified, using the screen 40 of FIG. 4, the user can store the service definition for the new service in service definition library 13 (FIG. 1). These service definitions can thereafter be edited, augmentecl or deleted from the service definition library 13 whenever desired.
The service creation user can distribute the node library and the service definition library in store 13 to the generic service management system 14 for use in ~lministering the new service. Services management system 14 will permit the use of only the specified subset of nodes in all call processing records that are created and provisioned for this particular service. Additional propellies, such as service specific node connection rules and node translation rules, can be added to the service definition tables at this time to completely and generic~lly characterize the me~ning and intent of these operations for the service management system 14.
Retu~ning to FIG. 2, the box 22 represents the procedures for "provisioning" the service defined in box 21. In this regard, the term "provisioning" means creating the logic tree representing the new service an customizing the defined service in terms of node parameter values. The screen 50 of FIG. 5 illustrates a mechanism for carrying out this process. The service creator can use this process to define a default representation of the service offering as a template of nodes interconnected in a call processing record tree format. The allowed nodes for a particular service are the ones specified through the service definition process. The service provisioning user can use this WO g2/11724 2 0 9 8 6 0 7 PCr/USsl/09456 process to co#~nize thc de~ult ~cc templatc and to ~on thc ser~ice tool illu~aeod i~ FIG. 5 to ~c a gr~pbical, u~er-f~i~dly ~ ion and f ~ podSc are~ of ~ u~ tbe ~ice ~s~Titory. lbc ~ ~f FIG. S pr~vide~ ro~rd m_~ &~os (I~_A Raord, V~lidatc 10 (Seb~t, ae-r, Hdp, Q~t, ~d Rahs~).
tanplatc af nod~ in_ in a ~11 ~ ~cord trec fo~mat as a de~ult ~1 of the sa~ice o~iog. Fluthenwre, thc truc power of the prece~t inve~on boc~es a~ t ~hell it is alizod that the s~icc ~lu.
15 can define modular templa~es of commo~ ~sable node-bascd lolpc as scnricc features, which n then bc addod to lhe nodc li~Ny as nodes for reusc ~y othcr f~L~ and sernces. Isl effect, lhe pre6ent inven~o~ provides a m~r,h~ni~m for usi~g the set of "p~ble capab~ities" available at thc senicc control point 17 and ~e reu~ble, uscr-fria~dly and bigh-levd m~"l~S that enable 20 ea~er and faster ~al p~mmiDg of the call p~n~ logic.
It should bc ~o~d ~at assemblies of low level nodes can bc assoaated togc~er into a higber Icvel ca~ility ~hich, oncc given a namc, can bc re~ieved, manipulated and usod in aea~g ncw scnrices just lilce a low lcvcl node. In this ~vay, as time p,~l$, the acation of new senrices ~ s casicr 25 and casier sincc evcr higher levels of sen~icc p~imiti~ a~railablc for - assembly into the Da~ ~ices.
Once the dcfault seni~ ta~splatc has boen spo~fied, thc uscr can store the servicc tcmplatc definition for the new servicc in ssrvicc t~ 9t~
definitil skxe 19. The uscr ~n ~flcr distribute thcsc senricc t~
30 definiitiaa tablcs to the ~eneric services management system 14 for use in admiDis~g the new ~ervice, praviding a default s~icc logic flow for the purpo6c of pravisiooiDg. Furthe~more, the availability of sen icc node tlcfin;~
in storc 13 ~rill ensure that ~i~iDg will support the usc of only thc ~lc~tor spocificd subset of nodes in any call processing ~1~ that are ~ o~ and 'O 92/117U 2 0 9 8 6 0 7 pcr/us91/o94s6 _ . .
~,.u. -~ for this par~Q~lar scnice.
l~le scnri~ pmvidcr 0 the sulxaiber can also use ~e y~C~
illus~ated in FIG. 5 to au~mi~ ~e default senice t~ ls~ and to ~.u.~ on thc ~nce ~y ~ding node parame~r ~alues. At this ~tage, ~e nodc values 5 ~uppliod ~re validaocd dlmamic~y ~y imoldng ~e nodc ~lida~0 rules ~ r~cd for c~ ~e Damc ~ ~c node libruy. Addi~ odc ~d ~ervioe tefi~i~on ~ lies, wch as ~ode c~0 mlcs ~d Dodc ~ rulcs, ~n be spodfiod to drivc thc valitai0 ~d t~i0 aperaio~s at thc scn iccs m~_t ~n 14 in a ~ ;c malmer.
l~le attachod ~ndis p~vidcs pw~lc for impl ~ .. ti.,p the flaw~art of FIG. 2. ~Ith this p~ lc and thc dies~iption hcrcin pra~rided, any person of o.din~ sl~ll in the ~ g art is able to fully implement thc present i,.~
It should also be clear to thase slcilled in the art ~at further 15 cmbodimcnts of the present in~cn~don may be made ~y th~6c skilled in the art ~.;th~t dcpa-~ing from the teachings of the y~C~l invcntion.
WO g2/11724 2 0 9 8 6 0 7 PCr/US91/09456 APPE~
P~eud~e Node Det~itb~ Proo~ Pseudocode ~e ('nodc_dcfinition') S do until (invdcc ('quit')) if (vicw (Dodc_d~fi~ition)) then il~pUt (nodc_~ne) i~e ('bad') if (nodc_dcfinition (nodc_namc) in librar,y then (node_dcfinition (nodc_namc)) display (node_dc,finition (node_namc)) clsc crcate (nodc_definiti~window (nodc_name)) display (node_Acfin;tion~indow (node_name)) endif end_invokc endif if (spo~fy (node_t~,o~.lios)) thcn sct_dcfault (fidd_valucs (node_name)) enter (fidd_valucs (node_name)) c~
if (modify (node_l,.o~cs)) then updatc (fidd_~ralues (node_name)) cndif endif if (~r-s';~is1iQn_check (node_name)) then imo~e ('validate') ~rcrify (node nsm~, fidd_cntrics, fidd_entry_c~mhin-s-1iQnc) end_imoke endif if (store (node_d~fi~
then invoke ('store') le~;e~e (node_defil~lion (node_n. me)) 20986`07 ~
~0 92/11724 pcr/us91/o94~6 ._ .
u._.lay (node_dcfi,l,tio,l. node_~,.c~c~,cs) store (G~c,lay (node_name)) cnd_im~olcc cndif S if (deletc (node_definitil)) thcn imblcc ('deletc') r~ (node_defini~on (node_name)) ddete (nodc_definition (node name)) end_imolcc dif if (~awsc (node_~1cfi~
~cn invoke ('browse') display (nodc_~,.opc, ~.es) (node_defini~ons) display (node_defini~ons) end_invoke cndif 20 end_do Wo 92/1 1724 Pcr/US91/09456 Servioe Defimition Proce~ Pscudocode involcc ('senricc A~
do until (imoke ('quit')) if view (~enice_defini~don) S l~cn input (~icc_namc, ~icc_quaLifier) imrolce ('bad') rc~ic~ e (ser~icc_tefini~on (sa~ice_namc, se~i~ce_qualifier)) di~lay (node_Dame_list) end_imolce endif U view (all_nodcs) then invoke ('sde~t') B~n~-a~L (menu (all_nodes)) end_invoke endif if (select_nodc) then invoke ('sdect') select (desired_node, menu (all_nodes)) display (desired_node, . ull~nl_node_display) end_involce endif if use (~ cnt_node) then invoke ('add') poation (~l.,.lt_node, canvas) add (~l.,.ll_node, servicc_~fini1inn) cnd_invoke cndif if disallow (cu~ t_node) then invokc ('dcletc') sdect (w~l~t_node) ddete (s~ _node) end_invoke cndif _ vo 92/11724 2 0 9 8 6 0 7 . /US91/094S6 if ~iew (w..~ t_node_definition) then im~oke ('view') se~ (w.,~.lt_node) S dispby (node_d~ r.~ ol~, current_node) end_imolce eodif if validate (sen~ice_definition) then imolce ('v~lidatc') ve~ify (fidd_entriG, ~en~ice_definition) ~aify (fidd_ent~ scrviee_*fi~
end_invoke endif 15 if store (sen~ice_d~ fi~
tben invoke ('store') r~ie~ ice_definition (senrice_name, service_qualifier)) o.e.lay (scrvice_definition (sen~ice_name, sen~ce_qualifier), canvas_nodes)) s.orc (scrvice_d~_Gih~on (ser~ name, senioe_qualifier)) end_imolce endif if clear (canvas_area) then imroke ('dear') dcar (all_nodes, canvas_area) cnd_imokc cndif if redraw (camras_arca) thcn imokc ('draw') clcar (all_nodes, Gm~ras_arca) auto_in~okc ('load') end_invokc cndif cnd_do wo 92/11724 2 0 9 8 6 0 7 Pcr/US91/09456 CPR Input Proc~ Pscudocode imoke ('CPR_input') do un~l imolcc ('quit') if ~ncw (c~ing_CPR_trec) S then input (~oe_n~mc, ~icr_oamc, customcr_ounc) imokc ('load') (nodc_l~ames (selvi~_Damc, ~cnice_qualificr)) re~ic~rc (CPR_~oc(~i~_oame, er~ice_qualificr, a~mer_Damc)) display (CPR_trec (sa~ri~ ~e, scrvicc_qualifier, ~iu~.~ _name)) end_invoke endif if view (allowed_nodes (senice_name, s~vice_q~slifi~r)) ~en invoke ('select') g~ nc,.~tc (menu (allawed_node ~ nff)) end_invoke endif if select (allowed_node) then invoke ('select') identify (desired_node) display (desired_node, ~u,.,a~_node) end_invoke endif if add (cu~ t_ct~de, CPR_calIvas) then invoke ('phce') position (w"~q1 nQde, CPR_canvas) place (~-.,nl_node, CPR_canvas) end_invoke endif if coq~q~l (node_namel, node_name2, CPR_canvas) ~en invoke (c~
select (from_nodc) sclect (to_node) d~aw_linc (from_node, to_node) cnd_imoke 5 cndif if mave (nodc_name) thcn imokc (mave) eruc (nodc_llame, dd_location) re~aw (nodc r~n~, new_l~
end_imokc cndif if edit (node_name, node_value) ~cn invoke ('edit') select (node_name) display (edit_menu) input (nodc_value) invokc ('enter') erasc (dd_value) - display (ncw_value) end_imoke end_invoke 25 endif if ~ (node_name) then invoke ('~
select (node_name) er~e_c~ n (node_name, node_parent) end_invokc endif if ~.,.o.~ (node_name) d~en imoke ('rc,uo~:) sele~t (node_name) 1.,.l.~ c (node_name, children, c~
end_invoke endif 40 if validate (CPR_node) wO 92/11724 2 0 9 8 6 0 7 Pcr/uss1/094s6 .æ.
then invoke (' alidate') for (each node in CPR_tree) do ~idate (node_value, node_mle) end_do d~y (~or~
end_invdce 10 endif if storc (CPRtroe) invoke ('store') re~ieve (CPR_tree (~oe_name, ~aYice_qualifier, customer_D~me)) u~ y (CPR_tree (savice_Dame, service_qu lifier, customer_Dame), CPR_~ee (camas_area)) store (CPR_tree, u._.h~) end_imokc endif if clear (can~as_area) thcn invoke ('clear') erase (canv~s_area) cnd_invoke endif if redraw (cm~ras_area) then invoke ('rcdraw') erasc (canvas_area) auto_invoke ('load') end_imolce cndif end_do
Claims
What is claimed is:
1. A method for visually programming telephone services for implementation in a telephone network having a service control point, said method comprising the steps of defining new nodes of network service primitives for storage in a storage means,recalling from said storage means previously defined nodes, assembling a set of said defined new nodes and recalled nodes to be used in one of said telephone services wherein said assembled set of nodes can be stored as a service definition in a service definition library, graphically interrelating said assembled nodes into a logical graph representing a telephone service call processing sequence, storing said logical graph in a logical graph template library within said storage means to be used in providing the defined telephone service, retrieving a logical graph template from said template library when said telephone service is to be provisioned for a customer, and specifying customer dependent variables in said logical graph template for provisioning customer service wherein said logical graph template with said specified customer dependent variables can be sent to a service control point for interpretation by an interpretive process to provide service.
2. The method according to claim 1 wherein said step of defining new nodes comprises the step of specifying the name of one of said new nodes.
3. The method according to claim 2 wherein said step of defining new nodes comprises the step of specifying the node type of said one new node.
4. The method according to claim 2 wherein said step of defining new nodes comprises the step of specifying the data type of parameter values associated with said one new node.
5. The method according to claim 4 wherein said step of defining new nodes further comprises the steps of specifying validation rules for parameter values associated with said one new node, and specifying an error message to be displayed in response to the failure of either said data type or said parameter values to satisfy said validation rules.
6. The method according to claim 1 wherein said step of defining new nodes comprises the step of displaying selected ones of the defined new nodes.
7. The method according to claim 1 wherein said step of graphically interrelating includes the step of adding either a new or previously defined node to said call processing sequence.8. The method according to claim 1 wherein said step of graphically interrelating includes the step of deleting either a new or previously defined node from said call processing sequence.
9. The method according to claim 1 wherein said step of graphically interrelating includes the step of interconnecting two of said set of assembled nodes in said call processing sequence.
10. A system for defining software implemented services in a telephone network having a service control point and programmable facilities of having executable service primitives, said system comprising:
a node data store for storing groupings of said service primitives as primitive nodes;
a service definition data store;
a call processing record template store;
a graphical user input and display device; and service creation process means for retrieving from said node data store any number of said nodes and displaying said nodes on said graphical user input and display device as a graphical symbol wherein a user using said graphical user display device can select from said nodes a set for defining a service and store said set of nodes together as a service definition in said service definition data store, manipulate said set of nodes into a graphical abstraction of a logical service process, and store said graphical abstraction of a logical service process as a call processing record in said call processing record template store, and wherein customer data can be added to said call processing record template store and sent to said service control point to provision services for a customer.
11. The system according to claim 10 wherein said service creation process meansfurther comprises means for defining at least one new node of service primitives by specifying a node name, a node type, and a new set of node properties comprised of parameter values and means for storing said new node in said node data store.
12. The system according to claim 11 wherein said service creation process meansfurther comprises means for modifying said nodes by changing the values for properties that make up said nodes.
13. A system for defining software implemented services in a telephone networkhaving programmable facilities consisting of executable service primitives, said system comprising:
a node data store for storing groupings of said service primitives as primitive nodes;
a service definition data store;
a call processing record store;
a graphical user input and display device; and service creation process means for retrieving from said node data store any number of said nodes and displaying said nodes on said graphical user input and display device as a graphical symbol, said service creation process means comprising:
means for defining at least one new node of service primitives by specifying a node name, a node type, and a new set of node properties comprised of parameter values said means for defining at least one new node further comprising;
means for specifying validation rules for parameter values associated with said new node; and means for specifying an error message to be displayed in response to the failure of either said node type or said parameter values to satisfy validation rules; and means for storing said new node in said node data store, wherein a user using said graphical user display device can select from said nodes a set for defining a service and store said selected set of nodes defined as a service in said service definition data store, manipulate said set of nodes into a graphical abstraction of a logical service process creating a call processing record logic tree and store said call processing record logic tree in said call processing record data store, and wherein said user can add to said graphical abstraction of a logical service process customer data creating a customized call processing record to be sent to a service control point to be executed when service is requested.
14. The system according to claim 13 wherein said service creation process meansfurther includes means for adding a node from said node data store to said call processing record logic tree.
15. The system according to claim 14 wherein said service creation process meansfurther includes means for deleting a node from said call processing record logic tree.
16. The method according to claim 11 wherein said storage means comprises:
a node library for storing said new and previously defined nodes, said service definition library and said template library.
17. The method according to claim 1 wherein said logical graph can be defined as a complex node and stored for later use and recall in said node library.
1. A method for visually programming telephone services for implementation in a telephone network having a service control point, said method comprising the steps of defining new nodes of network service primitives for storage in a storage means,recalling from said storage means previously defined nodes, assembling a set of said defined new nodes and recalled nodes to be used in one of said telephone services wherein said assembled set of nodes can be stored as a service definition in a service definition library, graphically interrelating said assembled nodes into a logical graph representing a telephone service call processing sequence, storing said logical graph in a logical graph template library within said storage means to be used in providing the defined telephone service, retrieving a logical graph template from said template library when said telephone service is to be provisioned for a customer, and specifying customer dependent variables in said logical graph template for provisioning customer service wherein said logical graph template with said specified customer dependent variables can be sent to a service control point for interpretation by an interpretive process to provide service.
2. The method according to claim 1 wherein said step of defining new nodes comprises the step of specifying the name of one of said new nodes.
3. The method according to claim 2 wherein said step of defining new nodes comprises the step of specifying the node type of said one new node.
4. The method according to claim 2 wherein said step of defining new nodes comprises the step of specifying the data type of parameter values associated with said one new node.
5. The method according to claim 4 wherein said step of defining new nodes further comprises the steps of specifying validation rules for parameter values associated with said one new node, and specifying an error message to be displayed in response to the failure of either said data type or said parameter values to satisfy said validation rules.
6. The method according to claim 1 wherein said step of defining new nodes comprises the step of displaying selected ones of the defined new nodes.
7. The method according to claim 1 wherein said step of graphically interrelating includes the step of adding either a new or previously defined node to said call processing sequence.8. The method according to claim 1 wherein said step of graphically interrelating includes the step of deleting either a new or previously defined node from said call processing sequence.
9. The method according to claim 1 wherein said step of graphically interrelating includes the step of interconnecting two of said set of assembled nodes in said call processing sequence.
10. A system for defining software implemented services in a telephone network having a service control point and programmable facilities of having executable service primitives, said system comprising:
a node data store for storing groupings of said service primitives as primitive nodes;
a service definition data store;
a call processing record template store;
a graphical user input and display device; and service creation process means for retrieving from said node data store any number of said nodes and displaying said nodes on said graphical user input and display device as a graphical symbol wherein a user using said graphical user display device can select from said nodes a set for defining a service and store said set of nodes together as a service definition in said service definition data store, manipulate said set of nodes into a graphical abstraction of a logical service process, and store said graphical abstraction of a logical service process as a call processing record in said call processing record template store, and wherein customer data can be added to said call processing record template store and sent to said service control point to provision services for a customer.
11. The system according to claim 10 wherein said service creation process meansfurther comprises means for defining at least one new node of service primitives by specifying a node name, a node type, and a new set of node properties comprised of parameter values and means for storing said new node in said node data store.
12. The system according to claim 11 wherein said service creation process meansfurther comprises means for modifying said nodes by changing the values for properties that make up said nodes.
13. A system for defining software implemented services in a telephone networkhaving programmable facilities consisting of executable service primitives, said system comprising:
a node data store for storing groupings of said service primitives as primitive nodes;
a service definition data store;
a call processing record store;
a graphical user input and display device; and service creation process means for retrieving from said node data store any number of said nodes and displaying said nodes on said graphical user input and display device as a graphical symbol, said service creation process means comprising:
means for defining at least one new node of service primitives by specifying a node name, a node type, and a new set of node properties comprised of parameter values said means for defining at least one new node further comprising;
means for specifying validation rules for parameter values associated with said new node; and means for specifying an error message to be displayed in response to the failure of either said node type or said parameter values to satisfy validation rules; and means for storing said new node in said node data store, wherein a user using said graphical user display device can select from said nodes a set for defining a service and store said selected set of nodes defined as a service in said service definition data store, manipulate said set of nodes into a graphical abstraction of a logical service process creating a call processing record logic tree and store said call processing record logic tree in said call processing record data store, and wherein said user can add to said graphical abstraction of a logical service process customer data creating a customized call processing record to be sent to a service control point to be executed when service is requested.
14. The system according to claim 13 wherein said service creation process meansfurther includes means for adding a node from said node data store to said call processing record logic tree.
15. The system according to claim 14 wherein said service creation process meansfurther includes means for deleting a node from said call processing record logic tree.
16. The method according to claim 11 wherein said storage means comprises:
a node library for storing said new and previously defined nodes, said service definition library and said template library.
17. The method according to claim 1 wherein said logical graph can be defined as a complex node and stored for later use and recall in said node library.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/629,372 US5323452A (en) | 1990-12-18 | 1990-12-18 | Visual programming of telephone network call processing logic |
US629,372 | 1990-12-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2098607A1 CA2098607A1 (en) | 1992-06-19 |
CA2098607C true CA2098607C (en) | 1996-11-12 |
Family
ID=24522734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002098607A Expired - Fee Related CA2098607C (en) | 1990-12-18 | 1991-12-16 | Visual programming of telephone network call processing logic |
Country Status (6)
Country | Link |
---|---|
US (1) | US5323452A (en) |
EP (1) | EP0563319A4 (en) |
JP (1) | JPH06502752A (en) |
AU (1) | AU9177791A (en) |
CA (1) | CA2098607C (en) |
WO (1) | WO1992011724A1 (en) |
Families Citing this family (149)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2098608C (en) * | 1990-12-18 | 1997-03-25 | David Leveau Babson Iii | Systems and processes for specifying customized telecommunication services |
JP2941996B2 (en) * | 1991-04-18 | 1999-08-30 | 富士通株式会社 | Wide-area subscriber group service realization method |
US5701419A (en) * | 1992-03-06 | 1997-12-23 | Bell Atlantic Network Services, Inc. | Telecommunications service creation apparatus and method |
US5463682A (en) * | 1992-08-25 | 1995-10-31 | Bell Communications Research, Inc. | Method of creating user-defined call processing procedures |
US6134304A (en) * | 1992-11-10 | 2000-10-17 | Telefonaktiebolaget Lm Ericsson | General analysis system |
CA2102868C (en) * | 1992-11-11 | 1999-10-26 | Joseph E. Bloom | Device for programming script sets in a telephone system |
SE470545B (en) * | 1992-11-26 | 1994-07-25 | Ellemtel Utvecklings Ab | Modular system of sub-functions |
EP0602295B1 (en) * | 1992-12-17 | 1999-03-31 | International Business Machines Corporation | Method for configuring and operating a telecommunication apparatus |
SE501768C2 (en) * | 1992-12-18 | 1995-05-08 | Televerket | Procedure and apparatus for testing services in telecommunications systems |
FI92895C (en) * | 1993-04-06 | 1995-01-10 | Nokia Telecommunications Oy | A method and system for controlling the use of a telephone exchange from a subscriber interface |
US5541986A (en) * | 1993-07-27 | 1996-07-30 | Bell Communications Research, Inc. | Method and system for automated telecommunications service script consolidation and downloading |
DE4335396A1 (en) * | 1993-10-16 | 1995-04-20 | Philips Patentverwaltung | Communication system |
US5455854A (en) * | 1993-10-26 | 1995-10-03 | Taligent, Inc. | Object-oriented telephony system |
US5469500A (en) * | 1993-11-12 | 1995-11-21 | Voiceplex Corporation | Method and apparatus for delivering calling services |
US5703940A (en) * | 1993-11-12 | 1997-12-30 | Intervoice, Inc. | Method and apparatus for delivering calling services |
DE4340326A1 (en) * | 1993-11-26 | 1995-06-01 | Philips Patentverwaltung | Communication system |
SE502423C2 (en) * | 1994-02-15 | 1995-10-16 | Ellemtel Utvecklings Ab | Systems for managing interaction between additional services in a telecommunications system |
US5583976A (en) * | 1994-02-18 | 1996-12-10 | Bellsouth Corporation | Telecommunications network configuration model for data management and allocation |
SG43031A1 (en) * | 1994-02-28 | 1997-10-17 | British Telecomm | Service provision in communications networks |
AU696018B2 (en) * | 1994-02-28 | 1998-08-27 | British Telecommunications Public Limited Company | Service provision in communications networks |
US5724406A (en) * | 1994-03-22 | 1998-03-03 | Ericsson Messaging Systems, Inc. | Call processing system and method for providing a variety of messaging services |
DE69523907T2 (en) * | 1994-04-21 | 2002-07-11 | British Telecomm | SERVICE GENERATION SYSTEM FOR A COMMUNICATION NETWORK |
CA2125239A1 (en) * | 1994-06-06 | 1995-12-07 | Kenneth Allan Borg | Network service provisioning |
SE503376C2 (en) * | 1994-06-13 | 1996-06-03 | Ericsson Telefon Ab L M | Customer profiled telecommunications service |
US5473680A (en) * | 1994-06-14 | 1995-12-05 | Bell Communications Research, Inc. | Methods and apparatus for interfacing with application programs to manage multimedia multiparty communications |
US5680530A (en) * | 1994-09-19 | 1997-10-21 | Lucent Technologies Inc. | Graphical environment for interactively specifying a target system |
US5517562A (en) * | 1994-11-01 | 1996-05-14 | Independent Telecommunications Network, Inc. | Method and system for providing a distributed service network for telecommunications service providers |
WO1996020448A1 (en) * | 1994-12-23 | 1996-07-04 | Southwestern Bell Technology Resources, Inc. | Flexible network platform and call processing system |
US5694463A (en) * | 1995-02-15 | 1997-12-02 | Christie; Joseph Michael | System for service control point routing |
WO1996029830A1 (en) * | 1995-03-22 | 1996-09-26 | British Telecommunications Public Limited Company | Service provision in a telecommunications network |
US5974118A (en) * | 1995-04-03 | 1999-10-26 | Unisys Corporation | System for coordinating on-line updates of call flows, functions and voice prompts of a telephony applications |
FI103542B (en) * | 1995-04-04 | 1999-07-15 | Nokia Telecommunications Oy | Personal IN service |
CA2147776C (en) * | 1995-04-25 | 1997-09-02 | George W. Turner | Number translation services matrix |
US5892821A (en) * | 1995-06-02 | 1999-04-06 | Bell Sygma Inc. | Virtual wide area centrex |
US5761288A (en) * | 1995-06-05 | 1998-06-02 | Mitel Corporation | Service context sensitive features and applications |
US5771279A (en) * | 1995-07-31 | 1998-06-23 | Bell Atlantic Network Services, Inc. | Advanced intelligent network interacting with customer premises equipment |
US6086619A (en) * | 1995-08-11 | 2000-07-11 | Hausman; Robert E. | Apparatus and method for modeling linear and quadratic programs |
US6338088B1 (en) | 1995-11-02 | 2002-01-08 | British Telecommunications Public Limited Company | Service creation apparatus for a communications network |
US5826030A (en) * | 1995-11-30 | 1998-10-20 | Excel Switching Corporation | Telecommunication switch having a universal API with a single call processing message including user-definable data and response message each having a generic format |
US5966535A (en) * | 1995-12-07 | 1999-10-12 | At&T Corporation | Method and apparatus for generating program code for world wide web service applications |
FI111677B (en) * | 1996-05-21 | 2003-08-29 | Sonera Oyj | System for managing subscriber-specified services in a telephone network |
WO1997044961A2 (en) | 1996-05-23 | 1997-11-27 | Alcatel Usa Sourcing, L.P. | System and method for total telecommunications service commissioning |
DE19626131A1 (en) * | 1996-06-28 | 1998-01-08 | Sel Alcatel Ag | Method for introducing a telecommunications service as well as service unit, service computer, terminal and communication network |
US6032043A (en) * | 1996-09-25 | 2000-02-29 | Telefonaktiebolaget L M Ericsson (Publ) | Home location register feature dispatching and arbitration in a wireless intelligent network |
SE514922C2 (en) | 1996-10-10 | 2001-05-21 | Teligent Ab | Procedure for providing and performing a telecommunications service |
US5883946A (en) * | 1996-11-27 | 1999-03-16 | Bell Communications Research, Inc. | Method and apparatus for provisioning customized telecommunications services |
US5848141A (en) * | 1996-11-27 | 1998-12-08 | Bell Communications Research, Inc. | Method and apparatus for provisioning call processing records using logic and data templates |
SE511357C2 (en) * | 1996-12-19 | 1999-09-20 | Ericsson Telefon Ab L M | Method and apparatus of a telecommunications network |
CA2224623A1 (en) * | 1997-02-24 | 1998-08-24 | Mitel Corporation | Voice custom control of activities |
FI113823B (en) * | 1997-03-13 | 2004-06-15 | Nokia Corp | Systems for processing service data in a telecommunications system |
US5999609A (en) * | 1997-04-04 | 1999-12-07 | Sun Microsystems, Inc. | Computer-telephony (CT) system including an electronic call request |
US5953406A (en) * | 1997-05-20 | 1999-09-14 | Mci Communications Corporation | Generalized customer profile editor for call center services |
DE69835082T2 (en) * | 1997-05-30 | 2007-07-19 | Alcatel USA Sourcing, L.P., Plano | WORLDWIDE-WEB INTERFACE TO TELECOMMUNICATIONS SERVICE GENERATION ENVIRONMENT |
US6377567B1 (en) | 1997-07-16 | 2002-04-23 | Mci Communications Corporation | System and method for distributing data collected from call center services |
US5907537A (en) * | 1997-07-18 | 1999-05-25 | Northern Telecom Limited | OA&M system |
AU8576798A (en) * | 1997-07-25 | 1999-02-16 | Starvox, Inc. | Apparatus and method for integrated voice gateway |
US6804711B1 (en) | 1997-10-06 | 2004-10-12 | Mci, Inc. | Method and apparatus for managing call processing services in an intelligent telecommunication network |
US6363411B1 (en) | 1998-08-05 | 2002-03-26 | Mci Worldcom, Inc. | Intelligent network |
US7024450B1 (en) * | 1997-10-06 | 2006-04-04 | Mci, Inc. | Method and apparatus for deploying service modules among service nodes distributed in an intelligent network |
US6425005B1 (en) * | 1997-10-06 | 2002-07-23 | Mci Worldcom, Inc. | Method and apparatus for managing local resources at service nodes in an intelligent network |
US6779030B1 (en) * | 1997-10-06 | 2004-08-17 | Worldcom, Inc. | Intelligent network |
US6393481B1 (en) | 1997-10-06 | 2002-05-21 | Worldcom, Inc. | Method and apparatus for providing real-time call processing services in an intelligent network |
US6594355B1 (en) * | 1997-10-06 | 2003-07-15 | Worldcom, Inc. | Method and apparatus for providing real time execution of specific communications services in an intelligent network |
US6243451B1 (en) * | 1997-10-09 | 2001-06-05 | Alcatel Usa Sourcing, L.P. | Service management access point |
US6483911B1 (en) | 1997-11-05 | 2002-11-19 | Unisys Corporation | Methods and apparatus for providing external access to executable call flows of a network application |
US6243092B1 (en) | 1997-12-02 | 2001-06-05 | Aspect Communications | Transaction flow editing tool |
US6225998B1 (en) * | 1997-12-02 | 2001-05-01 | Aspect Communications | Visual design of workflows for transaction processing |
US6002941A (en) * | 1997-12-17 | 1999-12-14 | Motorola, Inc. | Method and apparatus for implementing a service in a wireless communication system |
US6052456A (en) * | 1997-12-23 | 2000-04-18 | Alcatel Usa Sourcing, L.P. | Graphical shelf navigator for a telecommunications switch management system |
US6314172B1 (en) * | 1997-12-31 | 2001-11-06 | Alcatel Usa Sourcing L.P. | Method and system for providing service information in an advanced intelligent network |
US6038301A (en) * | 1997-12-31 | 2000-03-14 | Alcatel Usa Sourcing, L.P. | Method and system for engineering a service in an advanced intelligent network |
US6272213B1 (en) * | 1997-12-31 | 2001-08-07 | Alcatel Usa Sourcing, L.P. | Method and system for service engineering in an advanced intelligent network |
GB2335327B (en) * | 1998-03-13 | 2000-07-12 | Plessey Telecomm | Broadband service creation environment |
EP0954140B1 (en) * | 1998-05-01 | 2003-10-29 | Hewlett-Packard Company, A Delaware Corporation | Method of managing dynamic decision trees |
US6405159B2 (en) | 1998-06-03 | 2002-06-11 | Sbc Technology Resources, Inc. | Method for categorizing, describing and modeling types of system users |
US6788649B1 (en) | 1998-08-03 | 2004-09-07 | Mci, Inc. | Method and apparatus for supporting ATM services in an intelligent network |
DE19901329A1 (en) * | 1999-01-15 | 2000-07-27 | Alcatel Sa | Determination method for validation rules in telecommunication system, involves using generator, server, controller and memory. |
US6499017B1 (en) * | 1999-01-29 | 2002-12-24 | Harris Corporation | Method for provisioning communications devices and system for provisioning same |
DE19907328C2 (en) * | 1999-02-20 | 2002-10-24 | Johannes Reichardt | Visual programming method and system |
US6567796B1 (en) * | 1999-03-23 | 2003-05-20 | Microstrategy, Incorporated | System and method for management of an automatic OLAP report broadcast system |
US7082422B1 (en) | 1999-03-23 | 2006-07-25 | Microstrategy, Incorporated | System and method for automatic transmission of audible on-line analytical processing system report output |
US8321411B2 (en) | 1999-03-23 | 2012-11-27 | Microstrategy, Incorporated | System and method for management of an automatic OLAP report broadcast system |
US7401112B1 (en) | 1999-05-26 | 2008-07-15 | Aspect Communication Corporation | Methods and apparatus for executing a transaction task within a transaction processing system employing symmetric multiprocessors |
US7224790B1 (en) | 1999-05-27 | 2007-05-29 | Sbc Technology Resources, Inc. | Method to identify and categorize customer's goals and behaviors within a customer service center environment |
US7086007B1 (en) * | 1999-05-27 | 2006-08-01 | Sbc Technology Resources, Inc. | Method for integrating user models to interface design |
US8607138B2 (en) | 1999-05-28 | 2013-12-10 | Microstrategy, Incorporated | System and method for OLAP report generation with spreadsheet report within the network user interface |
US9208213B2 (en) | 1999-05-28 | 2015-12-08 | Microstrategy, Incorporated | System and method for network user interface OLAP report formatting |
US7769147B1 (en) | 1999-07-29 | 2010-08-03 | Unisys Corporation | Voice messaging system with enhanced customizability |
US6798867B1 (en) | 1999-09-13 | 2004-09-28 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with real-time database queries |
US6885734B1 (en) | 1999-09-13 | 2005-04-26 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive inbound and outbound voice services, with real-time interactive voice database queries |
US6829334B1 (en) | 1999-09-13 | 2004-12-07 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with telephone-based service utilization and control |
US6964012B1 (en) | 1999-09-13 | 2005-11-08 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, including deployment through personalized broadcasts |
US6836537B1 (en) | 1999-09-13 | 2004-12-28 | Microstrategy Incorporated | System and method for real-time, personalized, dynamic, interactive voice services for information related to existing travel schedule |
US6850603B1 (en) | 1999-09-13 | 2005-02-01 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized dynamic and interactive voice services |
US6940953B1 (en) | 1999-09-13 | 2005-09-06 | Microstrategy, Inc. | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services including module for generating and formatting voice services |
US8130918B1 (en) | 1999-09-13 | 2012-03-06 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with closed loop transaction processing |
US7340040B1 (en) | 1999-09-13 | 2008-03-04 | Microstrategy, Incorporated | System and method for real-time, personalized, dynamic, interactive voice services for corporate-analysis related information |
US7266181B1 (en) | 1999-09-13 | 2007-09-04 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized dynamic and interactive voice services with integrated inbound and outbound voice services |
US7197461B1 (en) | 1999-09-13 | 2007-03-27 | Microstrategy, Incorporated | System and method for voice-enabled input for use in the creation and automatic deployment of personalized, dynamic, and interactive voice services |
US6519239B1 (en) | 1999-11-19 | 2003-02-11 | Motorola, Inc. | Method and apparatus for providing dispatch service in a CDMA communication system |
US6714978B1 (en) * | 1999-12-04 | 2004-03-30 | Worldcom, Inc. | Method and system for processing records in a communications network |
US6526382B1 (en) | 1999-12-07 | 2003-02-25 | Comverse, Inc. | Language-oriented user interfaces for voice activated services |
US20040006473A1 (en) * | 2002-07-02 | 2004-01-08 | Sbc Technology Resources, Inc. | Method and system for automated categorization of statements |
US6778643B1 (en) | 2000-03-21 | 2004-08-17 | Sbc Technology Resources, Inc. | Interface and method of designing an interface |
FR2807260B1 (en) * | 2000-03-30 | 2005-05-06 | Cit Alcatel | MODULAR SYSTEM FOR THE MANAGEMENT OF SERVICE CALLS, IN PARTICULAR TELECOMMUNICATION |
US7739325B1 (en) | 2000-04-24 | 2010-06-15 | Aspect Software, Inc. | Apparatus and method for extensible real-time workflows |
US7221377B1 (en) * | 2000-04-24 | 2007-05-22 | Aspect Communications | Apparatus and method for collecting and displaying information in a workflow system |
US6671515B1 (en) | 2000-06-06 | 2003-12-30 | Motorola, Inc. | Method and apparatus for selecting communication cells in a wireless communication system |
US6862273B2 (en) * | 2001-01-10 | 2005-03-01 | Motorola, Inc. | Method and apparatus for providing dispatch scan in a CDMA communication system |
US6928063B2 (en) * | 2001-03-16 | 2005-08-09 | Motorola, Inc. | Method and apparatus for providing a dispatch patch service in a CDMA communication system |
WO2002091209A2 (en) * | 2001-05-08 | 2002-11-14 | Narad Networks, Inc. | System and method for network service provisioning |
WO2003010684A1 (en) | 2001-07-26 | 2003-02-06 | Irise, Inc. | System and process for gathering, recording and validating requirements for computer applications |
US7065201B2 (en) | 2001-07-31 | 2006-06-20 | Sbc Technology Resources, Inc. | Telephone call processing in an interactive voice response call management system |
US20030041314A1 (en) * | 2001-08-14 | 2003-02-27 | Apac Customers Services, Inc. | Call flow method and system using visual programming |
US6814842B1 (en) | 2001-12-14 | 2004-11-09 | Networks Associates Technology, Inc. | System and method for organizing objects of a voice call in a tree representation |
US6604139B1 (en) | 2001-12-14 | 2003-08-05 | Networks Associates Technology, Inc. | Voice protocol filtering system and method |
US6970823B1 (en) | 2001-12-14 | 2005-11-29 | Networks Associates Technology, Inc. | System, method and computer program product for monitoring voice application calls over a network |
US6788941B2 (en) | 2001-12-20 | 2004-09-07 | Motorola, Inc. | Method and apparatus for mobile-initiated, CDMA-dispatch soft handoff |
US7099290B2 (en) * | 2001-12-20 | 2006-08-29 | Motorola, Inc. | Method and apparatus for CDMA-dispatch soft handoff |
US6925309B2 (en) | 2001-12-20 | 2005-08-02 | Motorola, Inc. | Method and apparatus for quickly establishing a CDMA dispatch call |
US6801783B2 (en) | 2001-12-20 | 2004-10-05 | Motorola, Inc. | Base site and method for quickly establishing a CDMA dispatch call |
US6961572B2 (en) | 2001-12-20 | 2005-11-01 | Motorola, Inc. | Method and apparatus for base-initiated, CDMA-dispatch soft handoff |
US7305070B2 (en) * | 2002-01-30 | 2007-12-04 | At&T Labs, Inc. | Sequential presentation of long instructions in an interactive voice response system |
US6914975B2 (en) * | 2002-02-21 | 2005-07-05 | Sbc Properties, L.P. | Interactive dialog-based training method |
US20040205484A1 (en) * | 2002-05-01 | 2004-10-14 | Pennington Stanford E. | System and method for dynamically generating customized pages |
US6856679B2 (en) * | 2002-05-01 | 2005-02-15 | Sbc Services Inc. | System and method to provide automated scripting for customer service representatives |
US7167850B2 (en) * | 2002-10-10 | 2007-01-23 | Ab Initio Software Corporation | Startup and control of graph-based computation |
EP1510941A1 (en) * | 2003-08-29 | 2005-03-02 | Sap Ag | A method of providing a visualisation graph on a computer and a computer for providing a visualisation graph |
EP1510940A1 (en) | 2003-08-29 | 2005-03-02 | Sap Ag | A method of providing a visualisation graph on a computer and a computer for providing a visualisation graph |
EP1510938B1 (en) | 2003-08-29 | 2014-06-18 | Sap Ag | A method of providing a visualisation graph on a computer and a computer for providing a visualisation graph |
US20050086635A1 (en) * | 2003-10-20 | 2005-04-21 | Pegasus Technologies, Inc. | Visual programming system and method |
US7027586B2 (en) * | 2003-12-18 | 2006-04-11 | Sbc Knowledge Ventures, L.P. | Intelligently routing customer communications |
US7730183B2 (en) * | 2005-01-13 | 2010-06-01 | Microsoft Corporation | System and method for generating virtual networks |
US7877350B2 (en) * | 2005-06-27 | 2011-01-25 | Ab Initio Technology Llc | Managing metadata for graph-based computations |
US7991844B2 (en) * | 2005-07-12 | 2011-08-02 | International Business Machines Corporation | Method, system and computer program product for processing a plurality of electronic mail files |
EP2527983A3 (en) | 2006-08-10 | 2013-06-12 | Ab Initio Technology LLC | Distributing services in graph-based computations |
CN101821721B (en) | 2007-07-26 | 2017-04-12 | 起元技术有限责任公司 | Transactional graph-based computation with error handling |
US8302017B2 (en) | 2008-03-05 | 2012-10-30 | Microsoft Corporation | Definition for service interface |
EP2396724A4 (en) | 2009-02-13 | 2012-12-12 | Ab Initio Technology Llc | Managing task execution |
US8667329B2 (en) * | 2009-09-25 | 2014-03-04 | Ab Initio Technology Llc | Processing transactions in graph-based applications |
AU2011268459B2 (en) | 2010-06-15 | 2014-09-18 | Ab Initio Technology Llc | Dynamically loading graph-based computations |
US8954870B2 (en) | 2010-10-08 | 2015-02-10 | Irise | System and method for extending a visualization platform |
US10108521B2 (en) | 2012-11-16 | 2018-10-23 | Ab Initio Technology Llc | Dynamic component performance monitoring |
US9507682B2 (en) | 2012-11-16 | 2016-11-29 | Ab Initio Technology Llc | Dynamic graph performance monitoring |
US9274926B2 (en) | 2013-01-03 | 2016-03-01 | Ab Initio Technology Llc | Configurable testing of computer programs |
SG11201604525TA (en) | 2013-12-05 | 2016-07-28 | Ab Initio Technology Llc | Managing interfaces for dataflow graphs composed of sub-graphs |
US10657134B2 (en) | 2015-08-05 | 2020-05-19 | Ab Initio Technology Llc | Selecting queries for execution on a stream of real-time data |
AU2016377516B2 (en) | 2015-12-21 | 2020-01-30 | Ab Initio Technology Llc | Sub-graph interface generation |
CN113934416B (en) * | 2021-10-26 | 2022-08-19 | 山东同圆数字科技有限公司 | Operation and maintenance management method and system based on graphical semantic policy programming |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4611094A (en) * | 1983-12-01 | 1986-09-09 | At&T Bell Laboratories | Method for customer definable telephone capability |
US4785408A (en) * | 1985-03-11 | 1988-11-15 | AT&T Information Systems Inc. American Telephone and Telegraph Company | Method and apparatus for generating computer-controlled interactive voice services |
US4653090A (en) * | 1985-12-16 | 1987-03-24 | American Telephone & Telegraph (At&T) | Graphics based call management |
US4695977A (en) * | 1985-12-23 | 1987-09-22 | American Telephone And Telegraph Company And At&T Bell Laboratories | Control of real-time systems utilizing a nonprocedural language |
US4782517A (en) * | 1986-09-08 | 1988-11-01 | Bell Communications Research, Inc. | System and method for defining and providing telephone network services |
US4878240A (en) * | 1988-01-25 | 1989-10-31 | Bell Communications Research, Inc. | Multi-service telephone switching system |
US5060255A (en) * | 1990-04-25 | 1991-10-22 | Bell Atlantic Network Services, Inc. | Telecommunications system with timed-do-not-disturb |
-
1990
- 1990-12-18 US US07/629,372 patent/US5323452A/en not_active Expired - Lifetime
-
1991
- 1991-12-16 EP EP19920904292 patent/EP0563319A4/en not_active Ceased
- 1991-12-16 JP JP4504335A patent/JPH06502752A/en active Pending
- 1991-12-16 CA CA002098607A patent/CA2098607C/en not_active Expired - Fee Related
- 1991-12-16 WO PCT/US1991/009456 patent/WO1992011724A1/en not_active Application Discontinuation
- 1991-12-16 AU AU91777/91A patent/AU9177791A/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
AU9177791A (en) | 1992-07-22 |
EP0563319A4 (en) | 1993-12-01 |
JPH06502752A (en) | 1994-03-24 |
CA2098607A1 (en) | 1992-06-19 |
WO1992011724A1 (en) | 1992-07-09 |
EP0563319A1 (en) | 1993-10-06 |
US5323452A (en) | 1994-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2098607C (en) | Visual programming of telephone network call processing logic | |
US5802159A (en) | Method and apparatus for providing a customized telecommunication service | |
US6564375B1 (en) | Reusable components for customization of wizard-based applications | |
US5241580A (en) | Method for validating customized telephone services | |
US6178239B1 (en) | Telephony call-center scripting by petri net principles and techniques | |
US5608789A (en) | Method of creating user-defined call processing procedures | |
JPH09512970A (en) | Communication network service creation device | |
US5966123A (en) | Meta model editor controlling topic display application | |
KR20000069516A (en) | Method and device in telecommunications network | |
US20050097071A1 (en) | Telecommunications graphical service program | |
SE502733C2 (en) | Ways to avoid undesirable interference between services in a telecommunications system | |
CA2190888C (en) | Systems and processes for specifying customized telecommunication services | |
CA2245156C (en) | Service logic portability based on interface definition of execution environment in an intelligent network | |
US8910062B2 (en) | Method and system for performing network provisioning | |
Morgan et al. | Service creation technologies for the intelligent network | |
US7412045B2 (en) | Telecommunications service program | |
CN1612582A (en) | Telecommunications service program | |
Abramowski et al. | A service creation environment for intelligent networks | |
Wray et al. | Service Creation Using the Hewlett-Packard Service Creation Environment | |
Vivas | Design of telephony services in lotos | |
Esaki et al. | Service Logic Execution of IN in Multi-vendor Environment-Introduction of SLP Execution Processor | |
Rosén | Migration of Service and Customer Data in Intelligent Network Applications | |
Yoon et al. | Service creation for customer using SCE: customized service description in intelligent network services | |
MIS | Supervisor’s | |
WO2000025529A1 (en) | Control input apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |