IP Library Patent Application 16112377
Patent Application
App. No. 16/112,377

REDISTRIBUTING ENCODED DATA SLICES IN A DISPERSED STORAGE NETWORK

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.
16/112,377
Abstract

A method begins by storage units of a first pool of storage units of a plurality of pools detecting a change to a weighting factor of a pool of storage units and calculating an updated plurality of storage pool scores for a respective encoded data slice of a set of encoded data slices that is stored by a respective storage unit of the first pool of storage units. The method continues with each of the storage units of the first pool of storage units identifying one pool of storage units having a desired storage pool score based on the updated plurality of storage pool scores. When the one pool of storage units is not the first pool of storage units, each of the storage units of the first pool of storage units transfers the respective encoded data slice to a corresponding storage unit of the one pool of storage units.

Claims (61)

1 . A storage unit (SU) of a first pool of storage units (SUs) of a plurality of pools of SUs, the SU comprising:

an interface configured to interface and communicate with a dispersed or distributed storage network (DSN);

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:

detect a change of a weighting factor of a second pool of SUs;

calculate an updated plurality of storage pool scores of the plurality of pools of SUs for a respective encoded data slice (EDS) of a set of encoded data slices (EDSs) that is currently stored by the SU of the first pool of SUs of the first pool of SUs and that is based on a decentralized agreement protocol function;

identify, from a plurality pools of SUs implemented within a dispersed storage network (DSN) that includes the first pool of SUs and the second pool of SUs, another pool of SUs having a desired storage pool score based on the updated plurality of storage pool scores that is based on the decentralized agreement protocol function;

determine whether the another pool of SUs is the first pool of SUs; and

based on a determination that the another pool of SUs is not the first pool of SUs, transfer, via the interface, the respective EDS of the set of EDSs that is currently stored by the SU of the first pool of SUs to another SU of the another pool of SUs.

2 . The SU of claim 1 , wherein another pool of SUs is the second pool of SUs.

3 . The SU of claim 1 , wherein the processing circuitry is further configured to execute the operational instructions to:

based on another determination that the another pool of SUs is the first pool of SUs, maintain storage of the respective EDS of the set of EDSs that is currently stored by the SU of the first pool of SUs.

4 . The SU of claim 1 , wherein the processing circuitry is further configured to execute the operational instructions to:

delete the respective EDS of the set of EDSs that is currently stored by the SU of the first pool of SUs after successful transfer thereof to the another SU of the another pool of SUs.

5 . The SU of claim 1 , wherein the change of the weighting factor of the second pool of SUs is based on a change of memory capabilities of at least one SU of the second pool of SUs.

6 . The SU of claim 1 , wherein the processing circuitry is further configured to execute the operational instructions to:

receive, via the interface and from one or more SUs of the second pool of SUs, an updated storage pool score of the second pool of SUs is based on a changed weighting factor of the second pool of SUs that is determined by the one or more SUs of the second pool of SUs.

7 . The SU of claim 1 , wherein at least one of:

the first pool of SUs includes a first one or more SUs;

the second pool of SUs includes a second one or more SUs; or

the another pool of SUs includes another one or more SUs.

8 . The SU of claim 1 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication system, a private intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

9 . A storage unit (SU) of a first pool of storage units (SUs) of a plurality of pools of SUs, the SU comprising:

an interface configured to interface and communicate with a dispersed or distributed storage network (DSN);

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:

detect a change of a weighting factor of a second pool of SUs based on a change of memory capabilities of at least one SU of the second pool of SUs;

calculate an updated plurality of storage pool scores of the plurality of pools of SUs for a respective encoded data slice (EDS) of a set of encoded data slices (EDSs) that is currently stored by the SU of the first pool of SUs of the first pool of SUs and that is based on a decentralized agreement protocol function;

identify, from a plurality pools of SUs implemented within a dispersed storage network (DSN) that includes the first pool of SUs and the second pool of SUs, another pool of SUs having a desired storage pool score based on the updated plurality of storage pool scores that is based on the decentralized agreement protocol function;

determine whether the another pool of SUs is the first pool of SUs; and

based on a determination that the another pool of SUs is not the first pool of SUs:

transfer, via the interface, the respective EDS of the set of EDSs that is currently stored by the SU of the first pool of SUs to another SU of the another pool of SUs; and

delete the respective EDS of the set of EDSs that is currently stored by the SU of the first pool of SUs after successful transfer thereof to the another SU of the another pool of SUs.

10 . The SU of claim 9 , wherein the processing circuitry is further configured to execute the operational instructions to:

based on another determination that the another pool of SUs is the first pool of SUs, maintain storage of the respective EDS of the set of EDSs that is currently stored by the SU of the first pool of SUs.

11 . The SU of claim 9 , wherein the processing circuitry is further configured to execute the operational instructions to:

receive, via the interface and from one or more SUs of the second pool of SUs, an updated storage pool score of the second pool of SUs is based on a changed weighting factor of the second pool of SUs that is determined by the one or more SUs of the second pool of SUs.

12 . The SU of claim 9 , wherein at least one of:

the first pool of SUs includes a first one or more SUs;

the second pool of SUs includes a second one or more SUs; or

the another pool of SUs includes another one or more SUs.

13 . The SU of claim 9 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication system, a private intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

14 . A method for execution by a storage unit (SU) of a first pool of storage units (SUs) of a plurality of pools of SUs, the method comprising:

detecting a change of a weighting factor of a second pool of SUs;

calculating an updated plurality of storage pool scores of the plurality of pools of SUs for a respective encoded data slice (EDS) of a set of encoded data slices (EDSs) that is currently stored by the SU of the first pool of SUs of the first pool of SUs and that is based on a decentralized agreement protocol function;

identifying, from a plurality pools of SUs implemented within a dispersed storage network (DSN) that includes the first pool of SUs and the second pool of SUs, another pool of SUs having a desired storage pool score based on the updated plurality of storage pool scores that is based on the decentralized agreement protocol function;

determining whether the another pool of SUs is the first pool of SUs; and

based on a determination that the another pool of SUs is not the first pool of SUs, transferring, via an interface of the SU that is configured to interface and communicate with the DSN, the respective EDS of the set of EDSs that is currently stored by the SU of the first pool of SUs to another SU of the another pool of SUs.

15 . The method of claim 14 , wherein another pool of SUs is the second pool of SUs.

16 . The method of claim 14 further comprising:

based on another determination that the another pool of SUs is the first pool of SUs, maintaining storage of the respective EDS of the set of EDSs that is currently stored by the SU of the first pool of SUs.

17 . The method of claim 14 further comprising:

deleting the respective EDS of the set of EDSs that is currently stored by the SU of the first pool of SUs after successful transfer thereof to the another SU of the another pool of SUs.

18 . The method of claim 14 , wherein the change of the weighting factor of the second pool of SUs is based on a change of memory capabilities of at least one SU of the second pool of SUs.

19 . The method of claim 14 further comprising:

receive, via the interface and from one or more SUs of the second pool of SUs, an updated storage pool score of the second pool of SUs is based on a changed weighting factor of the second pool of SUs that is determined by the one or more SUs of the second pool of SUs.

20 . The method of claim 14 , wherein at least one of:

the first pool of SUs includes a first one or more SUs;

the second pool of SUs includes a second one or more SUs;

the another pool of SUs includes another one or more SUs; or

the DSN includes at least one of a wireless communication system, a wire lined communication system, a private intranet system, a public interne system, a local area network (LAN), or a wide area network (WAN).

Assignments (5)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY DATA BY UPDATING THE EXECUTION DATE OF JASON K. RESCH FROM "10/25/2015" TO --10/28/2015-- PREVIOUSLY RECORDED ON REEL 046701 FRAME 0543. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 10, 2018
From: RESCH, JASON K.; LEGGETTE, WESLEY; MOTWANI, MANISH
To: CLEVERSAFE, INC.
Reel/Frame 047211/0553 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2018
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046940/0684 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2018
From: RESCH, JASON K.; LEGGETTE, WESLEY; MOTWANI, MANISH
To: CLEVERSAFE, INC.
Reel/Frame 046701/0543 →