P
US8531944B2ActiveUtilityPatentIndex 84

Systems and methods for providing virtual fair queuing of network traffic

Assignee: PLAMONDON ROBERTPriority: Mar 12, 2007Filed: May 21, 2010Granted: Sep 10, 2013
Est. expiryMar 12, 2027(~0.7 yrs left)· nominal 20-yr term from priority
Inventors:PLAMONDON ROBERT
H04L 47/10H04L 47/11H04L 47/125H04L 47/27H04L 47/33H04L 47/822H04L 47/25
84
PatentIndex Score
5
Cited by
214
References
18
Claims

Abstract

Systems and methods for dynamically controlling bandwidth of connections are described. In some embodiments, a proxy for one or more connections may allocate, distribute, or generate indications of network congestion via one or more connections in order to induce the senders of the connections to reduce their rates of transmission. The proxy may allocate, distribute, or generate these indications in such a way as to provide quality of service to one or more connections, or to ensure that a number of connections transmit within an accepted bandwidth limit. In other embodiments, a sender of a transport layer connection may have a method for determining a response to congestion indications which accounts for a priority of the connection. In these embodiments, a sender may reduce or increase parameters related to transmission rate at different rates according to a priority of the connection.

Claims

exact text as granted — not AI-modified
I claim: 
     
       1. A method of distributing congestion events by a device among a plurality of transport layer connections based on protocol, the method comprising:
 (a) assigning, by a device, a priority to each of a plurality of transport layer connections based on a corresponding protocol carried via each of the plurality of transport layer connections; 
 (b) receiving, by the device, via a first transport layer connection of the plurality of transport layer connections, a first congestion event; and 
 (c) transmitting, by the device responsive to receiving the first congestion event, a second congestion event via a second transport layer connection selected from the plurality of transport layer connections based on assigned priorities, wherein the device has not received an indication of a congestion event via the second transport layer connection within a predetermined time period. 
 
     
     
       2. The method of  claim 1 , wherein step (a) further comprises assigning a different priority to user datagram protocol (UDP) transport layer connections than transport control protocol (TCP). 
     
     
       3. The method of  claim 1 , wherein step (b) further comprises receiving a packet comprising marked Explicit Congestion Notification (ECN) bits. 
     
     
       4. The method of  claim 1 , wherein step (b) further comprises receiving a packet comprising a duplicate acknowledgment of a packet that has previously been acknowledged. 
     
     
       5. The method of  claim 1 , wherein step (c) further comprises selecting the second transport layer connection from the plurality of transport layer connections according to the assigned priorities. 
     
     
       6. The method of  claim 1 , wherein step (c) further comprises selecting the second transport layer connection from the plurality of transport layer connections according to according to a bandwidth usage of each of the plurality of transport layer connections. 
     
     
       7. A method of distributing congestion events by a device among a plurality of transport layer connections based on average transaction size, the method comprising:
 (a) assigning, by a device, a priority to each of a plurality of transport layer connections based on a corresponding average transaction size of network traffic traversing each of the plurality of transport layer connections; 
 (b) receiving, by the device, via a first transport layer connection of the plurality of transport layer connections, a first congestion event; 
 (c) transmitting, by the device responsive to receiving the first congestion event, a second congestion event via a second transport layer connection selected from the plurality of transport layer connections based on assigned priorities, wherein the device has not received an indication of a congestion event via the second transport layer connection within a predetermined time period. 
 
     
     
       8. The method of  claim 7 , wherein step (a) further comprises assigning a higher priority to transport layer connections carrying shorter transactions. 
     
     
       9. The method of  claim 7 , wherein step (a) further comprises assigning the priority to each of the plurality of transport layer connections based on a current transaction size. 
     
     
       10. The method of  claim 7 , wherein step (b) further comprises receiving a packet comprising marked Explicit Congestion Notification (ECN) bits. 
     
     
       11. The method of  claim 7 , wherein step (b) further comprises receiving a packet comprising a duplicate acknowledgment of a packet that has previously been acknowledged. 
     
     
       12. The method of  claim 7 , wherein step (c) further comprises selecting the second transport layer connection from the plurality of transport layer connections according to the assigned priorities. 
     
     
       13. A method of distributing congestion events by a device among a plurality of transport layer connections based on bandwidth, the method comprising:
 (a) assigning, by a device, a priority to each of a plurality of transport layer connections based on a corresponding bandwidth assigned to each of the plurality of transport layer connections; 
 (b) receiving, by the device, via a first transport layer connection of the plurality of transport layer connections, a first congestion event; and 
 (c) transmitting, by the device responsive to receiving the first congestion event, a second congestion event via a second transport layer connection selected from the plurality of transport layer connections based on assigned priorities, wherein the device has not received an indication of a congestion event via the second transport layer connection within a predetermined time period. 
 
     
     
       14. The method of  claim 13 , wherein step (a) further comprises assigning the priority to each of the plurality of transport layer connections based on a target bandwidth assigned to each transport connection. 
     
     
       15. The method of  claim 13 , wherein step (a) further comprises assigning the priority to each of the plurality of transport layer connections based on a maximum bandwidth identified for each transport layer connection. 
     
     
       16. The method of  claim 13 , wherein step (b) further comprises receiving a packet comprising marked Explicit Congestion Notification (ECN) bits. 
     
     
       17. The method of  claim 13 , wherein step (b) further comprises receiving a packet comprising a duplicate acknowledgment of a packet that has previously been acknowledged. 
     
     
       18. The method of  claim 13 , wherein step (c) further comprises selecting the second transport layer connection from the plurality of transport layer connections according to the assigned priorities.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.