Claims
- 1. A set of computer readable media containing computer instructions for operating a layered computing environment, the set of computer readable media comprising at least one medium upon which is stored the computer instructions executable by a computing system to achieve the functions of:
(i) receiving from applications a read request for a read operation to a file system, the read request containing a file reference appropriate to the file system organization; (ii) a first determining whether or not the file reference is maintained in at least one enabled layer; (iii) if in the first determining a file reference is found not to be maintained in at least one enabled layer, causing the read operation to execute using the file reference of the read request; (iv) if in the first determining a file reference is found to be maintained in at least one enabled layer, identifying an owner layer from the set of enabled layers; (v) following the identifying an owner layer, identifying a virtual read reference utilizing information contained in the layer; and (vi) following the identifying a virtual read reference, causing the read operation to execute using the virtual read reference.
- 2. A set of computer readable media according to claim 1, wherein the computer instructions are further executable to achieve the function of decrypting encrypted information referenced by the virtual read reference.
- 3. A set of computer readable media according to claim 1, wherein the computer instructions are further executable to achieve the functions of:
(vii) receiving from applications a write request for a write operation to a file system, the write request containing a file reference appropriate to the file system organization; (viii) a second determining whether or not the file reference is a reference to a write operation to be captured in an enabled layer; (ix) if in the second determining a file reference is determined not to be a reference to a write operation to be captured to an enabled layer, causing the write operation to execute using the file reference of the write request; (x) if in the second determining a file reference is determined to be a reference to a write operation to be captured to an enabled layer, identifying a capture layer; (xi) following the identifying a capture layer, creating a virtual write reference corresponding to the file reference of the write request; and (xii) following the creating a virtual write reference, causing the write operation to execute using the virtual write reference.
- 4. A set of computer readable media according to claim 3, wherein the computer instructions are further executable to achieve the function of copying an existing file to the capture layer prior to causing the write operation to execute if the write operation is a modify operation.
- 5. A set of computer readable media according to claim 3, wherein the computer instructions are further executable to achieve the function of encrypting the information to be written prior to the execution of the write operation.
- 6. A set of computer readable media according to claim 3, wherein the computer instructions are further executable to achieve the functions of:
(xiii) receiving from applications requests to create, delete, and set the value of a registry setting; (xiv) following receipt of a request to create, delete or set the value of a registry setting, a determining whether or not the registry operation of the request is to be captured to an enabled layer; (xv) acting on a request to create a registry setting, and on a determination that a registry setting is not to be captured to an enabled layer, causing the registry setting operation to execute in the base system registry location; (xvi) acting on a request to create a registry setting, and on a determination that a registry setting is to be captured to an enabled layer, identifying a registry creation destination layer; (xvii) following said identifying a registry creation destination layer, causing the registry setting to be created virtually in the registry creation destination layer; (xviii) acting on a request to delete a registry setting, and on a determination that a registry setting is not to be captured to an enabled layer, causing the registry setting deletion operation to execute in the base system registry location; (xiv) acting on a request to delete a registry setting, and on a determination that a registry setting is to be captured to an enabled layer, identifying a registry deletion destination layer; (xx) following said identifying a registry deletion destination layer, causing the registry setting to be deleted virtually in the registry deletion destination layer; (xxi) acting on a request to set a registry setting, and on a determination that a registry setting is not to be captured to an enabled layer, causing the registry setting operation to execute in the base system registry location; (xxii) acting on a request to set a registry setting, and on a determination that a registry setting is to be captured to an enabled layer, identifying a registry setting destination layer; and (xxiii) following said identifying a registry setting destination layer, causing the registry setting to be created virtually in the registry setting destination layer.
- 7. A set of computer readable media according to claim 6, wherein the computer instructions are further executable to achieve the function of:
(xiii) receiving management commands through an applications programmer interface.
- 8. A set of computer readable media according to claim 7, wherein the computer instructions are further executable to achieve the functions of:
(xiv) receiving a management command through an applications programmer interface to import a specified layer archive; and (xv) import the specified layer archive.
- 9. A set of computer readable media according to claim 7, wherein the computer instructions are further executable to achieve the functions of:
(xiv) receiving a management command through an applications programmer interface to enable a layer group; and (xv) enable each layer of the specified layer group.
- 10. A set of computer readable media according to claim 7, wherein the computer instructions are further executable to achieve the functions of:
(xiv) receiving a management command through an applications programmer interface to disable a layer group; and (xv) disable each layer of the specified layer group.
- 11. A set of computer readable media according to claim 7, wherein the computer instructions include a layer manager application.
- 12. A set of computer readable media according to claim 6, wherein the computer instructions are further executable to achieve the functions of:
(xiii) examining the installed layers for a configuration element, that element specifying for each layer whether or not the layer is to be enabled on system initialization; and (xiv) enabling those layers having configuration elements specifying layer enablement on system initialization.
- 13. A computing system supporting a layered computing environment, comprising:
a processor; a storage device group accessible by said processor, said storage device group containing at least one storage device operable to contain operating system files, applications and layers; one or more layers stored to said storage device group; instructions stored to said storage device group, said instructions being further executable by said processor to achieve the functions of:
(i) receiving from applications a read request for a read operation to a file system, the read request containing a file reference appropriate to the file system organization, (ii) a first determining whether or not the file reference is maintained in at least one enabled layer, (iii) if in the first determining a file reference is found not to be maintained in at least one enabled layer, causing the read operation to execute using the file reference of the read request, (iv) if in the first determining a file reference is found to be maintained in at least one enabled layer, identifying an owner layer from the set of enabled layers, (v) following the identifying an owner layer, identifying a virtual read reference utilizing information contained in the layer, (vi) following the identifying a virtual read reference, causing the read operation to execute using the virtual read reference, (vii) receiving from applications a write request for a write operation to a file system, the write request containing a file reference appropriate to the file system organization, (viii) a second determining whether or not the file reference is a reference to a write operation to be captured in an enabled layer, (ix) if in the second determining a file reference is determined not to be a reference to a write operation to be captured to an enabled layer, causing the write operation to execute using the file reference of the write request, (x) if in the second determining a file reference is determined to be a reference to a write operation to be captured to an enabled layer, identifying a capture layer, (xi) following the identifying a capture layer, creating a virtual write reference corresponding to the file reference of the write request, and (xii) following the creating a virtual write reference, causing the write operation to execute using the virtual write reference.
- 14. A computing system according to claim 13, wherein the computer instructions are further executable to achieve the functions of:
(xiii) receiving from applications requests to create, delete, and set the value of a registry setting; (xiv) following receipt of a request to create, delete or set the value of a registry setting, a determining whether or not the registry operation of the request is to be captured to an enabled layer; (xv) acting on a request to create a registry setting, and on a determination that a registry setting is not to be captured to an enabled layer, causing the registry setting operation to execute in the base system registry location; (xvi) acting on a request to create a registry setting, and on a determination that a registry setting is to be captured to an enabled layer, identifying a registry creation destination layer; (xvii) following said identifying a registry creation destination layer, causing the registry setting to be created virtually in the registry creation destination layer; (xviii) acting on a request to delete a registry setting, and on a determination that a registry setting is not to be captured to an enabled layer, causing the registry setting deletion operation to execute in the base system registry location; (xiv) acting on a request to delete a registry setting, and on a determination that a registry setting is to be captured to an enabled layer, identifying a registry deletion destination layer; (xx) following said identifying a registry deletion destination layer, causing the registry setting to be deleted virtually in the registry deletion destination layer; (xxi) acting on a request to set a registry setting, and on a determination that a registry setting is not to be captured to an enabled layer, causing the registry setting operation to execute in the base system registry location; (xxii) acting on a request to set a registry setting, and on a determination that a registry setting is to be captured to an enabled layer, identifying a registry setting destination layer; and (xxiii) following said identifying a registry setting destination layer, causing the registry setting to be created virtually in the registry setting destination layer.
- 15. A computing system according to claim 13, wherein the computer instructions are further executable to achieve the function of maintaining a delete list.
- 16. A computing system according to claim 13, wherein the computer instructions are further executable to achieve the function of executing a lazy thread.
- 17. A computing system according to claim 13, wherein the computer instructions are further executable to achieve the function of decrypting encrypted information referenced by a virtual read reference.
- 18. A computing system according to claim 13, wherein:
the computer instructions are further executable to achieve the function of (xiii) receiving management commands through an applications programmer interface; and the computer instructions include a layer manager application.
- 19. A set of computer readable media according to claim 18, wherein the computer instructions are further executable to achieve the functions of:
(xiv) receiving a management command through an applications programmer interface to enable or disable a layer group; and (xv) enable or disable each layer of the specified layer group.
- 20. A method of handling requests to read and write files in a layered computing system, the method comprising the steps of:
(i) receiving from applications a read request for a read operation to file systems, the read request each containing a file reference appropriate to the file system organization; (ii) for received read requests, performing a first determining whether or not the contained file references are maintained in at least one enabled layer; (iii) if in the first determining file references are found not to be maintained in at least one enabled layer, causing the corresponding read operations to execute using the file references of the read requests; (iv) if in the first determining file references are found to be maintained in at least one enabled layer, for each file reference identifying an owner layer from the set of enabled layers; (v) following identifying an owner layer, identifying a virtual read reference utilizing information contained in the identified layer for each file reference; (vi) following the identifying a virtual read reference, causing read operations to execute using the virtual read references; (vii) receiving from applications write requests for write operations to file systems, the write requests each containing a file reference appropriate to the file system organization; (viii) for received write requests, performing a second determining whether or not the contained file references are references to write operations to be captured in an enabled layer; (ix) if in the second determining file references are determined not to be references to write operations to be captured to an enabled layer, causing the write operations to execute using the file references of the write requests; (x) if in the second determining file references are determined to be references to write operations to be captured to an enabled layer, identifying a capture layer for each file reference; (xi) following the identifying a capture layer, creating virtual write references corresponding to the file references of the write requests; and (xii) following the creating virtual write references, causing the write operations to execute using the virtual write references.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 60/387,969 filed Jun. 12, 2002 which is hereby incorporated by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60387969 |
Jun 2002 |
US |