Network protocol with damage loss resilient congestion control algorithm
First Claim
1. 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.
7 Assignments
0 Petitions
Accused Products
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.
59 Citations
9 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5)
-
-
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. - View Dependent Claims (7, 8)
-
-
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.
-
Specification