Systems and methods for accelerating delivery of a computing environment to a remote user
First Claim
Patent Images
1. A method for accelerating delivery of a computing environment to a remote client, the method comprising the steps of:
- receiving, by a server, a request from a remote client to execute an application, the remote client and server communicating via an appliance;
streaming, by the server, to the remote client the application for execution;
determining, by the appliance, the application is capable of being accelerated;
transmitting, by the appliance, in response to the determination an acceleration program to the remote client;
identifying, by the server, a data file useable by the application;
transmitting, by the server, the identified data file for access by the streamed application, prior to receiving a request for the data file; and
accelerating, by the appliance, the transmission of the data file by the server to the remote client;
wherein the acceleration program on the remote client accelerates communications between the remote client and the server; and
wherein streaming of the application or transmission of the identified data file is performed via a pooled transport layer connection used by a plurality of clients.
7 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed towards a method and system for accelerating delivery of a computing environment to a remote client. The computing environment may include a plurality of files comprising an application program and may be streamed to a remote client from a server. Responsive to a determination of whether transmission of the application may be accelerated, an appliance, intercepting the plurality of files, may accelerate transmission of the application program by applying one or more transport layer transmission acceleration techniques to the plurality of files.
308 Citations
49 Claims
-
1. A method for accelerating delivery of a computing environment to a remote client, the method comprising the steps of:
-
receiving, by a server, a request from a remote client to execute an application, the remote client and server communicating via an appliance; streaming, by the server, to the remote client the application for execution; determining, by the appliance, the application is capable of being accelerated; transmitting, by the appliance, in response to the determination an acceleration program to the remote client; identifying, by the server, a data file useable by the application; transmitting, by the server, the identified data file for access by the streamed application, prior to receiving a request for the data file; and accelerating, by the appliance, the transmission of the data file by the server to the remote client; wherein the acceleration program on the remote client accelerates communications between the remote client and the server; and wherein streaming of the application or transmission of the identified data file is performed via a pooled transport layer connection used by a plurality of clients. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system for accelerating delivery of a computing environment to a remote client, the system comprising:
-
an appliance comprising a processor for accelerating communications between one or more clients and one or more servers and a cache; a server receiving a request from a remote client to execute an application, the server streaming to the remote client via the appliance the application for execution in response to the request; wherein the server identifies a data file usable by the application, and transmits the identified data file for access by the streamed application, prior to receiving a request for the file; and the appliance accelerates the transmission of the data file by the server to the remote client by caching the data file in the cache, intercepting a request for the data file, and transmitting the cached data file to the remote client in response to the request; wherein streaming of the application or transmission of the identified data file is performed via a pooled transport layer connection used by a plurality of clients. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A method for accelerating delivery of a computing environment to a remote client via a client agent and an appliance, the method comprising the steps of:
-
streaming, via an appliance, to a client agent an application for execution requested by a remote client; identifying, by the appliance, a data file usable by the application; transmitting, via the appliance, the identified data file prior to receiving a request for the data file, the data file accessed by the streamed application; and accelerating, by one of the client agent or the appliance, the transmission of the data file to the remote client; wherein streaming of the application or transmission of the identified data file is performed via a pooled transport layer connection used by a plurality of clients established between the appliance and a server. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. A method for accelerating delivery of a computing environment to a remote client via a client agent, the method comprising the steps of:
-
intercepting, by a client agent, a request of a user for a streamed application; receiving, by the client agent, the streamed application requested for execution from a server, the remote client communicating with the server via the client agent; caching, by the client agent, a portion of the streamed application; providing, by the client agent, the portion of the streamed application in response to the request; identifying, by the client agent, a data file usable by the application; requesting, by the client agent, from the server the identified data file prior to receiving a request for the data file; and accelerating, by the client agent, transmission of the data file by the server to the streamed application of the remote client by intercepting a request of the remote client for the data file and providing the portion of cached data file in response to the request; wherein streaming of the application or transmission of the identified data file is performed via a pooled transport layer connection used by a plurality of clients. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49)
-
Specification