Network protocol with damage loss resilient congestion control algorithm
Abstract
Various embodiments of a network protocol that utilizes a congestion control algorithm that distinguishes between congestion loss and damage loss are described. In response to a packet loss on a network, a delay-based detection algorithm may be performed based on RTT (Round-Trip Time) information to determine whether the network is congested. If the delay-based detection algorithm does not determine that the network is congested then a consistency-based detection algorithm may be performed based on packet loss rate information. If either the delay-based detection algorithm or the consistency-based detection algorithm determine that the network is congested then the rate of data transmission may be reduced, e.g., by reducing a congestion window size.
Claims
exact text as granted — not AI-modified1. A non-transitory computer-readable storage medium comprising program instructions executable to implement a method comprising:
determining a damage loss rate, wherein the damage loss rate indicates a loss rate of packets due to network transmission error and unrelated to network congestion, and wherein determining the damage loss rate comprises dividing a number of packets lost due to network transmission error by a number of packets transmitted over a network;
after determining the damage loss rate, sending a plurality of packets over the network;
detecting a plurality of packet losses among the plurality of packets sent over the network;
in response to each packet loss:
determining a respective recent packet loss rate, comprising, for the first packet loss, dividing a number of lost packets by a number of packets transmitted since transmission was started, and for a subsequent packet loss, dividing a number of lost packets by a number of packets transmitted since the previous recent packet loss rate was determined;
determining whether the respective recent packet loss rate is greater than the damage loss rate;
if the respective recent packet loss rate is greater than the damage loss rate, incrementing a counter;
if the respective recent packet loss rate is not greater than the damage loss rate, resetting the counter;
determining whether the counter exceeds a threshold value;
if the counter exceeds the threshold value, adjusting a rate of sending subsequent packets over the network; and
if the counter does not exceed the threshold value, maintaining the rate of sending subsequent packets over the network.
2. The non-transitory computer-readable storage medium of claim 1 , wherein adjusting the rate of sending subsequent packets over the network comprises decreasing the rate.
3. The non-transitory computer-readable storage medium of claim 1 , wherein adjusting the rate of sending subsequent packets over the network comprises increasing the rate.
4. The non-transitory computer-readable storage medium of claim 1 , wherein the damage loss rate comprises a long-term damage loss rate.
5. The non-transitory computer-readable storage medium of claim 1 , wherein adjusting the rate of sending subsequent packets over the network comprises adjusting a size of a congestion window.
6. A method comprising:
determining a damage loss rate, wherein the damage loss rate indicates a loss rate of packets due to network transmission error and unrelated to network congestion, and wherein determining the damage loss rate comprises dividing a number of packets lost due to network transmission error by a number of packets transmitted over a network;
after determining the damage loss rate, sending a plurality of packets over the network;
detecting a plurality of packet losses among the plurality of packets sent over the network;
in response to each packet loss:
determining a respective recent packet loss rate, comprising, for the first packet loss, dividing a number of lost packets by a number of packets transmitted since transmission was started, and for a subsequent packet loss, dividing a number of lost packets by a number of packets transmitted since the previous recent packet loss rate was determined;
determining whether the respective recent packet loss rate is greater than the damage loss rate;
if the respective recent packet loss rate is greater than the damage loss rate, incrementing a counter;
if the respective recent packet loss rate is not greater than the damage loss rate, resetting the counter;
determining whether the counter exceeds a threshold value;
if the counter exceeds the threshold value, adjusting a rate of sending subsequent packets over the network; and
if the counter does not exceed the threshold value, maintaining the rate of sending subsequent packets over the network.
7. The method of claim 6 ,
wherein adjusting the rate of sending subsequent packets over the network comprises decreasing the rate.
8. The method of claim 6 ,
wherein adjusting the rate of sending subsequent packets over the network comprises increasing the rate.
9. A system comprising:
one or more processors; and
memory storing program instructions;
wherein the program instructions are executable by the one or more processors to:
determine a damage loss rate, wherein the damage loss rate indicates a loss rate of packets due to network transmission error and unrelated to network congestion, and wherein determining the damage loss rate comprises dividing a number of packets lost due to network transmission error by a number of packets transmitted over a network;
after determining the damage loss rate, send a plurality of packets over the network;
detect a plurality of packet losses among the plurality of packets sent over the network;
in response to each packet loss:
determine a respective recent packet loss rate, comprising, for the first packet loss, dividing a number of lost packets by a number of packets transmitted since transmission was started, and for a subsequent packet loss, dividing a number of lost packets by a number of packets transmitted since the previous recent packet loss rate was determined;
determine whether the respective recent packet loss rate is greater than the damage loss rate;
if the respective recent packet loss rate is greater than the damage loss rate, increment a counter;
if the respective recent packet loss rate is not greater than the damage loss rate, reset the counter;
determine whether the counter exceeds a threshold value;
if the counter exceeds the threshold value, adjust a rate of sending subsequent packets over the network; and
if the counter does not exceed the threshold value, maintain the rate of sending subsequent packets over the network.Join the waitlist — get patent alerts
Track US7821937B1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.