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
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, as executed using at least one processor on a computer on a network that includes said server resources, 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); and
supporting a resource utilization U for an actual service level M, average response time T for an actual service level M, and a response time percentile T % for an actual service level M, thereby to support target values Ut, Tt and Tt %,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.
1 Assignment
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). The best effort is defined in the SLA as a range of service to be provided to the customer if server resources are currently available.
47 Citations
38 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, as executed using at least one processor on a computer on a network that includes said server resources, 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); and supporting a resource utilization U for an actual service level M, average response time T for an actual service level M, and a response time percentile T % for an actual service level M, thereby to support target values Ut, Tt and Tt %, 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 38)
-
-
30. A system for managing server resources for a plurality of customers, said system comprising:
-
a main system; an inbound traffic controller operably coupled to said main system; and a server resource manager coupled to said main system, wherein said main system includes; a processor on a computer executing a decision module and a module for computing a target amount of resources Nt(i) and a target inbound traffic rate Rt(i), and a repository for storing Service Level Agreements (SLAs), wherein said decision module computes the target values Nt(i) and Rt(i) from monitored service level data M(i), N(i) and R(i) for every customer, such that a resource allocation is dynamically optimized for each customer in a best effort agreement defined in said SLAs, wherein said best effort is defined in said SLAs as a range of service to be provided to said customer if said server resources are currently available, and wherein a service level agreement (SLA) is designated 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 (31, 32, 33, 34, 35)
-
-
36. A program product device for storing a program for execution by a digital data processing apparatus to perform a method of 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 wherein a service level agreement is designated 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.
-
-
37. A program product device for storing a program for execution by a digital data processing apparatus to perform a method of deciding server resource allocation for a plurality of customers on a best effort basis defined in a service level agreement (SLA), 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 said SLA for said customer i as related to said best effort basis defined in said SLA as a range of service to be provided to said customer i if said server resources are currently available, and wherein a service level agreement (SLA) is designated 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.
-
Specification