TCP Connection Pool Management for Proxy Server Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for data access between a client and a server are inefficient due to the time-consuming process of establishing and maintaining TCP connections through a proxy server, leading to low data transmitting efficiency.
Innovation Solution
A method and device that determine the number of idle TCP connections between a client and a proxy server, allowing serial or parallel requests to be sent via existing idle connections or establishing new connections as needed, thereby optimizing the use of TCP connections to reduce resource and time consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If TCP connections are established and disconnected for each data access between client and server, then connection reliability is maintained, but data transmitting efficiency deteriorates due to time consumption
Solution Approach 1:
The system performs preliminary actions by establishing TCP connections in advance and maintaining them in an idle state for reuse. Connection pools are pre-configured with a certain number of TCP connections that are kept ready before actual data transmission needs occur, eliminating the need to establish connections at the moment of data access and thus improving transmission efficiency while maintaining reliability.
Solution Approach 2:
The patent implements continuity of useful action by maintaining TCP connections in an idle but persistent state rather than disconnecting them after use. These idle connections remain available for immediate reuse when new data transmission requests arrive, ensuring continuous data flow without interruption for connection establishment, thereby improving overall data transmitting efficiency while preserving connection reliability.
2Productivity
If multiple TCP connections are established to handle parallel requests, then data transmitting efficiency is improved, but resource consumption increases
Solution Approach 1:
The patent merges multiple connection management operations into a unified connection pool system. Instead of establishing separate connections for each request or maintaining numerous individual connections, the system combines resource management at the connection pool level, allowing multiple requests to share and reuse connections from the pool. This reduces total resource consumption while maintaining the ability to handle parallel requests efficiently.
Solution Approach 2:
The connection pool implements universality by creating TCP connections that serve multiple purposes and multiple requests simultaneously. Each connection in the pool is a universal resource that can be allocated to any pending request, whether serial or parallel, making the connection infrastructure multi-functional and reducing the need for dedicated connections for each specific task, thereby optimizing resource utilization.
3Loss of time
If idle TCP connections are reused for serial requests, then time consumption is reduced, but connection management complexity increases
Solution Approach 1:
The connection pool system implements self-service by automatically managing the lifecycle of TCP connections. The system autonomously handles connection establishment, monitoring of idle connections, selection of appropriate connections for requests, and connection reuse without requiring manual intervention. This automated self-management reduces the perceived complexity for users while enabling efficient time-saving connection reuse.
Solution Approach 2:
The patent incorporates feedback mechanisms where the system continuously monitors the state of TCP connections (active, idle, available) and uses this information to make intelligent decisions about connection allocation and reuse. The feedback loop tracks connection usage patterns and adjusts connection pool management dynamically, optimizing the balance between time consumption and management complexity through data-driven decisions.
Data Source
AI summary
A method for sending requests includes: determining, by a device comprising a processor, the requests and Transmission Control Protocol (TCP) connections between a client and a proxy server; and sending, by the device, the requests to the proxy server via idle TCP connections between the client and the proxy server to forward the requests to a Web server by the proxy server, or establishing, by the device, TCP connections between the client and the proxy server depending on whether the requests are serial or parallel requests, the number of the idle TCP connections between the client and the proxy server, and the number of TCP connections which are needed during sending the requests; and sending, by the device, the requests to the proxy server via the idle TCP connections and the established TCP connections to forward the requests to the Web server by the proxy server.


