IP Library Granted Patent US 7,940,665
Granted Patent B2
US 7,940,665 · App. 12/503,230 · Granted May 10, 2011

Transparent optimization for transmission control protocol flow control

Assignee: Juniper Networks, Inc.
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 7,940,665
App. No.
12/503,230
Granted
May 10, 2011
Kind
B2
Abstract

A system and method that optimizes transmission control protocol (TCP) flow control without intruding upon TCP's core algorithms. A control module relatively near a sender's local area network (LAN) automatically identifies a packet flow that has become window-limited. After the packet flow has been identified as window-limited, the control module relatively near the sender's LAN and another control module relatively near a receiver's LAN optimize the packet flow by increasing the window size indicated in the receiver's acknowledgment packet. Both control modules operate synchronously to transparently manage the packet flow between the sender and the receiver.

Claims (30)

1. A method for determining performance of a network optimization in a control module, comprising the steps of:

identifying a size of a packet being communicated between a sender and a receiver when the network optimization is used;

determining, based on the identified size of the packet with the network optimization, a packet size adjustment that would be needed when the network optimization is not used for the packet to arrive at the receiver within an original size of the receiver's window and at a transfer rate consistent with the network optimization; and

with the control module, reporting a performance of the network optimization based on the determined packet size adjustment.

2. The method of claim 1 , wherein the step of determining the packet size adjustment comprises the step of:

determining the packet size adjustment as a function of the original size of the receiver's window, a sequence number of a highest byte in the packet, and a current acknowledgment number of the packet.

3. The method of claim 2 , wherein the step of determining the packet size adjustment comprises the steps of:

determining a difference between the sequence number and the current acknowledgment number;

determining a value by dividing the original size of the receiver's window by the determined difference; and

multiplying the determined value with the identified size of the packet.

4. The method of claim 1 , further comprising the step of:

using the packet size adjustment to estimate a data transfer rate without the network optimization.

5. A system for determining performance of a network optimization comprising:

a hardware-implemented processor; and

a module, executing on the processor, for:

identifying a size of a packet being communicated between a sender and a receiver when the network optimization is used;

determining, based on the identified size of the packet with the network optimization, a packet size adjustment that would be needed when the network optimization is not used for the packet to arrive at the receiver within an original size of the receiver's window and at a transfer rate consistent with the network optimization; and

reporting a performance of the network optimization based on the determined packet size adjustment.

6. The system of claim 5 , wherein the module determines the packet size adjustment as a function of the original size of the receiver's window, a sequence number of a highest byte in the packet, and a current acknowledgment number of the packet.

7. The system of claim 6 , wherein the module determines the packet size adjustment by:

determining a difference between the sequence number and the current acknowledgment number;

determining a value by dividing the original size of the receiver's window by the determined difference; and

multiplying the determined value with the identified size of the packet.

8. The system of claim 5 , wherein the module uses the packet size adjustment to estimate a data transfer rate without the network optimization.

9. A method for determining performance of a network optimization in a control module, comprising the steps of:

identifying a size of a packet being communicated between a sender and a receiver when the network optimization is used;

determining, based on the identified size of the packet with the network optimization, a packet size adjustment that would be needed when the network optimization is not used for the packet to arrive at the receiver within an original size of the receiver's window and at a transfer rate consistent with the network optimization; and

using the packet size adjustment to estimate a data transfer rate without the network optimization.

10. The method of claim 9 , further comprising:

reporting the estimated data transfer rate without the network optimization.

Continuity (3)
Continuation 10981900 · Nov 4, 2004
Provisional Application 60517934 · Nov 5, 2003
Related Publication 20090274046A1 · Nov 5, 2009