IP Library Granted Patent US 9,773,017
Granted Patent B2
US 9,773,017 · App. 14/608,033 · Granted Sep 26, 2017

Method of configuring a virtual application

Inventors: C. Michael Murphey (Seattle, WA); Kenji C. Obata (Seattle, WA)
Assignee: CODE SYSTEMS CORPORATION
G06F17/30233G06F8/71G06F9/45533G06F9/45558G06F21/53G06F2009/45587
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 9,773,017
App. No.
14/608,033
Granted
Sep 26, 2017
Kind
B2
Abstract

A method of modifying a virtual application configuration to include modifications made at runtime by a virtual application that is implemented by a first virtualized application file that was created previously using the virtual application configuration. At runtime, the virtual application implemented by the first virtualized application file stores modifications to its configuration in a sandbox memory location. The method includes reading the modifications from the sandbox memory location. Then, the modifications are written to the virtual application configuration. The modified virtual application configuration is then used to create a second virtualized application file that includes the modifications stored in the sandbox memory location.

Claims (63)

1. A method of modifying a virtual application configuration used to configure a virtualized version of an application, the method comprising:

creating, with a computing system, a read-only first virtualized application file using the virtual application configuration;

executing the first virtualized application file, the executing first virtualized application file storing information identifying modifications to data stored in the first virtualized application file in a memory location;

reading, with the computing system, the information stored in the memory location; and

creating, with the computing system, a modified virtual application configuration by merging the information read from the memory location into the virtual application configuration, the modified virtual application configuration being usable by the computing system to create a read-only second virtualized application file.

2. The method of claim 1 , wherein the virtual application configuration comprises a virtual registry configuration portion,

the first virtualized application file comprises a virtual registry,

the information stored in the memory location identifies a registry modification made to the virtual registry by the executing first virtualized application file, and

merging the information read from the memory location into the virtual application configuration comprises merging the registry modification into the virtual registry configuration portion of the virtual application configuration.

3. The method of claim 1 , wherein the first virtualized application file comprises a virtual registry,

the information stored in the memory location identifies registry modifications made to the virtual registry by the executing first virtualized application file,

the registry modifications are organized into a hierarchy within the information, and

reading the information stored in the memory location comprises traversing the hierarchy.

4. The method of claim 1 , wherein the first virtualized application file has a portion configured to implement a virtual filesystem,

the virtual application configuration comprises a virtual filesystem configuration portion used by the computing system to configure the portion of the first virtualized application file that implements the virtual filesystem,

the information stored in the memory location identifies filesystem modifications made to the virtual filesystem by the executing first virtualized application file, and

merging the information read from the memory location into the virtual application configuration comprises merging the filesystem modifications into the virtual filesystem configuration portion of the virtual application configuration.

5. The method of claim 1 , further comprising:

creating, with a computing system, the read-only second virtualized application file using the modified virtual application configuration.

6. The method of claim 1 , wherein the first virtualized application file is executed on a computing device that is different from the computing system.

7. The method of claim 1 , wherein the first virtualized application file implements the virtualized version of the application when executed,

the information stored in the memory location identifies a modification made to a state of the virtualized version of the application, and

merging the information read from the memory location into the virtual application configuration comprises merging the modification made to the state of the virtualized version of the application into the virtual application configuration.

8. The method of claim 1 , further comprising:

capturing the virtual application configuration using a snapshot process that identifies changes made to a platform by a native installation of the application.

9. The method of claim 1 , further comprising:

receiving, with the computing system, a user command to modify the virtual application configuration, wherein, the information stored in the memory location is read from the memory location and the modified virtual application configuration is created in response to the user command.

10. The method of claim 1 , further comprising:

requesting, with the computing system, an identification of the memory location before reading the information stored in the memory location; and

receiving, with the computing system, the identification of the memory location in response to the request.

11. The method of claim 1 , further comprising:

requesting an identification of a location in which to store the modified virtual application configuration; and

receiving the identification of the location in which to store the modified virtual application configuration in response to the request before creating the modified virtual application configuration.

12. The method of claim 1 , wherein the information stored in the memory location is stored in a plurality of folders each comprising one or more files, and

reading the information stored in the memory location comprises traversing the one or more files of each of the plurality of folders.

13. The method of claim 1 , wherein a first portion of the information stored in the memory location is stored in a first folder,

the first portion identifies deletions made to the data stored in the first virtualized application file,

a different second portion of the information stored in the memory location is stored in a different second folder, and

the second portion identifies modifications other than deletions made to the data stored in the first virtualized application file.

14. A computing system having at least one processor configured to execute instructions that when executed cause the at least one processor to:

create a read-only first virtualized application file using a virtual application configuration, the first virtualized application file being configured to be executed, the first virtualized application file storing information in a memory location as the first virtualized application file executes, the stored information identifying modifications made to data stored in the first virtualized application file;

read the information stored in the memory location; and

create a modified virtual application configuration by merging the information read from the memory location into the virtual application configuration, the modified virtual application configuration being usable by the computing system to create a read-only second virtualized application file.

15. The computing system of claim 14 , wherein the virtual application configuration comprises a virtual registry configuration portion,

the first virtualized application file comprises a virtual registry,

the information stored in the memory location identifies a registry modification made to the virtual registry by the first virtualized application file when the first virtualized application file was executed, and

merging the information read from the memory location into the virtual application configuration comprises merging the registry modification into the virtual registry configuration portion of the virtual application configuration.

16. The computing system of claim 14 , wherein the first virtualized application file comprises a virtual registry,

the information stored in the memory location identifies registry modifications made to the virtual registry by the first virtualized application file when the first virtualized application file was executed,

the registry modifications are organized into a hierarchy within the information, and

reading the information stored in the memory location comprises traversing the hierarchy.

17. The computing system of claim 14 , wherein the first virtualized application file has a portion configured to implement a virtual filesystem,

the virtual application configuration comprises a virtual filesystem configuration portion used by the computing system to configure the portion of the first virtualized application file that implements the virtual filesystem,

the information stored in the memory location identifies filesystem modifications made to the virtual filesystem by the first virtualized application file when the first virtualized application file was executed, and

merging the information read from the memory location into the virtual application configuration comprises merging the filesystem modifications into the virtual filesystem configuration portion of the virtual application configuration.

18. The computing system of claim 14 , wherein the first virtualized application file was executed on a computing device that is different from the computing system.

19. The computing system of claim 14 , wherein the first virtualized application file implements a virtualized version of an application when executed,

the information stored in the memory location identifies a modification made to a state of the virtualized version of the application, and

merging the information read from the memory location into the virtual application configuration comprises merging the modification made to the state of the virtualized version of the application into the virtual application configuration.

20. The computing system of claim 14 , wherein the first virtualized application file implements a virtualized version of an application when executed, and

the instructions, when executed by the at least one processor, cause the at least one processor to capture the virtual application configuration using a snapshot process that identifies changes made to a platform by a native installation of the application.

21. The computing system of claim 14 , wherein the information stored in the memory location is stored in a plurality of folders each comprising one or more files, and

reading the information stored in the memory location comprises traversing the one or more files of each of the plurality of folders.

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 23, 2015
From: MURPHEY, C. MICHAEL; OBATA, KENJI C.
To: CODE SYSTEMS CORPORATION
Reel/Frame 035484/0602 →
Continuity (2)
Continuation 12685576 · Jan 11, 2010
Related Publication 20150150005A1 · May 28, 2015