Systems and methods for a snapshot of data
First Claim
1. A data storage system configured to efficiently create and delete snapshots of files and directories, the system comprising:
- at least one storage device;
at least one computer processor; and
at least one executable software module executed by the at least one computer processor and configured to;
create a first snapshot of data stored on the at least one storage device, wherein the data comprises one or more files or directories;
obtain a request to modify one or more portions of the data;
responsive to the request to modify one or more portions of the data, create a snapshot tracking data structure associated with the first snapshot of data, wherein the snapshot tracking data structure is configured to store references associated with the one or more portions of the data; and
delete the first snapshot, wherein deleting the first snapshot includes;
determining whether each of the one or more portions of the data is governed by an earlier snapshot than the first snapshot;
responsive to determining that a first portion of the one or more portions of data is governed by the earlier snapshot, determining whether the first portion of the data has been modified; and
responsive to determining that the first portion of the data has been modified, replacing a pointer in the earlier snapshot that points to a reference in the first snapshot that points to a location on the at least one storage device where the first portion of data is store with a direct reference to the location.
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. In an embodiment, a snapshot tracking data structure is maintained for efficient creation and deletion of the snapshot.
-
Citations
20 Claims
-
1. A data storage system configured to efficiently create and delete snapshots of files and directories, the system comprising:
-
at least one storage device; at least one computer processor; and at least one executable software module executed by the at least one computer processor and configured to; create a first snapshot of data stored on the at least one storage device, wherein the data comprises one or more files or directories; obtain a request to modify one or more portions of the data; responsive to the request to modify one or more portions of the data, create a snapshot tracking data structure associated with the first snapshot of data, wherein the snapshot tracking data structure is configured to store references associated with the one or more portions of the data; and delete the first snapshot, wherein deleting the first snapshot includes; determining whether each of the one or more portions of the data is governed by an earlier snapshot than the first snapshot; responsive to determining that a first portion of the one or more portions of data is governed by the earlier snapshot, determining whether the first portion of the data has been modified; and responsive to determining that the first portion of the data has been modified, replacing a pointer in the earlier snapshot that points to a reference in the first snapshot that points to a location on the at least one storage device where the first portion of data is store with a direct reference to the location. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for efficiently creating and deleting snapshots of files and directories, the method comprising:
-
creating, by one or more computer processors, a first snapshot of data stored on the at least one storage device, wherein the data comprises one or more files or directories; obtaining, by one or more computer processors, a request to modify one or more portions of the data; responsive to the request to modify one or more portions of the data creating, by one or more computer processors, a snapshot tracking data structure associated with the first snapshot of data, wherein the snapshot tracking data structure is configured to store references associated with the one or more portions of the data; and deleting, by one or more computer processors, the first snapshot, wherein deleting the first snapshot includes; determining whether each of the one or more portions of the data is governed by an earlier snapshot than the first snapshot; responsive to determining that a first portion of the one or more portions of data is governed by the earlier snapshot, determining whether the first portion of the data has been modified; and responsive to determining that the first portion of the data has been modified, replacing a pointer in the earlier snapshot that points to a reference in the first snapshot that points to a location on the at least one storage device where the first portion of data is stored with a direct reference to the location. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification