Systems and methods for a snapshot of data
First Claim
1. A data storage system accessible by a processor comprising:
- a hierarchical data storage structure with directory nodes and file nodes in a tree structure, at least some of said directory nodes having a plurality of file nodes as children;
a snapshot identifier associated with a directory to designate a snapshot as of a given time, the snapshot including the directory and all subdirectories, if any, and all files under the directory; and
the same snapshot identifier associated with each of the subdirectories, if any, and files under the directory.
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.
-
Citations
14 Claims
-
1. A data storage system accessible by a processor comprising:
-
a hierarchical data storage structure with directory nodes and file nodes in a tree structure, at least some of said directory nodes having a plurality of file nodes as children; a snapshot identifier associated with a directory to designate a snapshot as of a given time, the snapshot including the directory and all subdirectories, if any, and all files under the directory; and the same snapshot identifier associated with each of the subdirectories, if any, and files under the directory. - View Dependent Claims (2, 3)
-
-
4. A method of traversing a portion of data stored hierarchically in a data storage system in which the portion of the data represents a snapshot of the data stored in said system as of a point in time comprising:
-
identifying the desired snapshot point in time and the desired file or files within the storage system; and traversing the nodes of the storage system that are identified at the nodes as associated with the desired snapshot to find the desired file or files. - View Dependent Claims (5)
-
-
6. A storage system that tracks a plurality of versions of selected data portions as of selected points in time comprising:
-
a snapshot module configured to track multiple snapshots of the same and/or different portions of the data stored in said storage system at substantially the same and/or different points in time; a data structure configured to store the current data of the storage system and to store the snapshot versions of the data generally only to the extent the snapshot versions of the data differ from the storage system'"'"'s current data; snapshot data structures related to the snapshot versions configured to store information about nodes within the snapshot versions that have been modified; and said snapshot module further configured to permit deletion of any one or more of the snapshot versions of the data after reviewing the modified nodes indicated in the snapshot data structures that correspond to the one or more snapshot versions to be deleted. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method for keeping track of snapshots in a storage system comprising:
-
creating a snapshot tracking file when a snapshot is created, wherein the snapshot identifies certain data stored in the storage system to be preserved as of a particular point in time; adding a data identifier to the snapshot tracking file whenever data stored in the storage system and covered by the snapshot is modified; and using the information in the snapshot tracking file to recreate the snapshot data when this is desired. - View Dependent Claims (12, 13)
-
-
14. A method of deleting a snapshot in a storage system wherein the storage system is comprised of a hierarchical data structure of directory and file nodes wherein generally only the portions of blocks of data that have been modified by the system are stored in the snapshot portion of the storage system to permit recreation of the data as of the point in time of the snapshot, the method of deletion of a snapshot comprising:
-
visiting all files covered by the snapshot which have been modified since the creation of the snapshot; deleting the reference to the snapshot in the active snapshot list; and deleting blocks of data no longer in use.
-
Specification