IP Library › Granted Patent US 9,448,843
Granted Patent B2
US 9,448,843 · App. 14/225,603 · Granted Sep 20, 2016

Allocating a global resource to consumers across different regions of a distributed grid environment based on use data and demand data of each consumer

Inventors: Chong Chen (Richmond Hill, CA); Zhaohui Ding (Beijing, CN); Zhe Jin (Beijing, CN); Ajith Shanmuganathan (Markham, CA); Michael J. Spriggs (Toronto, CA); Qi Wang (Markham, CA); Chun Liang Yuan (Beijing, CN)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/5011G06F9/4881G06F9/5072
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,448,843
App. No.
14/225,603
Granted
Sep 20, 2016
Kind
B2
Abstract

A technique for allocating a global resource in a distributed grid environment includes: a master resource manager (MRM) that receives from slave resource managers use and demand data associated with a global resource by each consumer in a region controlled by a respective slave resource manager. The MRM computes an allocation of the resource for each consumer and for each region by determining a total amount of the resource to allocate, estimating a need by each consumer for the resource based on the use and demand data, determining an allocation of the total amount of the resource among the consumers based on the estimated need; subdividing the allocation for each consumer among each region where the consumer utilizes the resource; and computing a total allocation of the resource for each region.

Claims (43)

1. A system, comprising:

a processor unit;

a master resource manager executable by the processor unit; and

a plurality of slave resource managers each configured to allocate a global resource within a respectively controlled region of a distributed grid computing environment;

wherein the master resource manager is configured to:

receive, from each slave resource manager, use data and demand data associated with the global resource by each consumer in the respective region controlled by the respective slave resource manager;

compute an allocation of the global resource for each consumer and for each region by:

determining a total amount of the global resource to allocate;

estimating a need by each consumer for the global resource based on the use data and the demand data, wherein the estimated need may reflect the amount of resource that is currently being used and the amount of additional resource that is being demanded;

determining an allocation of the total amount of the global resource among the consumers based on the estimated need;

subdividing the allocation for each consumer among each region where the consumer utilizes the global resource; and

computing a total allocation of the global resource for each region; and

communicate to each slave resource manager an amount of the global resource allocated to each consumer in each respective region controlled by a respective slave resource manager and the total allocation of the global resource for the region controlled by the respective slave resource manager.

2. The system of claim 1 , wherein the master resource manager is configured to estimate the need by each consumer for the global resource by summing the use data and the demand data for each consumer over all regions where the consumer is utilizing the global resource.

3. The system of claim 1 , wherein the master resource manager is configured to reallocate the global resource among the consumers and the respective regions in response to receiving an update to the use data or the demand data.

4. The system of claim 3 , wherein the master resource manager is configured to limit a step-size of a change of an allocation amount for each consumer for the global resource in the reallocation.

5. The system of claim 4 , wherein the master resource manager is configured to determine the allocation of the total amount of the global resource among the consumers based on the estimated need by limiting the allocation for each consumer to a value representing usage of the global resource by the consumer over all regions where the consumer is utilizing the global resource plus the lesser of the step-size or a demand for the global resource by the consumer over all regions where the consumer utilizes the global resource.

6. The system of claim 5 , wherein the master resource manager is configured to:

allocate any remainder of the global resource up to a value representing usage of the global resource by the consumer over all regions where the consumer is utilizing the global resource plus the demand for the global resource by the consumer over all regions where the consumer utilizes the global resource; and

allocate any further remainder of the global resource without limit to the consumer.

7. The system of claim 1 , wherein the master resource manager is configured to transfer an allocation of the global resource from a first region to a second region by:

decreasing an allocation of the global resource to the first region;

awaiting an acknowledgement from a slave resource manager of the first region of the decreased allocation;

awaiting for usage of the global resource in the first region to decrease; and

responsive to the usage decreasing in the first region, increasing an allocation of the global resource to the second region.

8. A computer program product for allocating a global resource in a distributed grid environment, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform a method comprising:

receiving from each of a plurality of slave resource managers, each slave resource manager configured to allocate a global resource within a respectively controlled region of a distributed grid computing environment, use data and demand data associated with the global resource by each consumer in the respective region;

compute an allocation of the global resource for each consumer and for each region by:

determining a total amount of the global resource to allocate;

estimating a need by each consumer for the global resource based on the use data and the demand data, wherein the estimated need may reflect the amount of resource that is currently being used and the amount of additional resource that is being demanded;

determining an allocation of the total amount of the global resource among the consumers based on the estimated need;

subdividing the allocation for each consumer among each region where the consumer utilizes the global resource; and

computing a total allocation of the global resource for each region; and

communicating to each slave resource manager an amount of the global resource allocated to each consumer in each respective region controlled by a respective slave resource manager and the total allocation of the global resource for the region controlled by the respective slave resource manager.

9. The computer program product of claim 8 , wherein the program instructions are executable by the processor to cause the processor to estimate the need by each consumer for the global resource by summing the use data and the demand data for each consumer over all regions where the consumer is utilizing the global resource.

10. The computer program product of claim 8 , wherein the program instructions are executable by the processor to cause the processor to reallocate the global resource among the consumers and the respective regions in response to receiving an update to the use data or the demand data.

11. The computer program product of claim 10 , wherein the program instructions are executable by the processor to cause the processor to limit a step-size of a change of an allocation amount for each consumer for the global resource in the reallocation.

12. The computer program product of claim 8 , wherein the program instructions are executable by the processor to cause the processor to determine the allocation of the total amount of the global resource among the consumers based on the estimated need by limiting the allocation for each consumer to a value representing usage of the global resource by the consumer over all regions where the consumer is utilizing the global resource plus the lesser of the step-size or a demand for the global resource by the consumer over all regions where the consumer utilizes the global resource.

13. The computer program product of claim 8 , wherein the program instructions are executable by the processor to cause the processor to transfer an allocation of the global resource from a first region to a second region by:

decreasing an allocation of the global resource to the first region;

awaiting an acknowledgement from a slave resource manager of the first region of the decreased allocation;

awaiting for usage of the global resource in the first region to decrease; and

responsive to the usage decreasing in the first region, increasing an allocation of the global resource to the second region.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2014
From: CHEN, CHONG; DING, ZHAOHUI; JIN, ZHE; SHANMUGANATHAN, AJITH; SPRIGGS, MICHAEL J.; WANG, QI; YUAN, CHUN LIANG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 032526/0895 →
Continuity (1)
Related Publication 20150277979A1 · Oct 1, 2015