Patent ID: 7720551

Claim:
A computer-implemented method comprising provisioning at least one application to satisfy at least one quality of service guarantee, said at least one application satisfying a plurality of service requests for a particular service, said step of provisioning comprising: using a service performance manager for receiving the plurality of requests for service at a distributed computer system comprising a plurality of servers; using an application placement manager for: computing a desired capacity of the computer system to achieve said quality of service level defined for said particular service using configuration parameters provided by a system configuration manager; employing said desired capacity in determining a placement of said at least one application onto at least one server in said computer system in accordance with a placement policy; computing a capacity limit of said particular service to said at least one application based on said placement; and determining an allocation of capacity to satisfy said quality of service level subject to said placement and capacity limit; wherein said step of computing a desired capacity includes optimizing achievement of the quality of service while disregarding any placement constraints in the computer system, wherein said step of employing comprises using a capacity estimator for determining if desired capacities are satisfied by a current application placement, if satisfied using the current placement as a solution to an application placement problem; if not satisfied using the desired capacity as an input into a method for solving said application placement problem, and wherein said step of computing a capacity limit includes examining an application placement matrix and capacity of servers within said computer system, wherein said step of determining an allocation of capacity includes solving an optimization problem Lo achieve the quality of service, said optimization problem is constrained by an the application placement matrix, and said at least one application satisfying a plurality of service requests for a plurality of services; and further comprising: monitoring performance of the computer system in meeting the quality of service guarantee, when the quality of service guarantee is not being met; and the step of monitoring is performed based on a monitoring criterion, and repeating the steps of: computing a desired capacity; employing; computing a capacity limit; and determining using a capacity adjuster until the quality of service guarantee is met for all service requests and all services; and providing the requested service.