Systems and methods for stochastic-based quality of service
First Claim
1. A method for prioritizing transmission of packets comprising:
- receiving, by an intermediary, a first packet of a first transaction, the first packet stored in a buffer of the intermediary;
receiving, by the intermediary, a second packet of a second transaction;
determining, by the intermediary, that the first transaction is complete;
determining, by the intermediary, a first average transaction size of the first transaction associated with a first transport layer connection of the first packet, responsive to determining that the first transaction is complete;
assigning, by the intermediary, a first transmission priority to the first packet, the transmission priority determined responsive to the determined first transaction size, wherein the first packet has a higher priority than the second packet, responsive to a determination that the first average transaction size is smaller than a second average transaction size associated with the second transaction; and
transmitting from the buffer, by the intermediary and responsive to determining the first transaction is complete, the first packet and the second packet, wherein the transmission order is determined according to the first assigned transmission priority.
7 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for utilizing transaction boundary detection methods in queuing and retransmission decisions relating to network traffic are described. By detecting transaction boundaries and sizes, a client, server, or intermediary device may prioritize based on transaction sizes in queuing decisions, giving precedence to smaller transactions which may represent interactive and/or latency-sensitive traffic. Further, after detecting a transaction boundary, a device may retransmit one or more additional packets prompting acknowledgements, in order to ensure timely notification if the last packet of the transaction has been dropped. Systems and methods for potentially improving network latency, including retransmitting a dropped packet twice or more in order to avoid incurring additional delays due to a retransmitted packet being lost are also described.
466 Citations
51 Claims
-
1. A method for prioritizing transmission of packets comprising:
-
receiving, by an intermediary, a first packet of a first transaction, the first packet stored in a buffer of the intermediary; receiving, by the intermediary, a second packet of a second transaction; determining, by the intermediary, that the first transaction is complete; determining, by the intermediary, a first average transaction size of the first transaction associated with a first transport layer connection of the first packet, responsive to determining that the first transaction is complete; assigning, by the intermediary, a first transmission priority to the first packet, the transmission priority determined responsive to the determined first transaction size, wherein the first packet has a higher priority than the second packet, responsive to a determination that the first average transaction size is smaller than a second average transaction size associated with the second transaction; and transmitting from the buffer, by the intermediary and responsive to determining the first transaction is complete, the first packet and the second packet, wherein the transmission order is determined according to the first assigned transmission priority. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method for prioritizing transmission of packets comprising:
-
receiving, by an intermediary, a first packet of a first transaction, the first packet stored in a buffer of the intermediary; receiving, by the intermediary, a second packet of a second transaction; determining, by the intermediary, that the first transaction is complete; determining, by the intermediary, a first average transaction size of a first transaction associated with a first transport layer connection of the first packet, responsive to determining that the first transaction is complete; assigning, by the intermediary, a first transmission priority to the first packet, the transmission priority determined responsive to the determined first average transaction size, wherein the first packet has a higher priority than the second packet, responsive to a determination that the first average transaction size is smaller than a second average transaction size associated with the second transaction and a determination that the first transport layer connection has not exceeded a given transmission bandwidth threshold; and transmitting from the buffer, by the intermediary and responsive to determining the first transaction is complete, the first packet and the second packet, wherein the transmission order is determined according to the first assigned transmission priority.
-
-
31. A method for prioritizing transmission of packets comprising:
-
receiving, by an intermediary, a first packet of a first transaction, the first packet stored in a buffer of the intermediary; receiving, by the intermediary, a second packet of a second transaction; determining, by the intermediary, that the first transaction is complete; determining, by the intermediary, a first average transaction size of a transaction associated with a first transport layer connection of the first packet, responsive to determining that the first transaction is complete; assigning, by the intermediary, a first transmission priority to the first packet, the transmission priority determined responsive to the determined first average transaction size, wherein the first packet has a lower priority than the second packet, responsive to a determination that the first average transaction size is larger than a second average transaction size associated with the second transaction; and transmitting from the buffer, by the intermediary and responsive to determining the first transaction is complete, the first packet and the second packet, wherein the transmission order is determined according to the first assigned transmission priority.
-
-
32. An apparatus for prioritizing packets for transmission comprising:
-
a packet processor receiving a first packet of a first transaction and a second packet of a second transaction; a buffer storing the received first packet; and a flow controller determining that the first transaction is complete; determining a first average transaction size of the first transaction associated with a first transport layer connection of the first packet, responsive to determining the first transaction is complete; assigning to the first packet a transmission priority responsive to the determined first average transaction size, wherein the first packet has a higher priority than the second packet, responsive to a determination that the first average transaction size is smaller than a second average transaction size associated with the second transaction; and transmitting from the buffer, responsive to determining the first transaction is complete, the first packet and the second packet according to the assigned transmission priority. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49)
-
-
50. An apparatus for prioritizing packets for transmission comprising:
-
a packet processor receiving a first packet of a first transaction and a second packet of a second transaction; a buffer storing the received first packet; and a flow controller determining that the first transaction is complete; determining a first average transaction size associated with a first transport layer connection of the first packet, responsive to determining the first transaction is complete; assigning to the first packet a transmission priority responsive to the determined first transaction size, wherein the first packet has a higher priority than the second packet, responsive to a determination that the first average transaction size is smaller than a second average transaction size and a determination that the first transport layer connection has not exceeded a given transmission bandwidth threshold; and transmitting from the buffer, responsive to determining the first transaction is complete, the first packet and the second packet according to the assigned transmission priority.
-
-
51. An apparatus for prioritizing packets for transmission comprising:
-
a packet processor receiving a first packet of a first transaction and a second packet of a second transaction; a buffer storing the received first packet; and a flow controller determining that the first average transaction is complete; determining a first average transaction size associated with a first transport layer connection of the first packet, responsive to determining the first transaction is complete; assigning to the first packet a transmission priority responsive to the determined first transaction size, wherein the first packet has a higher priority than the second packet, responsive to a determination that the first average transaction size is larger than a second average transaction size; and transmitting from the buffer, responsive to determining the first transaction is complete, the first packet and the second packet according to the assigned transmission priority.
-
Specification