System for downloading and executing a virtual application
First Claim
1. A method performed by a virtual process manager and a client application both executing on a first computing device, the method comprising:
- the client application connecting to a second computing device over a network, the second computing device storing a virtualized application file at least partially implementing a virtual application, the second computing device transferring a webpage to the client application, the webpage identifying the virtualized application file as being available for download, the webpage being operable to receive, from a user, a user command to execute the virtual application at least partially implemented by the virtualized application file;
the client application receiving the webpage;
without user input and before the webpage receives the user command to execute the virtual application at least partially implemented by the virtualized application file, the client application sending a command to the virtual process manager to download a portion of the virtualized application file from the second computing device;
without user input, the virtual process manager downloading the portion of the virtualized application file from the second computing device, and waiting to execute the virtual application at least partially implemented by the virtualized application file on the first computing device until the virtual process manager receives a command from the client application to do so;
after the virtual process manager has begun downloading the portion of the virtualized application file from the second computing device, the webpage receiving the user command to execute the virtual application at least partially implemented by the virtualized application file;
after the webpage receives the user command to execute the virtual application at least partially implemented by the virtualized application file, the client application, sending a command to the virtual process manager to execute the virtual application at least partially implemented by the virtualized application file on the first computing device; and
in response to the command to execute the virtual application, the virtual process manager downloading any portions of the virtualized application file not previously downloaded from the second computing device, and executing the virtual application at least partially implemented by the downloaded virtualized application file on the first computing, wherein the virtual process manager does not query the user for any information during the download or execution of the virtualized application file.
3 Assignments
0 Petitions
Accused Products
Abstract
A virtual process manager for use with a client application. Both the process manager and the client application are installed on a client computing device. In response to a user command to execute a virtual application at least partially implemented by a virtualized application file stored on a remote computing device, the client application sends a high priority command to the process manager to execute the virtual application. Before receiving the user command, the client application sends a low priority command to the process manager to download at least a portion of the virtualized application file. In response to the high priority command, and without additional user input, the process manager downloads any portion of the file not downloaded in response to the low priority command, and executes the virtual application on the client computing device. The client application may comprise a conventional web browser or operating system shell process.
204 Citations
20 Claims
-
1. A method performed by a virtual process manager and a client application both executing on a first computing device, the method comprising:
-
the client application connecting to a second computing device over a network, the second computing device storing a virtualized application file at least partially implementing a virtual application, the second computing device transferring a webpage to the client application, the webpage identifying the virtualized application file as being available for download, the webpage being operable to receive, from a user, a user command to execute the virtual application at least partially implemented by the virtualized application file; the client application receiving the webpage; without user input and before the webpage receives the user command to execute the virtual application at least partially implemented by the virtualized application file, the client application sending a command to the virtual process manager to download a portion of the virtualized application file from the second computing device; without user input, the virtual process manager downloading the portion of the virtualized application file from the second computing device, and waiting to execute the virtual application at least partially implemented by the virtualized application file on the first computing device until the virtual process manager receives a command from the client application to do so; after the virtual process manager has begun downloading the portion of the virtualized application file from the second computing device, the webpage receiving the user command to execute the virtual application at least partially implemented by the virtualized application file; after the webpage receives the user command to execute the virtual application at least partially implemented by the virtualized application file, the client application, sending a command to the virtual process manager to execute the virtual application at least partially implemented by the virtualized application file on the first computing device; and in response to the command to execute the virtual application, the virtual process manager downloading any portions of the virtualized application file not previously downloaded from the second computing device, and executing the virtual application at least partially implemented by the downloaded virtualized application file on the first computing, wherein the virtual process manager does not query the user for any information during the download or execution of the virtualized application file. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable medium comprising instructions that when executed by a processor of a first computing device implement a virtual process manager configured to receive commands from a client application, the virtual process manager being configured to download a portion of a first virtualized application file from a second computing device without any user interaction in response to a low priority command from the client application identifying the first virtualized application file for download,
the virtualized application file at least partially implementing a virtual application, the second computing device transferring a webpage to the client application, the webpage identifying the virtualized application file as being available for download, the webpage being operable to receive, from a user, a user command to execute the virtual application, the client application receiving the webpage and before the webpage receives the user command to execute the virtual application, the client application sending the low priority command to the virtual process manager, after the webpage receives the user command to execute the virtual application, the client application sending a high priority command to the virtual process manager to execute, on the first computing device, the virtual application at least partially implemented by the downloaded virtualized application file, wherein the virtual process manager does not query the user for any information during the download or execution of the virtualized application file.
-
12. A non-transitory computer-readable medium comprising instructions that when executed by a processor of a first computing device implement a virtual process manager configured to receive a plurality of low priority commands and a high priority command from a client application, a second computing device transferring a webpage to the client application, the webpage identifying a particular one of a plurality of virtualized application files as being available for download, the webpage being operable to receive, from a user, a user command to execute the particular virtualized application file, the particular virtualized application file at least partially implementing a virtual application when executed, the virtual process manager being configured to:
-
download a portion of the plurality of virtualized application files from the second computing device without any user interaction in response to the low priority commands received from the client application, the low priority commands identifying the plurality of virtualized application files for download, the client application sending the low priority commands to the virtual process manager before the webpage receives the user command to execute the virtual application, the client application sending the high priority command to the virtual process manager after the webpage receives the user command to execute the virtual application; pause the downloading of the portions of the plurality of virtualized application files in response to receiving the high priority command from the client application, the high priority command identifying the particular virtualized application file for execution; after pausing the downloading of the portions of a plurality of virtualized application files, download any previously undownloaded portion of the particular virtualized application file; after downloading the particular virtualized application file, resume the downloading of the portions of the plurality of virtualized application files other than the particular virtualized application file; and execute the particular virtualized application file on the first computing device, wherein the virtual process manager does not query the user for any information during the download or execution of the particular virtualized application file.
-
-
13. A non-transitory computer-readable medium comprising:
-
(A) instructions that when executed by a processor of a first computing device implement a client application configured to; receive a webpage from a remote server computing device, the webpage identifying a virtualized application file stored on the remote server computing device as being available for download, the webpage being operable to receive user commands; before receiving any user commands with respect to the webpage, send a low priority command to download at least a portion of the virtualized application file from the remote server computing device; receive a user command with respect to the webpage to execute the virtualized application file, and in response to the user command, send a high priority command to execute the virtualized application file; and (B) instructions that when executed by the processor of the first computing device implement a virtual process manager, the virtual process manager being configured to; receive the low priority command sent by the client application, in response to receiving the low priority command and without additional user input, begin downloading the portion of the virtualized application file, receive the high priority command sent by the client application, and in response to receiving the high priority command and without additional user input, download any previously undownloaded portions of the virtualized application file, and initiate execution of the downloaded virtualized application file on the first computing device, wherein the virtual process manager does not query the user for any information during the download or execution of the virtualized application file. - View Dependent Claims (14)
-
-
15. A method performed by a first computing device in communication with a second computing device over a network, the method comprising:
-
transferring a webpage from the second computing device to a client application executing on the first computing device, the webpage identifying a plurality of virtualized application files stored on the second computing device as being available for download; the client application sending low priority commands to a virtual process manager executing on the first computing device, each of the low priority commands commanding the virtual process manager to download a portion of an associated one of the plurality of virtualized application files stored on the second computing device; at the webpage, receiving user commands to execute selected ones of the plurality of virtualized application files stored on the second computing device; in response to each of the user commands received by the webpage, the client application sending a high priority command to the virtual process manager to execute a virtual application at least partially implemented by an associated one of the plurality of virtualized application files stored on the second computing device; at the virtual process manager, receiving the low priority commands sent by the client application; in response to receiving each of the low priority commands and without additional user input, the virtual process manager initiating download of the portion of the associated one of the plurality of virtualized application files from the second computing device, at the virtual process manager, receiving the high priority commands sent by the client application; and in response to receiving each of the high priority commands sent by the client application and without additional user input, the virtual process manager pausing the downloading initiated in response to the low priority commands, downloading any portion of the associated one of the plurality of virtualized application files not downloaded in response to the low priority commands, executing the virtual application at least partially implemented by the downloaded virtualized application file on the first computing device, and resuming the downloading initiated in response to the low priority commands with respect to any of the plurality of virtualized application files not associated with one of the high priority commands, wherein the virtual process manager does not query the user for any information during the download or execution of the downloaded virtualized application file. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification