Client-Side TCP Pooling for Remote Application Acceleration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing solutions for improving the performance of remotely-accessed applications are limited by the need for installing and maintaining network appliances or servers at multiple remote sites, which is resource-intensive and not feasible for sporadic access, and do not effectively address delays due to congested WAN links and low-bandwidth connections.
Innovation Solution
A client-side acceleration technique that dynamically deploys and executes an acceleration program to pool transport layer connections, enabling multi-protocol compression, multiplexing, buffering, and caching, and encrypts communications, thereby improving performance without requiring dedicated appliances or servers at each access point.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If an appliance is deployed within the enterprise network to perform acceleration functions, then latency on the enterprise network is reduced and server load is reduced, but delays due to congested WAN links and low-bandwidth remote connections are not effectively addressed
Solution Approach 1:
The patent introduces an intermediary acceleration appliance that sits between remote clients and enterprise servers, performing protocol translation and data compression. This intermediary handles the complexity of acceleration functions centrally, allowing clients to access applications without modifying their existing network interfaces or installing client-side software.
Solution Approach 2:
The patent replaces mechanical network infrastructure modifications with software-based protocol translation and data processing. Instead of requiring physical changes to network equipment or client devices, the solution uses software to compress data, translate protocols, and manage connections dynamically.
2Productivity
If accelerator servers or appliances are installed on the client-side LAN, then client-side acceleration is achieved, but time, expense and resources are consumed for installation and maintenance at each remote site
Solution Approach 1:
The patent creates a universal acceleration appliance that can serve multiple remote sites and support various protocols (HTTP, FTP, Telnet, etc.) through a single platform. The appliance performs multiple functions including compression, protocol translation, connection pooling, and caching, eliminating the need for separate solutions at each location.
Solution Approach 2:
The patent uses connection pooling where a single physical connection from the acceleration appliance to the server is copied and shared among multiple clients. This allows multiple users to access the same application simultaneously through pooled connections, reducing the total number of connections required and simplifying infrastructure.
3Reliability
If multiple connections are established for each application on the client, then application functionality is maintained, but connection establishment overhead and network resource consumption increase
Solution Approach 1:
The patent merges multiple client connections into a single pooled connection at the acceleration appliance. Multiple applications from different clients share the same physical connection to the server, consolidating network resources and reducing the total number of connections while maintaining individual application functionality through protocol translation and connection multiplexing.
Solution Approach 2:
The patent implements connection pooling that maintains persistent connections between the acceleration appliance and servers, keeping them open for repeated use rather than establishing new connections for each request. This continuous connection state eliminates repeated connection establishment overhead and keeps network resources in a ready, useful state.
Data Source
AI summary
The present invention is directed towards systems and methods for dynamically deploying and executing acceleration functionality on a client to improve the performance and delivery of remotely accessed applications. In one embodiment, the client-side acceleration functionality is provided by an acceleration program that performs a transport layer connection pooling technique for improving performance of communications and delivery of a remotely-accessed application. The acceleration program establishes a transport layer connection from the client to the server that can be used by multiple applications on the client, or that is otherwise shared among applications of the client. The acceleration program maintains the transport layer connection open to reduce the number of transport layer connection requests and number of transport layer connections established with the server for an application or multiple applications running on the client.


