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, 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).
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).
109 Citations
48 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). - 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, 30)
-
31. 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”
; and
if 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”
. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. 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:
-
a 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 service level agreement (SLA).
-
-
41. 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 decision module, 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, 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. - View Dependent Claims (42, 43, 44, 45, 46)
-
-
47. 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).
-
48. 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, 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”
; and
if 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”
.
-
Specification