Intelligent network streaming and execution system for conventionally coded applications
First Claim
1. A method comprising:
- receiving, at a client device, a streaming application install block from a streaming application server for a streaming application executed at the client device;
generating file spoof data at the client device according to the streaming application install block;
beginning execution of the streaming application at the client device using the streaming application install block;
intercepting a request for a file used in continuing execution of the streaming application at the client device using the file spoof data;
determining if the file is located at the client device in a client stream cache;
if it is determined that the file is located in the client stream cache, satisfying the request for the file by;
retrieving the file from the client stream cache;
providing the file for continued execution of the streaming application at the client device;
if it is determined that the file is absent from the client stream cache, satisfying the request for the file by;
sending a request for the file to the streaming application server;
receiving at least one application file page including the file from the streaming application server;
providing the file from the at least one application file page for continued execution of the streaming application at the client device;
generating a prefetch history based on requests for application file pages made by the client device to the streaming application server;
sending the prefetch history to the streaming application server;
receiving from the streaming application server an additional application file page based on the prefetch history.
5 Assignments
0 Petitions
Accused Products
Abstract
An intelligent network streaming and execution system for conventionally coded applications provides a system that partitions an application program into page segments by observing the manner in which the application program is conventionally installed. A minimal portion of the application program is installed on a client system and the user launches the application in the same ways that applications on other client file systems are started. An application program server streams the page segments to the client as the application program executes on the client and the client stores the page segments in a cache. Page segments are requested by the client from the application server whenever a page fault occurs from the cache for the application program. The client prefetches page segments from the application server or the application server pushes additional page segments to the client based on the pattern of page segment requests for that particular application. The user subscribes and unsubscribes to application programs, whenever the user accesses an application program a securely encrypted access token is obtained from a license server if the user has a valid subscription to the application program. The application server begins streaming the requested page segments to the client when it receives a valid access token from the client. The client performs server load balancing across a plurality of application servers. If the client observes a non-response or slow response condition from an application server or license server, it switches to another application or license server.
-
Citations
18 Claims
-
1. A method comprising:
-
receiving, at a client device, a streaming application install block from a streaming application server for a streaming application executed at the client device; generating file spoof data at the client device according to the streaming application install block; beginning execution of the streaming application at the client device using the streaming application install block; intercepting a request for a file used in continuing execution of the streaming application at the client device using the file spoof data; determining if the file is located at the client device in a client stream cache; if it is determined that the file is located in the client stream cache, satisfying the request for the file by;
retrieving the file from the client stream cache;providing the file for continued execution of the streaming application at the client device; if it is determined that the file is absent from the client stream cache, satisfying the request for the file by;
sending a request for the file to the streaming application server;receiving at least one application file page including the file from the streaming application server; providing the file from the at least one application file page for continued execution of the streaming application at the client device; generating a prefetch history based on requests for application file pages made by the client device to the streaming application server; sending the prefetch history to the streaming application server; receiving from the streaming application server an additional application file page based on the prefetch history. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising:
-
a client device configured to receive a streaming application install block from a streaming application server for a streaming application executed at the client device; a client application installer configured to begin execution of the streaming application at the client device using the streaming application install block; a client file spoofer configured to; generate file spoof data at the client device according to the streaming application install block; intercept a request for a file used in continuing execution of the streaming application at the client device using the file spoof data; a client cache manager configured to; determine if the file is located at the client device in a client stream cache; retrieve the file from the client stream cache, if it is determined that the file is located in the client stream cache; provide the file from the client stream cache to the client application installer for continued execution of the streaming application at the client device, if it is determined that the file is located in the client stream cache; send a request for the file to the streaming application server, if it is determined that the file is absent from the client stream cache; receive at least one application file page including the file from the streaming application server, if it is determined that the file is absent from the client stream cache; provide the file from the at least one application file page to the client application installer for continued execution of the streaming application at the client device, if it is determined that the file is absent from the client stream cache; generate a prefetch history based on requests for application file pages made by the client device to the streaming application server; send the prefetch history to the streaming application server; receive from the streaming application server an additional application file page based on the prefetch history. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A system comprising:
-
a means for receiving at a client device a streaming application install block from a streaming application server for a streaming application executed at the client device; a means for beginning execution of the streaming application at the client device using the streaming application install block; a means for generating file spoof data at the client device according to the streaming application install block; a means for intercepting a request for a file used in continuing execution of the streaming application at the client device using the file spoof data; a means for determining if the file is located at the client device in a client stream cache; a means for retrieving the file from the client stream cache, if it is determined that the file is located in the client stream cache; a means for providing the file from the client stream cache to a client application installer for continued execution of the streaming application at the client device, if it is determined that the file is located in the client stream cache; a means for sending a request for the file to the streaming application server, if it is determined that the file is absent from the client stream cache; a means for receiving at least one application file page including the file from the streaming application server, if it is determined that the file is absent from the client stream cache; a means for providing the file from the at least one application file page to the client application installer for continued execution of the streaming application at the client device, if it is determined that the file is absent from the client stream cache; a means for generating a prefetch history based on requests for application file pages made by the client device to the streaming application server; a means for sending the prefetch history to the streaming application server; a means for receiving from the streaming application server an additional application file page based on the prefetch history.
-
Specification