Pre-locking scheme for allowing consistent and concurrent workflow process execution in a workflow management system
First Claim
1. A workflow management system, comprising:
- workflow process that includes at least one sequence of workflow actions including a first action and a second action;
workflow database for holding a data item associated with the workflow process;
workflow engine that controls accesses to the work flow database by scheduling the first action and the second action for concurrent execution if the first action and second action both write the data item and by scheduling the first and the second action for non-concurrent execution by locking the data item before the first action is executed and then unlocking the data item after the first action is completed such that the second action cannot access the data item until the first action has completed if one of the first or second action reads the data item and another of the first or second action writes the data item.
10 Assignments
0 Petitions
Accused Products
Abstract
A system for allowing consistent execution of a workflow process in a computer-enabled workflow management system is described. The system includes a workflow process database accessible by the workflow process. The workflow process includes at least one sequence of workflow actions, having at least one set of parallel workflow actions and being configured as a plurality of nodes interconnected by arcs. Each node defines at least one of the workflow actions and reading and writing data items when executing the workflow actions. A first module is provided to lock all data items in the workflow process database that are specified for access by the workflow process from being accessed by other workflow processes during execution of the workflow process before the execution of the workflow process is commenced. A second module is provided to release all the locked data items from being locked after the workflow process has been executed such that execution consistency and concurrency of the workflow process is maintained. A computer implemented method for allowing consistent execution of a workflow process in a computer-enabled workflow management system is also described.
-
Citations
10 Claims
-
1. A workflow management system, comprising:
-
workflow process that includes at least one sequence of workflow actions including a first action and a second action; workflow database for holding a data item associated with the workflow process; workflow engine that controls accesses to the work flow database by scheduling the first action and the second action for concurrent execution if the first action and second action both write the data item and by scheduling the first and the second action for non-concurrent execution by locking the data item before the first action is executed and then unlocking the data item after the first action is completed such that the second action cannot access the data item until the first action has completed if one of the first or second action reads the data item and another of the first or second action writes the data item. - View Dependent Claims (2, 3)
-
-
4. A workflow management system, comprising:
-
workflow process that includes at least one sequence of workflow actions including a first action and a second action; workflow database for holding a data item associated with the workflow process; workflow engine that controls accesses to the work flow database by scheduling the first action and the second action for concurrent execution if the first action and second action both write the data item and by scheduling the first and the second action for non-concurrent execution if one of the first or second action read the data item and another of the first or second action write the data item, wherein the workflow engine schedules the first action and the second action for concurrent execution by performing the following steps; locking the data item; scheduling the first action for execution and then scheduling the second action for execution such that the first and second action each return a corresponding set of data for writing to the data item; if the first action returns the data before the second action returns the data, then writing the data item with the data returned by the first action and then writing the data item with the data returned by the second action; if the second action returns the data before the first action returns the data, then writing the data item with the data returned by the second action and then ignoring the data returned by the first action; unlocking the data item. - View Dependent Claims (5)
-
-
6. An apparatus for workflow management, comprising:
-
means for performing at least one sequence of workflow actions including a first action and a second action; means for holding a data item associated with the workflow process; means for controlling accesses to the work flow database including means for scheduling the first action and the second action for concurrent execution if the first action and second action both write the data item and means for scheduling the first and the second action for non-concurrent execution by locking the data item before the first action is executed and then unlocking the data item after the first action is completed such that the second action cannot access the data item until the first action has completed if one of the first or second action read the data item and another of the first or second action write the data item. - View Dependent Claims (7, 8, 9, 10)
-
Specification