IP Library Granted Patent US 10,838,664
Granted Patent B2
US 10,838,664 · App. 15/354,034 · Granted Nov 17, 2020

Determining a storage location according to legal requirements

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 10,838,664
App. No.
15/354,034
Granted
Nov 17, 2020
Kind
B2
Abstract

Systems and method for determining a storage location according to legal requirements. According to one example a dispersed storage (DS) processing unit receives data to store in a dispersed storage network (DSN) and assesses attributes of data to produce a determination of whether the data falls into one or more defined legal categories. The DS processing unit also determines one or more attributes of a storage location in the DSN. The DS processing unit then determines whether or not to select the storage location based on the determination and based on one or more attributes of the storage location. If storing data of the identified category would be illegal the DS processing unit evaluates the another storage location, and so on. If no available storage location is found the DS processing unit returns an error indicating that no legal storage location is found.

Claims (62)

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

receiving a data object for storage in the DSN;

determining whether a data object falls into one or more defined legal categories, wherein a data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices (EDSs) that are distributedly stored in a plurality of storage units (SUs) within the DSN, wherein the defined legal categories are at least one of medical records, financial records, personal identity information, anonymized information, copyrighted information, restricted information and illegal information;

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

based on a determination that the data object falls into one or more defined legal categories 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; and

transmitting a write threshold number of write requests to a plurality of SUs at the first storage location.

2. The method of claim 1 , wherein the one or more defined legal categories comprise legal categories that apply to a jurisdiction where the data object is received.

3. The method of claim 1 , wherein the one or more defined legal categories comprise legal categories that apply to a jurisdiction where the first storage location exists.

4. The method of claim 1 , wherein the plurality of storage locations comprise one or more of dispersed storage units, dispersed storage unit pools, pillars, sites and vaults.

5. The method of claim 1 , wherein the one or more attributes of the first storage location comprise at least one of:

where the first storage location is physically present,

what jurisdiction the first storage location is in,

what jurisdictions are traversed in sending data to the first storage location,

what retention policies the first storage location possesses,

what secure delete options are applied to the data object,

what shredding mechanisms are applied to the data object,

whether or not the first storage location supports delete, and

whether or not the first storage location supports later modification.

6. 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 falls into one or more defined legal categories and at least one attribute of the one or more attributes of the first storage location, selecting the second storage location of the plurality of storage locations to store the data object.

7. 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.

8. A dispersed storage processing unit for storing data in a dispersed or distributed storage network (DSN), the dispersed storage processing unit 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 DSN;

determine whether the data object falls into one or more defined legal categories, wherein a data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices (EDSs) that are distributedly stored in a plurality of storage units (SUs) within the DSN, wherein the defined legal categories are at least one of medical records, financial records, personal identity information, anonymized information, copyrighted information, restricted information and illegal information;

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

based on a determination that the data object falls into one or more defined legal categories 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; and

transmit a write threshold number of write requests to a plurality of SUs at the first storage location.

9. The dispersed storage processing unit of claim 8 , wherein the one or more defined legal categories comprise legal categories that apply to a jurisdiction in which the dispersed storage processing unit is operating.

10. The dispersed storage processing unit of claim 8 , wherein the one or more defined legal categories comprise legal categories that apply to a jurisdiction where the first storage location exists.

11. The dispersed storage processing unit of claim 8 , wherein the plurality of storage locations comprises one or more of dispersed storage units, dispersed storage unit pools, pillars, sites and vaults.

12. The dispersed storage processing unit of claim 8 , wherein the one or more attributes comprise at least one of:

where the first storage location is physically present,

what jurisdiction the first storage location is in,

what jurisdictions are traversed in sending data to the first storage location,

what retention policies the first storage location possesses,

what secure delete options are applied to the data object,

what shredding mechanisms are applied to the data object,

whether or not the first storage location supports delete, and

whether or not the first storage location supports later modification.

13. The dispersed storage processing unit of claim 8 , wherein the memory further comprises instructions for causing the computer processor to:

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

based on a determination that the data object falls into one or more defined legal categories and at least one attribute of the one or more attributes of the first storage location, selecting the second storage location of the plurality of storage locations to store the data object.

14. The dispersed storage processing unit of claim 8 , wherein the memory further comprises instructions for causing the computer processor to:

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

15. A dispersed storage network (DSN) 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 DSN;

determine whether the data object falls into one or more defined legal categories, wherein a data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices (EDSs) that are distributedly stored in a plurality of storage units (SUs) within the DSN, wherein the defined legal categories are at least one of medical records, financial records, personal identity information, anonymized information, copyrighted information, restricted information and illegal information;

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

based on a determination that the data object falls into one or more defined legal categories 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; and

transmit a write threshold number of write requests to a plurality of SUs at the first storage location.

16. The dispersed storage network of claim 15 , wherein the one or more defined legal categories comprise legal categories that apply to a jurisdiction in which the dispersed storage processing unit is operating.

17. The dispersed storage network of claim 15 , wherein the one or more defined legal categories comprise legal categories that apply to a jurisdiction where the first storage location exists.

Assignments (5)
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 DELETE 15/174/279 AND 15/174/596 PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 49555 FRAME: 530. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 051495/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049555/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2016
From: KENNEDY, RUSSELL P.; MCCAMMON, ROBERT C.; RESCH, JASON K.; SHIRLEY, THOMAS F., JR.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040356/0044 →
Continuity (3)
Continuation In Part 15082887 · Mar 28, 2016
Provisional Application 62168145 · May 29, 2015
Related Publication 20170068691A1 · Mar 9, 2017