Application streaming and execution for localized clients
First Claim
1. A method comprising:
- taking a pre-installation environment snapshot of an environment of a machine a stream-enabled application will be executed on and before the stream-enabled application is executed on the machine;
fully installing the stream-enabled application on the machine;
taking a post-installation environment snapshot of the environment of the machine after the stream-enabled application is executed on the machine;
generating an application snapshot of the stream-enabled application based on changes to the environment;
providing the application snapshot to an application streaming client for use in determining additional portions of the stream-enabled application;
providing portions of the stream-enabled application to the application streaming client, the stream-enabled application virtualized at the application streaming client, the portions of the stream-enabled application used to generate a pixel stream at the application streaming client representing execution of the stream-enabled application virtualized at the application streaming client from the playing of the stream-enabled application virtualized at the application streaming client, the pixel stream provided by the application streaming client to a pixel-based application streaming client of a user remote from the application streaming client through a local area network, the portions of the stream-enabled application enough portions of the stream-enabled application to cross an executable threshold at which point execution of the stream-enabled application can be initiated at the application streaming client;
receiving a request for the additional portions of the stream-enabled application from the application streaming client, the additional portions of the stream-enabled application determined from the application snapshot based on user input of the user in interacting with the pixel stream as if the user is interacting with the stream-enabled application residing locally at the pixel-based application streaming client;
providing the additional portions of the stream-enabled application to the application streaming client for use in continued execution of the stream-enabled application at the application streaming client according to the user input and modifying the pixel stream according to the continued execution of the stream-enabled application.
1 Assignment
0 Petitions
Accused Products
Abstract
For various implementations, a first application streaming client can obtain portions of an application from a application streaming server, execute the application based on those portions obtained, and provide a second application streaming client (a pixel-based application streaming client) access to the executing application using a pixel stream generated based on output from the executing application. Depending on the implementation, the first application streaming client could execute the application, based on the portions obtained, on behalf of a user at the application streaming client, on behalf of the pixel-based application streaming client, or both. In various implementations, the first application streaming client and the second application streaming client can be communicatively coupled through a local network (e.g., LAN or local WiFi), while the first application streaming client and the application streaming server can be communicatively coupled through a wider area network (e.g., WAN or MAN).
-
Citations
11 Claims
-
1. A method comprising:
-
taking a pre-installation environment snapshot of an environment of a machine a stream-enabled application will be executed on and before the stream-enabled application is executed on the machine; fully installing the stream-enabled application on the machine; taking a post-installation environment snapshot of the environment of the machine after the stream-enabled application is executed on the machine; generating an application snapshot of the stream-enabled application based on changes to the environment; providing the application snapshot to an application streaming client for use in determining additional portions of the stream-enabled application; providing portions of the stream-enabled application to the application streaming client, the stream-enabled application virtualized at the application streaming client, the portions of the stream-enabled application used to generate a pixel stream at the application streaming client representing execution of the stream-enabled application virtualized at the application streaming client from the playing of the stream-enabled application virtualized at the application streaming client, the pixel stream provided by the application streaming client to a pixel-based application streaming client of a user remote from the application streaming client through a local area network, the portions of the stream-enabled application enough portions of the stream-enabled application to cross an executable threshold at which point execution of the stream-enabled application can be initiated at the application streaming client; receiving a request for the additional portions of the stream-enabled application from the application streaming client, the additional portions of the stream-enabled application determined from the application snapshot based on user input of the user in interacting with the pixel stream as if the user is interacting with the stream-enabled application residing locally at the pixel-based application streaming client; providing the additional portions of the stream-enabled application to the application streaming client for use in continued execution of the stream-enabled application at the application streaming client according to the user input and modifying the pixel stream according to the continued execution of the stream-enabled application. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
at least one processor; memory storing instructions and configured to instruct the at least one processor to perform the steps of; taking a pre-installation environment snapshot of an environment of a machine a stream-enabled application will be executed on and before the stream-enabled application is executed on the machine; fully installing the stream-enabled application on the machine; taking a post-installation environment snapshot of the environment of the machine after the stream-enabled application is executed on the machine; generating an application snapshot of the stream-enabled application based on changes to the environment; providing the application snapshot to an application streaming client for use in determining additional portions of the stream-enabled application; provide portions of the stream-enabled application to the application streaming client, the stream-enabled application virtualized at the application streaming client, the portions of the stream-enabled application used to generate a pixel stream at the application streaming client representing execution of the stream-enabled application virtualized at the application streaming client from the playing of the stream-enabled application virtualized at the application streaming client, the pixel stream provided by the application streaming client to a pixel-based application streaming client of a user remote from the application streaming client through a local area network, the portions of the stream-enabled application enough portions of the stream-enabled application to cross an executable threshold at which point execution of the stream-enabled application can be initiated at the application streaming client; receive, at an application streaming server, a request for the additional portions of the stream-enabled application from the application streaming client, the additional portions of the stream-enabled application determined from the application snapshot based on user input of the user in interacting with the pixel stream as if the user is interacting with the stream-enabled application residing locally at the pixel-based application streaming client; provide the additional portions of the stream-enabled application to the application streaming client for use in continued execution of the stream-enabled application at the application streaming client according to the user input and modifying the pixel stream according to the continued execution of the stream-enabled application. - View Dependent Claims (8, 9, 10, 11)
-
Specification