IP Library Granted Patent US 11,546,239
Granted Patent B2
US 11,546,239 · App. 17/219,813 · Granted Jan 3, 2023

Data packet traffic conditioning with packet striping through lossy data paths

Inventors: Kapil Bajaj (Fremont, CA); Apurva Mehta (Cupertino, CA)
Assignee: VERSA NETWORKS, INC.
H04L43/0882H04L1/0061H04L47/24
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,546,239
App. No.
17/219,813
Granted
Jan 3, 2023
Kind
B2
Abstract

Embodiments herein disclose conditioning traffic through multiple data paths of a Software-Defined Wide Area Network (SD-WAN). Some embodiments include monitoring a first and a second path through an SD-WAN to reach a destination node, comparing the link utilization for the first and the second path to generate an allocation ratio of the first and the second path, allocating a sequence of data packets to the first and the second path using the allocation ratio to generate a first path data sequence and a second path data sequence, generating a forward error correction (FEC) packet for first path sequence, sending the first path data sequence to the destination node on the first path, sending the second path data sequence to the destination node on the second path, and sending the FEC packet on at least one of the first and the second path.

Claims (77)

1. A method of conditioning traffic through multiple paths of a Software-Defined Wide Area Network (SD-WAN), the method comprising:

monitoring a first and a second path through an SD-WAN to reach a destination node;

determining a link utilization for the first and the second path by determining an assigned traffic bandwidth of the respective path, determining a traffic rate of the respective path, and comparing the respective traffic rate to the respective assigned traffic bandwidth;

comparing the link utilization for the first and the second path to generate an allocation ratio of the first and the second path;

allocating a sequence of data packets to the first and the second path using the allocation ratio to generate a first path data sequence and a second path data sequence;

generating a forward error correction (FEC) packet for the first path sequence;

sending the first path data sequence to the destination node on the first path;

sending the second path data sequence to the destination node on the second path; and

sending the FEC packet on at least one of the first and the second path.

2. The method of claim 1 , further comprising:

determining a quality score for packets to the destination node on the first path;

determining a quality score for packets to the destination node on the second path;

comparing the quality score of the first path and the second path to determine a path with higher quality; and

adjusting the allocation ratio to increase traffic on the path having the higher quality.

3. The method of claim 2 , wherein determining the quality score comprises determining a packet loss score.

4. The method of claim 1 , wherein determining the traffic rate comprises taking an average of the traffic rate over time.

5. The method of claim 1 , wherein generating the FEC packet comprises selecting a number of packets of the data packet sequence based on the quality score and wherein generating the FEC packet comprises generating the FEC packet for the selected number of packets.

6. The method of claim 5 , further comprising attaching a header to the FEC packet to indicate the selected number of packets.

7. The method of claim 6 , further comprising attaching a header to the data packets configured to indicate an FEC packet.

8. The method of claim 1 , wherein the FEC packet is an exclusive OR parity packet.

9. The method of claim 1 , further comprising:

replicating the FEC packet; and

sending the replicated FEC packet to the destination node on the other of the first and the second paths.

10. The method of claim 1 , wherein sending the FEC packet comprises sending the FEC packet on the second path, the method further comprising:

determining a quality score for packets to the destination node on the first path;

replicating the FEC packet; and

sending the replicated FEC packet to the destination node on the second path in response to the quality score for the first path being less than a threshold.

11. The method of claim 1 , wherein sending the FEC packet comprises sending the FEC packet on the second path, the method further comprising:

determining a quality score for packets to the destination node on the first path;

replicating the FEC packet; and

sending the replicated FEC packet to the destination node on the second path in response to the link utilization for the second path being less than a high utilization threshold.

12. The method of claim 1 , further comprising:

generating an FEC packet for the second path sequence; and

sending the second path sequence FEC packet to the destination node on the second path.

13. The method of claim 1 , further comprising:

comparing the link utilization on the first path to a high utilization threshold; and

allocating all of the packets of the first path data sequence to the destination node on the second path in response to the first path link utilization being greater than the high utilization threshold.

14. A method of conditioning traffic through multiple paths of a Software-Defined Wide Area Network (SD-WAN), the method comprising:

monitoring a first and a second path through an SD-WAN to reach a destination node;

determining a link utilization for the first and the second path;

comparing the link utilization for the first and the second path to generate an allocation ratio of the first and the second path;

determining a quality score for packets to the destination node on the first path;

determining a quality score for packets to the destination node on the second path;

comparing the quality score of the first path and the second path to determine a path with higher quality;

adjusting the allocation ratio to increase traffic on the path having the higher quality;

allocating a sequence of data packets to the first and the second path using the adjusted allocation ratio to generate a first path data sequence and a second path data sequence;

generating a forward error correction (FEC) packet for the first path sequence;

sending the first path data sequence to the destination node on the first path;

sending the second path data sequence to the destination node on the second path; and

sending the FEC packet on at least one of the first and the second path.

15. A method of conditioning traffic through multiple paths of a Software-Defined Wide Area Network (SD-WAN), the method comprising:

monitoring a first and a second path through an SD-WAN to reach a destination node;

determining a link utilization for the first and the second path;

comparing the link utilization for the first and the second path to generate an allocation ratio of the first and the second path;

allocating a sequence of data packets to the first and the second path using the adjusted allocation ratio to generate a first path data sequence and a second path data sequence;

generating a forward error correction (FEC) packet for the first path sequence by selecting a number of packets of the data packet sequence based on the quality score and generating the FEC packet for the selected number of packets;

sending the first path data sequence to the destination node on the first path;

sending the second path data sequence to the destination node on the second path; and

sending the FEC packet on at least one of the first and the second.

16. A method of conditioning traffic through multiple paths of a Software-Defined Wide Area Network (SD-WAN), the method comprising:

monitoring a first and a second path through an SD-WAN to reach a destination node;

determining a link utilization for the first and the second path;

comparing the link utilization for the first and the second path to generate an allocation ratio of the first and the second path;

allocating a sequence of data packets to the first and the second path using the adjusted allocation ratio to generate a first path data sequence and a second path data sequence;

generating a forward error correction (FEC) packet for first path sequence;

sending the first path data sequence to the destination node on the first path;

sending the second path data sequence to the destination node on the second path; and

sending the FEC packet on at least one of the first and the second path by determining a quality score for packets to the destination node on the first path, replicating the FEC packet, and sending the replicated FEC packet to the destination node on the second path in response to the quality score for the first path being less than a threshold.

17. A method of conditioning traffic through multiple paths of a Software-Defined Wide Area Network (SD-WAN), the method comprising:

monitoring a first and a second path through an SD-WAN to reach a destination node;

determining a link utilization for the first and the second path;

comparing the link utilization for the first and the second path to generate an allocation ratio of the first and the second path;

allocating a sequence of data packets to the first and the second path using the adjusted allocation ratio to generate a first path data sequence and a second path data sequence;

generating a forward error correction (FEC) packet for first path sequence;

sending the first path data sequence to the destination node on the first path;

sending the second path data sequence to the destination node on the second path; and

sending the FEC packet on at least one of the first and the second path by determining a quality score for packets to the destination node on the first path, replicating the FEC packet, and sending the replicated FEC packet to the destination node on the second path in response to the link utilization for the second path being less than a high utilization threshold.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Jan 27, 2025
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: VERSA NETWORKS, INC.
Reel/Frame 070010/0374 →
RELEASE OF SECURITY INTEREST Recorded Jan 27, 2025
From: SILICON VALLEY BANK
To: VERSA NETWORKS, INC.
Reel/Frame 070010/0384 →
SECURITY INTEREST Recorded Oct 20, 2023
From: VERSA NETWORKS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 065289/0303 →
SECURITY INTEREST Recorded Mar 29, 2022
From: VERSA NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 059423/0004 →
SECURITY INTEREST Recorded Mar 29, 2022
From: VERSA NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 059423/0028 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2021
From: BAJAJ, KAPIL; MEHTA, APURVA
To: VERSA NETWORKS, INC.
Reel/Frame 056299/0662 →
Continuity (1)
Related Publication 20220321443A1 · Oct 6, 2022
Cited By (1)
US 12,381,805