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.