Versioned file system with fast restore
First Claim
1. A computer-readable medium having stored thereon instructions that, when executed by a processor, perform a method associated with a versioned file system comprising a set of versions, wherein each version comprises a tree of write-once objects rooted at a root directory manifest, and wherein versions may share objects, a method comprising:
- associating a borrow window to each of a set of versions in the versioned file system;
in response to a request to restore a file from a version in the versioned file system, determining whether the file exists within a borrow window of the version; and
if the file exists within the borrow window of the version, returning metadata associated with the file so that the file has an appearance of being restored; and
upon receipt of a request to open the file, returning contents of the file.
1 Assignment
0 Petitions
Accused Products
Abstract
A versioned file system comprises a set of structured data representations, such as XML. Each structured data representation corresponds to a “version,” and each version comprises a tree of write-once objects rooted at a root directory manifest. Each version in the versioned file system has associated therewith a “borrow window.” When it is desired to reconstruct the file system to a point in time (or, more generally, a given state), i.e., to perform a “restore,” it is only required to walk (use) a single structured data representation (a tree). During a restore, metadata is pulled back from the cloud first, so users can see the existence of needed files immediately. The remainder of the data is then pulled back from the cloud if/when the user goes to open the file. As a result, the entire file system (or any portion thereof) can be restored to a previous time nearly instantaneously. A “fast” restore is performed if an object being restored exists within a “borrow window” of the version from which the system is restoring.
29 Citations
10 Claims
-
1. A computer-readable medium having stored thereon instructions that, when executed by a processor, perform a method associated with a versioned file system comprising a set of versions, wherein each version comprises a tree of write-once objects rooted at a root directory manifest, and wherein versions may share objects, a method comprising:
-
associating a borrow window to each of a set of versions in the versioned file system; in response to a request to restore a file from a version in the versioned file system, determining whether the file exists within a borrow window of the version; and if the file exists within the borrow window of the version, returning metadata associated with the file so that the file has an appearance of being restored; and upon receipt of a request to open the file, returning contents of the file. - View Dependent Claims (2, 3, 4, 5)
-
-
6. Apparatus, comprising:
-
a processor; computer memory holding computer program instructions that when executed by the processor perform a method associated with a versioned file system, the versioned file system comprising a set of versions, wherein each version comprises a tree of write-once objects rooted at a root directory manifest, and wherein each version has an associated borrow window, the method comprising; associating a borrow window to each of a set of versions in the versioned file system; in response to a request to restore a file from a version in the versioned file system, determining whether the file exists within a borrow window of the version; and if the file exists within the borrow window of the version, returning metadata associated with the file so that the file has an appearance of being restored; and upon receipt of a request to open the file, returning contents of the file. - View Dependent Claims (7, 8, 9, 10)
-
Specification