IP Library Granted Patent US 11,550,515
Granted Patent B1
US 11,550,515 · App. 17/080,133 · Granted Jan 10, 2023

Determining a storage location according to data retention policies

Inventors: Russell P. Kennedy (Boulder, CO); Robert C. McCammon (Downer Grove, IL); Jason K. Resch (Chicago, IL); Thomas F. Shirley, Jr. (Wauwatosa, WI)
Assignee: PURE STORAGE, INC.
G06F3/067G06F3/062G06F3/0605G06F3/0649G06F16/122
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 11,550,515
App. No.
17/080,133
Granted
Jan 10, 2023
Kind
B1
Abstract

A method for determining a storage location includes one or more processing modules of one or more computing devices of a storage network (SN) receiving a data object to store in a storage network (SN) and determining whether the data object is subject to a legal restriction, where a data object is subject to a legal restriction based on the data object requiring storage in a jurisdiction that subjects the data object to a retention policy. The method continues by determining one or more attributes of a first storage location of a plurality of storage locations and based on a determination that the data object is subject to a legal restriction and at least one attribute of the one or more attributes of the first storage location, transmitting a write threshold number of write requests to a plurality of SUs at the first storage location.

Claims (54)

1. A method for execution by one or more processing modules of one or more computing devices of a storage network (SN), the method comprising:

receiving a data object for storage in the SN;

determining whether the data object is subject to a legal restriction, wherein a data object is subject to a legal restriction based on the data object being stored in at least one jurisdiction that subjects the data object to a retention policy, and wherein the data object is not subject to the legal restriction based on the data object being stored in at least one other jurisdiction;

determining one or more attributes of a first storage location of a plurality of storage locations;

based on a determination that the data object is subject to a legal restriction and at least one attribute of the one or more attributes of the first storage location, selecting the first storage location to store the data object;

segmenting the data object into a plurality of data segments;

dispersed error encoding a data segment of the plurality of data segments in accordance with dispersed error encoding parameters to produce a set of encoded data slices; and

transmitting a write threshold number of write requests for the set of encoded data slices to a plurality of storage units at the first storage location.

2. The method of claim 1 , further comprising:

determining whether the data object is subject to another legal restriction, wherein a data object is subject to another legal restriction when receipt of the data object in at least one jurisdiction subjects the data object to a retention policy; and

in response to a determination that the data object is subject to another legal restriction and at least one attribute of the one or more attributes of the first storage location, selecting another storage location of the plurality of storage locations to store the data object.

3. The method of claim 2 , wherein a data object is further subject to another legal restriction when the another legal restriction would apply to a jurisdiction where the first storage location is geographically located.

4. The method of claim 2 , wherein a data object is further subject to another legal restriction when the another legal restriction would apply to a jurisdiction where the second storage location is geographically located.

5. The method of claim 1 , wherein each storage location of the plurality of storage locations comprise one or more storage units.

6. The method of claim 1 , wherein the one or more attributes of the first storage location include where the first storage location is geographically located.

7. The method of claim 1 , wherein the one or more attributes of the first storage location include an indication of one or more jurisdictions traversed in sending data to the first storage location.

8. The method of claim 1 , wherein the one or more attributes of the first storage location include whether or not the first storage location supports delete.

9. The method of claim 1 , wherein the one or more attributes of the first storage location include whether or not the first storage location supports later modification.

10. The method of claim 1 , wherein the one or more attributes of the first storage location include an indication of secure delete options applied to stored data objects.

11. The method of claim 1 , wherein the one or more attributes of the first storage location include in indication of accessibility options available for stored data objects.

12. The method of claim 1 , further comprising:

determining one or more attributes of a second storage location of the plurality of storage locations and

based on a determination that the data object is subject to a legal restriction and at least one attribute of the one or more attributes of the first storage location, transmitting a write threshold number of write requests to a plurality of storage units at the second storage location.

13. The method of claim 1 , further comprising:

returning an error indicating that no storage location of the plurality of storage locations is found for the data object.

14. A storage unit for storing data in a storage network (SN), the SN comprising:

a memory; and

a computer processor;

where the memory includes instructions for causing the computer processor to:

receive a data object for storage in the SN;

determine whether the data object is subject to one or more data retention restrictions;

determine one or more attributes of a first storage location of a plurality of storage locations;

in response to a determination that the data object is subject to one or more data retention restrictions and at least one attribute of the one or more attributes of the first storage location, transmit a write threshold number of write requests to a plurality of SUs at the first storage location;

segmenting the data object into a plurality of data segments;

dispersed error encoding a data segment of the plurality of data segments in accordance with dispersed error encoding parameters to produce a set of encoded data slices; and

transmitting a write threshold number of write requests for the set of encoded data slices to a plurality of storage units at the first storage location.

15. The storage unit of claim 14 , wherein each storage location of the plurality of storage locations comprises a plurality of dispersed storage units.

16. The storage unit of claim 14 , wherein the one or more attributes include where the first storage location is geographically located.

17. The storage unit of claim 14 , wherein the one or more attributes of the first storage location include whether or not the first storage location supports delete.

18. The storage unit of claim 14 , wherein the one or more attributes of the first storage location include whether or not the first storage location supports later modification.

19. The storage unit of claim 14 , wherein the one or more attributes of the first storage location include an indication of secure delete options applied to stored data objects.

20. A storage network (SN) comprising:

a plurality of storage locations;

a dispersed storage processing unit including:

a memory; and

a computer processor;

where the memory includes instructions for causing the computer processor to:

receive a data object for storage in the SN;

determine whether the data object is subject to a legal restriction, wherein a data object is subject to a legal restriction based on the data object being stored in at least one jurisdiction that subjects the data object to a retention policy, and wherein the data object is not subject to the legal restriction based on the data object being stored in at least one other jurisdiction;

determine one or more attributes of a first storage location of a plurality of storage locations;

in response to a determination that the data object is subject to a legal restriction and at least one attribute of the one or more attributes of the first storage location, select the first storage location to store the data object;

segment the data object into a plurality of data segments;

dispersed error encode a data segment of the plurality of data segments in accordance with dispersed error encoding parameters to produce a set of encoded data slices; and

transmit a write threshold number of write requests for the set of encoded data slices to a plurality of storage units at the first storage location.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2020
From: KENNEDY, RUSSELL P.; MCCAMMON, ROBERT C.; RESCH, JASON K.; SHIRLEY, THOMAS F., JR.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 054172/0327 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 054216/0396 →