US7821937B1ActiveUtility

Network protocol with damage loss resilient congestion control algorithm

Assignee: SYMANTEC CORPPriority: Jun 29, 2007Filed: Jun 29, 2007Granted: Oct 26, 2010
Est. expiryJun 29, 2027(~0.9 yrs left)· nominal 20-yr term from priority
Inventors:Fanglu Guo
H04L 43/0829H04L 43/0852H04L 43/0864H04L 43/16
96
PatentIndex Score
62
Cited by
24
References
9
Claims

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-modified
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. 
 
 
     
     
       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.