Sublayered application layered system
First Claim
1. A layered computing system for accessing files in a base filesystem and a plurality of enabled layers, some of those layers having sublayers associated thereto to be enabled in tandem with those layers, where the layers allow a version of a file to be maintained in one layer while a conflicting version of the file is maintained in another layer, the system prioritizing accesses with respect to the enabled layers and sublayers, said system comprising:
- a processor;
data and program storage accessible by said processor, said storage comprising one or more data storage devices;
an operating system stored to said storage;
computer readable instructions located to said program storage, wherein said instructions are configured to be executed by said processor to perform the functions of;
receiving commands to enable or disable an identified layer,identifying one or more sublayers associated to the identified layer, the sublayers comprising one or more read-write sublayers associated with the identified layer,enabling or disabling the identified layer and its associated sublayers in tandem upon receiving a command to enable or disable the identified layer,receiving from an application a request to perform a file operation, that request containing a file reference appropriate to a file system,identifying a set of enabled layers and,searching the set of enabled layers and a base file system for the file object corresponding to the file reference,if, in performing the search, a file object is found corresponding to the file reference in one of the enabled layers, returning a virtual file handle to that file object,if, in performing the search, a file object is found corresponding to the file reference in a base filesystem, returning a file handle to that base file object,if, in performing the search, a file object is not found corresponding to the file reference, and if the request was not a write request, returning a result indicating that no file object corresponding to the file reference can be accessed,if, in performing the search, a file object is not found corresponding to the file reference, and if the request was a write request, returning a virtual file handle or a base file handle to a new file object in one of the enabled layers, andproviding for a resetting of the read-write sublayers by;
receiving a command to reset, the command identifying a layer,identifying the read-write sublayer associated with the identified layer, andremoving all file objects from the identified read-write sublayer associated with the identified layer.
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
18 Claims
-
1. A layered computing system for accessing files in a base filesystem and a plurality of enabled layers, some of those layers having sublayers associated thereto to be enabled in tandem with those layers, where the layers allow a version of a file to be maintained in one layer while a conflicting version of the file is maintained in another layer, the system prioritizing accesses with respect to the enabled layers and sublayers, said system comprising:
-
a processor; data and program storage accessible by said processor, said storage comprising one or more data storage devices; an operating system stored to said storage; computer readable instructions located to said program storage, wherein said instructions are configured to be executed by said processor to perform the functions of; receiving commands to enable or disable an identified layer, identifying one or more sublayers associated to the identified layer, the sublayers comprising one or more read-write sublayers associated with the identified layer, enabling or disabling the identified layer and its associated sublayers in tandem upon receiving a command to enable or disable the identified layer, receiving from an application a request to perform a file operation, that request containing a file reference appropriate to a file system, identifying a set of enabled layers and, searching the set of enabled layers and a base file system for the file object corresponding to the file reference, if, in performing the search, a file object is found corresponding to the file reference in one of the enabled layers, returning a virtual file handle to that file object, if, in performing the search, a file object is found corresponding to the file reference in a base filesystem, returning a file handle to that base file object, if, in performing the search, a file object is not found corresponding to the file reference, and if the request was not a write request, returning a result indicating that no file object corresponding to the file reference can be accessed, if, in performing the search, a file object is not found corresponding to the file reference, and if the request was a write request, returning a virtual file handle or a base file handle to a new file object in one of the enabled layers, and providing for a resetting of the read-write sublayers by; receiving a command to reset, the command identifying a layer, identifying the read-write sublayer associated with the identified layer, and removing all file objects from the identified read-write sublayer associated with the identified layer. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A set of non-transitory computer readable storage media containing computer instructions for accessing files in a base filesystem and a plurality of enabled layers, some of those layers having sublayers associated thereto to be enabled in tandem with those layers, and for prioritizing accesses with respect to the enabled layers and sublayers, where the layers allow a version of a file to be maintained in one layer while a conflicting version of the file is maintained in another layer, the set of non-transitory computer readable storage media comprising at least one medium upon which is stored the computer instructions executable by a computing system to achieve the functions of:
-
receiving commands to enable or disable an identified layer, identifying one or more sublayers associated to the identified layer, the sublayers comprising one or more read-write sublayers associated with the identified layer, enabling or disabling the identified layer and its associated sublayers in tandem upon receiving a command to enable or disable the identified layer, receiving from an application a request to perform a file operation, that request containing a file reference appropriate to a file system, identifying a set of enabled layers, searching the set of enabled layers and a base file system for the file object corresponding to the file reference, if, in performing the search, a file object is found corresponding to the file reference in one of the enabled layers, returning a virtual file handle to that file object, if, in performing the search, a file object is found corresponding to the file reference in a base filesystem, returning a file handle to that base file object, if, in performing the search, a file object is not found corresponding to the file reference, and if the request was not a write request, returning a result indicating that no file object corresponding to the file reference can be accessed, if, in performing the search, a file object is not found corresponding to the file reference, and if the request was a write request, returning a virtual file handle or a base file handle to a new file object in one of the enabled layers, and providing for a resetting of the read-write sublayers by; receiving a command to reset, the command identifying a layer, identifying the read-write sublayer associated with the identified layer, and removing all file objects from the identified read-write sublayer associated with the identified layer. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for accessing files in a base filesystem and a plurality of enabled layers, some of those layers having sublayers associated thereto to be enabled in tandem with those layers, and for prioritizing accesses with respect to the enabled layers and sublayers, wherein the layers allow a version of a file to be maintained in one layer while a conflicting version of the file is maintained in another layer, the method comprising the steps of:
-
receiving commands to enable or disable an identified layer; identifying one or more sublayers associated to the identified layer, the sublayers comprising one or more read-write sublayers associated with the identified layer; enabling or disabling the identified layer and its associated sublayers in tandem upon receiving a command to enable or disable the identified layer; receiving from an application a request to perform a file operation, that request containing a file reference appropriate to a file system; identifying a set of enabled layers; searching the set of enabled layers and a base file system for the file object corresponding to the file reference; if, in performing the search, a file object is found corresponding to the file reference in one of the enabled layers, returning a virtual file handle to that file object; if, in performing the search, a file object is found corresponding to the file reference in a base filesystem, returning a file handle to that base file object; if, in performing the search, a file object is not found corresponding to the file reference, and if the request was not a write request, returning a result indicating that no file object corresponding to the file reference can be accessed; if, in performing the search, a file object is not found corresponding to the file reference, and if the request was a write request, returning a virtual file handle or a base file handle to a new file object; and providing for a resetting of the read-write sublayers by; receiving a command to reset, the command identifying a layer, identifying the read-write sublayer associated with the identified layer, and removing all file objects from the identified read-write sublayer associated with the identified layer. - View Dependent Claims (15, 16, 17, 18)
-
Specification