Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
First Claim
1. A method for accelerating access by the client to a server by pooling on the client one or more transport layer connections to the server, the method comprising the steps of:
- intercepting, by an acceleration program on the client, a first request by a first application to establish a first transport layer connection with a server;
establishing, by the acceleration program, a transport layer connection between the acceleration program and the server;
intercepting, by the acceleration program, a second request by a second application to establish a second transport layer connection with the server;
determining, by the acceleration program based on a content length parameter or a chunk-size field in an application layer communication between the first application and the server, that the communication between the first application and the server is complete and the first application'"'"'s use of the established transport layer connection is idle; and
using, by the acceleration program, responsive to the determination, the established transport layer connection to provide the requested transport layer connection for the second application.
7 Assignments
0 Petitions
Accused Products
Abstract
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.
742 Citations
35 Claims
-
1. A method for accelerating access by the client to a server by pooling on the client one or more transport layer connections to the server, the method comprising the steps of:
-
intercepting, by an acceleration program on the client, a first request by a first application to establish a first transport layer connection with a server; establishing, by the acceleration program, a transport layer connection between the acceleration program and the server; intercepting, by the acceleration program, a second request by a second application to establish a second transport layer connection with the server; determining, by the acceleration program based on a content length parameter or a chunk-size field in an application layer communication between the first application and the server, that the communication between the first application and the server is complete and the first application'"'"'s use of the established transport layer connection is idle; and using, by the acceleration program, responsive to the determination, the established transport layer connection to provide the requested transport layer connection for the second application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 33, 34)
-
-
17. A system for accelerating access by the client to one or more servers by pooling on the client one or more transport layer connections to the server, the system comprising:
-
means for intercepting, by an acceleration program on the client, a first request by a first application to establish a first transport layer connection with a server; means for establishing, by the acceleration program, a transport layer connection between the acceleration program and the server; means for intercepting, by the acceleration program, a second request by a second application to establish a second transport layer connection with the server; means for determining, by the acceleration program based on a content length parameter or a chunk-size field in an application layer communication between the first application and the server, that the communication between the first application and the server is complete and the first application'"'"'s use of the established transport layer connection is idle; and means for using, by the acceleration program, the established transport layer connection to provide the requested transport layer connection for the second application. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
35. A method for accelerating access by the client to a server by pooling on the client one or more transport layer connections to the server, the method comprising:
-
intercepting, by an acceleration program on the client, a first request by a first application to establish a first transport layer connection with a server; intercepting, by the acceleration program, a second request by a second application to establish a second transport layer connection with the server; determining, by the acceleration program based on checking application layer communications between the first application and the server, that the first application'"'"'s use of the established transport layer connection is idle by checking that the first application is not using the established transport layer connection prior to receipt of a timeout for the established transport layer connection; and using, by the acceleration program, responsive to the determination, the established transport layer connection to provide the requested transport layer connection for the second application.
-
Specification