IP Library Granted Patent US 8,661,136
Granted Patent B2
US 8,661,136 · App. 13/274,385 · Granted Feb 25, 2014

Method and system for work load balancing

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 8,661,136
App. No.
13/274,385
Granted
Feb 25, 2014
Kind
B2
Abstract

Method, system, and programs for balancing work load in a distributed system. A plurality of multi-dimensional load metrics are received from a plurality of resource units in the distributed system. Based on the received plurality of multi-dimensional load metrics and a global statistical load model, a load deviance for each resource unit is computed. The plurality of resource units in the distributed system are then ranked based on the load deviance of each resource unit. At least one load balancing action is further determined based on the ranked resource units and at least one load balancing policy.

Claims (80)

1. A method, implemented on at least one machine each having at least one processor, storage, and a communication platform connected to a network for balancing work load in a distributed system, comprising:

receiving, by a sensing module, a plurality of multi-dimensional load metrics from a plurality of resource units in the distributed system;

computing, by a computation module, a load deviance for each resource unit based on a global statistical load model and the received plurality of multi-dimensional load metrics;

ranking, by a ranking module, the plurality of resource units in the distributed system based on the load deviance of each resource unit; and

determining, by an action module, at least one load balancing action based on the ranked resource units and at least one load balancing policy.

2. The method of claim 1 further comprising:

storing temporally, by the action module, the determined at least one load balancing action; and

performing, by a load assignment manager, one of the stored at least one load balancing action.

3. The method of claim 1 further comprising optimizing, by an optimization module, the global statistical load model by updating configuration parameters of the global statistical load model based on the received plurality of multi-dimensional load metrics and the at least one load balancing policy.

4. The method of claim 1 , wherein the step of computing a load deviance for each resource unit comprises:

calculating a load mean and a load variance of the distributed system based on the received plurality of multi-dimensional load metrics;

determining a normal operation band based on the calculated load mean and load variance; and

for each resource unit, computing the load deviance based on the normal operation band and a last extreme load metric of the resource unit.

5. The method of claim 1 , wherein the step of computing a load deviance for each resource unit comprises:

calculating a load median of the distributed system based on the received plurality of multi-dimensional load metrics;

determining a plurality of percentile bands based on the calculated load median; and

for each resource unit, computing the load deviance based on at least some of the plurality of percentile bands and a last extreme load metric of the resource unit.

6. The method of claim 1 , wherein the step of computing a load deviance for each resource unit comprises:

calculating a load median of the distributed system based on the received plurality of multi-dimensional load metrics;

determining a plurality of percentile bands based on the calculated load median; and

for each resource unit, computing the load deviance based on at least some of the plurality of percentile bands using digit summation, wherein the load deviance is a load percentile array including a plurality of elements, each corresponding to one of the some percentile bands.

7. The method of claim 1 , wherein the step of ranking the plurality of resource units further comprises:

removing any resource unit that was previously applied to a load balancing action within a predetermined time period; and

assigning some of the plurality of resource units into an overload pool and an underload pool based on the load deviances of the resource units.

8. The method of claim 7 , wherein the step of determining at least one load balancing action comprises:

selecting one or more resource units from each of the overload pool and underload pool; and

determining the at least one load balancing action applying to the selected one or more resource units based on the at least one load balancing policy including a balancing objective function and a balancing rule.

9. The method of claim 1 , further comprising determining, by the computation module, one or more principal load axes based on a distribution of the plurality of multi-dimensional load metrics, wherein

the step of ranking the plurality of resource units further comprises ranking the plurality of resource units in the distributed system based on the one or more principal load axes and the load deviance of each resource unit.

10. The method of claim 9 , wherein the one or more principal load axes are determined along a direction in which most information can be obtained from ranking from the distribution of the plurality of multi-dimensional load metrics.

11. The method of claim 1 , wherein

the plurality of multi-dimensional load metrics are periodically received at a first rate, and

the at least one load balancing action is periodically determined at a second rate.

12. A system for balancing work load in a distributed system, comprising:

a sensing module configured to receive a plurality of multi-dimensional load metrics from a plurality of resource units in the distributed system;

a computation module operatively coupled to the sensing module, configured to compute a load deviance for each resource unit based on a global statistical load model and the received plurality of multi-dimensional load metrics;

a ranking module operatively coupled to the computation module, configured to rank the plurality of resource units in the distributed system based on the load deviance of each resource unit; and

an action module operatively coupled to the ranking module, configured to determine at least one load balancing action based on the ranked resource units and at least one load balancing policy.

13. The system of claim 12 , wherein

the action module is further configured to store temporally the determined at least one load balancing action, and

the system further comprises a load assignment manager operatively coupled to the action module, configured to perform one of the stored at least one load balancing action.

14. The system of claim 12 further comprising an optimization module operatively coupled to the action module, the ranking module, the computation module, and the sensing module, configured to optimize the global statistical load model by updating configuration parameters of the global statistical load model based on the received plurality of multi-dimensional load metrics and the at least one load balancing policy.

15. The system of claim 12 , wherein the computation module, in computing the load deviance for each resource unit, is further configured to:

calculate a load mean and a load variance of the distributed system based on the received plurality of multi-dimensional load metrics;

determine a normal operation band based on the calculated load mean and load variance; and

for each resource unit, determine the load deviance based on the normal operation band and a last extreme load metric of the resource unit.

16. The system of claim 12 , wherein the computation module, in computing the load deviance for each resource unit, is further configured to:

calculate a load median of the distributed system based on the received plurality of multi-dimensional load metrics;

determine a plurality of percentile bands based on the calculated load median; and

for each resource unit, compute the load deviance based on at least some of the plurality of percentile bands and a last extreme load metric of the resource unit.

17. The system of claim 12 , wherein the computation module, in computing the load deviance for each resource unit, is further configured to:

calculate a load median of the distributed system based on the received plurality of multi-dimensional load metrics;

determine a plurality of percentile bands based on the calculated load median; and

for each resource unit, compute the load deviance based on at least some of the plurality of percentile bands using digit summation, wherein the load deviance is a load percentile array including a plurality of elements, each corresponding to one of the some percentile bands.

18. The system of claim 12 , wherein the ranking module, in ranking the plurality of resource units, is further configured to:

remove any resource unit that was previously applied to a load balancing action within a predetermined time period; and

assign some of the plurality of resource units into an overload pool and an underload pool based on the load deviances of the resource units.

19. The system of claim 18 , wherein the action module, in determining the at least one load balancing action, is further configured to:

select one or more resource units from each of the overload pool and underload pool; and

determine the at least one load balancing action applying to the selected one or more resource units based on the at least one load balancing policy including a balancing objective function and a balancing rule.

20. The system of claim 12 , wherein

the computation module is further configured to determine one or more principal load axes based on a distribution of the plurality of multi-dimensional load metrics, and

the ranking module, in ranking the plurality of resource units, is further configured to rank the plurality of resource units in the distributed system based on the one or more principal load axes and the load deviance of each resource unit.

21. A machine-readable tangible and non-transitory medium having information for balancing work load in a distributed system recorded thereon, wherein the information, when read by the machine, causes the machine to perform the following:

receiving a plurality of multi-dimensional load metrics from a plurality of resource units in the distributed system;

computing a load deviance for each resource unit based on a global statistical load model and the received plurality of multi-dimensional load metrics;

ranking the plurality of resource units in the distributed system based on the load deviance of each resource unit; and

determining at least one load balancing action based on the ranked resource units and at least one load balancing policy.

22. The medium of claim 21 , wherein computing a load deviance for each resource unit comprises:

calculating a load mean and a load variance of the distributed system based on the received plurality of multi-dimensional load metrics;

determining a normal operation band based on the calculated load mean and load variance; and

for each resource unit, computing the load deviance based on the normal operation band and a last extreme load metric of the resource unit.

23. The medium of claim 21 , wherein computing a load deviance for each resource unit comprises:

calculating a load median of the distributed system based on the received plurality of multi-dimensional load metrics;

determining a plurality of percentile bands based on the calculated load median; and

for each resource unit, computing the load deviance based on at least some of the plurality of percentile bands and a last extreme load metric of the resource unit.

24. The medium of claim 21 , wherein computing a load deviance for each resource unit comprises:

calculating a load median of the distributed system based on the received plurality of multi-dimensional load metrics;

determining a plurality of percentile bands based on the calculated load median; and

for each resource unit, computing the load deviance based on at least some of the plurality of percentile bands using digit summation, wherein the load deviance is a load percentile array including a plurality of elements, each corresponding to one of the some percentile bands.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 17, 2011
From: TUMBDE, ADWAIT; ALBERT, SAHAYA ANDREWS; SILBERSTEIN, ADAM; PERINKULAM, SURYANARAYAN; MORTAZAVI, MASOOD; CHEN, JIANJUN; SEARS, RUSSELL
To: YAHOO! INC.
Reel/Frame 027068/0950 →