Process tracking application layered system
First Claim
1. A computer-implemented method for operating a layered computing environment, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:
- maintaining layering system software for a first computer comprising a base operating system and a base file system;
capturing a first version of an application in a first virtualization layer and a second version of an application in a second virtualization layer, the first and second virtualization layers overlaying the base file system and being prioritized with respect to the base file system by;
using the layering system software to intercept operations that modify files and configuration data of the first and second versions of the application;
recording changes made by the modification of the files and configuration data to the first and second virtualization layers instead of the base operating system and base file system;
storing the first and second versions of the application on the first computer within the first and second virtualization layers that overlay the base file system and are prioritized with respect to the base file system to facilitate reverting back to the first version of the application in the event that the second version of the application is unstable, the first version of the application being stored in the first virtualization layer such that when the first virtualization layer is enabled;
the files and configuration data of the first version of the application overlay any corresponding files of the base file system and base operating system;
the base operating system is presented with an expected view of data of the first version of the application by intercepting and manipulating file system calls to create the appearance that one or more files stored in the first virtualization layer are from the base file system, the layering system software performing the intercepting and manipulating;
enabling the second version of the application stored in the second virtualization layer by activating the second virtualization layer;
assigning a first priority weight to the second virtualization layer;
assigning a second priority weight to the first virtualization layer, the first priority weight indicating a higher priority than the second priority weight;
receiving, from the application, a request to perform a file operation on a file object;
identifying the first and second virtualization layers;
determining, based on the first and second priority weights, that the second virtualization layer has higher priority than the first virtualization layer;
searching the first and second virtualization layers for the file object in order of the determined priority;
after activating the second virtualization layer;
deactivating the second virtualization layer to disable the second version of the application, wherein the second virtualization layer is deactivated by making the second virtualization layer inaccessible to the base operating system;
reactivating the first virtualization layer to re-enable the first version of the application;
wherein the layering system software is programmed to merge a listing of files in the base operating system with a file in at least one of the first and second virtualization layers such that;
when the at least one of the first and second virtualization layers is active, the file is visible to a user;
when the at least one of the first and second virtualization layers is not active, the file is not visible to the user.
3 Assignments
0 Petitions
Accused Products
Abstract
The inventions relate generally to layered computing systems that provide public access to the content of the layers. Also disclosed herein are prioritization schemes usable in a layered computing system, including prioritization by layer type, by assigned priority weights, by access type, by sub-layers and by read-write indicators. Processes may further be associated to layers from which they originate, and priority given to associated layers thereby. Association may also be provided for installer services, thereby depositing an applications updates into its layer. Layers may also contain file reference information including exclusion or inclusion entries indicating what files may be written thereto. Paths recorded in layers may also embed variables to true paths on a layered system. Detailed information on various example embodiments of the inventions are provided in the Detailed Description below, and the inventions are defined by the appended claims.
-
Citations
16 Claims
-
1. A computer-implemented method for operating a layered computing environment, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:
-
maintaining layering system software for a first computer comprising a base operating system and a base file system; capturing a first version of an application in a first virtualization layer and a second version of an application in a second virtualization layer, the first and second virtualization layers overlaying the base file system and being prioritized with respect to the base file system by; using the layering system software to intercept operations that modify files and configuration data of the first and second versions of the application; recording changes made by the modification of the files and configuration data to the first and second virtualization layers instead of the base operating system and base file system; storing the first and second versions of the application on the first computer within the first and second virtualization layers that overlay the base file system and are prioritized with respect to the base file system to facilitate reverting back to the first version of the application in the event that the second version of the application is unstable, the first version of the application being stored in the first virtualization layer such that when the first virtualization layer is enabled; the files and configuration data of the first version of the application overlay any corresponding files of the base file system and base operating system; the base operating system is presented with an expected view of data of the first version of the application by intercepting and manipulating file system calls to create the appearance that one or more files stored in the first virtualization layer are from the base file system, the layering system software performing the intercepting and manipulating; enabling the second version of the application stored in the second virtualization layer by activating the second virtualization layer; assigning a first priority weight to the second virtualization layer; assigning a second priority weight to the first virtualization layer, the first priority weight indicating a higher priority than the second priority weight; receiving, from the application, a request to perform a file operation on a file object; identifying the first and second virtualization layers; determining, based on the first and second priority weights, that the second virtualization layer has higher priority than the first virtualization layer; searching the first and second virtualization layers for the file object in order of the determined priority; after activating the second virtualization layer; deactivating the second virtualization layer to disable the second version of the application, wherein the second virtualization layer is deactivated by making the second virtualization layer inaccessible to the base operating system; reactivating the first virtualization layer to re-enable the first version of the application; wherein the layering system software is programmed to merge a listing of files in the base operating system with a file in at least one of the first and second virtualization layers such that; when the at least one of the first and second virtualization layers is active, the file is visible to a user; when the at least one of the first and second virtualization layers is not active, the file is not visible to the user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer-implemented method for operating a layered computing environment, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:
-
maintaining layering system software for a computer comprising a base operating system and a base file system; storing a first version of a software product and second version of the software product on the computer to facilitate reverting back to the first version of the software product in the event that the second version of the software product is unstable, each version of the software product being isolated from other versions in a virtualization layer that is prioritized with respect to the base file system and stores files and a directory structure of a corresponding version of the software product; enabling the second version of the software product by activating a first virtualization layer that is prioritized with respect to the base file system and stores the second version of the software product, the first virtualization layer being activated by overlaying one or more of the files in the first virtualization layer over one or more files in the base file system; presenting the base operating system with an expected view of data of the second version of the software product by intercepting and manipulating file system calls to create the appearance that one or more of the files stored in the first virtualization layer are from the base file system, the layering system software performing the intercepting and manipulating; assigning a first priority weight to the first virtualization layer; assigning a second priority weight to a second virtualization layer that stores the first version of the software product, the first priority weight indicating a higher priority than the second priority weight; receiving, from the software product, a request to perform a file operation on a file object; identifying the first and second virtualization layers; determining, based on the first and second priority weights, that the first virtualization layer has higher priority than the second virtualization layer; searching the first and second virtualization layers for the file object in order of the determined priority; after activating the first virtualization layer; deactivating the first virtualization layer to disable the second version of the software product, wherein the first virtualization layer is deactivated by making the first virtualization layer inaccessible to the base operating system; reactivating the second virtualization layer to re-enable the first version of the software product; wherein the layering system software is programmed to merge a listing of files in the base operating system with a file in at least one of the first and second virtualization layers such that; when the at least one of the first and second virtualization layers is active, the file is visible to a user; when the at least one of the first and second virtualization layers is not active, the file is not visible to the user. - View Dependent Claims (14)
-
-
15. A system comprising:
-
a storage device; a processor that interacts with the storage device; a base operating system on the storage device, the base operating system comprising registry settings; first and second virtualization layers that overlay the base operating system and are prioritized with respect to the base operating system on the storage device; a first version of an application stored within the first virtualization layer on the storage device; a second version of the application stored within the second virtualization layer on the storage device; layering system software programmed to; intercept operating system registry accesses from the first and second versions of the application; determine whether the registry accesses are to be permitted to continue to the base operating system or should be redirected to one or more of the first and second plurality of virtualization layers; enable the second version of the application stored in the second virtualization layer by activating the second virtualization layer; assign a first priority weight to the second virtualization layer; assign a second priority weight to the first virtualization layer, the first priority weight indicating a higher priority than the second priority weight; receive, from the application, a request to perform a file operation on a file object; identify the first and second virtualization layers; determine, based on the first and second priority weights, that the second virtualization layer has higher priority than the first virtualization layer; search the first and second virtualization layers for the file object in order of the determined priority; after activating the second virtualization layer; deactivate the second virtualization layer to disable the second version of the application, wherein the second virtualization layer is deactivated by making the second virtualization layer inaccessible to the base operating system; reactivate the first virtualization layer to re-enable the first version of the application; merge a listing of files in the base operating system with a file in at least one of the first and second virtualization layers such that; when the at least one of the first and second virtualization layers is active, the file is visible to a user; when the at least one of the first and second virtualization layers is not active, the file is not visible to the user. - View Dependent Claims (16)
-
Specification