Patent ID: 7146353

Claim:
A processor-implemented method for allocating resources to a plurality of applications, wherein the resources include a plurality of servers and at least one of the applications uses a tiered arrangement of servers, comprising: gathering instrumentation data for work requests processed by the applications; determining an associated workload level for work requests processed by the applications; determining for each application a first application resource requirement as a function of the workload levels and a service level metric associated with the application; representing each server as a processor-sharing queue having at least one critical resource; determining respective average response times of each of the tiers, each respective average response time being a function of a number servers in the tier, an arrival rate of work requests, and an average utilization rate of the critical resource; determining a total average response time as a sum of the respective average response times of each of the tiers; determining a minimum total number of servers required in each tier for the total average response time of the application to satisfy the service level metric; determining for each application an assigned subset of resources as a function of the first application resource requirement, wherein the function minimizes communication delays between resources, and satisfies a bandwidth capacity requirement of the application; and automatically reconfiguring the resources consistent with the assigned subset of resources for each application.