A shared computing infrastructure includes a plurality of computing
engines, applications servers, and computing domains. A broker component
executes a method for dynamically allocating the computing engines among
the computing domains. The allocation method begins with the step of
determining an expected number of computing engines to be allocated to
each of the computing domains as a function of a predetermined service
policy and a predicted demand for the domain While fewer than the
expected number of computing engines has been allocated to each domain,
the computing domains are sequentially selecting as a function of
predetermined domain priorities. Unallocated computing engines are
identified, and the unallocated computing engines are allocated to each
selected computing domain according to predetermined selection rules for
the domain. During an allocation improvement step, allocations among the
computing domains are further adjusted to maximize a fitness statistic
computed for the allocations.