Client-Side TCP Buffering 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 points, and do not effectively address delays due to congested WAN links and low-bandwidth connections.
Innovation Solution
A client-side acceleration program that dynamically deploys and executes acceleration functionality, performing transport layer connection buffering, compression, pooling, multiplexing, and caching to improve communication efficiency without requiring dedicated appliances or servers, and can be installed transparently on various devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If network appliances or servers are installed at multiple remote sites to improve application access performance, then application access speed is improved, but device complexity and resource costs increase
Solution Approach 1:
The patent extracts the acceleration functionality from dedicated network appliances and servers, moving it into a software module that can be deployed on standard client devices. This eliminates the need for complex infrastructure at remote sites while maintaining performance benefits.
Solution Approach 2:
The acceleration module is designed to be universally deployable across different client devices and network configurations. A single software solution provides acceleration functionality that previously required site-specific hardware appliances, reducing deployment complexity.
2Loss of time
If network appliances are installed at remote sites to reduce latency, then latency is reduced, but resource consumption increases
Solution Approach 1:
The acceleration module enables client devices to self-accelerate their own connections without requiring external infrastructure. Each client independently performs compression, caching, and protocol optimization, eliminating the need for resource-intensive appliances at remote sites.
Solution Approach 2:
The system dynamically adjusts acceleration parameters such as compression levels, cache sizes, and protocol optimization settings based on available client resources and network conditions. This allows the system to reduce latency while adapting resource consumption to client capabilities.
3Power
If accelerators are deployed within the enterprise network to reduce server load, then server load is reduced, but adaptability to external network problems decreases
Solution Approach 1:
Instead of placing accelerators at the server端 to protect enterprise network resources, the patent inverts the approach by deploying acceleration functionality at the client端. This allows each client to independently handle external network problems such as WAN congestion and low-bandwidth connections, making the system more adaptable to varying network conditions while still reducing overall server load.
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 buffering 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 and buffers requests of the client based on determining a difference between a rate of consumption of responses received by the client from a server and a rate of production of requests transmitted by the client to the server. As such, the acceleration program can throttle transmissions of the client if the client's rate of consumption falls behind the rate of submission of requests.


