Method of load balancing a distributed workflow management system
First Claim
1. A method of distributing workload in a workflow management system comprising the steps of:
- during a calibration mode, executing plural instantiations of a test process to identify load index parameters;
calculating a load index based on the load index parameters for each of a plurality of engines of the workflow management system, wherein each load index reflects a workload of its associated engine, wherein the load index corresponds to an average activity execution delay; and
distributing workload across the plurality of engines in response to the load indices in a load sensitive mode,wherein identifying the load index parameters comprises identifying a single engine nominal activity execution delay (C) when no concurrent activities are executing and an activity execution latency factor (λ
), wherein λ
is a function of a number of concurrently executing activities.
9 Assignments
0 Petitions
Accused Products
Abstract
A method of distributing workload in a workflow management system includes the step of calculating a load index for each engine of the workflow management system. The load index is calculated as an average activity execution delay attributable to the associated engine. The load indices indicate average execution latency between the start of consecutive activity nodes of a process due to engine loading exclusive of resource execution time. Workload is distributed across the plurality of engines in a load sensitive mode. In one embodiment, distribution switches from a load insensitive mode to a load sensitive mode for distributing processes when a maximum differential load index exceeds a first pre-determined threshold. Distribution switches from the load sensitive mode back to the load insensitive workload distribution mode for distributing processes when the maximum differential load index is less than a second pre-determined threshold.
-
Citations
25 Claims
-
1. A method of distributing workload in a workflow management system comprising the steps of:
-
during a calibration mode, executing plural instantiations of a test process to identify load index parameters; calculating a load index based on the load index parameters for each of a plurality of engines of the workflow management system, wherein each load index reflects a workload of its associated engine, wherein the load index corresponds to an average activity execution delay; and distributing workload across the plurality of engines in response to the load indices in a load sensitive mode, wherein identifying the load index parameters comprises identifying a single engine nominal activity execution delay (C) when no concurrent activities are executing and an activity execution latency factor (λ
), wherein λ
is a function of a number of concurrently executing activities. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of distributing workload in a workflow management system comprising the steps of:
-
a) calculating a load index for each engine of the workflow management system, wherein each load index reflects a workload of its associated engine; b) operating in a load insensitive workload distribution mode for distributing processes among the engines in a first distribution fashion that is insensitive to the load indices until a maximum differential load index exceeds a pre-determined threshold; and c) operating in a load sensitive workload distribution mode for distributing processes among the engines in a second distribution fashion that is sensitive to the load indices until all processes have completed execution once the maximum differential load index exceeds the pre-determined threshold. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method of distributing workload in a workflow management system comprising the steps of:
calculating a load index for each engine of the workflow management system, wherein each load index reflects a workload of its associated engine; switching from a load insensitive workload distribution mode to a load sensitive workload distribution mode for distributing processes among the engines in a first distribution fashion that is sensitive to the load indices when a maximum differential load index exceeds a first pre-determined threshold, T1; and switching from the load sensitive workload distribution mode to the load insensitive workload distribution mode for distributing processes among the engines in a second distribution fashion that is insensitive to the load indices when the maximum differential load index is less than a second pre-determined threshold, T2. - View Dependent Claims (18, 19, 20, 21)
-
22. A method of distributing workload in a workflow management system comprising the steps of:
-
during a calibration mode, executing plural instantiations of a test process to identify load index parameters; calculating a load index based on the load index parameters for each of a plurality of engines of the workflow management system, wherein each load index reflects a workload of its associated engine, wherein the load index corresponds to an average activity execution delay; distributing workload across the plurality of engines in response to the load indices in a load sensitive mode; and providing a definition of activities in the test process such that for each activity, a resource execution time is much less than an engine execution time, the resource execution time representing an execution time of a resource to perform work represented by the respective activity, and the engine execution time representing an execution time of the respective engine in performing the activity.
-
-
23. A workflow management system, comprising:
-
plural workflow engines; workload monitors to compute load indices for the workflow engines, wherein each load index reflects a workload of the corresponding workflow engine; and a load balancer to; operate in a load insensitive workload distribution mode for distributing processes among the workflow engines in a first distribution fashion that is insensitive to the load indices until at least one difference between load indices of the workflow engines exceeds a first threshold; and after the at least one difference between load indices exceeds the first threshold, operate in a load sensitive workload distribution mode for distributing processes among the workflow engines in a second distribution fashion that is sensitive to the load indices until at least one of; (1) all processes have completed execution; and (2) the at least one difference between load indices of the workflow engines is less than a second threshold. - View Dependent Claims (24, 25)
-
Specification