IP Library › Granted Patent US 8,429,668
Granted Patent B2
US 8,429,668 · App. 11/952,929 · Granted Apr 23, 2013

Workflow task re-evaluation

Inventors: Marek Kowalkiewicz (St. Lucia, AU); Stefan Baeuerle (Rauenberg-Rotenberg, DE); Marita Kruempelmann (Dielheim, DE); Ruopeng Lu (Taringa, AU)
Assignee: SAP AG
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,429,668
App. No.
11/952,929
Granted
Apr 23, 2013
Kind
B2
Abstract

An occurrence of a workflow re-evaluation event during execution of tasks in a workflow is identified. In response to the workflow re-evaluation event, it is determined for each task previously executed in the workflow whether such task needs to be executed again. Those tasks in the workflow for which it was determined that the corresponding task needs to be executed again are executed again, while the tasks in the workflow that were previously executed and for which it was not determined that the corresponding task needs to be executed again are skipped. Related apparatus, systems, techniques and articles are also described.

Claims (44)

1. An article comprising a non-transitory tangible machine-readable medium embodying instructions that when performed by one or more machines result in operations comprising:

identifying an occurrence of a workflow re-evaluation event during execution of tasks in a workflow under the control of a workflow management system, the workflow re-evaluation event being an exception execution state that does not comply with standard execution of the workflow, the workflow management system comprising a rules inference engine to control automation of the workflow;

suspending all active tasks in the workflow;

determining, for each task previously executed in the workflow, whether each such task needs to be executed again based on the identified occurrence of the workflow re-evaluation event, the determining comprising

associating, by the rules inference engine using data and control conditions associated with the workflow re-evaluation event, each task with one or more re-evaluation rules, each rule specifying a pre-condition to execute the corresponding task and a post-condition after the task is successfully executed; and

determining, using the rules inference engine, whether each task needs to be executed again based on the associated re-evaluation rules;

executing again those tasks in the workflow for which it was determined that the task needs to be executed again, the executing using contextual information from previously performed task;

executing suspended active tasks in the workflow for which it was determined that the task needs to be executed again;

skipping those tasks in the workflow that were previously executed and for which it was not determined that the task needs to be executed again, wherein at least one skipped task occurs subsequent to a task executed again in the workflow; and

canceling any suspended active task upon completion of the workflow.

2. An article as in claim 1 , wherein the workflow re-evaluation event is triggered when a business object for which the workflow has been defined is modified.

3. An article as in claim 2 , wherein the workflow re-evaluation event is triggered when one of a subset of entities within the business object is modified.

4. An article as in claim 1 , wherein the workflow re-evaluation event is assigned to the overall workflow.

5. An article as in claim 1 , wherein the workflow re-evaluation event is assigned to one or more of the tasks within the workflow.

6. A method for implementation by one or more data processor comprising:

identifying, by at least one data processor, an occurrence of a workflow re-evaluation event during execution of tasks in a workflow under the control of a workflow management system, the workflow re-evaluation event being an exception execution state that does not comply with standard execution of the workflow, the workflow management system comprising a rules inference engine to control automation of the workflow;

suspending all active tasks in the workflow;

determining, by at least one data processor for each task previously executed in the workflow, whether the task needs to be executed again based on the identified occurrence of the workflow re-evaluation event, the determining comprising

associating, by the rules inference engine using data and control conditions associated with the workflow re-evaluation event, each task with one or more re-evaluation rules, each rule specifying a pre-condition to execute the corresponding task and a post-condition after; the task is successfully executed; and

determining, using the rules inference engine, whether each task needs to be executed again based on the associated re-evaluation rules;

executing again, by at least one data processor, those tasks in the workflow for which it was determined that the task needs to be executed again, the executing using contextual information from previously performed tasks;

executing suspended active tasks in the workflow for which it was determined that the task needs to be executed again;

skipping, by at least one data processor, those tasks in the workflow that were previously executed and for which it was not determined that the corresponding task needs to be executed again, wherein at least one skipped task occurs subsequent to a task executed again in the workflow; and

canceling any suspended active tasks upon completion of the workflow.

7. A method as in claim 6 , wherein the workflow re-evaluation event is triggered when a business object for which the workflow has been defined is modified.

8. A method as in claim 7 , wherein the workflow re-evaluation event is triggered when one of a subset of entities within the business object is modified.

9. A method as in claim 6 , wherein the workflow re-evaluation event is assigned to the overall workflow.

10. A method as in claim 6 , wherein the workflow re-evaluation event is assigned to one or more of the tasks within the workflow.

11. A method as in claim 6 , further comprising:

suspending, by at least one data processor, all active tasks in the workflow;

executing, by at least one data processor, suspended tasks in the workflow for which it was determined that the task needs to be executed again; and

canceling, by at least one data processor, any suspended active tasks upon completion of the workflow.

12. An article comprising a non-transitory tangible machine-readable medium embodying instructions that when performed by one or more machines result in operations comprising:

identifying an occurrence of one of a plurality of workflow re-evaluation event during execution of tasks in a fragment of a workflow under the control of a workflow management system, the workflow re-evaluation event being an exception execution state that does not comply with standard execution of the workflow, the workflow management system comprising a rules inference engine to control automation of the workflow;

suspending all active tasks in the workflow;

determining, for each task previously executed in the workflow fragment using the rules inference engine and data and control conditions associated with the identified occurrence of the workflow re-evaluation event, whether each such task needs to be executed again based on the identified occurrence of the workflow re-evaluation event and based on whether each task has a corresponding re-evaluation rule specifying whether the task should be executed again during re-evaluation;

executing again those tasks in the workflow fragment (i) having re-evaluation rules specifying that the task should be executed again (ii) not having any corresponding re-evaluation rules;

executing suspended active tasks in the workflow for which it was determined that the task needs to be executed again;

skipping those tasks in the workflow fragment that were previously executed and for which it was not determined that the task needs to be executed again, wherein at least one task is skipped subsequent to a task being executed again; and

canceling any suspended active tasks upon completion of the workflow.

13. An article as in claim 12 , wherein the workflow re-evaluation event is triggered when a business object for which the workflow has been defined is modified.

14. An article as in claim 13 , wherein the workflow re-evaluation event is triggered when one of a subset of entities within the business object is modified.

15. An article as in claim 12 , wherein the workflow re-evaluation event is assigned to the overall workflow.

16. An article as in claim 12 , wherein the workflow re-evaluation event is assigned to one or more of the tasks within the workflow.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2008
From: KOWALKIEWICZ, MAREK; BAEUERLE, STEFAN; KRUEMPELMANN, MARITA; LU, RUOPENG
To: SAP AG
Reel/Frame 020395/0531 →
Continuity (1)
Related Publication 20090150900A1 · Jun 11, 2009