Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
First Claim
1. A method for accelerating on a client access by the client to one or more applications on a server by multiplexing a plurality of application requests via a shared transport layer connection, the method comprising the steps of:
- (a) intercepting at a layer below an application layer of a network stack of a client, by an acceleration program on the client, a first request by a first application of the client to access a server;
(b) transmitting, by the acceleration program, the first request via a transport layer connection established between the acceleration program and the server;
(c) intercepting at the layer below the application layer, by the acceleration program, a second request by a second application of the client to access the server;
(d) determining, by the acceleration program, that the established transport layer connection is not currently in use by the first application based on expiration of a predetermined period of time without communication by the first application; and
(e) transmitting, by the acceleration program, the second request via the established transport layer connection used by the first application, responsive to the determination that the established transport layer connection is not currently in use by the first 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 multiplexing 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 multiplexes requests from one or more applications via the same transport layer connection maintained by the acceleration program. As such, the acceleration program can utilize the idle time of one application in using the transport layer connection to service a request of a second application through the same transport layer connection.
779 Citations
36 Claims
-
1. A method for accelerating on a client access by the client to one or more applications on a server by multiplexing a plurality of application requests via a shared transport layer connection, the method comprising the steps of:
-
(a) intercepting at a layer below an application layer of a network stack of a client, by an acceleration program on the client, a first request by a first application of the client to access a server; (b) transmitting, by the acceleration program, the first request via a transport layer connection established between the acceleration program and the server; (c) intercepting at the layer below the application layer, by the acceleration program, a second request by a second application of the client to access the server; (d) determining, by the acceleration program, that the established transport layer connection is not currently in use by the first application based on expiration of a predetermined period of time without communication by the first application; and (e) transmitting, by the acceleration program, the second request via the established transport layer connection used by the first application, responsive to the determination that the established transport layer connection is not currently in use by the first application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system for accelerating on a client access by the client to one or more applications on a server by multiplexing a plurality of application requests via a shared transport layer connection, the system comprising:
-
means for intercepting at a layer below an application layer of a network stack of a client, by an acceleration program on the client, a first request by a first application of the client to access a server; means for transmitting, by the acceleration program, the first request via a transport layer connection established between the acceleration program and the server; means for intercepting at the layer below the application layer, by the acceleration program, a second request by a second application of the client to access the server; means for determining, by the acceleration program, that the established transport layer connection is not currently in use by the first application based on comparing a number of bytes transmitted by the first application to the server with a number of bytes acknowledged by the server; and means for transmitting, by the acceleration program, the second request via the established transport layer connection used by the first application, responsive to the determination that the established transport layer connection is not currently in use by the first application. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
Specification