Method to allocate buffer for TCP proxy session based on dynamic network conditions
First Claim
1. A method for allocating buffers for a TCP proxy session between a client and a server by a service gateway comprising a processor, comprising:
- monitoring, by the processor, dynamic server side network behaviors for a server side session of the TCP proxy session and dynamic client side network behaviors for a client side session of the TCP proxy session; and
allocating, by the processor, capacity for a server side buffer and capacity for a client side buffer in a memory buffer based on the dynamic server side network behaviors, the dynamic client side network behaviors, and a weighted average of a capacity of the memory buffer, the allocating comprising;
receiving a server side session data packet from the server, orreceiving a client side session data packet from the client;
determining whether an available capacity of the server side buffer is sufficient to store the server side session data packet, ordetermining whether an available capacity of the client side buffer is sufficient to store the client side session data packet;
in response to determining that the available capacity of the server side buffer is not sufficient to store the server side session data packet, increasing the allocated capacity of the server side buffer, orin response to determining that the available capacity of the client side buffer is not sufficient to store the client side session data packet, increasing the allocated capacity of the client side buffer; and
adjusting the available capacity of the server side buffer according to the increase of the allocated capacity of the server side buffer, oradjusting the available capacity of the client side buffer according to the increase of the allocated capacity of the client side buffer.
2 Assignments
0 Petitions
Accused Products
Abstract
Allocation of buffers for a TCP proxy session between a client and a server by a service gateway includes: monitoring dynamic network behaviors for server and client side sessions of the TCP proxy session; and allocating capacity for a server side buffer and capacity for a client side buffer in a memory buffer based on the dynamic server side network behaviors, the dynamic client side network behaviors, and a weighted average of a capacity of the memory buffer. In one approach to the allocation, the gateway determines whether an available capacity of the server or client side buffer is sufficient to store a data packet. If not sufficient, the allocated capacity of the server or client side buffer is increased based on measurements of the dynamic network behaviors and the weighted average, and the available capacity of the server or client side buffer is adjusted accordingly.
175 Citations
24 Claims
-
1. A method for allocating buffers for a TCP proxy session between a client and a server by a service gateway comprising a processor, comprising:
-
monitoring, by the processor, dynamic server side network behaviors for a server side session of the TCP proxy session and dynamic client side network behaviors for a client side session of the TCP proxy session; and allocating, by the processor, capacity for a server side buffer and capacity for a client side buffer in a memory buffer based on the dynamic server side network behaviors, the dynamic client side network behaviors, and a weighted average of a capacity of the memory buffer, the allocating comprising; receiving a server side session data packet from the server, or receiving a client side session data packet from the client; determining whether an available capacity of the server side buffer is sufficient to store the server side session data packet, or determining whether an available capacity of the client side buffer is sufficient to store the client side session data packet; in response to determining that the available capacity of the server side buffer is not sufficient to store the server side session data packet, increasing the allocated capacity of the server side buffer, or in response to determining that the available capacity of the client side buffer is not sufficient to store the client side session data packet, increasing the allocated capacity of the client side buffer; and adjusting the available capacity of the server side buffer according to the increase of the allocated capacity of the server side buffer, or adjusting the available capacity of the client side buffer according to the increase of the allocated capacity of the client side buffer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program product for allocating buffers for a TCP proxy session between a client and a server, the computer program product comprising:
-
a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code configured to; monitor dynamic server side network behaviors for a server side session of the TCP proxy session and dynamic client side network behaviors for a client side session of the TCP proxy session; and allocate capacity for a server side buffer and capacity for a client side buffer in a memory buffer based on the dynamic server side network behaviors, the dynamic client side network behaviors, and a weighted average of a capacity of the memory buffer, the allocating comprising; receiving a server side session data packet from the server, or receiving a client side session data packet from the client; determining whether an available capacity of the server side buffer is sufficient to store the server side session data packet, or determining whether an available capacity of the client side buffer is sufficient to store the client side session data packet; in response to determining that the available capacity of the server side buffer is not sufficient to store the server side session data packet, increase the allocated capacity of the server side buffer, or in response to determining that the available capacity of the client side buffer is not sufficient to store the client side session data packet, increase the allocated capacity of the client side buffer; and adjusting the available capacity of the server side buffer according to the increase of the allocated capacity of the server side buffer, or adjust the available capacity of the client side buffer according to the increase of the allocated capacity of the client side buffer. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A system for allocating buffers for a TCP proxy session between a client and a server, comprising:
-
a processor; and a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code executed by the processor configured to; monitor dynamic server side network behaviors for a server side session of the TCP proxy session and dynamic client side network behaviors for a client side session of the TCP proxy session; and allocate capacity for a server side buffer and capacity for a client side buffer in a memory buffer based on the dynamic server side network behaviors, the dynamic client side network behaviors, and a weighted average of a capacity of the memory buffer, the allocating comprising; receive a server side session data packet from the server, or receive a client side session data packet from the client; determine whether an available capacity of the server side buffer is sufficient to store the server side session data packet, or determine whether an available capacity of the client side buffer is sufficient to store the client side session data packet; in response to determining that the available capacity of the server side buffer is not sufficient to store the server side session data packet, increase the allocated capacity of the server side buffer, or in response to determining that the available capacity of the client side buffer is not sufficient to store the client side session data packet, increase the allocated capacity of the client side buffer; and adjust the available capacity of the server side buffer according to the increase of the allocated capacity of the server side buffer, or adjust the available capacity of the client side buffer according to the increase of the allocated capacity of the client side buffer. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification