IP Library Patent Application 17655841
Patent Application
App. No. 17/655,841

Optimized Selection of Participants in Distributed Data Rebuild/Verification

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.
17/655,841
Abstract

A storage network method begins by receiving a data retrieval request, wherein a data object is segmented into a plurality of data segments, determining a storage configuration associated with the data retrieval request based on an encoded data slice identifier included in the retrieval request and, based on the storage configuration, determining a plurality of storage resources associated with the encoded data slice identifier The mehod continues by determining an estimated performance level for each storage resource of a plurality of storage resources associated with the encoded data slice identifier, determining an expected retrieval performance for the retrieval request and selecting a storage resource of the plurality of storage resources based on the expected retrieval performance. The method then continues by transmitting a read request for one or more encoded data slices associated with the encoded data slice identifier to the storage resource.

Claims (41)

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

receiving a data retrieval request, wherein a data object is segmented into a plurality of data segments, wherein each 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;

determining a storage configuration associated with the data retrieval request based on an encoded data slice identifier included in the retrieval request;

based on the storage configuration, determining a plurality of storage resources associated with the encoded data slice identifier;

determining an estimated performance level for each storage resource of a plurality of storage resources associated with the encoded data slice identifier;

determining an expected retrieval performance for the retrieval request;

selecting a storage resource of the plurality of storage resources based on the expected retrieval performance; and

transmitting a read request for one or more encoded data slices associated with the encoded data slice identifier to the storage resource.

2 . The method of claim 1 , wherein the determining an estimated performance level for each storage resource of a plurality of storage resources is based on at least one of a historical performance level, a query, a test, a lookup, or a message.

3 . The method of claim 2 , wherein the historical performance level is based on one or more of: access latency, excess bandwidth, reliability, availability, or cost.

4 . The method of claim 1 , wherein a storage resource includes includes one or more distributed storage units of a set of distributed storage units, wherein the determining an estimated performance level for each storage resource includes determining an estimated performance level of at least some distributed storage units of a set of distributed storage units.

5 . The method of claim 1 , wherein a storage resource includes includes one or more distributed storage units of a set of distributed storage units, wherein the determining an estimated performance level for each storage resource includes determining a historical performance level of one or more distributed storage units over a time period T.

6 . The method of claim 5 , wherein the determining an estimated performance level is determined by averaging the historical performance level over T.

7 . The method of claim 1 , wherein the expected retrieval performance is based on at least one of a latency time, a read data rate, a write data rate, an availability level, and a reliability level.

8 . The method of claim 1 , wherein the determining an expected retrieval performance for the retrieval request is based on at least one of a storage configuration lookup, a query, a message, a predetermination, and information retrieved in a retrieval message.

9 . The method of claim 1 , wherein the data retrieval request includes a retrieval request for the one or more sets of encoded data slices.

10 . The method of claim 1 , wherein the storage configuration includes information sufficient to determine storage units storing encoded data slices with a same encoded data slice identifier.

11 . The method of claim 10 , wherein the storage configuration includes information sufficient to determine storage units storing encoded data slices with a same addressing range.

12 . The method of claim 1 , wherein the determining a storage configuration associated with the data retrieval request is based on at least one of a storage configuration lookup, a virtual dispersed storage network to physical location table lookup, a query, a message, and a predetermination.

13 . A method of selecting distributed storage units to execute a data access request, the method comprises:

receiving a retrieval request for an encoded data slice;

determining a storage configuration for the encoded data slice based on an encoded data slice identifier included in the retrieval request;

based on the storage configuration, determining an estimated performance level for each storage resource of a plurality of storage resources associated with the encoded data slice identifier;

determining a retrieval performance goal for the retrieval request;

selecting a storage resource of the plurality of storage resources based on the retrieval performance goal; and transmitting a read request for the encoded data slice to the storage resource.

14 . The method of claim 13 , wherein the determining an estimated performance level for each storage resource of a plurality of storage resources is based on at least one of a historical performance level, a query, a test, a lookup, or a message.

15 . The method of claim 14 , wherein the determining an estimated performance level for each storage resource is based on the historical performance level for one or more distributed storage units of a set of distributed storage units associated with each storage resource.

16 . The method of claim 14 , wherein the determining an estimated performance level is based on the historical performance level of the one or more over a time period T.

17 . The method of claim 13 , wherein the retrieval performance goal is based on at least one of a latency time, a read data rate, a write data rate, an availability level, and a reliability level.

18 . The method of claim 13 , wherein the determining a retrieval performance goal for the retrieval request is based on at least one of a storage configuration lookup, a query, a message, a predetermination, and information retrieved in a retrieval message.

19 . The method of claim 13 , wherein the data retrieval request includes a retrieval request for the one or more sets of encoded data slices.

20 . A computing device comprising:

an interface configured to interface and communicate with a storage network;

memory that stores operational instructions; and

processing circuitry operably coupled to the interface and to the memory, wherein the processing circuitry is configured to execute the operational instructions to:

receive a retrieval request for an encoded data slice;

determinea storage configuration for the encoded data slice based on an encoded data slice identifier included in the retrieval request;

based on the storage configuration, determine an estimated performance level for each storage resource of a plurality of storage resources associated with the encoded data slice identifier;

determine a retrieval performance goal for the retrieval request;

select a storage resource of the plurality of storage resources based on the retrieval performance goal; and

transmit a read request for the encoded data slice to the storage resource.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2022
From: SHIRLEY, THOMAS F., JR.; DHUSE, GREG R.; RESCH, JASON K.
To: PURE STORAGE, INC.
Reel/Frame 059341/0769 →