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

  1. Facilities exist (either in the process model or at run-time) to nominate that the resource to which a work item is allocated is chosen on a cyclic basis from the group of resources which satisfy the selection criteria for potential assignment.
  1. N/A