Systems and methods for a snapshot of data
First Claim
1. A method of preserving a file or directory stored in a processor-accessible storage system as of a point in time, the method comprising:
- accessing, by a computer processor, a target metadata node associated with the file or directory in a file system, the file system comprising multiple metadata nodes arranged in a logical hierarchy, one or more of the metadata nodes comprising a governance list, the governance list comprising one or more snapshot identifiers, each snapshot identifier uniquely identifying a snapshot governing the file or directory and indicating when the snapshot was taken, each snapshot identifier based on a global count of the file system at a time when its corresponding snapshot was taken, the global count indicating a time relative to when a snapshot is taken;
comparing, by the computer processor, the most recent snapshot identifier of the governance list of the target metadata node with the global count of the file system, the most recent snapshot identifier indicating when the most recent snapshot was taken relative to the global count;
based on the comparison of the most recent snapshot identifier to the global count, determining, by the computer processor, that one or more ancestors of the target metadata node must be accessed;
accessing, by the computer processor, at least one ancestor metadata node of the target metadata node;
determining, by the computer processor, that a snapshot identifier of the governance list of the at least one ancestor metadata node is more recent than the most recent snapshot identifier of the governance list of the target metadata node; and
adding, by the computer processor, the more recent snapshot identifier of the governance list of the at least one ancestor metadata node to the governance list of the target metadata 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 include nested files and directories. According to one embodiment, the system stores representations of the snapshots that govern a file or directory and its descendants within metadata associated with that file or directory. Before modifying a file or directory, the system updates the representations of the governing snapshots by traversing the metadata of ancestors of the file or directory.
-
Citations
18 Claims
-
1. A method of preserving a file or directory stored in a processor-accessible storage system as of a point in time, the method comprising:
-
accessing, by a computer processor, a target metadata node associated with the file or directory in a file system, the file system comprising multiple metadata nodes arranged in a logical hierarchy, one or more of the metadata nodes comprising a governance list, the governance list comprising one or more snapshot identifiers, each snapshot identifier uniquely identifying a snapshot governing the file or directory and indicating when the snapshot was taken, each snapshot identifier based on a global count of the file system at a time when its corresponding snapshot was taken, the global count indicating a time relative to when a snapshot is taken; comparing, by the computer processor, the most recent snapshot identifier of the governance list of the target metadata node with the global count of the file system, the most recent snapshot identifier indicating when the most recent snapshot was taken relative to the global count; based on the comparison of the most recent snapshot identifier to the global count, determining, by the computer processor, that one or more ancestors of the target metadata node must be accessed; accessing, by the computer processor, at least one ancestor metadata node of the target metadata node; determining, by the computer processor, that a snapshot identifier of the governance list of the at least one ancestor metadata node is more recent than the most recent snapshot identifier of the governance list of the target metadata node; and adding, by the computer processor, the more recent snapshot identifier of the governance list of the at least one ancestor metadata node to the governance list of the target metadata node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for tracking snapshots of a file system, the system comprising:
-
at least one computer processor; at least one memory; a file structure comprising a plurality of files and directories that are logically stored in a tree on the at least one memory; a plurality of metadata structures, each metadata structure corresponding to a file or directory of the file structure, each metadata structure comprising a governance list, the governance list comprising one or more snapshot identifiers, each snapshot identifier uniquely identifying a snapshot governing the file or directory and indicating when the snapshot was taken, each snapshot identifier based on a global count of the file system at a time when its corresponding snapshot was taken, the global count indicating a time relative to when a snapshot is taken; at least one executable software module executed by the at least one computer processor and configured to; access a target metadata structure corresponding to a target file or directory of the file structure; compare the most recent snapshot identifier of the governance list of the target metadata structure with the global count of the file system, the most recent snapshot identifier indicating when the most recent snapshot was taken relative to the global count; based on the comparison of the most recent snapshot identifier to the global count, determine that one or more ancestors of the target metadata structure must be accessed; access at least one ancestor metadata structure of the target metadata structure; determine that a snapshot identifier of the governance list of the at least one ancestor metadata structure is more recent than the most recent snapshot identifier of the governance list of the target metadata node; and add the more recent snapshot identifier of the governance list of the at least one ancestor metadata structure to the governance list of the target metadata structure. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification