Patent ID: 7734676

Claim:
A method for controlling the number of server instances in a computer system controlled by an operating system having server regions that are managed by a workload manager to provide resources for achieving service goals of work units received from application programs, said server regions including a number of server containers each containing a plurality of server instances operating in parallel to execute said work units received from said application programs, comprising the steps of: (a) sampling the server instances in a server container at execution time to obtain sample data representing resource usage of server instances that are active during a predetermined sampling interval, said sample data indicating resource contention among said server instances; (b) evaluating the sample data to determine a current resource consumption of the computer system in executing the work units; (c) (1) calculating an optimal number of server instances per server container from the current resource consumption of the computer system to execute the work units, said step comprising providing threshold values for current resource consumption and using said threshold values to permit or prevent an adjustment of the number of server instances in at least one of the server container, said step comprising restricting the number of server instances in each server container on the basis of restrictions on the total number of server instances permitted for all server containers executing work units for one or more server classes; (2) calculating an optimal total number of server instances, executing in parallel in each of the server containers, to execute the work units; (3) calculating a number of server containers from the optimal total number of server instances and from the optimal number of server instances per server container; and (d) providing feedback to the workload manager based upon the calculated number of server containers and the calculated number of server instances per server container, thereby to cause said workload manager to adjust the number of server containers and the number of server instances in at least one server container; and (e) repeating steps (a) to (d) at predetermined time intervals during execution of the work units.