Claims
- 1. A method of modifying an abstraction level of a workflow, the method comprising:
analyzing a workflow to determine a first plurality of tasks; combining the first plurality of tasks into a first virtual task within an abstracted workflow; and linking the first virtual task to the first plurality of tasks such that a virtual execution of the abstracted workflow corresponds to an actual execution of the workflow.
- 2. The method of claim 1 wherein the workflow further comprises a second plurality of tasks, and wherein combining the first plurality of tasks comprises combining the second plurality of tasks into a second virtual task within the abstracted workflow.
- 3. The method of claim 2 wherein linking the first virtual task to the first plurality of tasks comprises linking the second virtual task to the second plurality of tasks such that a virtual execution of the abstracted workflow corresponds to an actual execution of the workflow.
- 4. The method of claim 3 wherein analyzing the workflow comprises:
determining that a last task within the first plurality of tasks precedes at most one subsequent task within the second plurality of tasks within the workflow.
- 5. The method of claim 4 wherein analyzing the workflow further comprises determining that no internal task within the first plurality of tasks, exclusive of the last task, immediately precedes an external task that is not included within the first plurality of tasks.
- 6. The method of claim 4 wherein analyzing the workflow further comprises determining that no internal task within the first plurality of tasks, exclusive of a first task of the first plurality of tasks, immediately succeeds an external task that is not included within the first plurality of tasks.
- 7. The method of claim 3 wherein analyzing the workflow comprises determining whether a plurality of conditions are met, and further wherein determining whether the plurality of conditions are met comprises:
inputting a selected task from the first plurality of tasks, the selected task being a first task of the first plurality of tasks; considering each succeeding task of the selected task until a last task of the first plurality of tasks is reached, wherein the last task precedes at most one subsequent task within the second plurality of tasks within the workflow; determining that no internal task within the first plurality of tasks, exclusive of the last task, immediately precedes an external task that is not included within the first plurality of tasks; and determining that no internal task within the first plurality of tasks, exclusive of the first task, immediately succeeds an external task that is not included within the first plurality of tasks.
- 8. The method of claim 7 further comprising:
determining that the plurality of conditions are not met; considering a preceding task outside of the first plurality of tasks and preceding the first plurality of tasks within the workflow, the preceding task immediately preceding at least a first pair of tasks; determining that the last task within the first plurality of tasks is immediately preceded by at least a second pair of tasks; and defining a modified first plurality of tasks comprising the preceding task, the last task, and all intervening tasks.
- 9. The method of claim 8 wherein combining the first plurality of tasks comprises combining the modified first plurality of tasks into the first virtual task within the abstracted workflow.
- 10. The method of claim 1 wherein analyzing the workflow comprises selecting all task subsets of the workflow which, when used as the first plurality of tasks, allow the linking of the first virtual task to the first plurality of tasks.
- 11. The method of claim 1 wherein analyzing the workflow comprises:
inputting a selected task from among the workflow; and determining a first subset of tasks inclusively preceding the selected task which, when used as the first plurality of tasks, allow the linking of the first virtual task to the first plurality of tasks.
- 12. The method of claim 11 further comprising determining a second subset of tasks inclusively succeeding the selected task which, when used as the first plurality of tasks, allow the linking of the first virtual task to the first plurality of tasks.
- 13. The method of claim 1 wherein analyzing the workflow comprises:
expressing actual tasks within the first plurality of tasks as first vertices within a first matrix, wherein values of the first vertices within the first matrix are determined by actual dependencies between the tasks within the first plurality of tasks, and wherein combining the first plurality of tasks into a first virtual task further comprises expressing virtual tasks within the abstracted workflow as second vertices within a second matrix, wherein values of the second vertices within the second matrix are determined by virtual dependencies between the virtual tasks within the abstracted workflow.
- 14. The method of claim 13 wherein linking the first virtual task to the first plurality of tasks comprises replacing a selected plurality of the first vertices with a selected one of the second vertices.
- 15. The method of claim 13 wherein linking the first virtual task to the first plurality of tasks comprises replacing a selected one of the second vertices with a selected plurality of the first vertices.
- 16. The method of claim 1 wherein the first plurality of tasks within the workflow are confidential tasks associated with a first party, and wherein the abstracted workflow permits communications regarding the confidential tasks without divulging the confidential nature of the confidential tasks.
- 17. An apparatus comprising a storage medium having instructions stored thereon, the instructions including:
a first code segment for grouping a task subset from a plurality of tasks comprising a workflow; a second code segment for constructing a virtual workflow including a first virtual task; and a third code segment for associating the task subset with the first virtual task by requiring that completion of the task subset corresponds to completion of the first virtual task.
- 18. The apparatus of claim 17 wherein the task subset includes confidential tasks associated with a first party, and wherein the virtual workflow permits communications regarding the confidential tasks without divulging the confidential nature of the confidential tasks.
- 19. The apparatus of claim 17 wherein the first code segment comprises a fourth code segment for selecting all task groupings of the workflow which, when used as the task subset, allow the third code segment to associate the task subset with the first virtual task.
- 20. The apparatus of claim 17 wherein the first code segment comprises:
a fourth code segment for inputting a selected task from among the workflow; and a fifth code segment for determining a first grouping of tasks inclusively preceding the selected task which, when used as the task subset, allow the third code segment to associate the first virtual task with the task subset.
- 21. The apparatus of claim 20 further comprising a sixth code segment for determining a second grouping of tasks inclusively succeeding the selected task which, when used as the task subset, allow the linking of the first virtual task to the task subset.
- 22. The apparatus of claim 17 wherein the first code segment comprises:
a fourth code segment for expressing actual tasks within the task subset as first vertices within a first matrix, wherein values of the first vertices within the first matrix are determined by actual dependencies between the tasks within the task subset, and wherein the third code segment further comprises a fifth code segment for expressing the first virtual task within the virtual workflow as second vertices within a second matrix, wherein values of the second vertices within the second matrix are determined by virtual dependencies between the virtual tasks within the virtual workflow.
- 23. The apparatus of claim 22 wherein the third code segment further comprises a sixth code segment for replacing a selected plurality of the first vertices with a selected one of the second vertices.
- 24. The apparatus of claim 22 wherein the third code segment further comprises a sixth code segment for replacing a selected one of the second vertices with a selected plurality of the first vertices.
- 25. The apparatus of claim 17 wherein the third code segment comprises a fourth code segment for ensuring that a final task of the task subset immediately precedes no more than one subsequent task of a remaining plurality of tasks within the workflow.
- 26. The apparatus of claim 17 wherein the third code segment comprises a fourth code segment for ensuring that no task of the task subset, other than a final task of the task subset, immediately precedes an external task that is external to the task subset and included within the workflow.
- 27. The apparatus of claim 17 wherein the third code segment comprises a fourth code segment for ensuring that no task of the task subset, other than a first task of the task subset, immediately succeeds an external task that is external to the task subset and included within the workflow.
- 28. A workflow model comprising:
a workflow comprising a first task and a second task; a workflow view corresponding to the workflow and comprising a first virtual task; a first dependency between a first execution of the first task and a virtual execution of the first virtual task; and a second dependency between a second execution of the second task and the virtual execution of the first virtual task.
- 29. The workflow model of claim 28 wherein the first dependency and the second dependency communicate execution state information about the first and second task, respectively, to the first virtual task.
- 30. The workflow model of claim 28 wherein the first dependency and the second dependency ensure that an actual completion of the first and second task is reflected as a completion of the first virtual task.
- 31. The workflow model of claim 28 wherein the first task is confidential to an owner of the workflow, and further wherein the workflow view allows communications between the owner and a second party which protect the confidentiality of the first task.
- 32. The workflow model of claim 31 wherein the communications include a collaborative workflow between the owner and the second party, wherein the collaborative workflow includes the workflow view.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority to U.S. Provisional Application Serial No. 60/399,455, filed on Jul. 31, 2002, and titled FLEXIBLE WORKFLOW MANAGEMENT IN CROSS-ORGANIZATIONAL ENVIRONMENTS.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60399455 |
Jul 2002 |
US |