Claims Analysis
Total Claims: 11
Claim 1
Independent Claim
233 words
A system for allowing consistent execution of a workflow process in a computer-enabled workflow management system, comprising (A) a workflow process database accessible by the workflow process, wherein 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 defining at least one of the workflow actions and reading and writing data items when executing the workflow actions; (B) a module that maintains execution consistency among the workflow actions when the nodes access the workflow process database to read and write the data items in carrying out the workflow actions while maintaining execution concurrency among the workflow actions, wherein the module further comprises (I) a first sub-module that locks a data item in the database when the data item is to be read or updated by one of the nodes and is not locked by other nodes before the read or update operation is commenced, wherein the first sub-module causes the node to update the workflow process database with the data item if the data item was not previously updated by another node executing another action which has accessed the same action database of the workflow management system with a greater serialization order; (II) a second sub-module that releases the lock after the node has performed the read or update operation.
Claim 2
Independent Claim
233 words
A system for allowing consistent execution of a workflow process in a computer-enabled workflow management system, comprising (A) a workflow process database accessible by the workflow process, wherein 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 defining at least one of the workflow actions and reading and writing data items when executing the workflow actions; (B) a module that maintains execution consistency among the workflow actions when the nodes access the workflow process database to read and write the data items in carrying out the workflow actions while maintaining execution concurrency among the workflow actions, wherein the module further comprises (I) a first sub-module that locks a data item in the database when the data item is to be read or updated by one of the nodes and is not locked by other nodes before the read or update operation is commenced, wherein the first sub-module causes the node to update the workflow process database with the data item if the data item was not previously updated by another node executing another action which has accessed the same action database of the workflow management system with a greater serialization order; (II) a second sub-module that releases the lock after the node has performed the read or update operation.
Claim 3
Dependent Claim
24 words
The system of claim 1, wherein the first sub-module waits until the lock becomes available if the data item is locked by other nodes.
Claim 4
Dependent Claim
59 words
The system of claim 1, wherein the first sub-module ignores the data item and does not cause the node to update the workflow process database with the data item if the data item was previously updated by another node executing another action which has accessed the same action database of the workflow management system with a greater serialization order.
Claim 5
Dependent Claim
219 words
A computer-implemented method for allowing consistent executing of a workflow process in a workflow management system, comprising (A) allowing each of a plurality of interconnected nodes of the workflow process to read and write data items to and from a workflow process database in carrying out workflow actions associated with the respective nodes of the workflow process, wherein the workflow actions include multiple workflow actions including at least one set of parallel actions; (B) maintaining the execution consistency among the workflow actions when the nodes access the workflow process database to read and write the data items in carrying out the workflow actions while maintaining execution concurrency among the workflow actions, wherein the step (B) further comprises the steps of (I) locking a data item in the database when the data item is to be read or updated by a node of the nodes before the read or update operation is commenced; (II) releasing the lock after the node has performed the read or update operation regarding the data item; (III) causing the node to update the workflow process database with the data item if the data item was either not previously updated or previously updated by another node executing another action which has accessed the same action database of the workflow management system with a smaller serialization order.
Claim 6
Dependent Claim
219 words
A computer-implemented method for allowing consistent executing of a workflow process in a workflow management system, comprising (A) allowing each of a plurality of interconnected nodes of the workflow process to read and write data items to and from a workflow process database in carrying out workflow actions associated with the respective nodes of the workflow process, wherein the workflow actions include multiple workflow actions including at least one set of parallel actions; (B) maintaining the execution consistency among the workflow actions when the nodes access the workflow process database to read and write the data items in carrying out the workflow actions while maintaining execution concurrency among the workflow actions, wherein the step (B) further comprises the steps of (I) locking a data item in the database when the data item is to be read or updated by a node of the nodes before the read or update operation is commenced; (II) releasing the lock after the node has performed the read or update operation regarding the data item; (III) causing the node to update the workflow process database with the data item if the data item was either not previously updated or previously updated by another node executing another action which has accessed the same action database of the workflow management system with a smaller serialization order.
Claim 7
Dependent Claim
30 words
The method of claim 4, wherein the step (I) further comprises the step of waiting until the lock is available if the data item has been locked by other nodes.
Claim 8
Dependent Claim
48 words
The method of claim 4, wherein the step (I) further comprises the step of ignoring the data item if the data item was previously updated by another node executing another action which has accessed the same action database of the workflow management system with a greater serialization order.
Claim 9
Dependent Claim
242 words
A computer-implemented method for allowing consistent executing of a workflow process in a workflow management system, comprising (A) allowing each of a plurality of interconnected nodes of the workflow process to read and write data items to and from a workflow process database in carrying out workflow actions associated with the respective nodes of the workflow process, wherein the workflow actions include multiple workflow actions including at least one set of parallel actions; (B) maintaining the execution consistency among the workflow actions when the nodes access the workflow process database to read and write the data items in carrying out the workflow actions while maintaining execution concurrency among the workflow actions, wherein the step (B) further comprising the steps of (a) performing an atomic read operation to read all data items from the workflow process database for an associated action, wherein the data items are locked when being read and released from being locked after being read; (b) causing the associated action to be executed; (c) performing an atomic update operation to update the data items in the workflow process database, wherein the data items are locked when being updated and released from being locked after being updated, wherein the step (c) further comprises the step of not updating the data item if the data item was previously updated by another node executing another action which has accessed the same action database of the workflow management system with a greater serialization order.
Claim 10
Dependent Claim
242 words
A computer-implemented method for allowing consistent executing of a workflow process in a workflow management system, comprising (A) allowing each of a plurality of interconnected nodes of the workflow process to read and write data items to and from a workflow process database in carrying out workflow actions associated with the respective nodes of the workflow process, wherein the workflow actions include multiple workflow actions including at least one set of parallel actions; (B) maintaining the execution consistency among the workflow actions when the nodes access the workflow process database to read and write the data items in carrying out the workflow actions while maintaining execution concurrency among the workflow actions, wherein the step (B) further comprising the steps of (a) performing an atomic read operation to read all data items from the workflow process database for an associated action, wherein the data items are locked when being read and released from being locked after being read; (b) causing the associated action to be executed; (c) performing an atomic update operation to update the data items in the workflow process database, wherein the data items are locked when being updated and released from being locked after being updated, wherein the step (c) further comprises the step of not updating the data item if the data item was previously updated by another node executing another action which has accessed the same action database of the workflow management system with a greater serialization order.
Claim 11
Dependent Claim
32 words
The method of claim 7, wherein each of the steps (a) and (c) further comprises the step of waiting to lock the data item until the data item is available for locking.