IP Library Granted Patent US 12706846
Granted Patent B2
US 12706846 · App. 17/936,337 · Granted Aug 11, 2026

Network device, system and method for cycle-based load balancing

Inventors: Paolo Medagliani (Boulogne Billancourt, FR); Sebastien Martin (Boulogne Billancourt, FR); Shuang Chen (Beijing, CN); Jeremie Leguay (Boulogne Billancourt, FR)
Assignee: Huawei Technologies Co., Ltd.
H04L47/125H04L45/34
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 12706846
App. No.
17/936,337
Granted
Aug 11, 2026
Kind
B2
Abstract

The present disclosure relates to the field of transport networks, packet-based network systems, and load balancing in such network systems. More specifically, the load balancing is performed on a network cycle level. The present disclosure provides a network device for cycle-based load balancing, configured to obtain a load balancing policy comprising an input cycle identifier and an associated output identifier. The network device is further configured to obtain a network packet in an input cycle of the network device, determine an output of the network device based on the input cycle, the input cycle identifier, and the associated output identifier, and provide the network packet to the output of the network device.

Claims (57)

1 . A network device, comprising:

at least one processor; and

a non-transitory computer readable storage medium storing a program that is executable by the at least one processor, the program including instructions to:

obtain a segment routing (SR) load balancing policy, wherein the SR load balancing policy comprises a plurality of arrival cycle identifiers, each arrival cycle identifier is associated with a respective list of IDs in the SR load balancing policy, each arrival cycle identifier is further associated with a respective load distribution indicator, the network device cycles through a plurality of load balancing cycles over time, and the plurality of arrival cycle identifiers correspond to different load balancing cycles of the plurality of load balancing cycles;

obtain a network packet in a first arrival cycle of the network device, wherein the network packet belongs to a first flow and a flow identifier of the first flow doesn't change in the plurality of load balancing cycles;

determine an output of the network device based on the first arrival cycle, the plurality of arrival cycle identifiers, and the lists of IDs associated with the plurality of arrival cycle identifiers; and

provide the network packet to the output of the network device.

2 . The network device according to claim 1 , wherein determining the output of the network device based on the first arrival cycle, the plurality of arrival cycle identifiers, and the lists of IDs associated with the plurality of arrival cycle identifiers, comprises:

determining the output of the network device based on the first arrival cycle, the plurality of arrival cycle identifiers, the lists of IDs associated with the plurality of arrival cycle identifiers, and the load distribution indicators associated with the plurality of arrival cycle identifiers.

3 . The network device according to claim 2 , wherein each load distribution indicator comprises an output load field in the SR load balancing policy; and

wherein the program further includes instructions to:

determine an output load based on the output load fields associated with the plurality of arrival cycle identifiers.

4 . The network device according to claim 1 , wherein each list of IDs is a list of segment IDs.

5 . The network device according to claim 1 , wherein the output of the network device further comprises an output cycle, and each arrival cycle identifier is further associated with a respective output cycle identifier; and

wherein the program further includes instructions to:

determine the output cycle based on the output cycle identifiers associated with the plurality of arrival cycle identifiers.

6 . The network device according to claim 1 , wherein the SR load balancing policy further comprises a burst condition identifier associated with the plurality of arrival cycle identifiers;

wherein the program includes instructions to:

in response to a burst of network packets being received, determine the output of the network device based on the burst condition identifier.

7 . The network device according to claim 1 , wherein the SR load balancing policy further comprises a failure condition identifier associated with the plurality of arrival cycle identifiers; and

wherein the program further includes instructions to:

in reaction to a failure condition being determined by the network device, determine the output of the network device based on the failure condition identifier.

8 . The network device according to claim 1 , wherein the SR load balancing policy further comprises a load balancing condition identifier associated with the plurality of arrival cycle identifiers; and

wherein the program further includes instructions to:

determine the output of the network device based on the load balancing condition identifier.

9 . The network device according to claim 1 , wherein the program further includes instructions to:

determine the SR load balancing policy.

10 . A method, the method comprising:

obtaining, by a network device, a segment routing (SR) load balancing policy, wherein the SR load balancing policy comprises a plurality of arrival cycle identifiers, and each arrival cycle identifier is associated with a respective list of IDs in the SR load balancing policy, each arrival cycle identifier is further associated with a respective load distribution indicator, the network device cycles through a plurality of load balancing cycles over time, and the plurality of arrival cycle identifiers correspond to different load balancing cycles of the plurality of load balancing cycles;

obtaining, by the network device, a network packet in a first arrival cycle of the network device, wherein the network packet belongs to a first flow and a flow identifier of the first flow doesn't change in the plurality of load balancing cycles;

determining, by the network device, an output of the network device based on the first arrival cycle, the plurality of arrival cycle identifiers, and the lists of IDs associated with the plurality of arrival cycle identifiers; and

providing, by the network device, the network packet to the output of the network device.

11 . The method according to claim 10 , wherein determining the output of the network device based on the first arrival cycle, the plurality of arrival cycle identifiers, and the lists of IDs associated with the plurality of arrival cycle identifiers, comprises:

determining the output of the network device based on the first arrival cycle, the plurality of arrival cycle identifiers, the lists of IDs associated with the plurality of arrival cycle identifiers, and the load distribution indicators associated with the plurality of arrival cycle identifiers.

12 . A non-transitory computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to:

obtain a segment routing (SR) load balancing policy, wherein the SR load balancing policy comprises a plurality of arrival cycle identifiers, each arrival cycle identifier is associated with a list of IDs in the SR load balancing policy, each arrival cycle identifier is further associated with a respective load distribution indicator, a network device to which the computer is applied cycles through a plurality of load balancing cycles over time, and the plurality of arrival cycle identifiers correspond to different load balancing cycles of the plurality of load balancing cycles;

obtain a network packet in a first arrival cycle of the network device, wherein the network packet belongs to a first flow and a flow identifier of the first flow doesn't change in the plurality of load balancing cycles;

determine an output of the network device based on the first arrival cycle, the plurality of arrival cycle identifiers, and the lists of IDs associated with the plurality of arrival cycle identifiers; and

provide the network packet to the output of the network device.

13 . The method according to claim 10 , wherein each load distribution indicator comprises an output load field in the SR load balancing policy; and

wherein the method further comprises:

determining an output load based on the output load fields associated with the plurality of arrival cycle identifiers.

14 . The method according to claim 10 , wherein each list of IDs is a list of segment IDs.

15 . The non-transitory computer-readable storage medium according to claim 12 , wherein determining the output of the network device based on the first arrival cycle, the plurality of arrival cycle identifiers, and the lists of IDs associated with the plurality of arrival cycle identifiers, comprises:

determining the output of the network device based on the first arrival cycle, the plurality of arrival cycle identifiers, the lists of IDs associated with the plurality of arrival cycle identifiers, and the load distribution indicators associated with the plurality of arrival cycle identifiers.

16 . The non-transitory computer-readable storage medium according to claim 15 , wherein each load distribution indicator comprises an output load field in the SR load balancing policy; and

wherein the instructions, when executed by the computer, cause the computer to:

determine an output load based on the output load fields associated with the plurality of arrival cycle identifiers.

17 . The non-transitory computer-readable storage medium according to claim 12 , wherein each list of IDs is a list of segment IDs.

18 . The network device according to claim 1 , wherein the program further includes instructions to:

obtain the SR load balancing policy from a network controller.

19 . The method according to claim 10 , wherein the output of the network device further comprises an output cycle, and each arrival cycle identifier is further associated with a respective output cycle identifier; and

wherein the method further comprises:

determining the output cycle based on the output cycle identifiers associated with the plurality of arrival cycle identifiers.

20 . The non-transitory computer-readable storage medium according to claim 12 , wherein the output of the network device further comprises an output cycle, and each arrival cycle identifier is further associated with a respective output cycle identifier; and

wherein the instructions, when executed by the computer, cause the computer to:

determine the output cycle based on the output cycle identifiers associated with the plurality of arrival cycle identifiers.