Pattern 16 (Round Robin Allocation)
FLASH animation of Round Robin Allocation pattern
Description
The ability to allocate a work item to a selected resource chosen from a group of eligible resources on a cyclic basis.
Example
Work items corresponding to the Umpire Match task are allocated to each available Referee on a cyclic basis.
Motivation
Round Robin Allocation provides a means of allocating work items to resources on an equitable basis.
Overview
This patteern provides a fair means of restricting the distribution of a work item to a single resource. Once the possible range of resources that a work item to a single resource. Once the possible range of resources that a work item can be distributed to have been identified at runtime, one of these is selected on a cyclic basis to execute the work item. The intention being that, over time, each resource receives the same number of work items. One means of choosing the appropriate resource is to select the resource that undertook the task least recently. An alternative to this is for the system to keep track of the number of times each resource has completed each task, thus enabling the one who has undertaken it the least number of times to be identified.
Context
There are no specific context conditions associated with this pattern.
Implementation
None of the offerings examined provide direct support for Round Robin Allocation. However COSA, iPlanet and Oracle BPEL provide facilities for specifying custom allocation strategies for workflow tasks. In the case of COSA, a custom distribution algorithm can be specified (incorporating an external program) that implements Round Robin Allocation. As the total available working time for each user can be specified (as a percentage between 0 and 100%), there is the opportunity to establish a relatively fair basis for Round Robin Allocation as this parameter is used when distributing work items to weight the algorithm appropriately. For iPlanet, it is possible to develop an Evaluate method that achieves a similar result. In Oracle BPEL an appropriate service can be developed to enable work items to be distributed on this basis.
Issues
By its nature, Round Robin Allocation requires details of individual resource allocations to be maintained so that a decision can be made as to which resource should be used when the next allocation decision is made.
Solutions
Where a PAIS does not directly support Round Robin Allocation, it is left to the auspices of the process developer to implement a strategy for this form of allocation. For the systems described above, COSA and Oracle BPEL rely on the use of an external program to manage the allocation decision and keep track of previous allocations. iPlanet utilises Evaluate methods based on the TOOL language and access to an external SQL database for managing allocations.
Evaluation Criteria
An offering achieves full support if it satisfies the description for the pattern. It achieves a partial support rating if the same effect can be achieved through programmatic extensions.
Product Evaluation
To achieve a + rating (direct support) or a +/- rating (partial support) the product should satisfy the corresponding evaluation criterion of the pattern. Otherwise a - rating (no support) is assigned.
Product/Language |
Version |
Score |
Motivation |
---|---|---|---|
Staffware | 9 | - | Not supported |
Websphere MQ Workflow | 3.4 | - | Not supported |
FLOWer | 3.0 | - | Not supported |
COSA | 4 | +/- | Indirectly achievable via a custom (external) distribution algorithm |
iPlanet | 3.1 | +/- | Indirectly achievable via customised (external) distribution algorithm |
BPMN | 1.0 | - | Not supported |
UML | 2.0 | - | Not supported |
Oracle BPEL | 10.1.2 | +/- | Oracle BPEL PM offers no direct support for this pattern. However, the feature of assigning a work item dynamically can be used to support this pattern. For example, a service can be implemented to retrieve resource based on the round-robin algorithm |
jBPM | 3.1.4 | - | jBPM does not support this pattern. The pattern is only relevant when a system selects a resource from a number of possible candidates which does not occur in jBPM. |
OpenWFE | 1.7.3 | - | OpenWFE does not support this pattern. The pattern is only relevant when a system selects a resource from a number of possible candidates which does not occur in OpenWFE. |
Enhydra Shark | 2 | - | Enhydra Shark does not support this pattern. It only supports offering and not allocation of work items. |
Summary of Evaluation
+ Rating |
+/- Rating |
---|---|
|
|