IP Library Granted Patent US 10,001,923
Granted Patent B2
US 10,001,923 · App. 15/448,148 · Granted Jun 19, 2018

Generation collapse

Inventors: Andrew D. Baptist (Mt. Pleasant, WI); Manish Motwani (Chicago, IL); Jason K. Resch (Chicago, IL)
Assignee: International Business Machines Corporation
G06F3/0604G06F3/064G06F3/065G06F3/067G06F3/0619G06F3/0625G06F3/0644G06F3/0647G06F3/0653G06F3/0683G06F11/079G06F11/0727G06F11/0751G06F11/0772G06F11/0793G06F11/1076G06F11/1464G06F17/3053G06F21/10G06F21/80H03M13/1515H04L1/16H04L43/16H04L63/101H04L67/06H04L67/1097H04N21/2181H04N21/232H04N21/23116H04N21/274G06F2221/2129G06F2221/2151H03M13/616H04L63/102
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,001,923
App. No.
15/448,148
Granted
Jun 19, 2018
Kind
B2
Abstract

A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and a processing module that is configured to perform various operations. The computing device determines and converts sets of encoded data slices (EDSs) associated with a data object stored within a generation-based storage pool set of storage units (SUs) to a Decentralized, or Distributed, Agreement Protocol (DAP)-based storage pool set of SUs. The computing device convert a first storage generation set of EDSs associated with the data object to pre-establish DAP scoring information. Then, for additional generation sets of EDSs associated with the data object and stored within the generation-based storage pool set of SUs, the computing device uses additional DAP scoring information to determine migration of EDSs from the generation-based storage pool set of SUs to the DAP-based storage pool set of SUs.

Claims (75)

1. A computing device comprising:

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

memory that stores operational instructions; and

a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to:

determine to convert sets of encoded data slices (EDSs) associated with a data object stored within a generation-based storage pool set of storage units (SUs) to a Decentralized, or Distributed, Agreement Protocol (DAP)-based storage pool set of SUs, wherein the generation-based storage pool set of SUs stores a plurality of sets of EDSs associated with the data object, wherein the 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 the sets of encoded data slices (EDSs);

convert a first storage generation set of the sets of EDSs associated with the data object and stored within the generation-based storage pool set of SUs into a first DAP-based set of the sets of EDSs in accordance with the DAP and stored within a first DAP-based storage pool of SUs of the DAP-based storage pool set of SUs to pre-establish DAP scoring information that correspond to slice names of EDSs of the first storage generation set of the sets of EDSs associated with the data object;

for additional generation sets of the sets of EDSs associated with the data object and stored within the generation-based storage pool set of SUs:

perform a DAP function on a slice name to produce first DAP scoring information for DAP-based storage pools of SUs of the DAP-based storage pool set of SUs and to produce second DAP scoring information for sets of the EDSs associated with the data object stored within the generation-based storage pool set of SUs having the slice name; and

migrate an EDS of the sets of EDSs associated with the data object stored within the generation-based storage pool set of SUs associated with the slice name and having highest DAP scoring information based on the second DAP scoring information to a DAP-based storage pool of SUs among the DAP-based storage pool set of SUs having highest DAP scoring information based on the first DAP scoring information.

2. The computing device of claim 1 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

determine to convert the sets of EDSs associated with the data object stored within a generation-based storage pool set of SUs to the DAP-based storage pool set of SUs based on detection of detect an unfavorable storage efficiency of the sets of EDSs associated with the data object within the generation-based storage pool set of SUs.

3. The computing device of claim 1 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

facilitate migration of a second storage generation set of the sets of EDSs associated with the data object and stored within the generation-based storage pool set of SUs into a second DAP-based set of the sets of EDSs in accordance with the DAP to be stored in a second DAP-based storage pool of SUs of the DAP-based storage pool set of SUs;

facilitate migration of a third storage generation set of the sets of EDSs associated with the data object and stored within the generation-based storage pool set of SUs into a third DAP-based set of the sets of EDSs in accordance with the DAP to be stored in a third DAP-based storage pool of SUs of the DAP-based storage pool set of SUs;

perform the DAP function on the second storage generation set of the sets of EDSs associated with the data object stored within the second DAP-based storage pool of SUs of the DAP-based storage pool set of SUs to generate third DAP scoring information;

perform the DAP function on the third storage generation set of the sets of EDSs associated with the data object stored within the third DAP-based storage pool of SUs of the DAP-based storage pool set of SUs to generate fourth DAP scoring information;

select the second DAP-based storage pool of SUs as the DAP-based storage pool of SUs when the third DAP scoring information is higher than the fourth DAP scoring information; and

select the third DAP-based storage pool of SUs as the DAP-based storage pool of SUs when the fourth DAP scoring information is higher than the third DAP scoring information.

4. The computing device of claim 1 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

for the data segment, migrate at least a write threshold number of EDSs to the DAP-based storage pool of SUs among the DAP-based storage pool set of SUs, wherein the write threshold number of EDSs provides for a successful transfer of a set of the sets of EDSs from a first at least one location in the DSN to a second at least one location in the DSN; and

after migration of the at least a write threshold number of EDSs, re-provision at least one pool of SUs of the generation-based storage pool set of SUs to store at least one EDSs associated with another data object.

5. The computing device of claim 1 , wherein:

a decode threshold number of EDSs are needed to recover the data segment associated with the set of the sets of EDSs;

a read threshold number of EDSs provides for reconstruction of the data segment associated with the set of the sets of EDSs; and

for the data segment, a write threshold number of EDSs provides for a successful transfer of the set of the sets of EDSs from a first at least one location in the DSN to a second at least one location in the DSN.

6. The computing device of claim 1 , wherein the computing device is located at a first premises that is remotely located from at least one SU of the DAP-based storage pool set of SUs or the generation-based storage pool set of SUs within the DSN.

7. The computing device of claim 1 further comprising:

a SU of the DAP-based storage pool set of SUs or the generation-based storage pool set of SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

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

9. A computing device comprising:

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

memory that stores operational instructions; and

a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to:

determine to convert sets of encoded data slices (EDSs) associated with a data object stored within a generation-based storage pool set of storage units (SUs) to a Decentralized, or Distributed, Agreement Protocol (DAP)-based storage pool set of SUs based on detection of detect an unfavorable storage efficiency of the sets of EDSs associated with the data object within the generation-based storage pool set of SUs, wherein the generation-based storage pool set of SUs stores a plurality of sets of EDSs associated with the data object, wherein the 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 the sets of encoded data slices (EDSs), wherein a decode threshold number of EDSs are needed to recover the data segment associated with the set of the sets of EDSs, wherein a read threshold number of EDSs provides for reconstruction of the data segment associated with the set of the sets of EDSs, and wherein a write threshold number of EDSs provides for a successful transfer of the set of the sets of EDSs from a first at least one location in the DSN to a second at least one location in the DSN for the data segment;

convert a first storage generation set of the sets of EDSs associated with the data object and stored within the generation-based storage pool set of SUs into a first DAP-based set of the sets of EDSs in accordance with the DAP and stored within a first DAP-based storage pool of SUs of the DAP-based storage pool set of SUs to pre-establish DAP scoring information that correspond to slice names of EDSs of the first storage generation set of the sets of EDSs associated with the data object;

for additional generation sets of the sets of EDSs associated with the data object and stored within the generation-based storage pool set of SUs:

perform a DAP function on a slice name to produce first DAP scoring information for DAP-based storage pools of SUs of the DAP-based storage pool set of SUs and to produce second DAP scoring information for sets of the EDSs associated with the data object stored within the generation-based storage pool set of SUs having the slice name; and

migrate an EDS of the sets of EDSs associated with the data object stored within the generation-based storage pool set of SUs associated with the slice name and having highest DAP scoring information based on the second DAP scoring information to a DAP-based storage pool of SUs among the DAP-based storage pool set of SUs having highest DAP scoring information based on the first DAP scoring information.

10. The computing device of claim 9 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

facilitate migration of a second storage generation set of the sets of EDSs associated with the data object and stored within the generation-based storage pool set of SUs into a second DAP-based set of the sets of EDSs in accordance with the DAP to be stored in a second DAP-based storage pool of SUs of the DAP-based storage pool set of SUs;

facilitate migration of a third storage generation set of the sets of EDSs associated with the data object and stored within the generation-based storage pool set of SUs into a third DAP-based set of the sets of EDSs in accordance with the DAP to be stored in a third DAP-based storage pool of SUs of the DAP-based storage pool set of SUs;

perform the DAP function on the second storage generation set of the sets of EDSs associated with the data object stored within the second DAP-based storage pool of SUs of the DAP-based storage pool set of SUs to generate third DAP scoring information;

perform the DAP function on the third storage generation set of the sets of EDSs associated with the data object stored within the third DAP-based storage pool of SUs of the DAP-based storage pool set of SUs to generate fourth DAP scoring information;

select the second DAP-based storage pool of SUs as the DAP-based storage pool of SUs when the third DAP scoring information is higher than the fourth DAP scoring information; and

select the third DAP-based storage pool of SUs as the DAP-based storage pool of SUs when the fourth DAP scoring information is higher than the third DAP scoring information.

11. The computing device of claim 9 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

for the data segment, migrate at least a write threshold number of EDSs to the DAP-based storage pool of SUs among the DAP-based storage pool set of SUs, wherein the write threshold number of EDSs provides for a successful transfer of a set of the sets of EDSs from a first at least one location in the DSN to a second at least one location in the DSN; and

after migration of the at least a write threshold number of EDSs, re-provision at least one pool of SUs of the generation-based storage pool set of SUs to store at least one EDSs associated with another data object.

12. The computing device of claim 9 further comprising:

a SU of the DAP-based storage pool set of SUs or the generation-based storage pool set of SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

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

14. A method for execution by a computing device, the method comprising:

determining to convert sets of encoded data slices (EDSs) associated with a data object stored within a generation-based storage pool set of storage units (SUs) to a Decentralized, or Distributed, Agreement Protocol (DAP)-based storage pool set of SUs within a dispersed or distributed storage network (DSN), wherein the generation-based storage pool set of SUs stores a plurality of sets of EDSs associated with the data object, wherein the 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 the sets of encoded data slices (EDSs);

converting a first storage generation set of the sets of EDSs associated with the data object and stored within the generation-based storage pool set of SUs into a first DAP-based set of the sets of EDSs in accordance with the DAP and stored within a first DAP-based storage pool of SUs of the DAP-based storage pool set of SUs to pre-establish DAP scoring information that correspond to slice names of EDSs of the first storage generation set of the sets of EDSs associated with the data object;

for additional generation sets of the sets of EDSs associated with the data object and stored within the generation-based storage pool set of SUs:

performing a DAP function on a slice name to produce first DAP scoring information for DAP-based storage pools of SUs of the DAP-based storage pool set of SUs and to produce second DAP scoring information for sets of the EDSs associated with the data object stored within the generation-based storage pool set of SUs having the slice name; and

migrating, via an interface configured to interface and communicate with the DSN, an EDS of the sets of EDSs associated with the data object stored within the generation-based storage pool set of SUs associated with the slice name and having highest DAP scoring information based on the second DAP scoring information to a DAP-based storage pool of SUs among the DAP-based storage pool set of SUs having highest DAP scoring information based on the first DAP scoring information.

15. The method of claim 14 further comprising:

determining to convert the sets of EDSs associated with the data object stored within a generation-based storage pool set of SUs to the DAP-based storage pool set of SUs based on detection of detect an unfavorable storage efficiency of the sets of EDSs associated with the data object within the generation-based storage pool set of SUs.

16. The method of claim 14 further comprising:

facilitating migration of a second storage generation set of the sets of EDSs associated with the data object and stored within the generation-based storage pool set of SUs into a second DAP-based set of the sets of EDSs in accordance with the DAP to be stored in a second DAP-based storage pool of SUs of the DAP-based storage pool set of SUs;

facilitating migration of a third storage generation set of the sets of EDSs associated with the data object and stored within the generation-based storage pool set of SUs into a third DAP-based set of the sets of EDSs in accordance with the DAP to be stored in a third DAP-based storage pool of SUs of the DAP-based storage pool set of SUs;

performing the DAP function on the second storage generation set of the sets of EDSs associated with the data object stored within the second DAP-based storage pool of SUs of the DAP-based storage pool set of SUs to generate third DAP scoring information;

performing the DAP function on the third storage generation set of the sets of EDSs associated with the data object stored within the third DAP-based storage pool of SUs of the DAP-based storage pool set of SUs to generate fourth DAP scoring information;

selecting the second DAP-based storage pool of SUs as the DAP-based storage pool of SUs when the third DAP scoring information is higher than the fourth DAP scoring information; and

selecting the third DAP-based storage pool of SUs as the DAP-based storage pool of SUs when the fourth DAP scoring information is higher than the third DAP scoring information.

17. The method of claim 14 further comprising:

for the data segment, migrating at least a write threshold number of EDSs to the DAP-based storage pool of SUs among the DAP-based storage pool set of SUs, wherein the write threshold number of EDSs provides for a successful transfer of a set of the sets of EDSs from a first at least one location in the DSN to a second at least one location in the DSN; and

after migration of the at least a write threshold number of EDSs, re-provisioning at least one pool of SUs of the generation-based storage pool set of SUs to store at least one EDSs associated with another data object.

18. The method of claim 14 , wherein:

a decode threshold number of EDSs are needed to recover the data segment associated with the set of the sets of EDSs;

a read threshold number of EDSs provides for reconstruction of the data segment associated with the set of the sets of EDSs; and

for the data segment, a write threshold number of EDSs provides for a successful transfer of the set of the sets of EDSs from a first at least one location in the DSN to a second at least one location in the DSN.

19. The method of claim 14 , wherein the computing device includes a SU of the DAP-based storage pool set of SUs or the generation-based storage pool set of SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

20. The method of claim 14 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication system, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

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 Mar 2, 2017
From: BAPTIST, ANDREW D.; MOTWANI, MANISH; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041445/0643 →
Continuity (5)
Continuation In Part 15056517 · Feb 29, 2016
Continuation In Part 12903212 · Oct 13, 2010
Provisional Application 62154867 · Apr 30, 2015
Provisional Application 61290632 · Dec 29, 2009
Related Publication 20170177228A1 · Jun 22, 2017