Method and system for interfacing to cloud storage
First Claim
1. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed by a processor, enable cloud-based storage of contents of a local file system, comprising:
- code to intercept local file system data traffic and to generate a series of structured data representations of the local file system, each structured data representation representing a complete copy of a version of the local file system and corresponding to, and transformed from, a snapshot of the local file system at a point-in-time, the code to generate the series of structured data representations comprising;
code to aggregate changes to the local file system as a set of delta frames;
wherein each delta frame is defined by a tree structure that starts with a new root that represents a current version of the local file system, and that further includes a set of change events that have been generated as a result of modification to existing inodes, directories and files of the local file system, and pointers to those existing inodes, directories and files of the local file system, wherein a given delta frame represents a logical representation of a combination of a current version of the local file system and one or more prior versions of the local file system;
code to write-once export each structured data representation to one or more storage service providers, the structured data representations comprising a versioned file system (VFS) representing complete copies of versions of the local file system at various points-in-time, at least one structured data representation adapted to being accessed and returned to the local file system as needed to enable restore of a point-in-time version of the local file system by walking one and only one delta frame tree structure; and
code to restore the local file system to the point-in-time version by retrieving the at least one structured data representation from the one or more storage service providers and performing a restore operation at the local file system, the restore operation walking the one and only one delta frame tree structure.
1 Assignment
0 Petitions
Accused Products
Abstract
An interface between a local file system and a data store (e.g., a “write-once”store) generates and exports to the data store a “versioned” file system. The state of the local file system at a given point in time can be determined using the versioned file system. The versioned file system comprises a set of structured data representations that comprise metadata associated with actual file system data. The interface creates and exports to the data store structured data representations, which correspond to versions of the local file system, as well as the actual file system data that these structured data representations represent. A cache associated with the interface stores recently used data and metadata, as well as write data and metadata waiting to be transferred to the data store. Prior to transfer, data transformations, such as compression, encryption, and de-duplication, may be applied to the data and metadata.
89 Citations
17 Claims
-
1. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed by a processor, enable cloud-based storage of contents of a local file system, comprising:
-
code to intercept local file system data traffic and to generate a series of structured data representations of the local file system, each structured data representation representing a complete copy of a version of the local file system and corresponding to, and transformed from, a snapshot of the local file system at a point-in-time, the code to generate the series of structured data representations comprising; code to aggregate changes to the local file system as a set of delta frames; wherein each delta frame is defined by a tree structure that starts with a new root that represents a current version of the local file system, and that further includes a set of change events that have been generated as a result of modification to existing inodes, directories and files of the local file system, and pointers to those existing inodes, directories and files of the local file system, wherein a given delta frame represents a logical representation of a combination of a current version of the local file system and one or more prior versions of the local file system; code to write-once export each structured data representation to one or more storage service providers, the structured data representations comprising a versioned file system (VFS) representing complete copies of versions of the local file system at various points-in-time, at least one structured data representation adapted to being accessed and returned to the local file system as needed to enable restore of a point-in-time version of the local file system by walking one and only one delta frame tree structure; and code to restore the local file system to the point-in-time version by retrieving the at least one structured data representation from the one or more storage service providers and performing a restore operation at the local file system, the restore operation walking the one and only one delta frame tree structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An apparatus for configuring one or more user local file systems to interface to cloud storage, comprising:
-
a processor; a computer-readable medium having stored thereon program instructions executed by the processor to perform a configuration, the program instructions comprising; program instructions to create a volume in cloud storage for use in storing a series of structured data representations that represent versions of a user'"'"'s local file system, each structured data representation representing a complete copy of a version of the local file system and corresponding to, and transformed from, a snapshot of the local file system at a point-in-time; program instructions to associate to the volume a file system agent that executes in the user local file system, wherein the file system agent intercepts local file system data and generates the series of structured data representations by aggregating changes to the local file system as a set of delta frames, wherein each delta frame is defined by a tree structure that starts with a new root that represents a current version of the local file system, and that further includes a set of change events that have been generated as a result of modification to existing inodes, directories and files of the local file system, and pointers to those existing inodes, directories and files of the local file system, wherein a given delta frame represents a logical representation of a combination of a current version of the local file system and one or more prior versions of the local file system, wherein a walk of just the delta frame tree structure enables local restore of a point-in-time version of the local file system; program instructions to identify one or more storage service providers to host the volume; and program instructions to restore the local file system to the point-in-time version by retrieving at least one structured data representation from the one or more storage service providers and performing a restore operation at the local file system, the restore operation walking just the delta frame tree structure. - View Dependent Claims (12, 13)
-
-
14. A method to interface a local file system to cloud-based storage, comprising:
-
configuring a volume in at least one cloud-based data store using a web-accessible interface executable on a hardware element; intercepting local file system data traffic and generating a series of structured data representations of the local file system using software executing on hardware in association with the local file system, each structured data representation representing a complete copy of a version of the local file system and corresponding to, and transformed from, a snapshot of the local file system at a point-in-time, the series of structured data representations generated by; aggregating changes to the local file system as a set of delta frames; wherein each delta frame is defined by a tree structure that starts with a new root that represents a current version of the local file system, and that further includes a set of change events that have been generated as a result of modification to existing inodes, directories and files of the local file system, and pointers to those existing inodes, directories and files of the local file system, wherein a given delta frame represents a logical representation of a combination of a current version of the local file system and one or more prior versions of the local file system; write-once exporting each structured data representation to the cloud-based data store for storage in the volume, the structured data representations comprising a versioned file system (VFS) representing complete copies of versions of the local file system at various points-in-time, at least one structured data representation adapted to being accessed and returned to the local file system as needed to enable restore of a point-in-time version of the local file system by walking one and only one delta frame tree structure; and upon a given occurrence, restoring the local file system to the point-in-time version by retrieving from the cloud-based data store the at least one structured data representation and performing a restore operation at the local file system using the retrieved structured data representation, the restore operation walking the one and only one delta frame tree structure. - View Dependent Claims (15, 16, 17)
-
Specification