Claims
- 1. A system for performing flexible workflow process in a distributed workflow management system that includes multiple computers, comprising:
- a workflow process management system operating on at least one of the computers to control execution of the workflow process which includes process instances;
- a plurality of resources coupled to respective ones of the computers to carry out the process instances;
- a plurality of state machines that comprise
- a process instance state machine that includes a plurality of states including (1) a compensation state that allows a failed process instance at a work node to be compensated such that resumption of execution of the failed process instance can be from a specified end compensation point, and (2) a suspended compensation state that allows the process instance in the compensation state to move to the suspended compensation state when the process instance becomes suspended;
- a work node instance state machine for a work node instance manager that manages work nodes of the workflow process, wherein the work node instance state machine includes a plurality of states including the compensation state and the suspended compensation state; and
- a rule node instance state machine for a rule node instance manager that manages rule nodes of the workflow process.
- 2. A system according to claim 1, wherein the work node instance state machine, further comprises:
- an initial state logically coupled to an active state via a traverse inward arc and to a suspended initial state via a suspend arc;
- the suspended initial state logically coupled to the initial state via a resume arc;
- the active state logically coupled to a completed state via a complete arc and a terminate arc, and to the suspended active state via a suspend arc;
- the suspended active state logically coupled to the active state via a resume arc and to the completed state via a terminate arc;
- the completed state logically coupled to the compensation state via a compensate node arc;
- the compensation state logically coupled to the completed state via a terminate arc, to a suspended compensation state via a suspend node and to the initial state via a complete arc; and
- the suspended compensation state logically coupled to the compensation state via a resume state to the completed state via a terminate arc.
- 3. A system according to claim 2, further comprising:
- the active state logically coupled to the initial state via a reset arc;
- the suspended active state logically coupled to the suspended initial state via a reset arc;
- the suspended compensation state logically coupled to the suspended initial state via a reset arc;
- the completed state logically coupled to the initial state via a reset arc; and
- the compensation state logically coupled to the initial state via a reset arc.
- 4. A system according to claim 1, wherein at least one of the state machines comprises an activity instance state machine, comprising:
- a start business object (BO) state logically coupled to a quiescent state via a BO failed arc and a BO completed arc and to a get resource manager (RM) state via a delegate BO arc;
- the quiescent state logically coupled to the get RM state via a start activity arc;
- the get RM state logically coupled to the quiescent state via a get RM failed arc and to a get BO state via a get RM okay arc; and
- the get business object state logically coupled to the quiescent state via a get BO failed arc, to the start BO state via a get BO okay arc and to itself via a redirect RM arc.
- 5. A system according to claim 1, wherein the rule node instance state machine, further comprises:
- an initial state logically coupled to an active state via a traverse inward arc;
- the active state logically coupled to the initial state via a terminate arc, to a suspended state via a suspend arc and to itself via a process event arc; and
- the suspended state logically coupled to the initial state via a terminate arc and to the active state via a resume arc.
- 6. The system of claim 1, wherein the process instance state machine is started and managed by a process instance manager.
- 7. The system of claim 6, wherein when the process instance state machine for the process instance is in the compensation state, the process instance manager
- saves all currently active work nodes of the process instance;
- sends a message and relevant information to a compensation manager.
CROSS-REFERENCE TO RELATED APPLICATION
The present patent application is a continuation application of provisional application No. 60/032,567, filed Dec. 5, 1996, by Weimin Du et.al., and entitled WORKFLOW/PROCESS FLOW PROCESS MANAGEMENT SYSTEM, the disclosure of which is incorporated herein by reference.
This patent application is also related to a commonly-assigned patent application Ser. No. 08/768,261, filed on Dec. 17, 1996, U.S. Pat. No. 5,826,239 and entitled DISTRIBUTED WORKFLOW RESOURCE MANAGEMENT SYSTEM AND METHOD.
US Referenced Citations (5)
Number |
Name |
Date |
Kind |
5301320 |
McAtee et al. |
Apr 1994 |
|
5581691 |
Hsu et al. |
Dec 1996 |
|
5745901 |
Entner et al. |
Apr 1998 |
|
5799297 |
Goodridge et al. |
Aug 1998 |
|
5867824 |
Saito et al. |
Feb 1999 |
|
Non-Patent Literature Citations (1)
Entry |
Hollingsworth, "Workflow Management Coalition", pp. 1-55, Jan. 19, 1995. |