EARLY GENERATION OF ACKNOWLEDGEMENTS FOR FLOW CONTROL
First Claim
Patent Images
1. A method for controlling packet flow from a sender to a receiver over a network, the method comprising:
- forwarding to a receiver, by a first intermediary device deployed between a sender and the receiver, a first data packet from the sender;
generating, by the first intermediary device, a first transport layer acknowledgement to pre-acknowledge the first data packet on behalf of the receiver;
transmitting, by the first intermediary device upon forwarding the first data packet to the receiver, the first transport layer acknowledgement to the sender while the first intermediary device has yet to receive a second transport layer acknowledgement from the receiver acknowledging receipt of the first data packet;
receiving, by the first intermediary device, a second data packet from the sender;
determining, by the first intermediary device, that storing the second data packet to a buffer of the first intermediary device exceeds a first predetermined threshold of a number of packets in the buffer;
generating, by the first intermediary device, a third transport layer acknowledgement to pre-acknowledge the second data packet on behalf of the receiver; and
setting, by the first intermediary device, responsive to the determination, a transport layer window size of the third transport layer acknowledgement to a size smaller than a maximum segment size.
9 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.
-
Citations
20 Claims
-
1. A method for controlling packet flow from a sender to a receiver over a network, the method comprising:
-
forwarding to a receiver, by a first intermediary device deployed between a sender and the receiver, a first data packet from the sender; generating, by the first intermediary device, a first transport layer acknowledgement to pre-acknowledge the first data packet on behalf of the receiver; transmitting, by the first intermediary device upon forwarding the first data packet to the receiver, the first transport layer acknowledgement to the sender while the first intermediary device has yet to receive a second transport layer acknowledgement from the receiver acknowledging receipt of the first data packet; receiving, by the first intermediary device, a second data packet from the sender; determining, by the first intermediary device, that storing the second data packet to a buffer of the first intermediary device exceeds a first predetermined threshold of a number of packets in the buffer; generating, by the first intermediary device, a third transport layer acknowledgement to pre-acknowledge the second data packet on behalf of the receiver; and setting, by the first intermediary device, responsive to the determination, a transport layer window size of the third transport layer acknowledgement to a size smaller than a maximum segment size. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for controlling packet flow from a sender to a receiver over a network, the system comprising:
a first intermediary device, deployed between a sender and a receiver, comprising a flow control module and a buffer, the flow control module configured to; forward to the receiver a first data packet from the sender; generate a first transport layer acknowledgement to pre-acknowledge the first data packet on behalf of the receiver; transmit, upon forwarding the fist data packet to the receiver, the first transport layer acknowledgement to the sender without having received a second transport layer acknowledgement from the receiver acknowledging receipt of the first data packet; receive a second data packet from the sender, determine that storing the second data packet to the buffer exceeds a first predetermined threshold of a number of packets in the buffer; generate a third transport layer acknowledgement to pre-acknowledge the second data packet on behalf of the receiver; and set, responsive to the determination, a transport layer window size of the third transport layer acknowledgement to a size smaller than a maximum segment size. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
Specification