Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
342 words
A work flow management system, comprising: a computer system having memory means for storing data and communication means for communicating with a multiplicity of resources, said resources including a multiplicity of human principals; work flow description means for storing in said memory means work flow description data representing a plurality of work flow types; each said work flow type being represented by said work flow description data as a set of steps with information flows therebetween; said work flow description data including data representing information flows in and out of each said step; wherein at least a plurality of said steps of each said work flow type comprises notification of one of said principals of a specified task to be performed as part of said work flow type, execution of said task by said one principal, and notification of said work flow management system by said principal when said specified task has been completed; wherein said notifications are performed via said communication means; a work flow controller, coupled to memory means for accessing said work flow description data, for creating a plurality of work flow instances comprising instances of various ones of said work flow types, and for controlling execution of said work flow instances; said work flow controller including means for initiating execution of a first step in each created work flow instance and for initiating execution of each other step in each created work flow instance when predefined input data criteria for each said step are fulfilled by information flows from other ones of said steps; said work flow controller including means for durably storing results from each executed step; and history management means including means for storing and retrieving status data concerning said created work flow instances during execution thereof, wherein said status data includes status information for each said step of said created work flow instances; whereby work flows are executed in units of steps, and each work flow's status is tracked by storage of status data concerning execution of the steps associated with said each work flow.
Claim 2
Dependent Claim
342 words
A work flow management system, comprising: a computer system having memory means for storing data and communication means for communicating with a multiplicity of resources, said resources including a multiplicity of human principals; work flow description means for storing in said memory means work flow description data representing a plurality of work flow types; each said work flow type being represented by said work flow description data as a set of steps with information flows therebetween; said work flow description data including data representing information flows in and out of each said step; wherein at least a plurality of said steps of each said work flow type comprises notification of one of said principals of a specified task to be performed as part of said work flow type, execution of said task by said one principal, and notification of said work flow management system by said principal when said specified task has been completed; wherein said notifications are performed via said communication means; a work flow controller, coupled to memory means for accessing said work flow description data, for creating a plurality of work flow instances comprising instances of various ones of said work flow types, and for controlling execution of said work flow instances; said work flow controller including means for initiating execution of a first step in each created work flow instance and for initiating execution of each other step in each created work flow instance when predefined input data criteria for each said step are fulfilled by information flows from other ones of said steps; said work flow controller including means for durably storing results from each executed step; and history management means including means for storing and retrieving status data concerning said created work flow instances during execution thereof, wherein said status data includes status information for each said step of said created work flow instances; whereby work flows are executed in units of steps, and each work flow's status is tracked by storage of status data concerning execution of the steps associated with said each work flow.
Claim 3
Dependent Claim
172 words
The work flow management system of claim 1, wherein said work flow description means includes output event table means for defining a plurality of output event signals generated by each said step of each said work flow type, port table means for defining input ports for each said step of each said work flow type, and arc table means for storing data denoting for each said defined output event signal a destination step and said destination step's input port to which said output event signal should be sent; and wherein said work flow controller includes (A) step termination means for receiving a plurality of output parameters generated by executed said steps of said created instances of said work flow types and generating a corresponding set of said output event signals in accordance with said output event table means, and (B) arc resolution means for routing said output event signals to input ports of said corresponding steps of said created instances of said work flow types in accordance with said arc table means.
Claim 4
Dependent Claim
108 words
The work flow management system of claim 1, wherein said flow controller includes means for generating a plurality of durable log records corresponding to (A) each said created instance, (B) termination of execution of each said created instance, (C) each said initiated step of each said created instance, and (D) termination of each said step of each said created instance; and wherein said work flow management system includes restarting means for restarting any said created instances interrupted by a system failure by reviewing said durable log records and restarting execution of said interrupted work flow instances so as to avoid reexecuting steps thereof that have already been terminated.
Claim 5
Dependent Claim
195 words
The work flow management system of claim 1, wherein said flow description means includes output event definition means for defining for any specified one of said steps (A) a plurality of output conditions, (B) criteria for selecting one of said output conditions after executing said step, (C) event signals, associated with each said defined output condition, to be generated after executing said step, including a specification of a plurality of parameters to be included in each said event signal, and (D) data denoting for each said output event signal a destination step to which said output event signal is to be sent; and said work flow controller includes means for (A) evaluating said criteria for selecting one of said output conditions after executing each said step, (B) generating said event signals in accordance with said selected output condition after executing said step, and (C) sending said generated output event signals to the corresponding destination step defined by said flow description means; whereby specified ones of said steps can send different output event signals to different destination steps in accordance with the defined criteria that are evaluated after execution of said specified ones of said steps.
Claim 6
Dependent Claim
102 words
The work flow management system of claim 1, wherein said work flow description means includes a plurality of resource resolution functions, each resource resolution function defining criteria for selecting a resource to execute a specified one of said steps when said specified step is instantiated; said flow description means also includes means for associating with each said defined step one of said resource resolution functions; said work flow controller includes means for executing, each time that any of said steps is instantiated, the resource resolution function associated with said instantiated step and thereby selecting the associated resource for executing said instantiated step.
Claim 7
Dependent Claim
89 words
The work flow management system of claim 5, wherein said work flow controller includes a plurality of concurrently executing processes for instantiating said steps of said created instances, for selecting a resource to execute each instantiated step, for receiving output event signals generated by executed steps, and for sending said output event signals to others of said steps of said created instances; wherein the number of said concurrently executing processes in said work flow controller remains constant regardless of the number of said instantiated steps extant in the system.
Claim 8
Dependent Claim
80 words
The work flow management system of claim 1, wherein said work flow controller performs a plurality of separate, durably stored, transactions and includes (A) means for instantiating each said step of said created instances (B) means, operable after execution of each said step by a selected resource, for receiving a plurality of output event signals from said resource, and (C) means for mapping said received output event signals into a plurality of input event signals for others of said steps.
Claim 9
Dependent Claim
193 words
In a distributed computer system having a multiplicity of interconnected computers, a method of performing a plurality of work flows, the steps of the method comprising: storing in a computer memory flow description data representing each of a multiplicity of work flow types as a set of steps with information flows therebetween, including means for representing information flows in and out of each said step; after said storing step, creating a plurality of instances of an individual one of said multiplicity of work flow types when corresponding input events are received; controlling execution of said created instances, including the step of initiating execution of said set of steps for each said created instance represented by said flow description data; durably storing a plurality of results from each said executed step; storing status data concerning said created instances during execution thereof, wherein said status data includes status information for each said step of said created instances; and retrieving said status data when reviewing the status of said instances and when recovering from an interruption in execution of said created instances by a system failure, whereby each said executed instance comprises a performed work flow.
Claim 10
Dependent Claim
193 words
In a distributed computer system having a multiplicity of interconnected computers, a method of performing a plurality of work flows, the steps of the method comprising: storing in a computer memory flow description data representing each of a multiplicity of work flow types as a set of steps with information flows therebetween, including means for representing information flows in and out of each said step; after said storing step, creating a plurality of instances of an individual one of said multiplicity of work flow types when corresponding input events are received; controlling execution of said created instances, including the step of initiating execution of said set of steps for each said created instance represented by said flow description data; durably storing a plurality of results from each said executed step; storing status data concerning said created instances during execution thereof, wherein said status data includes status information for each said step of said created instances; and retrieving said status data when reviewing the status of said instances and when recovering from an interruption in execution of said created instances by a system failure, whereby each said executed instance comprises a performed work flow.
Claim 11
Dependent Claim
147 words
The method of performing work flows of claim 8, wherein said flow description data includes output event data defining a plurality of output event signals generated by each said step of each said work flow type, port data for defining a plurality of input ports for each said step of each said work flow type, and arc data denoting for each said defined output event signal a destination step and said destination step's input port to which said output event signal should be sent; and said method further includes the steps of (A) receiving a plurality of output parameters generated by executed steps of said created instances and generating a corresponding set of said output event signals in accordance with said output event data, and (B) routing said output event signals to input ports of corresponding steps of said created instances in accordance with said arc data.
Claim 12
Dependent Claim
91 words
The method of performing work flows of claim 8, further including generating durable log records corresponding to (A) each said created instance, (B) termination of execution of each said created instance, (C) each said initiated step of each said created instance, and (D) termination of each said step of each said created instance; and restarting ones of said created instances interrupted by a system failure by reviewing said durable log records and restarting execution of said interrupted instances so as to avoid reexecuting the steps thereof that have already been terminated.
Claim 13
Dependent Claim
195 words
The method of performing work flows of claim 8, wherein said flow description data includes output event data defining for any specified one of said steps (A) a plurality of output conditions, (B) criteria for selecting one of said output conditions after executing said step, (C) a plurality of output event signals, associated with each said defined output condition, to be generated after executing said step, including a specification of parameters to be included in each said output event signal, and (D) data denoting for each said event signal a destination step to which said event signal is to be sent; and said method further includes the steps of (A) evaluating said criteria for selecting one of said output conditions after executing each said step, (B) generating said output event signals in accordance with the selected output condition after executing said step, and (C) sending said generated output event signals to the corresponding destination step defined by said flow description data; whereby specified ones of said steps can send different output event signals to different destination steps in accordance with the defined criteria that are evaluated after execution of said specified ones of said steps.
Claim 14
Dependent Claim
80 words
The method of performing work flows of claim 8, wherein said flow description data includes data associating with each one of said defined steps a resource resolution function that selects a resource to execute said defined step when said defined step is instantiated; and said method further includes the step of executing, each time that any of said steps is instantiated, the resource resolution function associated with said instantiated step and thereby selecting a resource for executing said instantiated step.
Claim 15
Dependent Claim
85 words
The method of performing work flows of claim 12, further including the steps of concurrently executing a plurality of processes for instantiating said steps of said created instances, for selecting a resource to execute each instantiated step, for receiving output event signals generated by said executed steps, and for sending said output event signals to of said other steps of said created instances; wherein the number of said concurrently executing processes remains constant regardless of the number of said instantiated steps extant in the system.
Claim 16
Dependent Claim
79 words
The method of performing work flows of claim 8, further including the step of performing a plurality of separate, durably stored, transactions includes the steps of: (A) instantiating each said step of said created instances of work flows, (B) after execution of each said step by a selected resource, receiving a plurality of output event signals from said resource, and (C) mapping said received output event signals into a plurality of input event signals for others of said steps.
Claim 17
Dependent Claim
165 words
A work flow management system, comprising: a computer system having memory means for storing data; work flow description means for storing in said memory means work flow description data representing a plurality of work flows types; each said work flow type being represented by said work flow description data as a set of steps; a work flow controller that tracks execution of multiple instances of each said work flow type and generates log messages when each said step of a work flow instance is initiated and when each said step is completed; a work flow history database that receives and stores said log messages in said memory means; and history management means, responsive to work flow status inquiries, for retrieving said log messages from said work flow history database and generating status information concerning specified ones of said work flow instances; whereby each work flow instance's status is tracked by storage of data concerning execution of the steps associated with each said work flow instance.
Claim 18
Dependent Claim
165 words
A work flow management system, comprising: a computer system having memory means for storing data; work flow description means for storing in said memory means work flow description data representing a plurality of work flows types; each said work flow type being represented by said work flow description data as a set of steps; a work flow controller that tracks execution of multiple instances of each said work flow type and generates log messages when each said step of a work flow instance is initiated and when each said step is completed; a work flow history database that receives and stores said log messages in said memory means; and history management means, responsive to work flow status inquiries, for retrieving said log messages from said work flow history database and generating status information concerning specified ones of said work flow instances; whereby each work flow instance's status is tracked by storage of data concerning execution of the steps associated with each said work flow instance.