Patent ID: 7464160

Claim:
A method for provisioning grid resources for a set of grid services, the method comprising: receiving a plurality of requests from a plurality of clients that use the set of grid services, wherein the set of grid services has a set of service levels, wherein the set of grid services provides different service levels to respective clients, wherein the plurality of clients are divided into classes based on specified service levels for the respective clients, wherein a separate grid service is set-up for each service level and each class of client, wherein a specific grid resource is allocated to a single grid service, and wherein each grid service in the set of grid services is allocated a plurality of grid resources; distributing tasks associated with the plurality of requests to the plurality of grid resources allocated to respective grid services in the set of grid services, wherein the tasks are distributed according to the service level and the class of respective requesting clients; monitoring service performance of each of the set of grid services, wherein each grid service in the set of grid services has an assigned service level objective; responsive to monitoring service performance levels of the set of grid services, determining whether current allocations of grid resources for each grid service in the set of grid services is sufficient to maintain service performance levels for each grid service in the set of grid services to meet the assigned service level objective of each grid service in the set of grid services, further comprising: predicting a number of servers needed to maintain a service level that meets the assigned service level objective for each grid service in the set of grid services to form predicted allocations of grid resources; and determining whether the current allocations of grid resources for each grid service in the set of grid services are sufficient to meet the predicted allocations of grid resources; and responsive to the current allocations of grid resources for each grid service in the set of grid services being insufficient to maintain at least some service performance levels, dynamically reallocating the current allocations of the grid resources to the set of grid services to maintain assigned service level objectives for each grid service in the set of grid services to form dynamic allocations of grid resources, wherein the dynamic allocations maintain the service levels for each grid service in the set of grid services as loads associated with a portion of the plurality of requests change for each grid service in the set of grid services.