IP Library Granted Patent US 9,071,543
Granted Patent B2
US 9,071,543 · App. 13/856,263 · Granted Jun 30, 2015

Systems and methods for additional retransmissions of dropped packets

Inventors: Robert Plamondon (Blodgett, OR); Michael Ovsiannikov (San Mateo, CA); Allen Samuels (San Jose, CA)
Assignee: CITRIX SYSTEMS, INC.
H04L47/2466H04L1/1887H04L1/189H04L12/24H04L41/00H04L41/12H04L2001/0092H04L69/16H04L69/166H04L67/28H04L67/2876
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,071,543
App. No.
13/856,263
Granted
Jun 30, 2015
Kind
B2
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.

Claims (28)

1. A method for reducing retransmission costs, the method comprising:

determining, by a device, a packet loss rate associated with a connection between the device and a receiver;

identifying, by the device, a number of retransmissions of a transmission of a packet corresponding to the packet loss rate and a packet loss rate threshold from a plurality of retransmission numbers associated with a corresponding plurality of packet loss rate thresholds;

transmitting, by the device, a network packet to the receiver; and

retransmitting the network packet, by the device, a number of times equal to the identified number of retransmissions.

2. The method of claim 1 , wherein retransmitting the network packet further comprises receiving an identification that the transmitted network packet was not received by the receiver, and retransmitting the network packet the number of retransmissions.

3. The method of claim 1 , wherein retransmitting the network packet comprises retransmitting the network packet the number of retransmissions of times prior to expiration of a timeout of the first retransmission of the network packet.

4. The method of claim 1 , further comprising determining the packet loss rate over a predetermined time period.

5. The method of claim 1 , further comprising determining the packet loss rate as an average over a predetermined time period.

6. The method of claim 1 , wherein identifying the number of retransmissions further comprises identifying a number of retransmissions inversely proportional to a determined transaction size.

7. The method of claim 1 , wherein identifying the number of retransmissions further comprises identifying a number of retransmissions proportional to a priority assigned to the connection.

8. The method of claim 1 , wherein identifying the number of retransmissions further comprises identifying a number of retransmissions inversely proportional to a latency tolerance of an application utilizing the connection.

9. The method of claim 1 , wherein retransmitting the network packet comprises retransmitting the network packet the number of retransmissions, each retransmission temporally spaced such that two transmissions are unlikely to be affected by a single loss event.

10. A system for reducing retransmission costs, the system comprising:

a flow controller which:

determines a packet loss rate associated with a connection between the flow controller and a receiver, and

identifies a number of retransmissions of a transmission of a packet corresponding to the packet loss rate and a packet loss rate threshold from a plurality of retransmission numbers associated with a corresponding plurality of packet loss rate thresholds; and

a packet processor which:

transmits a network packet to the receiver, and

retransmits the network packet to the receiver a number of times equal to the identified retransmission number.

11. The system of claim 10 , wherein the packet processor is further configured for receiving an identification that the transmitted network packet was not received by the receiver, and retransmitting the network packet the number of retransmissions.

12. The system of claim 10 , wherein the packet processor is further configured for retransmitting the network packet the number of retransmissions of times prior to expiration of a timeout of the first retransmission of the network packet.

13. The system of claim 10 , wherein the flow controller is further configured for determining the packet loss rate over a predetermined time period.

14. The system of claim 10 , wherein the flow controller is further configured for determining the packet loss rate as an average over a predetermined time period.

15. The system of claim 10 , wherein the flow controller is further configured for identifying a number of retransmissions inversely proportional to a determined transaction size.

16. The system of claim 10 , wherein the flow controller is further configured for identifying a number of retransmissions proportional to a priority assigned to the connection.

17. The system of claim 10 , wherein the flow controller is further configured for identifying a number of retransmissions inversely proportional to a latency tolerance of an application utilizing the connection.

18. The system of claim 10 , wherein the packet processor is further configured for retransmitting the network packet the number of retransmissions, each retransmission temporally spaced such that two transmissions are unlikely to be affected by a single loss event.

Assignments (7)
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2013
From: PLAMONDON, ROBERT; OVSIANNIKOV, MICHAEL; SAMUELS, ALLEN
To: CITRIX SYSTEMS, INC.
Reel/Frame 030149/0341 →
Continuity (5)
Continuation 11685181 · Mar 12, 2007
Continuation In Part 10901940 · Jul 28, 2004
Continuation In Part 10696507 · Oct 29, 2003
Provisional Application 60490694 · Jul 29, 2003
Related Publication 20130286835A1 · Oct 31, 2013