METHOD AND SYSTEM FOR MANAGING EXECUTION OF VIRTUAL APPLICATIONS
First Claim
1. A computer-implemented method for use with a virtual runtime engine, the method being performed by a directing process, the method comprising:
- instructing the virtual runtime engine separate from the directing process to execute a virtual application file to thereby initiate execution of a virtual application at least partially implemented by the virtual application file;
allocating a block of shared memory, the virtual runtime engine being configured to access the identified block of shared memory;
pausing execution of the virtual application by storing in the block of shared memory an indication that execution of the virtual application is to be paused, the virtual runtime engine being configured to read the indication that execution of the virtual application is to be paused and after the reading thereof, prevent the virtual application from accessing the virtual application file; and
resuming execution of the virtual application by storing in the block of shared memory an indication that execution of the virtual application is to be resumed, the virtual runtime engine being configured to read the indication that execution of the virtual application is to be resumed and after the reading thereof, allow the virtual application to access the virtual application file.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for directing download and execution of an application. A runtime engine receives an identifier of a block of shared memory from a directing process. The shared memory stores a map indicating which portions of an application file have been stored in a local copy of the application file. The runtime engine also receives an instruction from the directing process to execute the local copy when the local copy stores less than the entire application file. As the application executes, the runtime engine identifies requests from the application to access portions of the local copy and uses the map to determine whether the requested portions have been stored in the local copy. If the requested portions are not stored in the local copy, the runtime engine prevents the executing application from accessing the local copy until the map indicates the requested portions have been stored therein.
-
Citations
26 Claims
-
1. A computer-implemented method for use with a virtual runtime engine, the method being performed by a directing process, the method comprising:
-
instructing the virtual runtime engine separate from the directing process to execute a virtual application file to thereby initiate execution of a virtual application at least partially implemented by the virtual application file; allocating a block of shared memory, the virtual runtime engine being configured to access the identified block of shared memory; pausing execution of the virtual application by storing in the block of shared memory an indication that execution of the virtual application is to be paused, the virtual runtime engine being configured to read the indication that execution of the virtual application is to be paused and after the reading thereof, prevent the virtual application from accessing the virtual application file; and resuming execution of the virtual application by storing in the block of shared memory an indication that execution of the virtual application is to be resumed, the virtual runtime engine being configured to read the indication that execution of the virtual application is to be resumed and after the reading thereof, allow the virtual application to access the virtual application file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer-implemented method for use with a runtime engine, the method comprising:
-
downloading a first portion of a plurality of files, each of the plurality of files storing a portion of an application file that at least partially implements an application, combined the plurality of files being capable of fully executing the application, the first portion of the plurality of files being executable to initiate execution of the application but incapable of fully executing the application; storing contents of the downloaded first portion of the plurality of files in a local copy of the application file; allocating a block of shared memory, the runtime engine being configured to access the block of shared memory; storing a map in the block of shared memory identifying which portions of the application file have been stored in the local copy of the application file; instructing the runtime engine to execute the local copy of the application file when the local copy of the application file comprises the first portion of the plurality of files thereby initiating execution of the application; and as the application executes, downloading additional ones of the plurality of files and for each file downloaded, storing contents of the file in the local copy of the application file, and updating the map to identify which portions of the application are stored in the local copy of the application file, the runtime engine being operable to access the map to determine whether a portion of the application requested by the executing application has been stored in the local copy of the application file, and if the requested portion has not been stored in the local copy of the application file, to wait until the requested portion has been stored in the local copy of the application file. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A computer-implemented method for use with a directing process, the method being performed by a runtime engine, the method comprising:
-
receiving an identifier of a block of shared memory from the directing process, a map being stored in the block of shared memory, the map indicating which portions of an application file have been stored in a local copy of the application file; receiving an instruction from the directing process to execute the local copy of the application file when less than the entire application file is stored in the local copy of the application file; as the application executes, identifying requests from the application to access portions of the local copy of the application file and using the map to determine whether the requested portions of the application file are stored in the local copy of the application file; and if the requested portions of the application file are not stored in the local copy of the application file, preventing the executing application from accessing the local copy of the application file until the map indicates the requested portions have been stored in the local copy of the application file. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
Specification