Systems and methods of using packet boundaries for reduction in timeout prevention
First Claim
1. A method for reducing transmission timeouts, comprising:
- (a) receiving, by a device via a connection between a sender and a receiver, a first packet transmitted from the sender to the receiver, the first packet having a first retransmission timeout time;
(b) transmitting, by the device, the first packet to the receiver;
(c) determining, by the device, that the connection has a loss rate exceeding a threshold;
(d) selecting, by the device, responsive to determining that the loss rate exceeds the threshold, a number of additional packets to transmit based on the loss rate;
(e) generating, by the device, a plurality of additional packets equaling the selected number of additional packets, responsive to determining that the loss rate exceeds the threshold and responsive to selecting the number of additional packets to transmit based on the loss rate; and
(f) transmitting, by the device, the plurality of additional packets to the receiver prior to the first retransmission timeout time.
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.
489 Citations
19 Claims
-
1. A method for reducing transmission timeouts, comprising:
-
(a) receiving, by a device via a connection between a sender and a receiver, a first packet transmitted from the sender to the receiver, the first packet having a first retransmission timeout time; (b) transmitting, by the device, the first packet to the receiver; (c) determining, by the device, that the connection has a loss rate exceeding a threshold; (d) selecting, by the device, responsive to determining that the loss rate exceeds the threshold, a number of additional packets to transmit based on the loss rate; (e) generating, by the device, a plurality of additional packets equaling the selected number of additional packets, responsive to determining that the loss rate exceeds the threshold and responsive to selecting the number of additional packets to transmit based on the loss rate; and (f) transmitting, by the device, the plurality of additional packets to the receiver prior to the first retransmission timeout time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for reducing transmission timeouts, comprising:
a device in communication with a sender and a receiver comprising; a packet processor configured for receiving a first packet from the sender and transmitting the first packet to the receiver, the first packet having a first retransmission timeout time; and a flow controller configured for; determining that a connection has a loss rate exceeding a threshold; selecting, responsive to determining that the loss rate exceeds the threshold, a number of additional packets to transmit based on the loss rate; generating a plurality of additional packets equaling the selected number of additional packets, responsive to determining that the loss rate exceeds the threshold and responsive to selecting the number of additional packets to transmit based on the loss rate; and transmitting the plurality of additional packets to the receiver prior to the first retransmission timeout time. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
Specification