IP Library Granted Patent US 10,248,504
Granted Patent B2
US 10,248,504 · App. 15/194,721 · Granted Apr 2, 2019

List request processing during a dispersed storage network configuration change

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,248,504
App. No.
15/194,721
Granted
Apr 2, 2019
Kind
B2
Abstract

A method includes identifying resources that are affiliated with a range of slice names of a listing request. The method further includes creating an ordered classification of the resources. The method further includes a resource determining whether it is in a last class of the ordered classification. When the resource is in the last class, it processes the listing request to generate a listing response and sends the listing response to another resource in a next lower class. When the resource is not in the last class, it identifies a second resource for proxying of the listing request and sends the listing request to the second resource. The method further includes receiving a cumulated listing response from the second resource. The method further includes processing the listing request to generate the listing response. The method further includes combining the listing response with the cumulated listing response.

Claims (79)

1. A method for processing and proxying a listing request by resources of a dispersed storage network (DSN) during a system configuration change, the method comprises:

identifying a set of resources that are affiliated with a range of slice names identified by the listing request;

creating an ordered classification of the set of resources based on the system configuration change;

determining, by a resource of the set of resources, whether the resource is in a last class of the ordered classification;

when the resource is in the last class:

processing the listing request to generate a listing response regarding encoded data slices associated with slice names within a sub-range of slice names of the range of slice names, wherein the sub-range of slices names is affiliated with the resource; and

sending the listing response to another resource in a lower higher class of the ordered classification;

when the resource is not in the last class:

identifying a second resource of the set of resource for proxying of the listing request, wherein the second resource is in a next higher class of the ordered classification;

sending the listing request to the second resource;

receiving, in response to the sending, a cumulated listing response from the second resource; and

processing the listing request to generate the listing response regarding encoded data slices associated with slice names within the sub-range of slice names;

combining the listing response with the cumulated listing response to produce an updated cumulated listing response.

2. The method of claim 1 further comprises:

when the resource received the listing request, sending the updated cumulated listing response to a request computing device that issued the listing request.

3. The method of claim 1 further comprises:

when the resource did not receive the listing request, sending the updated cumulated listing response to yet another resource in another next lower class of the ordered classification.

4. The method of claim 1 , wherein the creating the ordered classification comprises:

identifying the set resources for the range of slice names in accordance with a distributed agreement protocol based an old system configuration of the DSN and a new system configuration of the DSN;

identifying an old weight factor and a new weight factor for each resource in the set of resources, wherein the old weight factor corresponds to the old system configuration and the new weight factor corresponds to new system configuration;

determining a relative weight change for each resource in the set of resources based on the old weight factor and the new weight factor; and

establishing the ordered classification based on the relative weight changes of the set of resources.

5. The method of claim 1 , wherein the listing request comprises:

a request to at least one of: identify valid encoded data slices having slice names within the range of slice names and to determine location of the valid encoded data slices.

6. The method of claim 5 , wherein the valid encoded data slices comprise:

encoded data slices that are stored in one or more storage units;

encoded data slices that are being created or modified by a computing device; and

encoded data slices that being rebuild by a rebuilding agent.

7. The method of claim 1 , wherein the system configuration change comprises one or more of:

an addition of a resource;

a deletion of a resource; and

a change in weighting factors of a DAP.

8. The method of claim 1 , wherein the resource comprises one of:

a storage location within a storage unit;

a storage unit;

a storage pool;

a computing device; and

a rebuilder.

9. A resource of a dispersed storage network (DSN), the resource comprises:

an interface;

a memory; and

a processing module operably coupled to the memory and the interface, wherein the processing module is operable to:

identify a set of the resources that are affiliated with a range of slice names identified by a listing request;

create an ordered classification of the set of resources based on a system configuration change;

determine whether the resource is in a last class of the ordered classification;

when the resource is in the last class:

process the listing request to generate a listing response regarding encoded data slices associated with slice names within a sub-range of slice names of the range of slice names, wherein the sub-range of slices names is affiliated with the resource; and

send, via the interface, the listing response to another resource in a next lower class of the ordered classification;

when the resource is not in the last class:

identify a second resource of the set of resource for proxying of the listing request, wherein the second resource is in a next higher class of the ordered classification;

send, via the interface, the listing request to the second resource;

receive, via the interface in response to the sending, a cumulated listing response from the second resource; and

process the listing request to generate the listing response regarding encoded data slices associated with slice names within the sub-range of slice names;

combine the listing response with the cumulated listing response to produce an updated cumulated listing response.

10. The resource of claim 9 , wherein the processing module is further operable to:

when the resource received the listing request, send, via the interface, the updated cumulated listing response to a request computing device that issued the listing request.

11. The resource of claim 9 , wherein the processing module is further operable to:

when the resource did not receive the listing request, send, via the interface, the updated cumulated listing response to yet another resource in another next lower class of the ordered classification.

12. The resource of claim 9 , wherein the processing module is further operable to create the ordered classification by:

identifying the set resources for the range of slice names in accordance with a distributed agreement protocol based an old system configuration of the DSN and a new system configuration of the DSN;

identifying an old weight factor and a new weight factor for each resource in the set of resources, wherein the old weight factor corresponds to the old system configuration and the new weight factor corresponds to new system configuration;

determining a relative weight change for each resource in the set of resources based on the old weight factor and the new weight factor; and

establishing the ordered classification based on the relative weight changes of the set of resources.

13. The resource of claim 9 , wherein the listing request comprises:

a request to at least one of: identify valid encoded data slices having slice names within the range of slice names and to determine location of the valid encoded data slices.

14. The resource of claim 13 , wherein the valid encoded data slices comprise:

encoded data slices that are stored in one or more storage units;

encoded data slices that are being created or modified by a computing device; and

encoded data slices that being rebuild by a rebuilding agent.

15. The resource of claim 9 , wherein the system configuration change comprises one or more of:

an addition of a resource;

a deletion of a resource; and

a change in weighting factors of a DAP.

16. The resource of claim 9 comprises one of:

a storage location within a storage unit;

a storage unit;

a storage pool;

a computing device; and

a rebuilder.

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 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 Jun 28, 2016
From: BAPTIST, ANDREW D.; KHADIWALA, RAVI V.; MOTWANI, MANISH; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039026/0400 →