IP Library Granted Patent US 12,647,364
Granted Patent B2
US 12,647,364 · App. 18/152,407 · Granted Jun 2, 2026

Load balancing method, apparatus, and system

Inventors: Zhibin Du (Shanghai, CN); Jianjun Guo (Shanghai, CN); Chao Meng (Shanghai, CN); Haifeng Yu (Shanghai, CN); Zhonghua Hu (Shenzhen, CN); Fengkai Li (Beijing, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L47/125H04L47/18
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 12,647,364
App. No.
18/152,407
Granted
Jun 2, 2026
Kind
B2
Abstract

A load balancing system implemented in a data center network (DCN) includes a controller and a server. The controller generates topology information of the DCN based on information about a network node in the DCN, and sends the topology information to the server. The server obtains a data flow and selects a forwarding path corresponding to the data flow from a plurality of load balancing paths, wherein the plurality of load balancing paths are generated based on the topology information.

Claims (68)

1 . A load balancing method performed by a server configured to calculate end-to-end load balanced paths in a data center network to determine a plurality of load balanced paths within a data center network (DCN) to reduce congestion at downstream nodes, the method comprising:

obtaining, via a communications interface, topology information of a plurality of nodes disposed at different layers of the data center network (DCN), wherein the topology information comprises an identifier of a network node in the data center network and a connection relationship between the network node and a neighboring node in the data center network;

obtaining a data flow path within the DCN;

receiving loading or congestion information via a link layer discovery protocol (LLDP) for a plurality of nodes in the DCN;

perform load balancing analysis for communications within the DCN based upon the loading of congestion information to determine the plurality of load balanced paths that considers node information for nodes disposed at the different layers within the DCN; and

selecting a forwarding path corresponding to the data flow from the plurality of load balancing paths to improve load balancing efficiency in the DCN to reduce congestion for at least one downstream node at a layer beyond a next hop.

2 . The method according to claim 1 , further comprising:

determining the plurality of load balancing paths based on the topology information, and

wherein the step of selecting the forwarding path comprises:

segmenting the data flow to obtain a plurality of flow segments; and

selecting, from the plurality of load balancing paths, a corresponding forwarding path for each of the plurality of flow segments.

3 . The method according to claim 1 , further comprising:

determining a first weight between the server and a destination server based on the topology information, wherein the first weight is for determining the plurality of load balancing paths.

4 . The method according to claim 3 , wherein the step of determining the first weight between the server and the destination server comprises:

calculating a second weight between an intermediate node and the destination server by using a backpropagation algorithm, wherein the intermediate node is located between the server and the destination server; and

determining the first weight between the server and the destination server based on the second weight of the intermediate node.

5 . The method according to claim 4 , wherein the intermediate node comprises a plurality of first-hop nodes connected to the server, and a plurality of second-hop nodes, and wherein the step of determining the plurality of load balancing paths comprises:

selecting a first-hop node from the plurality of first-hop nodes as a first hop of a first load balancing path based on a second weight of at least one of the plurality of first-hop nodes, wherein the first load balancing path is one of the plurality of load balancing paths; and

selecting a second-hop node as a second hop of the first load balancing path based on a second weight of at least one of the plurality of second-hop nodes, or selecting a second-hop node from the plurality of second-hop nodes as a second hop of the first load balancing path in a random, round-robin, or step-based manner.

6 . The method according to claim 4 , wherein the first weight comprises path history information, network status information, or a quantity of connected effective paths between the server and the destination server, and the network status information comprises network congestion, packet loss, port bandwidth, rerouting, or fault information, and the second weight comprises information corresponding to the first weight.

7 . The method according to claim 1 , further comprising:

detecting that a faulty network node recovers to normal after a quantity of faulty network nodes in the data center network reaches or exceeds a threshold; and

regenerating a load balancing path based on updated topology information of the data center network.

8 . The method according to claim 7 , wherein the updated topology information of the data center network comprises node status change information, and the node status change information comprises information indicating that a network node in the data center network is faulty or information indicating that a faulty network node in the data center network recovers to normal.

9 . The method according to claim 1 , further comprising:

detecting a burst flow;

generating an incremental load balancing path based on the topology information; and

sending the burst flow based on the incremental load balancing path.

10 . The method according to claim 9 , further comprising:

deleting the incremental load balancing path after completion of sending the burst flow.

11 . The method according to claim 1 , wherein the step of obtaining the topology information of the data center network comprises:

receiving the topology information from a controller in the data center network.

12 . The method according to claim 11 , wherein the information about the network node comprises information about the server, and the information about the server is sent to the controller by using a first-hop node connected to the server.

13 . A server configured to calculate end-to-end load balanced paths that performs load balancing to determine a plurality of load balanced paths within a data center network (DCN) to reduce congestion at downstream nodes, in a data center network, comprising:

a memory storing executable instructions;

a processor configured to execute the executable instructions to:

obtain, via a communications interface, topology information of a plurality of nodes disposed at different layers in a data center network (DCN), wherein the topology information comprises an identifier of a network node in the data center network and a connection relationship between the network node and a neighboring node in the data center network;

obtain a data flow path within the DCN;

receiving loading or congestion information via a link layer discovery protocol (LLDP) for a plurality of nodes in the DCN;

generate a plurality of load balancing paths based on the topology information;

perform load balancing analysis for communications within the DCN based upon the loading of congestion information to determine the plurality of load balanced paths that considers node information for nodes disposed at the different layers within the DCN; and

select, from the plurality of load balancing paths, a forwarding path corresponding to the data flow to improve load balancing efficiency in the DCN to reduce congestion for at least one downstream node at a layer beyond a next hop.

14 . The server according to claim 13 , wherein the server comprises an intelligent network interface card, and processor is located in the intelligent network interface card.

15 . The server according to claim 13 , wherein the processor is configured to select the forwarding path by:

segmenting the data flow to obtain a plurality of flow segments; and

selecting from the plurality of load balancing paths a corresponding forwarding path for each of the plurality of flow segments.

16 . The server according to claim 13 , wherein the processor is further configured to: determine a first weight between the server and a destination server and determine the plurality of load balancing paths based on the first weight.

17 . The server according to claim 16 , wherein the processor is configured to determine the first weight by:

calculating a second weight of an intermediate node between the server and the destination server by using a backpropagation algorithm; and

determine the first weight between the server and the destination server based on the second weight of the intermediate node.

18 . The server according to claim 17 , wherein the intermediate node comprises a plurality of first-hop nodes connected to the server, and a plurality of second-hop nodes connected to each first-hop node, and wherein the processor is configured to generate the plurality of load balancing paths by:

selecting a first-hop node from the plurality of first-hop nodes as a first hop of a first load balancing path based on a second weight of at least one of the plurality of first-hop nodes, wherein the first load balancing path is one of the plurality of load balancing paths; and

selecting a second-hop node as a second hop of the first load balancing path based on a second weight of at least one of the plurality of second-hop nodes, or selecting a second-hop node from the plurality of second-hop nodes as a second hop of the first load balancing path in a random, round-robin, or step-based manner.

19 . The server according to claim 17 , wherein the first weight comprises path history information, network status information, or a quantity of connected effective paths between the server and the destination server, and the network status information comprises network congestion, packet loss, port bandwidth, rerouting, or fault information, and the second weight comprises information corresponding to the first weight.

20 . A load balancing system configured to determine a plurality of load balanced paths within a data center network (DCN) to reduce congestion at downstream nodes, comprising:

a server in a data center network; and

a controller in the data center network,

wherein the server is configured to:

obtain topology information of a data center network (DCN) of a plurality of nodes disposed at different layers, wherein the topology information comprises an identifier of a network node in the data center network and a connection relationship between the network node and a neighboring node in the data center network;

obtain a data flow path within the DCN;

receive loading or congestion information via a link layer discovery protocol (LLDP) for a plurality of nodes in the DCN;

generate a plurality of load balancing paths based on the topology information;

perform load balancing analysis for communications within the DCN to determine the plurality of load balanced paths that considers node information for nodes disposed at the different layers within the DCN; and

select, from the plurality of load balancing paths to improve load balancing efficiency in the DCN, a forwarding path corresponding to the data flow to reduce congestion for at least one downstream node at a layer beyond a next hop; and

wherein the controller is configured to:

collect information about a network node in the data center network;

generate topology information of the data center network based on a topology model parameter and the information about the network node, wherein the topology information comprises an identifier of the network node in the data center network and a connection relationship between the network node and a plurality of downstream nodes disposed at different layers in the data center network; and

send the topology information to the server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2026
From: DU, ZHIBIN; GUO, JIANJUN; MENG, CHAO; YU, HAIFENG; HU, ZHONGHUA; LI, FENGKAI
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 073764/0468 →
Priority Claims (2)
CN 202010689474.7 · Jul 17, 2020 · national
CN 202010956127.6 · Sep 11, 2020 · national
Continuity (2)
Continuation PCTCN2021094052 · May 17, 2021
Related Publication 20230164080A1 · May 25, 2023
References Cited (11)
US 9871712B1 · Sorenson, III · 2018 [cited by examiner]
US 10574577B1 · Matthews · 2020 [cited by examiner]
US 11481361B1 · Dhoke · 2022 [cited by examiner]
US 20160094643A1 · Jain · 2016 [cited by examiner]
US 20170171084A1 · Hao et al. · 2017 [cited by applicant]
US 20170324664A1 · Xu · 2017 [cited by examiner]
US 20190104206A1 · Goel et al. · 2019 [cited by applicant]
US 20200234582A1 · Mintz · 2020 [cited by examiner]
CN 107819695A · 2018 [cited by applicant]
CN 108540876A · 2018 [cited by applicant]
CN 106411733B · 2019 [cited by applicant]