IP Library › Granted Patent US 11,444,875
Granted Patent B2
US 11,444,875 · App. 17/032,874 · Granted Sep 13, 2022

Per-packet load-balancing over multiple network paths

Inventors: Luca Della Chiesa (Concorezzo, IT); Christian Schmutzer (Koenigsbrunn im Weinviertel, AT); Patrice Brissette (Ontario, CA)
Assignee: CISCO TECHNOLOGY, INC.
H04L47/125H04L12/4641H04L45/24H04L47/41H04L47/726
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,444,875
App. No.
17/032,874
Granted
Sep 13, 2022
Kind
B2
Abstract

Techniques are presented herein for load-balancing a sequence of packets over multiple network paths on a per-packet basis. In one example, a first network node assigns sequence numbers to a sequence of packets and load-balances the sequence of packets on a per-packet basis over multiple network paths of a network to a second network node. The second network node buffers received packets that are received over the multiple network paths of the network from the first network node and re-orders the received packets according to sequence numbers of the received packets.

Claims (59)

1. A method comprising:

at a first network node:

assigning sequence numbers to a sequence of packets; and

load-balancing the sequence of packets on a per-packet basis over multiple network paths of a network to a second network node, including transmitting the sequence of packets in a single pseudowire over the network from the first network node to the second network node; and

at the second network node:

buffering received packets that are received over the multiple network paths of the network from the first network node; and

re-ordering the received packets according to sequence numbers of the received packets.

2. The method of claim 1 , further comprising:

at the first network node:

obtaining a sequence of bits; and

converting the sequence of bits to the sequence of packets.

3. The method of claim 2 , further comprising:

at the second network node:

converting the received packets to the sequence of bits.

4. The method of claim 1 , wherein load-balancing the sequence of packets includes:

load-balancing the sequence of packets based on respective available bandwidths of the multiple network paths.

5. The method of claim 1 , wherein load-balancing the sequence of packets includes:

load-balancing the sequence of packets based on respective packet delays of the multiple network paths.

6. The method of claim 1 , wherein the multiple network paths include respective parallel links.

7. The method of claim 1 , wherein the multiple network paths include respective network nodes.

8. The method of claim 1 , wherein load-balancing the sequence of packets includes:

communicating with the second network node over the network using private line emulation techniques or Ethernet virtual private wire service techniques.

9. The method of claim 1 , wherein the sequence of packets includes a sequence of packets that each share common flow information.

10. A system comprising:

a first network node and a second network node;

wherein the first network node is configured to:

assign sequence numbers to a sequence of packets; and

load-balance the sequence of packets on a per-packet basis over multiple network paths of a network to a second network node, including transmitting the sequence of packets in a single pseudowire over the network from the first network node to the second network node; and

wherein the second network node is configured to:

buffer received packets that are received over the multiple network paths of the network from the first network node; and

re-order the received packets according to sequence numbers of the received packets.

11. The system of claim 10 , wherein the first network node is further configured to:

obtain a sequence of bits; and

convert the sequence of bits to the sequence of packets.

12. The system of claim 11 , wherein the second network node is further configured to:

convert the received packets to the sequence of bits.

13. The system of claim 10 , wherein the first network node is further configured to:

load-balance the sequence of packets based on respective available bandwidths of the multiple network paths.

14. The system of claim 10 , wherein the first network node is further configured to:

load-balance the sequence of packets based on respective packet delays of the multiple network paths.

15. One or more non-transitory computer readable storage media encoded with instructions that, when executed by one or more processors, cause the one or more processors to:

at a first network node:

assign sequence numbers to a sequence of packets; and

load-balance the sequence of packets on a per-packet basis over multiple network paths of a network to a second network node, including transmitting the sequence of packets in a single pseudowire over the network from the first network node to the second network node; and

at the second network node:

buffer received packets that are received over the multiple network paths of the network from the first network node; and

re-order the received packets according to sequence numbers of the received packets.

16. The one or more non-transitory computer readable storage media of claim 15 , wherein the instructions further cause the one or more processors to:

at the first network node:

obtain a sequence of bits; and

convert the sequence of bits to the sequence of packets.

17. The one or more non-transitory computer readable storage media of claim 16 , wherein the instructions further cause the one or more processors to:

at the second network node:

convert the received packets to the sequence of bits.

18. The one or more non-transitory computer readable storage media of claim 15 , wherein the instructions further cause the one or more processors to:

load-balance the sequence of packets based on respective available bandwidths of the multiple network paths.

19. The one or more non-transitory computer readable storage media of claim 15 , wherein the instructions further cause the one or more processors to:

load-balance the sequence of packets based on respective packet delays of the multiple network paths.

20. The method of claim 1 , wherein the single pseudowire is configured on the first network node and the second network node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2020
From: CHIESA, LUCA DELLA; SCHMUTZER, CHRISTIAN; BRISSETTE, PATRICE
To: CISCO TECHNOLOGY, INC.
Reel/Frame 053890/0183 →
Continuity (1)
Related Publication 20220103480A1 · Mar 31, 2022