IP Library Granted Patent US 8,914,427
Granted Patent B2
US 8,914,427 · App. 13/449,140 · Granted Dec 16, 2014

Method and system for managing execution of virtual applications

Inventors: Stefan I. Larimore (Redmond, WA); Kenji C. Obata (Seattle, WA); Mark Jeremy Zeller (Seattle, WA)
Assignee: Code Systems Corporation
G06F17/30233G06F2212/152G06F21/53G06F17/30017G06F9/45337G06F17/30958
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,914,427
App. No.
13/449,140
Granted
Dec 16, 2014
Kind
B2
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.

Claims (16)

1. A computer-implemented method for use with a directing process, the method being performed by a runtime engine executing on at least one computing device, the method comprising:

receiving, by the runtime engine executing on the at least one computing device, 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, by the runtime engine, 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;

initiating, by the runtime engine, execution of the local copy of the application file by the at least one computing device when less than the entire application file is stored in the local copy of the application file to thereby initiate execution of an application;

as the local copy of the application executes, identifying, by the runtime engine, 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, by the runtime engine, 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.

2. The computer-implemented method of claim 1 , wherein the application file is a virtualized application file and the application is a virtual application.

3. The method of claim 1 , further comprising:

if the requested portions of the application file have not been stored in the local copy of the application file, sending a notification to the directing process indicating the requested portions of the application file have not been downloaded and stored in the local copy of the application file.

4. The computer-implemented method of claim 3 , further comprising:

receiving a notification from the directing process that the directing process has downloaded requested portions of the application file and stored them in the local copy of the application file.

5. The computer-implemented method of claim 1 , further comprising:

establishing a session with the directing process, the identifier of a block of shared memory being a session identifier associated with the session.

6. The computer-implemented method of claim 1 , wherein the portions of the application file are downloaded using a conventional download protocol without using a specialized streaming protocol.

7. The computer-implemented method of claim 6 , wherein the conventional download protocol comprises Hypertext Transfer Protocol, File Transfer Protocol, or Server Message Block Protocol.

8. The computer-implemented method of claim 1 , wherein requests from the application to access portions of the application file are identified using an IStream interface.

Assignments (3)
ADDRESS CHANGE Recorded Nov 10, 2015
From: CODE SYSTEMS CORPORATION
To: CODE SYSTEMS CORPORATION
Reel/Frame 037084/0283 →
CHANGE OF ADDRESS Recorded May 28, 2015
From: CODE SYSTEMS CORPORTATION
To: CODE SYSTEMS CORPORATION
Reel/Frame 035794/0628 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2012
From: LARIMORE, STEFAN I.; OBATA, KENJI C.; ZELLER, MARK JEREMY
To: CODE SYSTEMS CORPORATION
Reel/Frame 028061/0794 →
Continuity (3)
Division 12876085 · Sep 3, 2010
Provisional Application 61361373 · Jul 2, 2010
Related Publication 20120203808A1 · Aug 9, 2012