Dynamic resource allocation using known future benefits
First Claim
1. A method for server allocation in a Web server “
- farm”
based on information regarding future loads to achieve close to greatest possible revenue based on an assumption that revenue is proportional to the utilization of servers and differentiated by customer comprising the steps of;
modeling a server allocation problem mathematically;
in the model, dividing time into intervals based on an assumption that a site'"'"'s demand is uniformly spread throughout each such interval;
maintaining server allocations fixed for the duration of an interval, servers being reallocated only at the beginning of an interval, and a reallocated server being unavailable for the length of the interval during which it is reallocated providing time to “
scrub”
an old site (customer data) to which the server was allocated, to reboot the server and to load the new site to which the server has been allocated, each server having a rate of requests it can serve in a time interval and customers share servers only in the sense of using the same servers at different times, but do not use the same servers at the same time;
associating each customer'"'"'s demand with a benefit gained by a service provider in case a unit demand is satisfied and finding a time-varying server allocation that would maximized benefit gained by satisfying sites'"'"' demand; and
reducing to a minimum-cost network flow problem and solving in polynomial time.
1 Assignment
0 Petitions
Accused Products
Abstract
A benefit task system implements a policy for allocating resources to yield some benefit. The method implemented may be applied to a variety of problems, and the benefit may be either tangible (e.g., profit) or intangible (e.g., customer satisfaction). In one example, the method is applied to server allocation in a Web site server “farm” given full information regarding future loads to maximize profits for the Web hosting service provider. In another example, the method is applied to the allocation of telephone help in a way to improve customer satisfaction. In yet another example, the method is applied to distributed computing problem where the resources to be allocated are general purpose computers connected in a network and used to solve computationally intensive problems. Solution of the Web server “farm” problem is based on information regarding future loads to achieve close to the greatest possible revenue based on the assumption that revenue is proportional to the utilization of servers and differentiated by customer class. The method of server allocation uses an approach which reduces the Web server farm problem to a minimum-cost network flow problem, which can be solved in polynomial time. Similar solutions are applicable to other resource allocation problems.
76 Citations
8 Claims
-
1. A method for server allocation in a Web server “
- farm”
based on information regarding future loads to achieve close to greatest possible revenue based on an assumption that revenue is proportional to the utilization of servers and differentiated by customer comprising the steps of;modeling a server allocation problem mathematically; in the model, dividing time into intervals based on an assumption that a site'"'"'s demand is uniformly spread throughout each such interval; maintaining server allocations fixed for the duration of an interval, servers being reallocated only at the beginning of an interval, and a reallocated server being unavailable for the length of the interval during which it is reallocated providing time to “
scrub”
an old site (customer data) to which the server was allocated, to reboot the server and to load the new site to which the server has been allocated, each server having a rate of requests it can serve in a time interval and customers share servers only in the sense of using the same servers at different times, but do not use the same servers at the same time;associating each customer'"'"'s demand with a benefit gained by a service provider in case a unit demand is satisfied and finding a time-varying server allocation that would maximized benefit gained by satisfying sites'"'"' demand; and reducing to a minimum-cost network flow problem and solving in polynomial time.
- farm”
-
2. A method of resource allocation to yield a benefit comprising the steps of:
-
choosing a state st for each time t so as yield a benefit where all state sets and a benefit function are known in advance; reducing a problem to an analogous maximum-cost network flow problem by constructing a directed network with s “
rails”
, one per site, each rail being a chain of edges each representing one time step, flow along a rail representing an allocation of resources to a corresponding site,constructing a set of “
free pool”
nodes, one per time step, through which flow will pass when resources are reallocated from one site to another, for a demand matrix di, t, 1≦
i≦
s, 1≦
t≦
T, constructing nodes ni, t, 1≦
i≦
s, 0≦
t≦
T, along with nodes ft, 1≦
t≦
T, and for each site s and each time step t, constructing three edges from ni, t−
1 to ni, t, wherein the first edge has capacity └
di, t┘ and
cost ri, t, the second edge has capacity one and cost ri, t·
(di, t−
└
di, t┘
), and the third edge has infinite capacity and cost zero, flow along the first edge representing a benefit of allocating resources s to site i during time step t, up to the integer part of di, t, flow along the second edge representing a remaining benefit, ri, t, times a fractional part of di, t to be collected by one more resource, and flow along the third edge representing that extra resources can remain allocated to s but do not collect any benefit,constructing edges of infinite capacity and cost zero from ni, t−
1 to ft and from ft to ni, t, for each 1≦
t≦
T and each 1≦
i≦
s which represent a movement of servers from one site to another,constructing a source into which a flow k is injected, with infinite capacity zero cost edges to each ni, 0, and a sink with infinite capacity zero cost edges from each ni, T; and solving the maximum-cost network flow problem and allocating resources. - View Dependent Claims (3, 4, 5, 6, 7, 8)
-
Specification