Method and system for versioned file system using structured data representations
First Claim
1. A non-transitory computer-readable medium having stored thereon instructions that, when executed by a processor, perform a method associated with a local file system, the method comprising:
- at a first time, creating and exporting to a cloud-based storage a first structured data representation corresponding to a first version of the local file system, wherein the first structured data representation corresponds to a complete copy of the first version of the local file system at a point-in-time and comprises, for at least one file of the local file system, a tree having a root element that includes all the data from one or more inode or inode-equivalent data structures of the local file system describing the file, and at least one object that contains at least a portion of the file, and one or more directory elements associated with the root element; and
upon a change within the local file system, creating and exporting to the cloud-based storage a second structured data representation corresponding to a complete copy of the second version of the local file system at a point-in-time, the second structured data representation differing from the first structured data representation up to and including the root element of the second structured data representation;
wherein at least one of the first and second structured data representations is self-contained in that it includes or points to all data structures and data needed to reconstruct the local file system at a point-in-time;
wherein the cloud-based storage is a write-once data store.
1 Assignment
0 Petitions
Accused Products
Abstract
A versioned file system comprises a set of structured data representations. At a first time, an interface creates and exports to a data store a first structured data representation corresponding to a first version of a local file system. The first structured data representation is an XML tree having a root element, one or more directory elements associated with the root element, and one or more file elements associated with a given directory element. Upon a change within the file system (e.g., file creation, file deletion, file modification, directory creation, directory deletion and directory modification), the interface creates and exports a second structured data representation corresponding to a second version of the file system. The second structured data representation differs from the first structured data representation up to and including the root element of the second structured data representation. The data store may comprise a cloud storage service provider.
71 Citations
14 Claims
-
1. A non-transitory computer-readable medium having stored thereon instructions that, when executed by a processor, perform a method associated with a local file system, the method comprising:
-
at a first time, creating and exporting to a cloud-based storage a first structured data representation corresponding to a first version of the local file system, wherein the first structured data representation corresponds to a complete copy of the first version of the local file system at a point-in-time and comprises, for at least one file of the local file system, a tree having a root element that includes all the data from one or more inode or inode-equivalent data structures of the local file system describing the file, and at least one object that contains at least a portion of the file, and one or more directory elements associated with the root element; and upon a change within the local file system, creating and exporting to the cloud-based storage a second structured data representation corresponding to a complete copy of the second version of the local file system at a point-in-time, the second structured data representation differing from the first structured data representation up to and including the root element of the second structured data representation; wherein at least one of the first and second structured data representations is self-contained in that it includes or points to all data structures and data needed to reconstruct the local file system at a point-in-time; wherein the cloud-based storage is a write-once data store. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-readable medium having stored thereon instructions that, when executed by a processor, perform a method associated with a local file system, the method comprising:
-
at a first time, creating and exporting to a cloud-based storage a first structured data representation corresponding to a first version of the local file system, wherein the first structured data representation corresponds to a complete copy of the first version of the local file system at a point-in-time and comprises, for at least one file of the local file system, a tree having a root element that includes all the data from one or more inode or inode-equivalent data structures of the local file system describing the file, and at least one object that contains at least a portion of the file, and one or more directory elements associated with the root element; and upon a change within the local file system, creating and exporting to the cloud-based storage a second structured data representation corresponding to a complete copy of the second version of the local file system at a point-in-time, the second structured data representation differing from the first structured data representation up to and including the root element of the second structured data representation; applying a data transformation to the first and second structured data representations prior to the exporting step, wherein the data transformation is one of;
encryption, compression and duplicate elimination;wherein at least one of the first and second structured data representations is self-contained in that it includes or points to all data structures and data needed to reconstruct the local file system at a point-in-time.
-
-
12. Apparatus, comprising:
-
a processor; a data store holding computer instructions that, when executed by the processor, perform a method associated with a local file system, the method comprising; at a first time, creating and exporting to a cloud-based storage a first structured data representation, wherein the first structured data representation corresponds to a complete copy of the first version of the local file system at a point-in-time and comprises, for at least one file of the local file system, a tree having a root element that includes all the data from one or more inode or inode-equivalent data structures of the local file system describing the file, and at least one object that contains at least a portion of the file; and upon a change within the local file system, creating and exporting to the cloud-based storage a second structured data representation corresponding to a complete copy of the second version of the local file system at a point-in-time, the second structured data representation differing from the first structured data representation up to and including the root element of the second structured data representation, wherein at least one of the first and second structured data representations is self-contained in that it includes or points to all data structures and data needed to reconstruct the local file system at a point-in-time; wherein the cloud-based storage is a write-once data store.
-
-
13. A method of storing data of a local file system in a cloud-based data store, comprising:
-
at a first time, and using software executing on hardware associated with the local file system, creating and exporting to the cloud-based data store a first structured data representation corresponding to a first version of the local file system; upon a given occurrence, and using the software, creating and exporting to the cloud-based data store a second structured data representation corresponding to a second version of the local file system; wherein, prior to exporting, a data transformation is applied to each the first and second structured data representations, wherein the data transformation is one of;
encryption, compression and duplicate elimination;each structured data representation corresponding to a complete copy of the respective first or second version of the local file system at a point-in-time and being self-contained in that it includes or points to all data structures and data needed to reconstruct the local file system at a point-in-time; the second structured data representation differing from the first structured data representation up to and including a given object of the second structured data representation. - View Dependent Claims (14)
-
Specification