IP Library Granted Patent US 11,876,705
Granted Patent B2
US 11,876,705 · App. 17/553,741 · Granted Jan 16, 2024

Methods and systems for adaptive stochastic-based load balancing

Inventors: Amir Baniamerian (Montreal, CA); Xingjun Chu (Ottawa, CA); Mohammed El Azzab (Ottawa, CA); Salaheddine Hamadi (Ottawa, CA)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L45/38H04L45/122H04L47/29
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 11,876,705
App. No.
17/553,741
Granted
Jan 16, 2024
Kind
B2
Abstract

Methods and systems for load balancing of a communication network are described. Examples of the disclosed methods and systems may be topology agnostic (not specific to a particular network topology). Congestion information is obtained for a plurality of paths between two switches in the communication network. A selection probability is obtained for each path using the congestion information. A flowlet is assigned to a path based on the selection probabilities. Each path may be assigned to a path group, where each path group comprises paths of equal length. The selection probabilities may be computed for each path group and for each path within each path group, and the flowlet may be assigned by selecting a path group based on the selection probabilities of the path groups, and selecting a path within the selected path group.

Claims (34)

1. A method for load balancing of a communication network, the method comprising:

obtaining congestion information for a plurality of paths between two switches in the communication network, wherein each path in the plurality of paths is assigned to one of one or more path groups, and wherein each path group comprises paths of equal length;

obtaining a selection probability for each path in the plurality of paths, wherein the selection probability is determined using the congestion information, wherein the selection probability is further determined for each path by computing a selection probability for each path group and computing a conditional probability for selecting each path within each path group; and

assigning a flowlet to a selected path in the plurality of paths based on the selection probabilities by selecting a path group based on the selection probabilities of the one or more path groups, and selecting the selected path within the selected path group based on the conditional probabilities.

2. The method of claim 1 , wherein assigning the flowlet to the path comprises:

selecting the selected path group based on the selection probabilities of the one or more path groups, wherein the selection probability of a shortest length path group is checked first and the selection probability of a next-shortest length path group is checked only if the shortest length path group is not selected;

wherein the selection probability of each path group is checked, in order of increasing length path group, until a path group is selected or a longest length path group is selected.

3. The method of claim 1 , wherein assigning the flowlet to the selected path further comprises:

after selecting the selected path group, selecting the selected path based on the conditional probabilities of the paths within the selected path group.

4. The method of claim 1 , wherein the one or more path groups are ordered in order of increasing path length, and the selection probability for a given path group is computed based on the selection probability for a next path group in the order of increasing path length.

5. The method of claim 1 , wherein the selection probability of each path is determined based on both the congestion information and a path length of each path.

6. The method of claim 1 , wherein the selection probability for each path is determined using a stability factor, and wherein the stability factor causes the determination of the selection probability for a given path to be dependent on a previous determination of the selection probability for the given path.

7. The method of claim 1 , wherein the congestion information for each given path of the plurality of paths is obtained as a congestion metric that is determined using a congestion measurement obtained at each switch along the given path, wherein the congestion metric represents a congestion level at each given switch when the congestion measurement at the given switch falls between a first lower threshold and a second higher threshold, wherein the congestion metric is set to a value representing no congestion when the congestion measurement falls below the first lower threshold, and wherein the congestion metric is set to a value representing fully congested when the congestion measurement at the given switch falls above the second higher threshold.

8. The method of claim 7 , wherein at least one of the first lower threshold or the second higher threshold is a variable threshold that is dependent on a number of flows in the given path.

9. The method of claim 1 , wherein the determination of the selection probability for each path is performed using only operations at a switch of the two switches.

10. A switch in a communication network, comprising:

a storage; and

a processor configured to execute instructions stored in the storage to cause the switch to:

obtain congestion information for a plurality of paths between the switch and a destination switch, wherein each path in the plurality of paths is assigned to one of one or more path groups, and wherein each path group comprises paths of equal length;

obtain a selection probability for each path in the plurality of paths, wherein the selection probability is determined using the congestion information, wherein the selection probability is further determined for each path by computing a selection probability for each path group and computing a conditional probability for selecting each path within each path group; and

assign a flowlet to a selected path in the plurality of paths based on the selection probabilities by selecting a path group based on the selection probabilities of the one or more path groups, and selecting the selected path within the selected path group based on the conditional probabilities.

11. The switch of claim 10 , wherein assigning the flowlet to the path comprises:

selecting the selected path group based on the selection probabilities of the one or more path groups, wherein the selection probability of a shortest length path group is checked first and the selection probability of a next-shortest length path group is checked only if the shortest length path group is not selected;

wherein the selection probability of each path group is checked, in order of increasing length path group, until a path group is selected or a longest length path group is selected.

12. The switch of claim 10 , wherein assigning the flowlet to the path further comprises:

after selecting the selected path group, selecting the selected path based on the conditional probabilities of the paths within the selected path group.

13. The switch of claim 10 , wherein the selection probability for each path is determined using a stability factor, and wherein the stability factor causes the determination of the selection probability for a given path to be dependent on a previous determination of the selection probability for the given path.

14. The switch of claim 10 , wherein the congestion information for each given path of the plurality of paths is obtained as a congestion metric that is determined using a congestion measurement obtained at each switch along the given path, wherein the congestion metric represents a congestion level at each given switch when the congestion measurement at the given switch falls between a first lower threshold and a second higher threshold, wherein the congestion metric is set to a value representing no congestion when the congestion measurement falls below the first lower threshold, and wherein the congestion metric is set to a value representing fully congested when the congestion measurement at the given switch falls above the second higher threshold.

15. The switch of claim 14 , wherein at least one of the first lower threshold or the second higher threshold is a variable threshold that is dependent on a number of flows in the given path.

16. The switch of claim 10 , wherein the determination of the selection probability for each path is performed using only operations at the switch.

17. A non-transitory computer readable medium having instructions encoded thereon, wherein the instructions, when executed by a processor of a switch in a communication network, cause the switch to:

obtain congestion information for a plurality of paths between the switch and a destination switch, wherein each path in the plurality of paths is assigned to one of one or more path groups, and wherein each path group comprises paths of equal length;

obtain a selection probability for each path in the plurality of paths, wherein the selection probability is determined using the congestion information, wherein the selection probability is further determined for each path by computing a selection probability for each path group and computing a conditional probability for selecting each path within each path group; and

assign a flowlet to a path in the plurality of paths based on the selection probabilities by selecting a path group based on the selection probabilities of the one or more path groups, and selecting the selected path within the selected path group based on the conditional probabilities.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2022
From: BANIAMERIAN, AMIR; CHU, XINGJUN; EL AZZAB, MOHAMMED; HAMADI, SALAHEDDINE
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 060699/0620 →
Continuity (1)
Related Publication 20230198895A1 · Jun 22, 2023
Cited By (1)
US 12,294,515