Claims Analysis
Total Claims: 17
Claim 1
Independent Claim
223 words
A process automation system for controlling the execution of processes on a plurality of processing nodes each having processing agents associated therewith, the system comprising a GPAE (generic process automation engine) and an ORB (object request broker) bus connected to the plurality of processing nodes, the GPAE having: a) a build time part for creating and storing at least one process definition identifying a logical sequence of work items, pre-conditions and post-conditions for the execution of work items, and propagation rules for propagating outputs of work items to inputs of other work items, and for creating and storing a request to create a process instance for a particular process definition; b) a run time part comprising process instance servers for coordinating the enactment of the work items forming part of the process definitions and a scheduler for scheduling each work item forming part of the process definition either for execution at a given time and by a particular processing agent on a particular one of the processing nodes or for execution by a human, the scheduler using constraint propagation logic; wherein the ORB is a CORBA bus, and the process instance servers are CORBA Process Servers that contain a set of process instance objects that control the execution of the work items forming part of the process definition for the relevant process instance.
Claim 2
Dependent Claim
223 words
A process automation system for controlling the execution of processes on a plurality of processing nodes each having processing agents associated therewith, the system comprising a GPAE (generic process automation engine) and an ORB (object request broker) bus connected to the plurality of processing nodes, the GPAE having: a) a build time part for creating and storing at least one process definition identifying a logical sequence of work items, pre-conditions and post-conditions for the execution of work items, and propagation rules for propagating outputs of work items to inputs of other work items, and for creating and storing a request to create a process instance for a particular process definition; b) a run time part comprising process instance servers for coordinating the enactment of the work items forming part of the process definitions and a scheduler for scheduling each work item forming part of the process definition either for execution at a given time and by a particular processing agent on a particular one of the processing nodes or for execution by a human, the scheduler using constraint propagation logic; wherein the ORB is a CORBA bus, and the process instance servers are CORBA Process Servers that contain a set of process instance objects that control the execution of the work items forming part of the process definition for the relevant process instance.
Claim 3
Dependent Claim
38 words
A system according to claim 1 wherein the build time part stores process definitions in a persistent catalog, and wherein the process definitions are defined using an extension of the WfMC (Workflow Management Coalition) process definition language (WPDL).
Claim 4
Dependent Claim
29 words
A system according to claim 1 wherein work items to be executed by processing nodes are defined by activity definitions which are defined as objects in a persistent catalog.
Claim 5
Dependent Claim
23 words
A system according to claim 3 wherein a new process definition can be created by composing versions of existing activity or process definitions.
Claim 6
Dependent Claim
53 words
A system according to claim 3 wherein the termination of an activity becomes an event that triggers a process instance to evaluate the conditions needed to execute the next set of activities in the process definition, and interact with the scheduler to determine where and when to execute the next set of activities.
Claim 7
Dependent Claim
37 words
A system according to claim 1 wherein the multi-threaded scheduler creates a near optimal schedule in real time and considers the constraints of a set of concurrent activities, and the available resources, according to resource utilization goals.
Claim 8
Dependent Claim
17 words
A system according to claim 6 wherein the resource utilization goals may be redefined during run time.
Claim 9
Dependent Claim
17 words
A system according to claim 6 wherein the utilization goals are stored in a persistent goals catalog.
Claim 10
Dependent Claim
64 words
A system according to claim 1 further comprising a persistent store for operational data, historical data, and system state information, the operational data being used to determine further process efficiencies and to report progress, the historical data being used for root cause analysis and to audit past requests, and the system state information being used to recover GPAE from system failures and network failures.
Claim 11
Dependent Claim
32 words
A system according to claim 1 further comprising a query server which answers queries related to buildtime information (i.e., process and activity definitions) and runtime information (e.g., progress of processes' execution states).
Claim 12
Dependent Claim
26 words
A system according to claim 1 further comprising means for notifying an outcome of runtime events to interested parties by extending the CORBA's event service model.
Claim 13
Dependent Claim
23 words
A system according to claim 11 wherein the notification is done by displaying tasks to be completed by humans in a worklist menu.
Claim 14
Dependent Claim
17 words
A system according to claim 1 wherein work items requiring human execution are multicasted to worklist menus.
Claim 15
Dependent Claim
27 words
A system according to claim 1 wherein a plurality of GPAE systems, distributed in strategic geographical locations, are CORBA connected to share global processes, services and resources.
Claim 16
Dependent Claim
192 words
A process automation system for controlling the execution of processes on a plurality of processing nodes each having processing agents associated therewith, the system comprising a GPAE (generic process automation engine) and an ORB (object request broker) bus connected to the plurality of processing nodes, the GPAE having: a) a build time part for creating and storing at least one process definition identifying a logical sequence of work items, pre-conditions and post-conditions for the execution of work items, and propagation rules for propagating outputs of work items to inputs of other work items, and for creating and storing a request to create a process instance for a particular process definition; b) a run time part comprising process instance servers for coordinating the enactment of the work items forming part of the process definitions and a scheduler for scheduling each work item forming part of the process definition either for execution at a given time and by a particular processing agent on a particular one of the processing nodes or for execution by a human, the scheduler using constraint propagation logic; wherein processing agents may be added, deleted or changed during run time.
Claim 17
Dependent Claim
192 words
A process automation system for controlling the execution of processes on a plurality of processing nodes each having processing agents associated therewith, the system comprising a GPAE (generic process automation engine) and an ORB (object request broker) bus connected to the plurality of processing nodes, the GPAE having: a) a build time part for creating and storing at least one process definition identifying a logical sequence of work items, pre-conditions and post-conditions for the execution of work items, and propagation rules for propagating outputs of work items to inputs of other work items, and for creating and storing a request to create a process instance for a particular process definition; b) a run time part comprising process instance servers for coordinating the enactment of the work items forming part of the process definitions and a scheduler for scheduling each work item forming part of the process definition either for execution at a given time and by a particular processing agent on a particular one of the processing nodes or for execution by a human, the scheduler using constraint propagation logic; wherein processing agents may be added, deleted or changed during run time.