Automatic detection and window virtualization for flow control
First Claim
Patent Images
1. A method to identify flow control modules of a flow control system using packets traversing the flow control modules and transmitted between a source node and a destination node, the method comprising:
- inserting, at a first flow control module configured on a first intermediary device, a first configuration identifier into an options area of a header of a first transmission control protocol (“
TCP”
) data packet transmitted from a source node to initiate synchronization of a session with a destination node, the first configuration identifier identifying that the first intermediary device is configured with the first flow control module;
extracting, at the first flow control module, a second configuration identifier from an options area of a header of a second TCP data packet, transmitted from the destination node to initiate acknowledgement of synchronization of the session responsive to receiving the first data packet, the second configuration identifier identifying that a second intermediary device is configured with a second flow control module; and
applying, by the first flow control module, at least one performance enhancing technique of increasing a window scale to communications between the first intermediary device and the second intermediary device to increase data buffering capabilities of the session, responsive to the presence of the second configuration identifier in the second TCP data packet.
8 Assignments
0 Petitions
Accused Products
Abstract
One or more flow control modules, implemented on various types of network topologies, provide a number of functionalities for controlling the flow of IP packets (such as TCP/IP packets) over a network connection. The flow control modules may be implemented within a sender and/or receiver or may be deployed into a network as a separate device without requiring significant additional resources.
465 Citations
29 Claims
-
1. A method to identify flow control modules of a flow control system using packets traversing the flow control modules and transmitted between a source node and a destination node, the method comprising:
-
inserting, at a first flow control module configured on a first intermediary device, a first configuration identifier into an options area of a header of a first transmission control protocol (“
TCP”
) data packet transmitted from a source node to initiate synchronization of a session with a destination node, the first configuration identifier identifying that the first intermediary device is configured with the first flow control module;extracting, at the first flow control module, a second configuration identifier from an options area of a header of a second TCP data packet, transmitted from the destination node to initiate acknowledgement of synchronization of the session responsive to receiving the first data packet, the second configuration identifier identifying that a second intermediary device is configured with a second flow control module; and applying, by the first flow control module, at least one performance enhancing technique of increasing a window scale to communications between the first intermediary device and the second intermediary device to increase data buffering capabilities of the session, responsive to the presence of the second configuration identifier in the second TCP data packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for initializing a network session having fast sides and a slow side in a data path traversing flow control modules of a flow control system providing performance enhancing proxy services, the method comprising:
-
receiving, at a first flow control module configured on a first intermediary device, a TCP synchronization signal from a first fast side and transmitting to the slow side the TCP synchronization signal to initiate a communication session with a first configuration identifier inserted by the first flow control module to identify that the first intermediary device is configured with the first flow control module; and receiving, at a second flow control module configured on a second intermediary device, from the slow side, the TCP synchronization signal with the first configuration identifier, storing the first configuration identifier and applying at least one performance enhancing technique to communications between the first flow control module and the second flow control module to increase data buffering capabilities for the communication session responsive to the presence of the first configuration identifier in the TCP synchronization signal; and increasing buffer capacity in the first flow control module in response to the presence of a second configuration identifier in a synchronization acknowledgement signal received from the second flow control module. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. An apparatus configured to provide communication between a fast side and a slow side of a data path traversing flow control modules of a flow control system providing performance enhancing proxy services, the apparatus comprising:
-
a receiver of a first flow control module configured on a first intermediary device, coupled with a fast side and a slow side of a data path and configured to receive a transmission control protocol (“
TCP”
) synchronization signal or a TCP synchronization acknowledgment signal to initiate a communication session; anda processing module of the first flow control module, configured to insert a first configuration identifier into an option portion of a header of a TCP synchronization signal or a TCP synchronization acknowledgment signal received from the fast side, the first configuration identifier identifying that the first intermediary device is configured with the first flow control module, extract, if present, a second configuration identifier from an option portion of a header of a TCP synchronization signal or a TCP synchronization acknowledgement signal received from the slow side, the second configuration identifier identifying that a second intermediary device is configured with a second flow control module, and determine, responsive to the presence of the second configuration identifier, whether to apply at least one performance enhancing technique of increasing buffer capacity in the first flow control module for communications with the second intermediary device to increase data buffering capabilities of the communication session. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A method for auto-discovery of flow control modules of a flow control system using packets traversing the flow control modules and transmitted between a source node and a destination node, the method comprising:
-
inserting, at a first flow control module configured on a first intermediary device, a first configuration identifier into a first data packet transmitted from a source node to initiate synchronization of a session with a destination node, the first configuration identifier identifying that the first intermediary device is configured with a first flow control module; receiving, at the first flow control module, a second data packet transmitted from the destination node to initiate acknowledgement of synchronization of the session, the second data packet including a second configuration identifier identifying that the second data packet traversed a second intermediary device configured with a second flow control module; determining, by the first flow control module, that the second intermediary device is configured with the second flow control module responsive to the presence of the second configuration identifier in the second data packet; and applying, by the first flow control module, at least one performance enhancing technique of increasing a window scale to communications between the source node and destination node to increase data buffering capabilities of the session, responsive to the determination. - View Dependent Claims (29)
-
Specification