System for downloading and executing virtualized application files identified by unique file identifiers
First Claim
1. A method of downloading a plurality of virtualized application files used to execute a virtual application, the method being performed by a first computing device in communication with a second computing device over a network, the first computing device having a client application and a virtual process manager executing thereon, the second computing device storing the plurality of virtualized application files, the method comprising:
- at the client application, receiving a plurality of user commands to download and execute the plurality of virtualized application files stored on the second computing device, each of the plurality of virtualized application files at least partially implementing the virtual application;
in response to receiving the plurality of user commands, the client application sending a plurality of first commands to the virtual process manager, each of the plurality of first commands identifying at least one of the plurality of virtualized application files and instructing the virtual process manager to download the at least one virtualized application file from the second computing device to the first computing device;
at the virtual process manager, receiving the plurality of first commands sent by the client application;
in response to receiving the plurality of first commands;
the virtual process manager automatically determining that a first portion of the plurality of virtualized application files identified by the plurality of first commands were fully downloaded to the first computing device prior to the client application receiving the plurality of user commands, each virtualized application file in the first portion being associated with a previously generated unique file identifier,the virtual process manager automatically determining that a second portion of the plurality of virtualized application files identified by the plurality of first commands were not fully downloaded to the first computing device prior to the client application receiving the plurality of user commands,the virtual process manager automatically generating, for each virtualized application file in the second portion of the plurality of virtualized application files, a new unique file identifier and associating the new unique file identifier with the virtualized application file, the previously generated and new unique file identifiers being a plurality of unique identifiers,the virtual process manager sending the plurality of unique identifiers to the client application, andthe virtual process manager automatically downloading the second portion of the plurality of virtualized application files;
in response to receiving the plurality of unique identifiers and during the downloading of the second portion of the plurality of virtualized application files, the client application requesting download statuses from the virtual process manager for the plurality of virtualized application files identified in the plurality of first commands by sending status inquires to the virtual process manager, each of the status inquiries including one of the plurality of unique identifiers;
providing, by the virtual process manager, the download statuses to the client application in response to the virtual process manager receiving the status inquiries;
at the client application, determining that the plurality of virtualized application files have finished downloading based on the download statuses received in response to the status inquiries, and sending, to the virtual process manager, a plurality of second commands; and
in response to receiving the plurality of second commands sent by the client application, the virtual process manager automatically executing the virtual application.
3 Assignments
0 Petitions
Accused Products
Abstract
A virtual process manager for use with a client application. Both the virtual process manager and the client application are installed on a client computing device. The client application is configured to receive a user command to execute a virtual application at least partially implemented by a virtualized application file stored on a remote computing device. In response to the user command, the client application commands to the virtual process manager to execute the virtualized application file. Without additional user input, the virtual process manager downloads the virtualized application file from the remote computing device and executes the virtual application at least partially implemented by the downloaded virtualized application file on the client computing device. The client application may comprise a conventional web browser or operating system shell process.
-
Citations
24 Claims
-
1. A method of downloading a plurality of virtualized application files used to execute a virtual application, the method being performed by a first computing device in communication with a second computing device over a network, the first computing device having a client application and a virtual process manager executing thereon, the second computing device storing the plurality of virtualized application files, the method comprising:
-
at the client application, receiving a plurality of user commands to download and execute the plurality of virtualized application files stored on the second computing device, each of the plurality of virtualized application files at least partially implementing the virtual application; in response to receiving the plurality of user commands, the client application sending a plurality of first commands to the virtual process manager, each of the plurality of first commands identifying at least one of the plurality of virtualized application files and instructing the virtual process manager to download the at least one virtualized application file from the second computing device to the first computing device; at the virtual process manager, receiving the plurality of first commands sent by the client application; in response to receiving the plurality of first commands; the virtual process manager automatically determining that a first portion of the plurality of virtualized application files identified by the plurality of first commands were fully downloaded to the first computing device prior to the client application receiving the plurality of user commands, each virtualized application file in the first portion being associated with a previously generated unique file identifier, the virtual process manager automatically determining that a second portion of the plurality of virtualized application files identified by the plurality of first commands were not fully downloaded to the first computing device prior to the client application receiving the plurality of user commands, the virtual process manager automatically generating, for each virtualized application file in the second portion of the plurality of virtualized application files, a new unique file identifier and associating the new unique file identifier with the virtualized application file, the previously generated and new unique file identifiers being a plurality of unique identifiers, the virtual process manager sending the plurality of unique identifiers to the client application, and the virtual process manager automatically downloading the second portion of the plurality of virtualized application files; in response to receiving the plurality of unique identifiers and during the downloading of the second portion of the plurality of virtualized application files, the client application requesting download statuses from the virtual process manager for the plurality of virtualized application files identified in the plurality of first commands by sending status inquires to the virtual process manager, each of the status inquiries including one of the plurality of unique identifiers; providing, by the virtual process manager, the download statuses to the client application in response to the virtual process manager receiving the status inquiries; at the client application, determining that the plurality of virtualized application files have finished downloading based on the download statuses received in response to the status inquiries, and sending, to the virtual process manager, a plurality of second commands; and in response to receiving the plurality of second commands sent by the client application, the virtual process manager automatically executing the virtual application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer-readable medium comprising instructions that when executed by a processor implement a virtual process manager configured to receive commands from a client application, the virtual process manager being configured to:
-
receive a plurality of first commands from the client application to download a plurality of virtualized application files used to execute a virtual application, each of the plurality of first commands identifying at least one of the plurality of virtualized application files and instructing the virtual process manager to download the at least one virtualized application file; in response to receiving the plurality of first commands; automatically determine that a first portion of the plurality of virtualized application files identified by the plurality of first commands were fully downloaded previously, each virtualized application file in the first portion being associated with a previously generated unique file identifier, automatically determine that a second portion of the plurality of virtualized application files identified by the plurality of first commands were not fully downloaded previously, automatically generate a new unique file identifier for each virtualized application file in the second portion of the plurality of virtualized application files, and associate the new unique file identifier with the virtualized application file for which the new unique file identifier was generated, the previously generated and new unique file identifiers being a plurality of unique identifiers, send the plurality of unique identifiers to the client application, and automatically download the second portion of the plurality of virtualized application files; receive status inquiries from the client application in response to sending the plurality of unique identifiers to the client application and during the downloading of the second portion of the plurality of virtualized application files, each of the status inquiries including one of the plurality of unique identifiers; provide download statuses to the client application in response to the status inquiries, the client application being configured to determine when the plurality of virtualized application files have finished downloading based on the download statuses and to send a plurality of second commands to the virtual process manager after the client application determines that the plurality of virtualized application files have finished downloading, the plurality of second commands instructing the virtual process manager to execute the virtual application; and automatically execute the virtual application in response to receiving the plurality of second commands. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A method of downloading a plurality of virtualized application files used to execute a virtual application, the method being performed by a first computing device in communication with a second computing device over a network, the first computing device having a client application and a virtual process manager executing thereon, the second computing device storing the plurality of virtualized application files, the method comprising:
-
receiving, by the virtual process manager, a plurality of first commands from the client application to download the plurality of virtualized application files, each of the plurality of first commands identifying at least one of the plurality of virtualized application files and instructing the virtual process manager to download the at least one virtualized application file; in response to receiving the plurality of first commands, the virtual process manager; automatically determining that a first portion of the plurality of virtualized application files identified by the plurality of first commands were fully downloaded previously, each virtualized application file in the first portion being associated with a previously generated unique file identifier, automatically determining that a second portion of the plurality of virtualized application files identified by the plurality of first commands were not fully downloaded previously, automatically generating a new unique file identifier for each virtualized application file in the second portion of the plurality of virtualized application files, and associating the new unique file identifier with the virtualized application file for which the new unique file identifier was generated, the previously generated and new unique file identifiers being a plurality of unique identifiers, sending the plurality of unique identifiers to the client application, and automatically downloading the second portion of the plurality of virtualized application files; receiving, by the virtual process manager, status inquiries from the client application in response to sending the plurality of unique identifiers to the client application and during the downloading of the second portion of the plurality of virtualized application files, each of the status inquiries including one of the plurality of unique identifiers; providing, by the virtual process manager, download statuses to the client application in response to the status inquiries, the client application being configured to determine when the plurality of virtualized application files have finished downloading based on the download statuses and to send a plurality of second commands to the virtual process manager after the client application determines that the plurality of virtualized application files have finished downloading, the plurality of second commands instructing the virtual process manager to execute the virtual application; and automatically executing, by the virtual process manager, the virtual application in response to receiving the plurality of second commands. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
Specification