IP Library Granted Patent US 9,329,940
Granted Patent B2
US 9,329,940 · App. 14/444,058 · Granted May 3, 2016

Dispersed storage having a plurality of snapshot paths and methods for use therewith

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,329,940
App. No.
14/444,058
Granted
May 3, 2016
Kind
B2
Abstract

A directory file includes a plurality of entries, wherein an entry of the plurality of entries includes a file or directory name field, and a snapshot list field that includes a snapshot list in accordance with one of a plurality of snapshot paths of a snapshot tree. A new snapshot identifier (ID) is determined for a data file. The directory file is updated to produce an updated directory file, wherein the updating includes updating the snapshot list field associated with the data file to include the new snapshot ID in the snapshot list in accordance with the one of a plurality of snapshot paths of the snapshot tree.

Claims (68)

1. A method comprises:

obtaining a directory file that includes a plurality of entries, wherein an entry of the plurality of entries includes a file or directory name field, and a snapshot list field that includes a snapshot list in accordance with one of a plurality of snapshot paths of a snapshot tree;

determining a new snapshot identifier (ID) regarding a data file;

updating the directory file to produce an updated directory file, wherein the updating includes updating the snapshot list field associated with the data file to include the new snapshot ID in the snapshot list in accordance with the one of the plurality of snapshot paths of the snapshot tree;

dispersed storage error encoding the updated directory file to produce a set of encoded updated directory file slices; and

sending the set of encoded updated directory file slices to a dispersed storage network (DSN) memory for storage.

2. The method of claim 1 , wherein the determining the new snapshot ID further comprises at least one of:

receiving a command to produce the new snapshot ID;

accessing a lookup table at a given time to produce the new snapshot ID;

producing the new snapshot ID at an expiration of a period of time since producing a previous snapshot ID;

producing the new snapshot ID when a change occurs to the data file; or

producing the new snapshot ID when a change occurs to a file name associated with the data file.

3. The method of claim 1 , wherein the new snapshot ID comprises at least one of:

a predetermined value;

a value based on a previous snapshot ID;

a value based on a user ID; and

a value based on a vault ID.

4. The method of claim 1 , wherein the snapshot list associates the new snapshot ID with at least one previous snapshot ID in accordance with the one of the plurality of snapshot paths of the snapshot tree.

5. The method of claim 1 further comprises:

updating a vault snapshot file to associate the new snapshot ID with at least one previous snapshot ID in accordance with the one of the plurality of snapshot paths of the snapshot tree, to produce an updated vault snapshot file that maintains a snapshot history.

6. The method of claim 5 , wherein the updated vault snapshot file is associated with a vault of the DSN and the updated vault snapshot file maintains a parent-child relationship between a plurality of snapshot IDs included in the plurality of snapshot paths of the snapshot tree.

7. The method of claim 1 further comprises:

deleting a snapshot associated with the new snapshot ID by deleting the new snapshot ID from the updated directory file, without deleting the data file.

8. A dispersed storage and task (DST) processing unit comprises:

an interface;

memory; and

a processing module operably coupled to the interface and to the memory, wherein the processing module is operable to:

obtain a directory file that includes a plurality of entries, wherein an entry of the plurality of entries includes a file or directory name field, and a snapshot list field that includes a snapshot list in accordance with one of a plurality of snapshot paths of a snapshot tree;

determine a new snapshot identifier (ID) regarding a data file;

update the directory file to produce an updated directory file, wherein the updating includes updating the snapshot list field associated with the data file to include the new snapshot ID in the snapshot list in accordance with the one of the plurality of snapshot paths of the snapshot tree;

dispersed storage error encode the updated directory file to produce a set of encoded updated directory file slices; and

send, via the interface, the set of encoded updated directory file slices to a dispersed storage network (DSN) memory for storage.

9. The DST processing unit of claim 8 wherein the determining the new snapshot ID further comprises at least one of:

receiving a command to produce the new snapshot ID;

accessing a lookup table at a given time to produce the new snapshot ID;

producing the new snapshot ID at an expiration of a period of time since producing a previous snapshot ID;

producing the new snapshot ID when a change occurs to the data file; or

producing the new snapshot ID when a change occurs to a file name associated with the data file.

10. The DST processing unit of claim 8 wherein the new snapshot ID comprises at least one of:

a predetermined value;

a value based on a previous snapshot ID;

a value based on a user ID; and

a value based on a vault ID.

11. The DST processing unit of claim 8 wherein the snapshot list associates the new snapshot ID with at least one previous snapshot ID in accordance with the one of the plurality of snapshot paths of the snapshot tree.

12. The DST processing unit of claim 8 wherein the processing module is further operable to:

update a vault snapshot file to associate the new snapshot ID with at least one previous snapshot ID in accordance with the one of the plurality of snapshot paths of the snapshot tree, to produce an updated vault snapshot file that maintains a snapshot history.

13. The DST processing unit of claim 12 wherein the updated vault snapshot file is associated with a vault of the DSN and the updated vault snapshot file maintains a parent-child relationship between a plurality of snapshot IDs included in the plurality of snapshot paths of the snapshot tree.

14. The DST processing unit of claim 8 wherein the processing module is further operable to:

delete a snapshot associated with the new snapshot ID by deleting the new snapshot ID from the updated directory file, without deleting the data file.

15. A non-transitory computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), causes the one or more computing devices to:

obtain a directory file that includes a plurality of entries, wherein an entry of the plurality of entries includes a file or directory name field, and a snapshot list field that includes a snapshot list in accordance with one of a plurality of snapshot paths of a snapshot tree;

determine a new snapshot identifier (ID) regarding a data file;

update the directory file to produce an updated directory file, wherein the updating includes updating the snapshot list field associated with the data file to include the new snapshot ID in the snapshot list in accordance with the one of a plurality of snapshot paths of the snapshot tree;

dispersed storage error encode the updated directory file to produce a set of encoded updated directory file slices; and

send the set of encoded updated directory file slices to a dispersed storage network (DSN) memory for storage.

16. The non-transitory computer readable storage medium of claim 15 wherein the determining the new snapshot ID further comprises at least one of:

receiving a command to produce the new snapshot ID;

accessing a lookup table at a given time to produce the new snapshot ID;

producing the new snapshot ID at an expiration of a period of time since producing a previous snapshot ID;

producing the new snapshot ID when a change occurs to the data file; or

producing the new snapshot ID when a change occurs to a file name associated with the data file.

17. The non-transitory computer readable storage medium of claim 15 wherein the snapshot list associates the new snapshot ID with at least one previous snapshot ID in accordance with the one of the plurality of snapshot paths of the snapshot tree.

18. The non-transitory computer readable storage medium of claim 15 wherein the operational instructions, when executed by the one or more processing modules of the one or more computing devices of the dispersed storage network (DSN), further causes the one or more computing devices to:

update a vault snapshot file to associate the new snapshot ID with at least one previous snapshot ID in accordance with the one of the plurality of snapshot paths of the snapshot tree, to produce an updated vault snapshot file that maintains a snapshot history.

19. The non-transitory computer readable storage medium of claim 18 wherein the updated vault snapshot file is associated with a vault of the DSN and the updated vault snapshot file maintains a parent-child relationship between a plurality of snapshot IDs included in the plurality of snapshot paths of the snapshot tree.

20. The non-transitory computer readable storage medium of claim 15 wherein the operational instructions, when executed by the one or more processing modules of the one or more computing devices of the dispersed storage network (DSN), further causes the one or more computing devices to:

delete a snapshot associated with the new snapshot ID by deleting the new snapshot ID from the updated directory file, without deleting the data file.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038687/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2014
From: BAPTIST, ANDREW; VOLVOVSKI, ILYA; LEGGETTE, WESLEY
To: CLEVERSAFE, INC.
Reel/Frame 033402/0340 →