Systems and methods for providing virtual fair queuing of network traffic
First 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.
7 Assignments
0 Petitions
Accused Products
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.
198 Citations
18 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
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. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
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. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification