Flow control system architecture
First Claim
Patent Images
1. A method for more efficiently utilizing network bandwidth for a plurality of sessions between a client and a server traversing a sender-side flow control module and a receiver-side flow control module, the method comprising the steps of:
- (a) identifying, by a receiver flow control module, a network bandwidth between the receiver flow control module and a sender flow control module;
(b) receiving, by the sender flow control module from the receiver flow control module, responsive to a request by the sender flow control module a first transmission rate limit for a first session between a client and a server traversing the receiver flow control module and the sender flow control module, the receiver flow control module in communication with the client and intermediary to the client and the sender flow control module and the sender flow control module in communication with the server and intermediary to the server and the receiver flow control module;
(c) transmitting, by the sender flow control module, to the receiver flow control module data packets from the server to the client via the first session at a transmission rate limited by the first transmission rate limit;
(d) receiving, by the sender flow control module from the receiver flow control module, a second transmission rate limit for a second session to the server via the receiver flow control module and the sender flow control module;
(e) allocating, by the receiver flow control module, the network bandwidth between the first session and the second session based on the first transmission rate limit and the second transmission rate limit and(f) transmitting, by the sender flow control module, to the receiver flow control module data packets from the server via the second session at a transmission rate in accordance with the allocated network bandwidth of the second session.
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.
244 Citations
21 Claims
-
1. A method for more efficiently utilizing network bandwidth for a plurality of sessions between a client and a server traversing a sender-side flow control module and a receiver-side flow control module, the method comprising the steps of:
-
(a) identifying, by a receiver flow control module, a network bandwidth between the receiver flow control module and a sender flow control module; (b) receiving, by the sender flow control module from the receiver flow control module, responsive to a request by the sender flow control module a first transmission rate limit for a first session between a client and a server traversing the receiver flow control module and the sender flow control module, the receiver flow control module in communication with the client and intermediary to the client and the sender flow control module and the sender flow control module in communication with the server and intermediary to the server and the receiver flow control module; (c) transmitting, by the sender flow control module, to the receiver flow control module data packets from the server to the client via the first session at a transmission rate limited by the first transmission rate limit; (d) receiving, by the sender flow control module from the receiver flow control module, a second transmission rate limit for a second session to the server via the receiver flow control module and the sender flow control module; (e) allocating, by the receiver flow control module, the network bandwidth between the first session and the second session based on the first transmission rate limit and the second transmission rate limit and (f) transmitting, by the sender flow control module, to the receiver flow control module data packets from the server via the second session at a transmission rate in accordance with the allocated network bandwidth of the second session. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for more efficiently utilizing a bandwidth in a network for a plurality of sessions between a plurality of clients and a server traversing a sender-side flow control module, the method comprising the steps of:
-
(a) identifying, by a second flow control module intermediary to a client and a plurality of flow control modules, a network bandwidth between the second flow control module and the plurality of flow control modules; (b) receiving, by a first flow control module of the plurality of flow control modules from the second flow control module, a first transmission rate limit for a first session traversing the first flow control module and the second flow control module; (c) receiving, by a third flow control module of the plurality of flow control modules from the second flow control module, a second transmission rate limit for a second session traversing the third flow control module and the second flow control module; (d) allocating, by the second flow control module, based on the first transmission rate limit and the second transmission rate limit the network bandwidth between the second flow control module and the first flow control module and between the second flow control module and the third flow control module; (e) transmitting, by the second flow control module, a modified first transmission rate limit to the first flow control module in accordance with the allocated network bandwidth between the first flow control module and the second flow control module and a modified second transmission rate limit to the third flow control module in accordance with the allocated network bandwidth between the third flow control module and the second flow control module; and (f) transmitting, by the first flow control module, data packets to the second flow control module at a rate in accordance with the modified first transmission rate limit; and (e) transmitting, by the third flow control module, data packets to the second flow control module at a rate in accordance with the modified second transmission rate limit. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method for controlling the flow of data packets between a server and a plurality of flow control modules, the data packets traversing a server-side flow control module, the method comprising the steps of:
-
(a) identifying, by a first flow control module of a plurality of flow control modules, a first network bandwidth between a server-side flow control module and the first flow control module and identifying, by a second flow control module of the plurality of flow control modules a second network bandwidth between the server-side flow control module and the second flow control module; (b) receiving, by the server-side flow control module from a first flow control module of the plurality of flow control modules, a first transmission rate limit for a first session traversing the first flow control module and the server-side flow control module; (c) receiving, by the server-side flow control module from a second flow control module of the plurality of flow control modules, a second transmission rate limit for a second session traversing the second flow control module and the server-side flow control module; (d) allocating, by the first flow control module, based on the first transmission rate limit the network bandwidth between the first flow control module and the server-side flow control module; (e) allocating, by the second flow control module, based on the second transmission rate limit the network bandwidth between the second flow control module and the server-side flow control module; (f) buffering, by the server-side flow control module, data packets for the first data transfer session transmitted by the server at a rate overrunning the first transmission rate limit; and (g) buffering, by the server-side flow control module, data packets for the second data transfer session transmitted by the server at a rate overrunning the second transmission rate limit. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A system for more efficiently utilizing a bandwidth in a network for a plurality of sessions between a plurality of clients and a server traversing a sender-side flow control module, the method comprising the steps of:
-
a second flow control module intermediary to a client and one or more flow control modules allocating a network bandwidth between the second flow control module and the one or more flow control modules; a first flow control module of the one or more flow control modules transmitting to the second flow control module a first transmission rate limit for a first session traversing the first flow control module and the second flow control module; a third flow control module of the one or more flow control modules transmitting to the second flow control module a second transmission rate limit for a second session traversing the third flow control module and the second flow control module; wherein the second flow control module allocates, based on the first transmission rate limit, the network bandwidth between the second flow control module and the first flow control module and transmits a modified first transmission rate limit to the first flow control module in accordance with the allocated bandwidth between the second flow control module and the first flow control module and wherein the flow control module allocates, based on the second transmission rate limit the network bandwidth between the second flow control module and the third flow control module and transmits a modified second transmission rate limit to the third flow control module in accordance with the allocated bandwidth between the second flow control module and the third flow control module; and wherein the first flow control module transmits data packets to the second flow control module at a rate of the modified first transmission rate limit and third flow control module transmits data packets to the second flow control module at a rate of the modified second transmission rate limit. - View Dependent Claims (18, 19, 20, 21)
-
Specification