IP Library Granted Patent US 7,945,897
Granted Patent B1
US 7,945,897 · App. 11/528,858 · Granted May 17, 2011

Method and system for running an application in a clean operating environment using a layered computing system

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 7,945,897
App. No.
11/528,858
Granted
May 17, 2011
Kind
B1
Abstract

The disclosure is directed to computing systems that provide access to the content of layers. Layers may include, for example, application layers, baseline layers, data layers, patch layers, application patch layers, and sublayers. Prioritization schemes, including prioritization by layer type, by assigned priority weights, by access type, by sub-layers and by read-write indicators are provided. Layers may contain file reference information including exclusion or inclusion entries indicating what files may be written. Paths recorded in layers may also embed variables to true paths on a layered system. Detailed information on various example embodiments are provided in the Detailed Description, and the invention is defined by the appended claims.

Claims (86)

1. A method of running an application in a clean operating environment in a computing system having a previously configured first operating system, the method comprising:

enabling a baseline layer such that the baseline layer has a priority over the first operating system;

associating a second operating system with the baseline layer;

enabling an application layer such that the application layer has a priority over the baseline layer;

associating an application with the application layer;

receiving from the application a request to perform a file operation, the request containing a file reference appropriate to a file system;

performing a search in the layers for a file object corresponding to the file reference, the search being implemented in an order in which the layers are prioritized; and

if, in performing the search, the file object corresponding to the file reference is found in one of the layers, accessing the file object.

2. The method according to claim 1 , wherein the second operating system is a clean install of the first operating system.

3. The method according to claim 1 , wherein the first operating system and the second operating system are compatible at a file level and a registry level.

4. The method according to claim 3 , wherein the first operating system and the second operating system are from the group consisting of the family of Windows NT® operating systems.

5. The method according to claim 1 , further comprising:

if, in performing a search in the layers, the file object is not found, returning a result indicating that the file object can not be located.

6. The method according to claim 1 , further comprising:

if, in performing a search in the layers, the file object corresponding to the file reference is not found in one of the layers, performing a search in the first operating system for the file object; and

if, the file object is found in the first operating system, accessing the file object.

7. The method according to claim 1 , further comprising:

enabling a base operating system layer such that the base operating system layer has a priority after the baseline layer;

associating the first operating system with the base operating system layer;

if, in performing a search in the application layer and the baseline layer, the file object corresponding to the file reference is not found, performing a search in the base operating system layer for the file object; and

if the file object is found in the base operating system layer, accessing the file object from the base operating system layer.

8. The method according to claim 1 , further comprising:

enabling a patch layer such that the patch layer has a priority over the baseline layer; and

associating a software patch with the patch layer, the software patch providing updated system files for the second operating system.

9. The method according to claim 1 , further comprising:

receiving from the application a registry request to perform a registry operation, the request identifying a registry key;

performing a search in the layers for a registry object corresponding to the registry key, the search being implemented in the order in which the layers are prioritized; and

if, in performing the search, the registry object corresponding to the registry key is found in one of the layers, accessing the registry object.

10. A non-transitory computer readable storage medium for use with a layered computing system having a base operating system, the computer readable medium comprising computer instructions executable by the computing system to achieve the functions of:

enabling a baseline layer such that the baseline layer has a priority over the base operating system;

associating a baseline operating system with the baseline layer;

enabling an application layer such that the application layer has a priority over the baseline layer;

associating an application with the application layer;

receiving from the application a request to perform a file operation, the request containing a file reference appropriate to a file system;

performing a search in the layers for a file object corresponding to the file reference; and

if, in performing the search, the file object corresponding to the file reference is found in at least one of the layers, accessing the file object from the layer having the highest priority.

11. The non-transitory computer readable storage medium according to claim 10 , wherein the baseline operating system is a clean install of the base operating system.

12. The non-transitory computer readable storage medium according to claim 10 , wherein the baseline operating system and the base operating system are compatible at a file level and a registry level.

13. The non-transitory computer readable storage medium according to claim 10 , wherein the computer instructions further comprise:

if, in performing a search in the layers, the file object is not found, returning a result indicating that the file object can not be located.

14. The non-transitory computer readable storage medium according to claim 10 , wherein the computer instructions further comprise:

if, in performing a search in the layers, the file object is not found in one of the layers, performing a search in the base operating system for the file object corresponding to the file reference; and

if the file object corresponding to the file reference is found in the base operating system, accessing the file object from the base operating system.

15. The non-transitory computer readable storage medium according to claim 10 , wherein the computer instructions further comprise:

enabling a base operating system layer such that the base operating system layer has a priority after the baseline layer; and

associating the base operating system with the base operating layer.

16. The non-transitory computer readable storage medium according to claim 10 , wherein the computer instructions further comprise:

receiving from the application a registry request to perform a registry operation, the request identifying a registry key;

performing a search in the layers for a registry object corresponding to the registry key; and

if, in performing the search, the registry object corresponding to the registry key is found in one of the layers, accessing the registry object from the layer having the highest priority.

17. A method for building a software package on a computer having a dirty base operating system, the method comprising:

enabling a baseline layer on the computer such that the baseline layer has a priority over the base operating system;

creating an installation of a clean operating system within the baseline layer;

enabling an application layer such that the application layer has a priority over the baseline layer;

installing an application into the application layer;

after the installing an application, creating a software package of the application based on the application layer receiving from the application a request to perform a file operation, the request containing a file reference;

performing a search of the layers for a file object corresponding the file reference;

and accessing the file object from the layer having the highest priority.

18. The method according to claim 17 , wherein the clean operating system is a clean install of the base operating system.

19. The method according to claim 17 wherein the clean operating system overlays the base operating system such that the application does not see the base operating system during the act of installing the application.

20. The method according to claim 17 , further comprising:

during the installing an application, creating files based on the presence of the clean operating system and associating the files with the application layer.

21. A method of accessing files in a layered computing system having a base operating system, the method comprising:

enabling a layer such that the layer has a priority over the base operating system;

associating a baseline operating system with the layer;

associating an application with the layer;

receiving from the application a request to perform a file operation, the request containing a file reference;

performing a search in the layer for a file object corresponding to the file reference; and

if, in performing the search, the file object corresponding to the file reference is found in the layer, accessing the file object.

22. The method according to claim 21 , wherein the baseline operating system is a clean install of the base operating system.

23. The method according to claim 21 , wherein the base operating system and the baseline operating system are compatible at a file level and a registry level.

24. The method according to claim 21 , further comprising:

if, in performing a search in the layer, the file object is not found, returning a result indicating that the file object can not be located.

25. The method according to claim 21 , further comprising:

if, in performing a search in the layer, the file object is not found, performing a search in the base operating system for the file object; and

if, the file object corresponding to the file reference is found in the base operating system, accessing the file object.

26. The method according to claim 21 , further comprising:

enabling a base operating system layer such that the base operating system layer has a priority after the layer;

associating the base operating system with the base operating system layer;

if, in performing a search in the layer, the file object corresponding to the file reference is not found, performing a search in the base operating system layer for the file object; and

if the file object is found in the base operating system layer, accessing the file object from the base operating system layer.

27. The method according to claim 21 , further comprising:

receiving from the application a registry request to perform a registry operation, the request identifying a registry key;

performing a search in the layer for a registry object corresponding to the registry key; and

if, in performing the search, the registry object corresponding to the registry key is found in the layer, accessing the registry object; and

if, in performing the search, the registry object is not found, returning a result indicating that the registry object can not be located.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →