Systems and methods for a snapshot of data
First Claim
1. A processor accessible data storage system allowing for the storage of data representing a file system with a root-accessible directory-level snapshot structure comprising:
- a hierarchical structure for storing data including a root directory node, directory nodes, and file nodes;
a representation of a snapshot of at least one branch of the hierarchical structure, at least one branch comprising a top node; and
a sequence of at least one mini-snapshot node representing a path from the root directory node to the top node at the time of the creation of the snapshot, each mini-snapshot node comprising a reference from the mini-snapshot node to a child mini-snapshot node or the top node.
12 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a user or client device is connected to a distributed file system comprised of one or more physical nodes. The data on each of the physical nodes store metadata about files and directories within the file system. Some of the embodiments permit a user to take a snapshot of data stored on the file system. The snapshot may include a single file, a single directory, a plurality of files within a directory, a plurality of directories, a path on the file system that includes nested files and subdirectories, or more than one path on the file system that each includes nested files and directories.
199 Citations
15 Claims
-
1. A processor accessible data storage system allowing for the storage of data representing a file system with a root-accessible directory-level snapshot structure comprising:
-
a hierarchical structure for storing data including a root directory node, directory nodes, and file nodes; a representation of a snapshot of at least one branch of the hierarchical structure, at least one branch comprising a top node; and a sequence of at least one mini-snapshot node representing a path from the root directory node to the top node at the time of the creation of the snapshot, each mini-snapshot node comprising a reference from the mini-snapshot node to a child mini-snapshot node or the top node. - View Dependent Claims (2)
-
-
3. A method of maintaining path-accessibility for snapshots in subnodes of a hierarchical structure comprising:
-
receiving an indication of at least one branch of a hierarchical structure, at least one branch comprising a top node; and generating a mini-snapshot of an ancestor node of the top node, the mini-snapshot comprising a reference from the mini-snapshot node to a child mini-snapshot node or the top node. - View Dependent Claims (4)
-
-
5. A data storage system capable of preserving data snapshots of portions of the stored data as of selected points in time comprising:
-
a data storage tree structure to store current data in directories and files; a snapshot module configured to create snapshots in time of directories and files; and snapshot data structures of snapshot versions of a file, wherein the snapshot file version identifies blocks of data modified from the next more recent version of the file. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A method of preserving snapshots of data as of selected points in time in a hierarchical data storage structure including files comprising:
-
creating a first snapshot file version of a current file when a snapshot of a portion of data in the data storage structure which includes said file is taken, wherein said first snapshot file version is separate and independent of the current file version and references blocks of the next more recent snapshot version of the file that are the same as the first snapshot file version and stores direct references to blocks which are different from the next more recent snapshot version of the file, wherein the next more recent snapshot version of the file is the current file; creating a second snapshot file version of a current file when a snapshot of a portion of data in the data storage structure which includes said file is taken, wherein said second snapshot file version is separate and independent of the current file version and references blocks of the next more recent snapshot version of the file that are the same as the current snapshot file version and stores direct references to blocks which are different from the next more recent snapshot version of the file; and wherein the next more recent snapshot version of the file for the second snapshot file version is the current file and the next more recent snapshot version of the file for the first snapshot file is the second snapshot file version. - View Dependent Claims (11)
-
-
12. A data storage system capable of preserving data snapshots of portions of the stored data as of selected points in time comprising:
-
a data storage tree structure to store current data in directories and files; a snapshot module configured to create snapshots in time of directories and files; and snapshot data structures of snapshot versions of a directory, wherein the snapshot directory version identifies children of the directory that are different from the next more recent version of the directory. - View Dependent Claims (13, 14, 15)
-
Specification