IP Library Patent Application 12006132
Patent Application
App. No. 12/006,132

Assigning work to a processing entity according to non-linear representations of loadings

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 None
App. No.
12/006,132
Abstract

To perform load balancing across plural processing entities, load level indications associated with plural processing entities are received. The load level indications are representations based on applying a concave function on loadings of the plural processing entities. A processing entity is selected from among the plural processing entities to assign work according to the load level indications.

Claims (44)

1 . A method of performing load balancing across plural processing entities, comprising:

receiving load level indications associated with the plural processing entities, wherein the load level indications are representations based on a concave function applied on loadings of the plural processing entities; and

selecting a processing entity from among the plural processing entities to assign work according to the load level indications.

2 . The method of claim 1 , wherein each of the load level indications is computed by applying a logarithmic formula to the corresponding loading of a corresponding one of the processing entities, the concave function being the logarithmic formula.

3 . The method of claim 1 , wherein lower load levels have narrower variations in loadings and higher load levels have wider variations in loadings.

4 . The method of claim 1 , further comprising:

assigning work to a selected first one of the processing entity,

wherein assigning the work uses a window flow control procedure in which a limit is set on a number of work units that can be assigned to the first processing entity.

5 . The method of claim 4 , further comprising:

selecting a second one of the processing entities according to the received load level indications in response to detecting that the limit on the number of work units has been reached in assigning work to the first processing entity.

6 . The method of claim 5 , further comprising:

receiving updated load level indications associated with the plural processing entities,

wherein selecting the second processing entity is according to the updated load level indications.

7 . The method of claim 1 , further comprising:

determining that the load level indications of at least some of the processing entities are equal,

wherein selecting the processing entity is further based on a round robin selection of the at least some processing entities.

8 . The method of claim 1 , further comprising:

determining that the load level indications of at least some of the processing entities are equal,

wherein selecting the processing entity is further based on a random selection of the at least some processing entities.

9 . The method of claim 1 , wherein selecting the processing entity comprises selecting the processing entity that has a lowest load level based on comparing the load level indications.

10 . The method of claim 1 , wherein the receiving and selecting are performed by a controller, and wherein the controller and processing entities are part of a node.

11 . The method of claim 9 , wherein the node comprises a mobile communications network node, and wherein the receiving and selecting are performed by the controller in the mobile communications network node.

12 . The method of claim 1 , wherein the receiving and selecting are performed by a first controller, the method further comprising:

a second controller receiving second load level indications associated with the plural processing entities, the second load level indications being representations based on a concave function applied on loadings of the processing entities; and

the second controller selecting from among the plural processing entities according to the second load level indications.

13 . The method of claim 12 , wherein the second load level indications received at the second controller are the same as the load level indications received by the first controller, and wherein the receiving and selecting by the second controller are performed concurrently with the receiving and selecting by the first controller.

14 . The method of claim 1 , wherein receiving the load level indications associated with the plural processing entities comprises one of:

(1) receiving the load level indications from the plural processing entities; and

(2) receiving load information from the plural processing entities and computing the load level indications from the received load information.

15 . A node comprising:

a controller; and

processing entities, the controller to:

store load level indications based on load information received from the plural processing entities, wherein the load level indications are calculated from applying a logarithmic formula to loadings of the plural processing entities; and

select a processing entity from among the plural processing entities to assign work according to the load level indications.

16 . The node of claim 15 , wherein the received load information from the plural processing entities comprises one of: (1) loadings of the plural processing entities; and (2) the load level indications.

17 . The node of claim 15 , wherein the controller in selecting the processing entity from among the plural processing entities also uses a window flow control procedure in which a number of service requests that can be submitted to any processing entity is limited to a maximum number.

18 . The node of claim 15 , wherein the controller is configured to further:

identify a target set of processing entities from among the plural processing entities, wherein the target set has processing entities having equal load levels, and

wherein the selected processing entity is selected from among the target set of processing entities according to one of a round robin selection algorithm and a random selection algorithm.

19 . An article comprising at least one computer-readable storage medium containing instructions that when executed cause a controller to:

receive load level indications associated with the plural processing entities, wherein the load level indications are logarithmic representations of loadings of the plural processing entities; and

select a processing entity from among the plural processing entities to assign work according to the load level indications

20 . The article of claim 19 , wherein the instructions when executed cause the controller to further:

use hysteresis to increase and decrease load levels of the processing entities.

Assignments (5)
CHANGE OF NAME Recorded Dec 22, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034688/0899 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2012
From: ROCKSTAR BIDCO, LP
To: 2256355 ONTARIO LIMITED
Reel/Frame 028018/0848 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2012
From: 2256355 ONTARIO LIMITED
To: RESEARCH IN MOTION LIMITED
Reel/Frame 028020/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2011
From: NORTEL NETWORKS LIMITED
To: ROCKSTAR BIDCO, LP
Reel/Frame 027143/0717 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 29, 2008
From: CORUM, ERIC C.; ERHART, WESLEY R.; TONTIRUTTANANON, CHANNARONG
To: NORTEL NETWORKS LIMITED
Reel/Frame 020610/0591 →