Data packet traffic conditioning through a lossy data path with forward error correction
AssigneeVersa Networks, Inc.
InventorsKapil Bajaj, Apurva Mehta
Life of this patent
Estimating the term…
Abstract
Embodiments herein disclose conditioning traffic through multiple data paths of a Software-Defined Wide Area Network (SD-WAN). Some embodiments include monitoring a path through an SD-WAN to reach a destination node, determining a quality score for packets to the destination node on the path, determining a link utilization for the path, sending a data packet sequence to the destination node on the path, generating a forward error correction (FEC) packet for the data packet sequence, and sending the FEC packet to the destination node on the path in response to the quality score being less than a quality threshold and the link utilization being less than a high utilization threshold.
Claims20
A method of conditioning traffic through a path of a Software-Defined Wide Area Network (SD-WAN), the method comprising:
- monitoring a path through an SD-WAN from a first site of the SD-WAN to a second site of the SD-WAN to reach a destination node having a destination node address;
- determining a quality score for packets to the destination node on the path;
- determining a link utilization for the path;
- receiving a data packet sequence at the first site from a source node;
- generating SD-WAN headers for packets of the data packet sequence, the SD-WAN headers having the second site address, a packet sequence number for each respective data packet of the data packet sequence and an indication as to whether an FEC packet is also sent;
- attaching the SD-WAN headers to the packets of the data packet sequence at the first site;
- sending the data packet sequence to the destination node on the path from the first site to the second site of the SD-WAN, wherein each packet of the data packet sequence has a respective SD-WAN header with a sequence number and an indication as to whether an FEC packet has been sent for the respective packet;
- generating a forward error correction (FEC) packet for a selected number of packets of the data packet sequence in response to the quality score being less than a quality threshold and the link utilization being less than a high utilization threshold, the FEC packet being configured for the regeneration of one or more data packets by the second site and indicating a number of data packets to which the FEC packet pertains;
- replicating the FEC packet if the quality score on the path is lower than the quality threshold;
- and
- attaching a header to the FEC packet that indicates the selected number of packets to which the FEC packet pertains,
- wherein sending the data packet sequence comprises sending the FEC packet from the first site to the second site with the data packet sequence.
A network node including a first site of a Software-Defined Wide Area Network (SD-WAN), the network node comprising:
- a memory;
- a path monitoring module operated by a processor and configured to monitor a path through an SD-WAN from the first site of the SD-WAN to a second site of the SD-WAN to reach a destination node having a destination node address, to determine a quality score for packets to the destination node on the path, and to determine a link utilization for the path;
- and
- a traffic conditioning module operated by a processor and configured to generate SD-WAN headers for packets of a data packet sequence that is received from a source node, the SD-WAN headers having the second site address, a packet sequence number for each respective data packet of the data packet sequence and an indication as to whether an FEC packet is also sent, to attach the SD-WAN headers to the packets of the data packet sequence at the first site;
- to send the data packet sequence to the destination node on the path from the first site to the second site of the SD-WAN, wherein each packet of the data packet sequence has a respective SD-WAN header with a sequence number and an indication as to whether an FEC packet has been sent for the respective packet, to generate a forward error correction (FEC) packet for a selected number of packets of the data packet sequence in response to the quality score being less than a quality threshold and the link utilization being less than a high utilization threshold, the FEC packet being configured for the regeneration of one or more data packets by the second site and indicating a number of data packets to which the FEC packet pertains, to replicate the FEC packet if the quality score on the path is lower than the quality threshold, to attach a header to the FEC packet that indicates the selected number of packets to which the FEC packet pertains, and to send the data packet sequence by sending the FEC packet on the path from the first site to the second site with the data packet sequence.
A non-transitory computer-readable storage medium containing program instructions, wherein execution of the program instructions by the computer causes the computer to perform operations comprising:
- monitoring a path through an SD-WAN from a first site of the SD-WAN to a second site of the SD-WAN to reach a destination node having a destination node address;
- determining a quality score for packets to the destination node on the path;
- determining a link utilization for the path;
- receiving a data packet sequence at the first site from a source node;
- generating SD-WAN headers for packets of the data packet sequence, the SD-WAN headers having the second site address, a packet sequence number for each respective data packet of the data packet sequence and an indication as to whether an FEC packet is also sent;
- attaching the SD-WAN headers to the packets of the data packet sequence at the first site;
- sending the data packet sequence to the destination node on the path from the first site to the second site of the SD-WAN, wherein each packet of the data packet sequence has a respective SD-WAN header with a sequence number and an indication as to whether an FEC packet has been sent for the respective packet;
- generating a forward error correction (FEC) packet for a selected number of packets of the data packet sequence in response to the quality score being less than a quality threshold and the link utilization being less than a high utilization threshold, the FEC packet being configured for the regeneration of one or more data packets by the second site and indicating a number of data packets to which the FEC packet pertains;
- replicating the FEC packet if the quality score on the path is lower than the quality threshold;
- and
- attaching a header to the FEC packet that indicates the selected number of packets to which the FEC packet pertains,
- wherein sending the data packet sequence comprises sending the FEC packet on the path from the first site to the second site with the data packet sequence.
Dependencies are inferred from the claim text.