Method for defining and dynamically invoking polymorphic call flows
First Claim
1. A computer-implemented method of defining and dynamically invoking call flows in a call flow system, comprising:
- defining, by a computing system, a plurality of call flows including a publisher call flow and a set of one or more subscriber call flows, said plurality of call flows facilitating a routing and a servicing of a request from a user of a call flow system;
defining, by said computing system, one or more trigger points, wherein a first trigger point of said one or more trigger points is included in said publisher call flow, and wherein a second trigger point of said one or more trigger points is capable of being included in any subscriber call flow of said set of one or more subscriber call flows;
defining, by said computing system, one or more triggers included in said one or more subscriber call flows in a one-to-one correspondence, wherein at least one trigger of said one or more triggers specifies a late-binding reference to said first trigger point;
defining, by said computing system, said second trigger point in a first subscriber call flow of said set of one or more subscriber call flows;
defining, by said computing system, a trigger included in a first call flow, wherein said trigger specifies a late-binding reference to said second trigger point;
publishing, by said computing system, said plurality of call flows to a repository, wherein said publishing includes storing, in said repository, a representation of a second subscriber call flow of said set of one or more subscriber call flows, said representation of said second subscriber call flow being in a general-purpose markup language, and said representation of said second subscriber call flow including a representation of a first trigger of said at least one trigger;
executing, by said computing system, said publisher call flow, wherein said executing said publisher call flow includes determining an execution time, locating, in said representation of said first trigger, a first identifier of said publisher call flow, and locating, in said representation of said first trigger, a second identifier of said first trigger point;
dynamically modifying, by said computing system and at said execution time, said plurality of call flows without requiring a termination and a restart of said executing said publisher call flow, wherein said dynamically modifying includes adding said first call flow to said plurality of call flows, said adding performed without requiring a change to any call flow defined by said defining said plurality of call flows.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for defining and dynamically invoking polymorphic call flows in a call flow system. A publisher call flow and subscriber call flows are defined. A first trigger point in the publisher call flow is defined. Triggers specifying late-binding references to trigger points are defined in the subscriber call flows. A second trigger point in a first subscriber call flow is defined. A trigger specifying a late-binding reference to the second trigger point is defined. Publishing the call flows includes storing a second subscriber call flow'"'"'s representation that includes a first trigger'"'"'s representation. To execute the publisher call flow, identifiers of the publisher call flow and the first trigger point are located in the first trigger'"'"'s representation. Without changing any other call flow and without terminating and restarting the publisher call flow, a call flow is added to the call flow system and invoked.
17 Citations
1 Claim
-
1. A computer-implemented method of defining and dynamically invoking call flows in a call flow system, comprising:
-
defining, by a computing system, a plurality of call flows including a publisher call flow and a set of one or more subscriber call flows, said plurality of call flows facilitating a routing and a servicing of a request from a user of a call flow system; defining, by said computing system, one or more trigger points, wherein a first trigger point of said one or more trigger points is included in said publisher call flow, and wherein a second trigger point of said one or more trigger points is capable of being included in any subscriber call flow of said set of one or more subscriber call flows; defining, by said computing system, one or more triggers included in said one or more subscriber call flows in a one-to-one correspondence, wherein at least one trigger of said one or more triggers specifies a late-binding reference to said first trigger point; defining, by said computing system, said second trigger point in a first subscriber call flow of said set of one or more subscriber call flows; defining, by said computing system, a trigger included in a first call flow, wherein said trigger specifies a late-binding reference to said second trigger point; publishing, by said computing system, said plurality of call flows to a repository, wherein said publishing includes storing, in said repository, a representation of a second subscriber call flow of said set of one or more subscriber call flows, said representation of said second subscriber call flow being in a general-purpose markup language, and said representation of said second subscriber call flow including a representation of a first trigger of said at least one trigger; executing, by said computing system, said publisher call flow, wherein said executing said publisher call flow includes determining an execution time, locating, in said representation of said first trigger, a first identifier of said publisher call flow, and locating, in said representation of said first trigger, a second identifier of said first trigger point; dynamically modifying, by said computing system and at said execution time, said plurality of call flows without requiring a termination and a restart of said executing said publisher call flow, wherein said dynamically modifying includes adding said first call flow to said plurality of call flows, said adding performed without requiring a change to any call flow defined by said defining said plurality of call flows.
-
Specification