IP Library Patent Application 15399426
Patent Application
App. No. 15/399,426

REQUESTING AVOIDANCE/PREFERENCE OF WHICH DISPERSED STORAGE UNITS TO USE ON A WRITE OR RETRIEVAL REQUEST

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 None
App. No.
15/399,426
Abstract

A method includes determining, by a requesting device of a dispersed storage network (DSN), a storage directive regarding storage of a data segment of a data object based on one or more of: data type of the data object, DSN access restrictions of the requesting device, and a data storage report. The method further includes sending a write request including the storage directive to a DSN processing unit. The method further includes validating the write request in light of the storage directive and when the write request is valid, dispersed storage error encoding the data segment to produce a set of encoded data slices, selecting a set of storage units based on the storage directive, generating a set of slice names for the set of encoded data slices based on the selected set of storage units, and sending a set of write requests to the selected set of storage units.

Claims (72)

1 . A method comprises:

determining, by a requesting device of a dispersed storage network (DSN), a storage directive regarding storage of a data segment of a data object based on one or more of: data type of the data object, DSN access restrictions of the requesting device, and a data storage report;

sending, by the requesting device, a write request regarding the data segment to a DSN processing unit of the DSN, wherein the write request includes the storage directive;

validating, by the DSN processing unit, the write request in light of the storage directive;

when the write request is valid:

dispersed storage error encoding the data segment to produce a set of encoded data slices, wherein the set of encoded data slices includes a pillar number of encoded data slices, wherein a decode threshold number of encoded data slices is required to recover the data segment, and wherein the decode threshold number is less than the pillar number;

selecting a set of storage units from a plurality of storage units based on the storage directive, wherein the selected set of storage units includes a storage unit from each pillar grouping of storage units of the pillar number of groupings of storage units of the plurality of storage units;

generating a set of slice names for the set of encoded data slices based on the selected set of storage units, wherein a first slice name is generated for a first encoded data slice of the set of encoded data slices for storage in a first storage unit of the set of storage units; and

sending a set of write requests to the selected set of storage units, wherein a first write request of the set of write requests includes the first encoded data slice and the first slice name, and wherein the first write request is sent to the first storage unit.

2 . The method of claim 1 , wherein the data storage report comprises one or more of:

identity of one or more storage units of the plurality of storage units that has provided a favorable write response to a past write request of a set of past write requests;

identity of one or more storage units of the plurality of storage units that has provided an unfavorable write response to a past write request of a set of past write requests; and

identity of one or more storage units of the plurality of storage units that provided no write response to a past write request of a set of past write requests; and

identity of one or more storage units of the plurality of storage units previously not included in a selected set of storage units of the plurality of storage units.

3 . The method of claim 1 , wherein the DSN access restrictions comprises:

identity of one or more sets of storage units with the DSN that the requesting device is prohibited from accessing;

identity of one or more preferred sets of storage units within the DSN that the requesting device is authorized to access;

identity of one or more DSNs of a plurality of DSNs that the requesting device is prohibited from accessing; and

identity of one or more preferred DSNs of the plurality of DSNs that the requesting device is authorized to access.

4 . The method of claim 1 , wherein the storage directive comprises one or more of:

a desired list of one or more storage units of the plurality of storage units that are preferred for storing an encoded data slice of the set of encoded data slices; and

an exclusion list of one or more storage units of the plurality of storage units that are not to store an encoded data slice of the set of encoded data slices.

5 . The method of claim 1 , wherein the storage directive comprises:

identity of the first storage unit for storing the first encoded data slice;

identity of a second storage unit of the selected set of storage units for storing a second encoded data slice of the set of encoded data slices; and

identity of a third storage unit of the selected set of storage units for storing a third encoded data slice of the set of encoded data slices.

6 . The method of claim 1 further comprises:

receiving, by the requesting device, write responses from at least some of the storage units of the selected set of storage units; and

updating, by the requesting device, the data storage report to include:

identity of one or more storage units of the selected set of storage units that has provided a favorable write response to the write request of the set of write requests;

identity of one or more storage units of the selected set of storage units that has provided an unfavorable write response to the write request of the set of write requests; and

identity of one or more storage units of the selected set of storage units that has provided no write response to the write request of the set of write requests; and

identity of one or more storage units of the plurality of storage units not included in the selected set of storage units.

7 . The method of claim 1 , wherein the selecting the set of storage units comprises:

identifying, based on the storage directive, preferred storage units within each pillar grouping of storage units;

obtaining storage capability and reliability data of the preferred storage units; and

selecting the set of storage units from the preferred storage units in accordance with the storage capability and reliability data.

8 . A computer readable memory comprises:

a first memory that stores operational instructions that, when executed by a requesting device of a dispersed storage network (DSN), cause the requesting device to:

determine a storage directive regarding storage of a data segment of a data object based on one or more of: data type of the data object, DSN access restrictions of the requesting device, and a data storage report;

send, a write request regarding the data segment to a DSN processing unit of the DSN, wherein the write request includes the storage directive;

a second memory that stores operational instructions that, when executed by the DSN processing unit of a dispersed storage network (DSN), cause the DSN processing unit to:

validate the write request in light of the storage directive;

when the write request is valid:

dispersed storage error encode the data segment to produce a set of encoded data slices, wherein the set of encoded data slices includes a pillar number of encoded data slices, wherein a decode threshold number of encoded data slices is required to recover the data segment, and wherein the decode threshold number is less than the pillar number;

select a set of storage units from a plurality of storage units based on the storage directive, wherein the selected set of storage units includes a storage unit from each pillar grouping of storage units of the pillar number of groupings of storage units of the plurality of storage units;

generate a set of slice names for the set of encoded data slices based on the selected set of storage units, wherein a first slice name is generated for a first encoded data slice of the set of encoded data slices for storage in a first storage unit of the set of storage units; and

send a set of write requests to the selected set of storage units, wherein a first write request of the set of write requests includes the first encoded data slice and the first slice name, and wherein the first write request is sent to the first storage unit.

9 . The computer readable memory of claim 8 , wherein the data storage report comprises one or more of:

identity of one or more storage units of the plurality of storage units that has provided a favorable write response to a past write request of a set of past write requests;

identity of one or more storage units of the plurality of storage units that has provided an unfavorable write response to a past write request of a set of past write requests; and

identity of one or more storage units of the plurality of storage units that provided no write response to a past write request of a set of past write requests; and

identity of one or more storage units of the plurality of storage units previously not included in a selected set of storage units of the plurality of storage units.

10 . The computer readable memory of claim 8 , wherein the DSN access restrictions comprises:

identity of one or more sets of storage units with the DSN that the requesting device is prohibited from accessing;

identity of one or more preferred sets of storage units within the DSN that the requesting device is authorized to access;

identity of one or more DSNs of a plurality of DSNs that the requesting device is prohibited from accessing; and

identity of one or more preferred DSNs of the plurality of DSNs that the requesting device is authorized to access.

11 . The computer readable memory of claim 8 , wherein the storage directive comprises one or more of:

a desired list of one or more storage units of the plurality of storage units that are preferred for storing an encoded data slice of the set of encoded data slices; and

an exclusion list of one or more storage units of the plurality of storage units that are not to store an encoded data slice of the set of encoded data slices.

12 . The computer readable memory of claim 8 , wherein a third memory stores operational instructions that, when executed by the requesting device, causes the requesting device to:

receive write responses from at least some of the storage units of the selected set of storage units; and

update the data storage report to include:

identity of one or more storage units of the selected set of storage units that has provided a favorable write response to the write request of the set of write requests;

identity of one or more storage units of the selected set of storage units that has provided an unfavorable write response to the write request of the set of write requests; and

identity of one or more storage units of the selected set of storage units that has provided no write response to the write request of the set of write requests; and

identity of one or more storage units of the plurality of storage units not included in the selected set of storage units.

13 . The computer readable memory of claim 8 , wherein the second memory further stores operational instructions that, when executed by the DSN processing unit, causes the DSN processing unit to select the set of storage units by:

identifying, based on the storage directive, preferred storage units within each pillar grouping of storage units;

obtaining storage capability and reliability data of the preferred storage units; and

selecting the set of storage units from the preferred storage units in accordance with the storage capability and reliability data.

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 Jan 5, 2017
From: MARCHANT, MICHAEL W.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040864/0418 →