Patent ID: 7752638

Claim:
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.