IP Library Granted Patent US 9,672,109
Granted Patent B2
US 9,672,109 · App. 15/250,013 · Granted Jun 6, 2017

Adaptive dispersed storage network (DSN) and system

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 9,672,109
App. No.
15/250,013
Granted
Jun 6, 2017
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 operably coupled to the interface and to the memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. When additional unique pillar combinations of at least read threshold number of encoded data slices (EDSs) supported by EDSs may be needed, the computing device dispersed error encodes each data segment in accordance to generate additional pluralities of EDSs and distributedly stores the additional pluralities of EDSs associated respectively with the data object across the plurality of SUs within the DSN to support the additional unique pillar combinations of the at least read threshold number of EDSs.

Claims (61)

1. A computing device comprising:

an interface configured to interface and communicate with a dispersed 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 whether a number of pluralities of unique pillar combinations of at least read threshold number of encoded data slices (EDSs) supported by pluralities of EDSs associated respectively with a data object compares favorably with a threshold number, wherein the pluralities of EDSs are distributedly stored across a plurality of storage units (SUs) within the DSN, 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 first dispersed error encoding parameters to produce a set of EDSs, wherein the read threshold number of EDSs provides for reconstruction of the data segment, and wherein a write threshold number of EDSs provides for a successful transfer of the set of EDSs from a first at least one storage location in the DSN to a second at least one storage location in the DSN;

when the number of pluralities of unique pillar combinations of the at least read threshold number of EDSs supported by the pluralities of EDSs associated respectively with the plurality of data segments of the data object compares unfavorably with a unique pillar combination number:

dispersed error encode each data segment of the plurality of data segments in accordance with second dispersed error encoding parameters to generate additional pluralities of EDSs associated respectively with the data object, wherein the additional pluralities of EDSs support additional unique pillar combinations of the at least read threshold number of EDSs; and

distributedly store the additional pluralities of EDSs associated respectively with the data object across the plurality of SUs within the DSN to support the additional unique pillar combinations of the at least read threshold number of EDSs.

2. The computing device of claim 1 , wherein:

the data segment of the plurality of data segments is dispersed error encoded in accordance with the first dispersed error encoding parameters to produce the set of EDSs that is of a first pillar width; and

the data segment of the plurality of data segments is dispersed error encoded in accordance with the second dispersed error encoding parameters to produce another set of EDSs that is of a second pillar width that is greater than the first pillar width.

3. The computing device of claim 1 , wherein:

the data segment of the plurality of data segments is dispersed error encoded in accordance with the first dispersed error encoding parameters to produce the set of EDSs that is of a first pillar width, and the read threshold number of EDSs provides for reconstruction of the data segment in accordance with the first dispersed error encoding parameters; and

the data segment of the plurality of data segments is dispersed error encoded in accordance with the second dispersed error encoding parameters to produce another set of EDSs that is of a second pillar width that is greater than the first pillar width, and the read threshold number of EDSs also provides for reconstruction of the data segment in accordance with the second dispersed error encoding parameters.

4. The computing device of claim 1 , wherein:

the data segment of the plurality of data segments is dispersed error encoded in accordance with the first dispersed error encoding parameters to produce the set of EDSs that is of a first pillar width, and the read threshold number of EDSs provides for reconstruction of the data segment in accordance with the first dispersed error encoding parameters; and

the data segment of the plurality of data segments is dispersed error encoded in accordance with the second dispersed error encoding parameters to produce another set of EDSs that is of a second pillar width that is greater than the first pillar width, and another read threshold number of EDSs provides for reconstruction of the data segment in accordance with the second dispersed error encoding parameters.

5. 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:

assign a first unique pillar combination of the pluralities of unique pillar combinations of the at least read threshold number of EDSs supported by the pluralities of EDSs to a first other computing device or a first user associated with the first other computing device;

assign a second unique pillar combination of the pluralities of unique pillar combinations of the at least read threshold number of EDSs supported by the pluralities of EDSs to a second other computing device or a second user associated with the first other computing device;

assign a first unique pillar combination of the additional unique pillar combinations of the at least read threshold number of EDSs to a third other computing device or a third user associated with the third other computing device; and

assign a second unique pillar combination of the additional unique pillar combinations of the at least read threshold number of EDSs to a fourth other computing device or a third user associated with the fourth other computing device.

6. 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:

provide, via the DSN, a first unique pillar combination of the pluralities of unique pillar combinations of the at least read threshold number of EDSs supported by the pluralities of EDSs to a first other computing device or a first user associated with the first other computing device;

provide, via the DSN, a second unique pillar combination of the pluralities of unique pillar combinations of the at least read threshold number of EDSs supported by the pluralities of EDSs to a second other computing device or a second user associated with the first other computing device;

provide, via the DSN, a first unique pillar combination of the additional unique pillar combinations of at least read threshold number of EDSs to a third other computing device or a third user associated with the third other computing device; and

provide, via the DSN, a second unique pillar combination of the additional unique pillar combinations of at least read threshold number of EDSs to a fourth other computing device or a third user associated with the fourth other computing device.

7. 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 plurality of SUs within the DSN.

8. The computing device of claim 1 further comprising:

a SU of the plurality of SUs within the DSN.

9. The computing device of claim 1 further comprising:

a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

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

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

determining whether a number of pluralities of unique pillar combinations of at least read threshold number of encoded data slices (EDSs) supported by pluralities of EDSs associated respectively with a data object compares favorably with a threshold number, wherein the pluralities of EDSs are distributedly stored across a plurality of storage units (SUs) within a dispersed storage network (DSN), 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 first dispersed error encoding parameters to produce a set of EDSs, wherein the read threshold number of EDSs provides for reconstruction of the data segment, and wherein a write threshold number of EDSs provides for a successful transfer of the set of EDSs from a first at least one storage location in the DSN to a second at least one storage location in the DSN;

when the number of pluralities of unique pillar combinations of the at least read threshold number of EDSs supported by the pluralities of EDSs associated respectively with the data object compares unfavorably with a unique pillar combination number:

dispersed error encoding each data segment of the plurality of data segments in accordance with second dispersed error encoding parameters to generate additional pluralities of EDSs associated respectively with the data object, wherein the additional pluralities of EDSs support additional unique pillar combinations of the at least read threshold number of EDSs; and

distributedly storing the additional pluralities of EDSs associated respectively with the data object across the plurality of SUs within the DSN to support the additional unique pillar combinations of the at least read threshold number of EDSs.

12. The method of claim 11 , wherein:

the data segment of the plurality of data segments is dispersed error encoded in accordance with the first dispersed error encoding parameters to produce the set of EDSs that is of a first pillar width; and

the data segment of the plurality of data segments is dispersed error encoded in accordance with the second dispersed error encoding parameters to produce another set of EDSs that is of a second pillar width that is greater than the first pillar width.

13. The method of claim 11 , wherein:

the data segment of the plurality of data segments is dispersed error encoded in accordance with the first dispersed error encoding parameters to produce the set of EDSs that is of a first pillar width, and the read threshold number of EDSs provides for reconstruction of the data segment in accordance with the first dispersed error encoding parameters; and

the data segment of the plurality of data segments is dispersed error encoded in accordance with the second dispersed error encoding parameters to produce another set of EDSs that is of a second pillar width that is greater than the first pillar width, and the read threshold number of EDSs also provides for reconstruction of the data segment in accordance with the second dispersed error encoding parameters.

14. The method of claim 11 , wherein:

the data segment of the plurality of data segments is dispersed error encoded in accordance with the first dispersed error encoding parameters to produce the set of EDSs that is of a first pillar width, and the read threshold number of EDSs provides for reconstruction of the data segment in accordance with the first dispersed error encoding parameters; and

the data segment of the plurality of data segments is dispersed error encoded in accordance with the second dispersed error encoding parameters to produce another set of EDSs that is of a second pillar width that is greater than the first pillar width, and another read threshold number of EDSs provides for reconstruction of the data segment in accordance with the second dispersed error encoding parameters.

15. The method of claim 11 further comprising:

assigning a first unique pillar combination of the pluralities of unique pillar combinations of the at least read threshold number of EDSs supported by the pluralities of EDSs to a first other computing device or a first user associated with the first other computing device;

assigning a second unique pillar combination of the pluralities of unique pillar combinations of the at least read threshold number of EDSs supported by the pluralities of EDSs to a second other computing device or a second user associated with the first other computing device;

assigning a first unique pillar combination of the additional unique pillar combinations of the at least read threshold number of EDSs to a third other computing device or a third user associated with the third other computing device; and

assigning a second unique pillar combination of the additional unique pillar combinations of the at least read threshold number of EDSs to a fourth other computing device or a third user associated with the fourth other computing device.

16. The method of claim 11 further comprising:

providing, via the DSN, a first unique pillar combination of the pluralities of unique pillar combinations of the at least read threshold number of EDSs supported by the pluralities of EDSs to a first other computing device or a first user associated with the first other computing device;

providing, via the DSN, a second unique pillar combination of the pluralities of unique pillar combinations of the at least read threshold number of EDSs supported by the pluralities of EDSs to a second other computing device or a second user associated with the first other computing device;

providing, via the DSN, a first unique pillar combination of the additional unique pillar combinations of at least read threshold number of EDSs to a third other computing device or a third user associated with the third other computing device; and

providing, via the DSN, a second unique pillar combination of the additional unique pillar combinations of at least read threshold number of EDSs to a fourth other computing device or a third user associated with the fourth other computing device.

17. The method of claim 11 , wherein the computing device is located at a first premises that is remotely located from at least one SU of the plurality of SUs within the DSN.

18. The method of claim 11 , wherein the computing device includes a SU of the plurality of SUs within the DSN.

19. The method of claim 11 , wherein the computing device includes 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 11 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication systems, 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 Aug 29, 2016
From: ABHIJEET, KUMAR; DHUSE, GREG R.; GLADWIN, S. CHRISTOPHER; GRUBE, GARY W.; MARKISON, TIMOTHY W.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039565/0805 →