IP Library Granted Patent US 8,560,794
Granted Patent B2
US 8,560,794 · App. 12/779,721 · Granted Oct 15, 2013

Dispersed storage network for managing data deletion

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 8,560,794
App. No.
12/779,721
Granted
Oct 15, 2013
Kind
B2
Abstract

A dispersed storage device manages deletion of data objects stored within a dispersed storage network by receiving a data delete request to delete a data object stored throughout a set of dispersed storage units within a dispersed network memory of the dispersed storage network, determining a deletion policy for the data object and selectively generating and transmitting, based on the deletion policy, a delete command to the set of dispersed storage units.

Claims (63)

1. A dispersed storage device for use within a dispersed storage network, comprising:

an interface; and

a processing module operable to:

receive, via the interface, a data delete request to delete a data object stored throughout a set of dispersed storage units within a dispersed network memory of the dispersed storage network, the data object being segmented into data segments and each of the data segments being sliced into data slices in accordance with an error coding dispersal storage function, the error coding dispersal storage function indicating a pillar number range that corresponds to a number of the data slices generated for each of the data segments, each storage unit of the set of dispersed storage units storing the data slices of the data segments having like pillar numbers of the pillar number range;

determine a deletion policy for the data object; and

selectively generate and transmit, via the interface, a delete command to the set of dispersed storage units based on the deletion policy, the delete command causing the set of dispersed storage units to delete the data slices of the data object stored therein.

2. The dispersed storage device of claim 1 , wherein the processing module is further operable to determine metadata of the data object and to compare the deletion policy to the metadata to determine a deletion rule for the data object.

3. The dispersed storage device of claim 2 , wherein the metadata includes one or more of a data type, file type, file size, file age, file access history, file name, priority, user group affiliation, security level, date stored and date of last retrieval.

4. The dispersed storage device of claim 2 , wherein the processing module is operable to determine the deletion policy based on a vault lookup of a vault including the data object, the vault being associated with at least one user of the dispersed storage network.

5. The dispersed storage device of claim 2 , wherein the deletion rule indicates that the data object is to be deleted and the processing module is operable to generate and transmit the delete command to the set of dispersed storage units.

6. The dispersed storage device of claim 2 , wherein the deletion rule indicates that the data object is to be deleted upon expiration of a timer and the processing module is operable to generate and transmit the delete command to the set of dispersed storage units upon expiration of the timer.

7. The dispersed storage device of claim 6 , wherein the processing module is further operable to initialize the timer when the data object is initially stored within the set of dispersed storage units or when the data delete request is received.

8. The dispersed storage device of claim 2 , wherein the deletion rule indicates that the data object is to be archived, and the processing module is further operable to mark a current version of the data object as an old version within the set of dispersed storage units without generating or transmitting the delete command to the set of dispersed storage units.

9. The dispersed storage device of claim 8 , wherein the processing module is further operable to:

retrieve the data slices of the data object from the set of dispersed storage units;

recreate the data object from the data slices to produce a recreated data object;

determine archive dispersal parameters for the recreated data object;

error code and slice the recreated data object in accordance with the archive dispersal parameters to produce archived data slices; and

output the archived data slices, via the interface, to the dispersed network memory to be stored therein.

10. The dispersed storage device of claim 2 , wherein the deletion rule indicates that the data object is to be copied prior to deletion thereof, and the processing module is further operable to:

retrieve the data slices of the data object from the set of dispersed storage units;

determine a storage entity within the dispersed storage network to which the data slices are to be copied;

copy the data slices to the storage entity; and

generate and transmit the delete command to the set of dispersed storage units.

11. The dispersed storage device of claim 10 , wherein the processing module is further operable to:

recreate the data object from the retrieved data slices to produce a recreated data object;

determine secondary dispersal parameters for the recreated data object;

error code and slice the recreated data object in accordance with the secondary dispersal parameters to produce secondary data slices; and

output the secondary data slices, via the interface, to the storage entity to be stored therein.

12. The dispersed storage device of claim 2 , wherein the deletion rule indicates that the data object is not to be deleted and the processing module is operable to generate and transmit a deny delete response to an originator of the data delete request via the interface without generating or transmitting the delete command to set of dispersed storage units.

13. A method for managing deletion of data objects stored within a dispersed storage network, comprising:

receiving a data delete request to delete a data object stored throughout a set of dispersed storage units within a dispersed network memory of the dispersed storage network, the data object being segmented into data segments and each of the data segments being sliced into data slices in accordance with an error coding dispersal storage function, the error coding dispersal storage function indicating a pillar number range that corresponds to a number of the data slices generated for each of the data segments, each storage unit of the set of dispersed storage units storing the data slices of the data segments having like pillar numbers of the pillar number range;

determining a deletion policy for the data object; and

selectively generating and transmitting, based on the deletion policy, a delete command to the set of dispersed storage units, the delete command causing the set of dispersed storage units to delete the data slices of the data object stored therein.

14. The method of claim 13 , further comprising:

determining metadata of the data object; and

comparing the deletion policy to the metadata to determine a deletion rule for the data object.

15. The method of claim 14 , wherein the deletion rule indicates that the data object is to be deleted and wherein the selectively generating and transmitting further comprises:

generating and transmitting the delete command to the set of dispersed storage units.

16. The method of claim 14 , wherein the deletion rule indicates that the data object is to be deleted upon expiration of a timer and wherein the selectively generating and transmitting further comprises:

generating and transmitting the delete command to the set of dispersed storage units upon expiration of the timer.

17. The method of claim 16 , further comprising:

initializing the timer when the data object is initially stored within the set of dispersed storage units or when the data delete request is received.

18. The method of claim 14 , wherein the deletion rule indicates that the data object is to be archived, and the selectively generating and transmitting further comprises:

marking a current version of the data object as an old version within the set of dispersed storage units without generating or transmitting the delete command to the set of dispersed storage units.

19. The method of claim 18 , wherein the marking further comprises:

retrieving the data slices of the data object from the set of dispersed storage units;

recreating the data object from the data slices to produce a recreated data object;

determining archive dispersal parameters for the recreated data object;

error coding and slicing the recreated data object in accordance with the archive dispersal parameters to produce archived data slices; and

outputting the archived data slices, via the interface, to the dispersed network memory to be stored therein.

20. The method of claim 14 , wherein the deletion rule indicates that the data object is to be copied prior to deletion thereof, and the selectively generating and transmitting further comprises:

retrieving the data slices of the data object from the set of dispersed storage units;

determining a storage entity within the dispersed storage network to which the data slices are to be copied;

copying the data slices to the storage entity; and

generating and transmitting the delete command to the set of dispersed storage units.

21. The method of claim 20 , wherein the copying further comprises:

recreating the data object from the retrieved data slices to produce a recreated data object;

determining secondary dispersal parameters for the recreated data object;

error coding and slicing the recreated data object in accordance with the secondary dispersal parameters to produce secondary data slices; and

outputting the secondary data slices, via the interface, to the storage entity to be stored therein.

22. The method of claim 14 , wherein the deletion rule indicates that the data object is not to be deleted and the selectively generating and transmitting further comprises:

generating and transmitting a deny delete response to an originator of the data delete request via the interface without generating or transmitting the delete command to set of dispersed storage units.

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 May 13, 2010
From: RESCH, JASON K.; GLADWIN, S. CHRISTOPHER; BAPTIST, ANDREW
To: CLEVERSAFE, INC.
Reel/Frame 024383/0479 →