Distributed System Providing Scalable Methodology for Real-Time Control of Server Pools and Data Centers
First Claim
1. A method for regulating resource usage by a plurality of programs running on a plurality of machines, the method comprising:
- providing a resource policy specifying allocation of resources amongst the plurality of programs;
determining resources available at the plurality of machines;
detecting requests for resources by each of the plurality of programs running on each of the plurality of machines;
periodically exchanging resource information amongst the plurality of machines, the resource information including requests for resources and resource availability at each of the plurality of machines; and
at each of the plurality of machines, allocating resources to each program based upon the resource policy and the resource information.
4 Assignments
0 Petitions
Accused Products
Abstract
A distributed system providing scalable methodology for real-time control of server pools and data centers is described. In one embodiment, a method is described for regulating resource usage by a plurality of programs running on a plurality of machines, the method comprises steps of: providing a resource policy specifying allocation of resources amongst the plurality of programs; determining resources available at the plurality of machines; detecting requests for resources by each of the plurality of programs running on each of the plurality of machines; periodically exchanging resource information amongst the plurality of machines, the resource information including requests for resources and resource availability at each of the plurality of machines; and at each of the plurality of machines, allocating resources to each program based upon the resource policy and the resource information.
-
Citations
65 Claims
-
1. A method for regulating resource usage by a plurality of programs running on a plurality of machines, the method comprising:
-
providing a resource policy specifying allocation of resources amongst the plurality of programs;
determining resources available at the plurality of machines;
detecting requests for resources by each of the plurality of programs running on each of the plurality of machines;
periodically exchanging resource information amongst the plurality of machines, the resource information including requests for resources and resource availability at each of the plurality of machines; and
at each of the plurality of machines, allocating resources to each program based upon the resource policy and the resource information. - 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. A system for regulating utilization of computer resources of a plurality of computers, the system comprising:
-
a plurality of computers having resources to be regulated which are connected to each other through a network;
a monitoring module provided at each computer having resources to be regulated, for monitoring resource utilization and providing resource utilization information to each other connected computer having resources to be regulated;
a manager module providing rules governing utilization of resources available on the plurality of computers and transferring said rules to the plurality of computers; and
an enforcement module at each computer for which resources are to be regulated for regulating usage of resources based on said transferred rules and the resource utilization information received from other connected computers. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53)
-
-
54. A method for scheduling communications by a plurality of applications running on a plurality of computers connected to each other through a network, the method comprising:
-
providing a policy specifying priorities for scheduling communications by the plurality of applications;
periodically determining communication resources available at the plurality of computers;
at each of the plurality of computers, detecting requests to communicate and identifying a particular application associated with each request;
exchanging bandwidth information amongst the plurality of computers, the bandwidth information including applications making the requests to communicate and a measure of communications resources required to fulfill the requests; and
at each of the plurality of computers, scheduling communications based upon the policy and the bandwidth information. - View Dependent Claims (55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65)
-
Specification