The patent application is a continuation of a co-pending U.S. patent application having the Ser. No. 11/279,052, and filed on Apr. 7, 2006, which is incorporated by reference herein.
- Top of Page
OF THE INVENTION
1. Field of the Invention
The invention relates to the field of workflow systems and in particular to a workflow system design tool that enables significant customer configurability while allowing for definition of feature rich, complex workflow processes.
2. Statement of the Problem
A wide variety of systems entail processes that process information through a sequence of steps. In general, many such systems may be modeled and controlled as a workflow system wherein each step receives input, processes that input in some manner and forwards generated output to one or more next steps in the process. A complete process of such steps may be referred to as a process or a job. Workflow systems often allow for modeling of a complex sequence of steps including conditional evaluation for alternative paths or options through the entire workflow process.
Such workflow systems are frequently applied to a wide variety of workflows to model processes associated with a particular application area. In particular, workflow systems are frequently utilized to model workflows of data processing systems where input data is received by a step in the process, manipulated in various manners, and resulting data is applied to a next step in the process. Workflow systems may also be applied to model numerous other systems in a variety other application areas including, for example, process control systems such as may be common in manufacturing environments.
Workflow systems are sometimes created as customized programs designed and coded by system analysts and programmers designing and coding customized computer programs for a particular workflow processing application. Such a customized computer program may very closely model the underlying process but the development and maintenance costs are prohibitive in most environments. Other workflow modeling systems provide tools for more typical users to create new process models—e.g., without the need for skilled staff to create custom computer programs. These process modeling design tools aid an end user in creating a model for a new process and in maintaining the generated process models thus reducing or eliminating the need for skilled computer programmers and systems analysts. A number of workflow systems are available as commercial products that allow some degree of customization by a sophisticated end user. For example, IBM provides a product referred to as Infoprint Workflow (“IPW”) for such workflow process modeling in the context of printing systems management. IPW is widely known to those of ordinary skill in the art and information regarding IPW is readily available at www.ibm.com.
Some present day commercial workflow modeling design tool products are simple to use and thus obviate the need for costly, trained computer programming professionals. But most such systems are so simplistic that they cannot model complex processes. Other commercially available workflow modeling design tools are so complex that they entail such design complexity that most users still require the services of a highly trained professional to perform required setup, configuration, and customization. Further, such systems are sufficiently complex that any maintenance to the workflow definitions may also require services of a costly, highly trained computer professional.
It is evident from the above discussion that a need exists for an improved workflow system that provides both a high degree of flexibility in modeling even complex workflow systems and also provides a simple, easy to use architecture that allows a less sophisticated end user to easily define and maintain workflow systems utilizing the workflow system design tools.
- Top of Page
OF THE SOLUTION
The invention solves the above and other related problems with methods and associated systems and apparatus operable to flexibly configure a workflow system to execute jobs. Features and aspects hereof provide for generating workflow models from configurable templates. The workflow models may include one or more phases, each comprising one or more processes, each process comprising one or more steps. The phases, processes, and steps may all be defined by configuring parameters of corresponding templates. Information defining the workflow models and all job information for jobs to be executed are entries in an integrated database such that creation and update of workflow model information and job information is performed as simple database queries and updates.
One feature hereof provides a method for managing a workflow processing system. The method includes storing job information in a database. The job information relates to one or more jobs to be processed by the workflow processing system. The method also includes generating a workflow model to process one or more jobs relating to the job information in the database. The generated workflow model is stored in the database and the workflow model is generated from configurable templates. The method also includes processing one or more jobs using the workflow model in the database and using the job information in the database.
Another feature hereof provides a system for workflow processing. The system includes a database for storing one or more workflow models and for storing job information relating to jobs to be processed in accordance with a corresponding workflow model. The system also includes a computing node coupled to the database and adapted to execute jobs using the job information and the workflow model in the database. The computing node is further adapted to generate and modify workflow models stored in the database. The computing node is also adapted to generate the workflow models from templates.
Another feature hereof provides a method for workflow processing. The method includes configuring a workflow model based on configurable templates. The method also includes storing the configured workflow model in a database. Still further the method includes generating job information about a job wherein the job is associated with the generated workflow model and storing the job information in the database. The method then includes executing the job using the job information in the database and using the workflow model in the database.
The invention may include other exemplary embodiments described below.
DESCRIPTION OF THE DRAWINGS
The same reference number represents the same element on all drawings.
FIG. 1 is a block diagram of an exemplary workflow system in accordance with features and aspects hereof.
FIGS. 2 through 4 are flowcharts describing exemplary methods for workflow configuration and execution in accordance with features and aspects hereof.
FIG. 5 is a diagram depicting exemplary phases of an exemplary workflow for print job processing in accordance with features and aspects hereof.
FIG. 6 is a diagram describing a particular example of two exemplary jobs processed in corresponding exemplary workflow models in accordance with features and aspects hereof.
FIG. 7 is an exemplary display screen for presentation of status information relating to jobs and devices in a workflow system in accordance with features and aspects hereof.
- Top of Page
OF THE INVENTION
FIGS. 1 through 7 and the following description depict specific exemplary embodiments of the present invention to teach those skilled in the art how to make and use the invention. For the purpose of this teaching, some conventional aspects of the invention have been simplified or omitted. Those skilled in the art will appreciate variations from these embodiments that fall within the scope of the present invention. Those skilled in the art will appreciate that the features described below can be combined in various ways to form multiple variations of the present invention. As a result, the invention is not limited to the specific embodiments described below, but only by the claims and their equivalents.
FIG. 1 is a block diagram of a system 100 providing flexible generation and configuration of workflow processing systems in accordance with features and aspects hereof. In particular, system 100 depicts a workflow processing system particularly as applied to a printing environment in which print jobs are performed or executed utilizing a variety of printing system objects 110 and in accordance with workflow models defined by elements of system 100. Primary workflow server 102 is a computing node used to generate workflow models in accordance with user input. A user may generally define a workflow model as comprising one or more phases, each phase including one or more processes, and each process comprising one or more steps that may in turn include conditional Boolean logic. Templates 104 are used by primary workflow server 102 to permit flexible configuration of a new workflow process by configuring attributes of standardized templates 104. In particular, templates 104 may include phase templates useful for defining new phases in a newly defined workflow model, process templates useful for defining each of the one or more processes within a newly configured phase, and step templates useful for configuring one or more steps in each newly defined process of each newly defined phase.
Flow is divided into phases, such as Receive or Prepare, and processes within those phases. A process is a sequence of steps that perform a logical set of actions on the jobs they process. Any particular job will flow through a particular set of phases, selecting a single set of processes in each phase. The ordered set of steps, grouped by the processes and phases that contain them, determine the workflow processing for a job.
Features and aspects hereof define how phases, processes, and states are represented in the system and how their interfaces are defined. Users of the workflow system, over time, build a set of reusable phases and processes that may be applicable to several offerings. For example, the Receive phase and its processes will likely be used in almost every application to receive an input job for processing. Exemplary embodiments described herein below discuss the phases, processes and steps needed for a printing enterprise application. The examples below are not intended to describe the complete set of functionality that can be supported, but rather suggest one concrete example of how the architecture can be applied in a specific case—print job workflows in printing enterprises.
Primary workflow server 102 stores the newly defined, configured workflow models as information in workflow database 108. In particular, the workflow models are stored in tables that define the relationships between the configured phases, configured processes, and configured steps as well as transition conditions for moving from step to step, from process to process, and from phase to phase in the workflow model. The configured phases, processes, and steps may be configured by appropriately setting attribute values and parameter values associated with the newly created entries in database 108. The templates 104 therefore provide a starting point for such configuration and the various attributes and parameters allow for significant flexibility in defining the ultimate workflow model for a particular type of job to be performed.