Method and apparatus for dynamically adjusting resources assigned to plurality of customers, for meeting service level agreements (SLAs) with minimal resources, and allowing common pools of resources to be used across plural customers on a demand basis
First Claim
Patent Images
1. A method for managing and controlling allocation and de-allocation of resources based on a guaranteed amount of resource and additional resources based on a best effort for a plurality of customers, said method comprising:
- dynamically allocating server resources for a plurality of customers, such that said resources received by a customer are dynamically controlled and said customer receives a guaranteed minimum amount of resources as specified under a service level agreement (SLA), wherein said best effort is defined in said SLA as a range of service to be provided to said customer if said server resources are currently available; and
designating a service level agreement (SLA) on a server resource for a customer as a form (Smin#(i), Smax#(i), Mbounds(i)), where Smin#(i) denotes a guaranteed minimum amount of server resources, Smax(i) denotes an upper bound on an amount of server resources that a customer desires to obtain when free resources are available, and Mbounds(i) that includes a low bound (Mlowbound(i)) and a high bound (Mhighbound(i)) designating bounds on a service level metric for allocating resources beyond the minimum amount Smin#(i) for each i-th customer.
0 Assignments
0 Petitions
Accused Products
Abstract
A method (and system) for managing and controlling allocation and de-allocation of resources based on a guaranteed amount of resource and additional resources based on a best effort for a plurality of customers, includes dynamically allocating server resources for a plurality of customers, such that the resources received by a customer are dynamically controlled and the customer receives a guaranteed minimum amount of resources as specified under a service level agreement (SLA).
-
Citations
36 Claims
-
1. A method for managing and controlling allocation and de-allocation of resources based on a guaranteed amount of resource and additional resources based on a best effort for a plurality of customers, said method comprising:
-
dynamically allocating server resources for a plurality of customers, such that said resources received by a customer are dynamically controlled and said customer receives a guaranteed minimum amount of resources as specified under a service level agreement (SLA), wherein said best effort is defined in said SLA as a range of service to be provided to said customer if said server resources are currently available; and designating a service level agreement (SLA) on a server resource for a customer as a form (Smin#(i), Smax#(i), Mbounds(i)), where Smin#(i) denotes a guaranteed minimum amount of server resources, Smax(i) denotes an upper bound on an amount of server resources that a customer desires to obtain when free resources are available, and Mbounds(i) that includes a low bound (Mlowbound(i)) and a high bound (Mhighbound(i)) designating bounds on a service level metric for allocating resources beyond the minimum amount Smin#(i) for each i-th customer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 19, 24, 25, 26)
-
-
16. A method for managing and controlling allocation and de-allocation of resources based on a guaranteed amount of resource and additional resources based on a best effort for a plurality of customers, said method comprising:
-
dynamically allocating server resources for a plurality of customers, such that said resources received by a customer are dynamically controlled and said customer receives a guaranteed minimum amount of resources as specified under a service level agreement (SLA), wherein said best effort is defined in said SLA as a range of service to be provided to said customer if said server resources are currently available, wherein an allocation of an additional resource is performed so as to keep the performance metric within Mbounds(i), and wherein said Mbounds(i) includes any one of bounds on the server resource utilization that are denoted by Ubounds(i), bounds on the average server response time that are denoted by Tbounds(i), and bounds on the server response time percentile that are denoted by T%bounds(i).
-
-
17. A method for managing and controlling allocation and de-allocation of resources based on a guaranteed amount of resource and additional resources based on a best effort for a plurality of customers, said method comprising:
-
dynamically allocating server resources for a plurality of customers, such that said resources received by a customer are dynamically controlled and said customer receives a guaranteed minimum amount of resources as specified under a service level agreement (SLA), wherein said best effort is defined in said SLA as a range of service to be provided to said customer if said server resources are currently available; and when a server resource utilization goes above a predetermined set limit Mhighbound(i), attempting, by a server farm, to maintain the utilization between said predetermined set limits Mbounds(i) by allocating additional server resources to the i-th customer when free resources are available. - View Dependent Claims (18)
-
-
20. A method for managing and controlling allocation and de-allocation of resources based on a guaranteed amount of resource and additional resources based on a best effort for a plurality of customers, said method comprising:
-
dynamically allocating server resources for a plurality of customers, such that said resources received by a customer are dynamically controlled and said customer receives a guaranteed minimum amount of resources as specified under a service level agreement (SLA), wherein said best effort is defined in said SLA as a range of service to be provided to said customer if said server resources are currently available; monitoring an inbound traffic rate R(i), a currently assigned amount of server resources N(i), and a current service level metric M(i) for all of said plurality of customers. computing a target amount of server resources Nt(i), without changing an inbound traffic R(i); and computing a target inbound traffic rate Rt(i), without changing an allocated resource N(i), to bring the service level metric M(i) to the targeted service level metric Mt(i) from monitored R(i), N(i) and M(i) for all i, wherein the target service level metric Mt(i) comprises the service level metric substantially at or near where M(i) is to be maintained, and bounded by Mbounds(i). - View Dependent Claims (21, 22, 23)
-
-
27. A method of deciding server resource allocation for a plurality of customers, said method comprising:
-
computing target values (Nt(i),Rt(i)) for every customer i and setting a variable “
ITC-informed(i)”
=“
no”
for all customers “
i”
such that a record is kept of whether or not throttling on inbound traffic is being applied or not during a given service cycle time;determining whether or not the service cycle time has expired; if the service cycle time has not expired, then checking whether an operation state M(i) is within a predetermined area defined by a metric and a number of resources; if the operation state is not within the predetermined area, then checking whether any customer exists such that a target resource amount Nt(i) is less than a current resource amount N(i); if Nt(i) is less than N(i), then determining whether the inbound traffic has been throttled, by determining whether, for any “
i”
, ITC-informed(i) =“
yes”
; andif the inbound traffic has been throttled, then removing the throttling by directing an inbound traffic controller to stop throttling i-th traffic class and setting ITC-informed (i)=“
no”
,wherein said target values (Nt(i),Rt(i)) comprise parameters contained in a Service Level Agreement (SLA) for said customer i as related to a best effort basis for managing and controlling allocation and de-allocation of resources to said customer i, and said best effort is defined in said SLA as a range of service to be provided to said customer i if said server resources are currently available. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A system for managing and controlling allocation and de-allocation of resources based on a guaranteed amount of resources and additional resources based on a best effort for a plurality of customers, said system comprising:
-
plurality of servers; and a resource allocation device for dynamically allocating server resources for a plurality of customers, such that said resources received by a customer are dynamically controlled and said customer receives a guaranteed minimum amount of resources as specified under a best effort agreement in a service level agreement (SLA) with said customer, wherein said best effort is defined in said SLA as a range of service to be provided to said customer if said server resources are currently available.
-
Specification