Method and system for managing workflow
First Claim
1. A method for managing a workflow using a programmed computer system, the method comprising:
- displaying a graphical user interface for receiving a workflow definition;
receiving the workflow definition from a user including a definition of steps in the workflow, a dependency expression for a step, and a step encapsulation;
associating a step in the workflow with a graphical representation corresponding to the step;
retrieving from memory the workflow definition including the definition of steps in the workflow, and the dependency expression for a step, creating an instance of the workflow definition, and storing the instance such that the instance is accessible to workflow manager programs, each executing on separate nodes of a network;
from each of at least two workflow manager programs executing on separate nodes of a network, retrieving the workflow instance, displaying the same graphical representations of the steps in the instance of the workflow to each user, controlling execution of steps in the workflow by evaluating the dependency expression in the retrieved workflow instance in response to user selection of the graphical representation of the steps, and updating state of steps and data being operated on such that an updated instance and data being operated on is independently accessible to each of the workflow manager programs, the same graphical representations of the updated steps and data in the instance of the workflow are viewable by and operable to receive user input from the users of the workflow manager programs, and updated state of the workflow instance is communicated to each workflow manager program in response to a change in workflow state;
from each of the workflow manager programs, controlling whether a user can begin execution of a step in the workflow based on the dependency expression for the step such that each of the workflow manager programs independently controls execution of steps in the workflow; and
in response to user selection of a graphical representation of a step in the workflow, executing the selected step in the workflow, including invoking an application program according to the step encapsulation.
1 Assignment
0 Petitions
Accused Products
Abstract
A workflow manager system provides computer-assisted, graphical tools for defining and managing complex processes in terms of a workflow. A workflow includes a number of steps having step encapsulations and dependency relationships. Step encapsulations define the work to be performed by a step in a work flow such as launching a design tool. The dependency relationships represent the conditions that must be satisfied before a step can be performed and can be expressed in terms of boolean relationships using step and data states or data values as arguments. The workflow system manages the state of a workflow including the state of steps and data, and makes the workflow and its related data accessible to multiple users.
-
Citations
35 Claims
-
1. A method for managing a workflow using a programmed computer system, the method comprising:
-
displaying a graphical user interface for receiving a workflow definition; receiving the workflow definition from a user including a definition of steps in the workflow, a dependency expression for a step, and a step encapsulation; associating a step in the workflow with a graphical representation corresponding to the step; retrieving from memory the workflow definition including the definition of steps in the workflow, and the dependency expression for a step, creating an instance of the workflow definition, and storing the instance such that the instance is accessible to workflow manager programs, each executing on separate nodes of a network; from each of at least two workflow manager programs executing on separate nodes of a network, retrieving the workflow instance, displaying the same graphical representations of the steps in the instance of the workflow to each user, controlling execution of steps in the workflow by evaluating the dependency expression in the retrieved workflow instance in response to user selection of the graphical representation of the steps, and updating state of steps and data being operated on such that an updated instance and data being operated on is independently accessible to each of the workflow manager programs, the same graphical representations of the updated steps and data in the instance of the workflow are viewable by and operable to receive user input from the users of the workflow manager programs, and updated state of the workflow instance is communicated to each workflow manager program in response to a change in workflow state; from each of the workflow manager programs, controlling whether a user can begin execution of a step in the workflow based on the dependency expression for the step such that each of the workflow manager programs independently controls execution of steps in the workflow; and in response to user selection of a graphical representation of a step in the workflow, executing the selected step in the workflow, including invoking an application program according to the step encapsulation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for managing workflow using a programmed computer system, the method comprising:
-
displaying a graphical user interface for receiving a workflow definition; receiving the workflow definition from a user including a definition of steps in the workflow, a dependency relationship between steps, and a description of a step encapsulation; associating a step in the workflow with a graphical representation of the step; retrieving from memory the workflow definition including the definition of steps in the workflow, and a dependency expression for a step, creating an instance of the workflow definition, and storing the instance such that the instance is accessible to a group of users; from each of at least two workflow manager programs executing on separate nodes of a network, retrieving the workflow instance, displaying graphical representations of the steps in the instance of the workflow, controlling execution of steps in the workflow based on the dependency relationship in the retrieved instance in response to user selection of the graphical representation of the steps, and updating state of steps and data being operated on such that an updated instance and data being operated on is independently accessible to each of the workflow manager programs and each of the graphical representations of the steps in the instance of the workflow are viewable by and operable to receive user input from users of the workflow manager programs; in response to a user selection in the graphical representation in each of the workflow manager programs, controlling execution of a step in the workflow including controlling whether a step may be executed based on the dependency relationship in the instance such that each of the workflow manager programs independently controls execution of steps in the workflow; in response to executing the step, updating state data corresponding to the step; and graphically depicting the state of a step in the workflow. - View Dependent Claims (20, 21)
-
-
22. A programmed computer system for managing a workflow comprising:
-
a flow instance data store for storing a definition of a workflow including dependency relationships among steps in the workflow and for storing step and data state variables for steps in the workflow; a flow display for displaying graphical representations of the steps in the instance of the workflow on a display screen of the programmed computer system and for receiving a step selection from a user; a flow manager in communication with the flow instance data store and the flow display for retrieving the workflow instance, for executing steps in the workflow in response to user selection of the graphical representation of the steps, for controlling execution of steps in the workflow in response to the step selection, for updating the step and data state variables for the steps in the workflow, for instructing the flow display to update the graphical representation of the workflow, and for dynamically updating state of steps and data being operated on such that an updated instance and data being operated on is independently accessible to other flow managers, each of the graphical representations of the steps in the instance of the workflow are viewable by and operable to receive user input from users of the flow managers, and updates are dynamically communicated to other flow managers so that each flow manager operating on the instance displays the same dynamically updated graphical representation of the steps in the instance; and a communication mechanism in communication with the flow manager for transferring commands to execute step encapsulations for the steps.
-
-
23. A computer assisted method for managing a workflow, the method comprising:
-
storing a workflow instance in a flow instance database, the workflow instance including steps, dependencies among the steps, and actions for the steps; from each of at least two workflow manager programs executing on separate nodes of a network, retrieving the workflow instance, displaying graphical representations of the steps in the instance of the workflow, controlling execution of steps in the workflow based on the dependency among the steps in the retrieved workflow instance in response to user selection of the graphical representation of the steps, and updating state of steps and data being operated on such that an updated instance and data being operated on is independently accessible to each of the workflow manager programs and each of the graphical representations of the steps in the instance of the workflow are viewable by and operable to receive user input from users of the workflow manager programs; receiving a user selection of the graphical representation of a step; in response to the user selection in each of the workflow manager programs, checking a dependency for the selected step in the workflow instance retrieved by the workflow manager program to determine whether the dependency is satisfied, and if so, executing the selected step such that each of the workflow manager programs independently controls execution of steps in the workflow; in response to execution of a selected step, updating a step state variable for the selected step, and updating a data state variable; and storing the step state variable and the data state variable in the flow instance database. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A method for managing a workflow using a programmed computer system, the method comprising:
-
retrieving from memory a workflow definition including a definition of steps in a workflow, and a dependency expression for a step, creating an instance of the workflow definition, and storing the instance such that the instance is accessible to a group of users; from each of at least two workflow manager programs executing on separate nodes of a network, retrieving the workflow instance, displaying graphical representations of the steps in the instance of the workflow, controlling execution of steps in the workflow in response to user selection of the graphical representation of the steps, and updating state of steps and data being operated on by the workflow manager programs such that an updated instance and data being operated on is independently accessible to each of the workflow manager programs and the graphical representations of the steps in the instance of the workflow are viewable by and operable to receive user input from users of the workflow manager programs; in each of the workflow manager programs, controlling whether a user can begin execution of a step in the instance of the workflow based on the dependency expression for the step in the retrieved instance of the workflow such that each of the workflow manager programs independently control execution of the workflow; and in response to a user selection associated with a step in the graphical representation of the instance, invoking an application program according to a step encapsulation. - View Dependent Claims (34, 35)
-
Specification