IP Library Patent Application 16143744
Patent Application
App. No. 16/143,744

ADAPTIVE EXTRA WRITE ISSUANCE WITHIN A DISPERSED STORAGE NETWORK (DSN)

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/143,744
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. For example, the computing device determines storage unit (SU)-based write transfer rates and/or a DSN-based write transfer rate for a write request of encoded data slices (EDSs) to the SUs within the DSN. Then, the computing device processes the SU-based write transfer rates and/or DSN-based write transfer rate to determine characteristics of the various SUs as well as operation of the DSN. The computing device then selectively modifies parameters (e.g., write request time interval) and/or issues additional write request(s) for some or all of the EDSs based on such characteristics.

Claims (62)

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 storage unit (SU)-based write transfer rates associated with each of a plurality of storage units (SUs) and a DSN-based write transfer rate for a write request of a set of encoded data slices (EDSs) to a plurality of SUs within the DSN, wherein a 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 the set of EDSs that is of pillar width, wherein a decode threshold number of EDSs are needed to recover the data segment, wherein a 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 location in the DSN to a second at least one location in the DSN; and

in response to fewer than a first number of the plurality of SUs having corresponding SU-based write transfer rates that compare unfavorably to an acceptable SU-based write transfer rate and the DSN-based write transfer rate compares favorably to an acceptable DSN-based write transfer rate, issue an additional write request for at least one of the EDSs within the set of EDSs associated with the first number of the plurality of SUs to at least one additional SU within the DSN.

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:

in response to more than a second number of the plurality of SUs having corresponding SU-based write transfer rates that compare favorably to the acceptable SU-based write transfer rate and the DSN-based write transfer rate compares unfavorably to the acceptable DSN-based write transfer rate, increase a time interval between write requests of sets of EDSs to the plurality of SUs within the DSN; and

in response to more than the second number of the plurality of SUs having corresponding SU-based write transfer rates that compare unfavorably to the acceptable SU-based write transfer rate, prohibit any other write request of the set of EDSs to the plurality of SUs within the DSN.

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

receive a plurality of write responses from the plurality of SUs based on the write request of the set of EDSs to the plurality of SUs within the DSN, wherein each write response is received from a respective one of the plurality of SUs in response to the write request of the set of EDSs to the plurality of SUs within the DSN;

determine a plurality of SU-based write transfer rates for the plurality of SUs within the DSN, wherein the plurality of SU-based write transfer rates correspond to the plurality of SUs one a one-to-one basis; and

identify at least one of the first number of the plurality of SUs have corresponding SU-based write transfer rates that compare unfavorably to the acceptable SU-based write transfer rate or the second number of the plurality of SUs have corresponding SU-based write transfer rates that compare favorably to the acceptable SU-based write transfer rate based on the plurality of SU-based write transfer rates for the plurality of SUs within the DSN.

4 . The computing device of claim 2 , wherein:

the first number of the plurality of SUs includes fewer than a pillar width number of SUs within the plurality of SUs minus a write threshold number of SUs within the plurality of SUs; and

the second number of the plurality of SUs includes at least the write threshold number of SUs within the plurality of SUs.

5 . The computing device of claim 2 , wherein:

the first number of the plurality of SUs includes fewer than a pillar width number of SUs within the plurality of SUs minus a read threshold number of SUs within the plurality of SUs; and

the second number of the plurality of SUs includes at least the read threshold number of SUs within the plurality of SUs.

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

in response to fewer than the first number of the plurality of SUs having corresponding SU-based write transfer rates that compare unfavorably to the acceptable SU-based write transfer rate and the DSN-based write transfer rate compares unfavorably to the acceptable DSN-based write transfer rate, issue the additional write request for the at least one of the EDSs within the set of EDSs associated with the first number of the plurality of SUs to the at least one additional SU within the DSN and increase the time interval between the write requests of the sets of EDSs to the plurality of SUs within the DSN.

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

detect a change of at least one of the SU-based write transfer rates associated with at least one of the plurality of SUs or the DSN-based write transfer rate for at least one of the write request of the set of EDSs or another write request of another set of EDSs to the plurality of SUs within the DSN; and

modify a time interval between write requests of sets of EDSs to the plurality of SUs within the DSN based on the change that is detected.

8 . The computing device of claim 1 , wherein:

the dispersed error encoding parameters are based on a 10×16 dispersed error encoding system;

the pillar width is 16;

the decode threshold number of EDSs is 10;

the read threshold number of EDSs is greater than or equal to the decode threshold number of EDSs and less than 16; and

the write threshold number of EDSs is greater than or equal to the read threshold number of EDSs and less than 16.

9 . The computing device of claim 1 further comprising:

a SU of the plurality 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.

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, within a dispersed storage network (DSN), storage unit (SU)-based write transfer rates associated with each of a plurality of storage units (SUs) and a DSN-based write transfer rate for a write request of a set of encoded data slices (EDSs) to a plurality of SUs within the DSN, wherein a 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 the set of EDSs that is of pillar width, wherein a decode threshold number of EDSs are needed to recover the data segment, wherein a 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 location in the DSN to a second at least one location in the DSN; and

in response to fewer than a first number of the plurality of SUs having corresponding SU-based write transfer rates that compare unfavorably to an acceptable SU-based write transfer rate and the DSN-based write transfer rate compares favorably to an acceptable DSN-based write transfer rate, issuing an additional write request for at least one of the EDSs within the set of EDSs associated with the first number of the plurality of SUs to at least one additional SU within the DSN.

12 . The method of claim 11 further comprising:

in response to more than a second number of the plurality of SUs having corresponding SU-based write transfer rates that compare favorably to the acceptable SU-based write transfer rate and the DSN-based write transfer rate compares unfavorably to the acceptable DSN-based write transfer rate, increasing a time interval between write requests of sets of EDSs to the plurality of SUs within the DSN; and

in response to more than the second number of the plurality of SUs having corresponding SU-based write transfer rates that compare unfavorably to the acceptable SU-based write transfer rate, prohibiting any other write request of the set of EDSs to the plurality of SUs within the DSN.

13 . The method of claim 12 further comprising:

receiving a plurality of write responses from the plurality of SUs based on the write request of the set of EDSs to the plurality of SUs within the DSN, wherein each write response is received from a respective one of the plurality of SUs in response to the write request of the set of EDSs to the plurality of SUs within the DSN;

determining a plurality of SU-based write transfer rates for the plurality of SUs within the DSN, wherein the plurality of SU-based write transfer rates correspond to the plurality of SUs one a one-to-one basis; and

identifying at least one of the first number of the plurality of SUs have corresponding SU-based write transfer rates that compare unfavorably to the acceptable SU-based write transfer rate or the second number of the plurality of SUs have corresponding SU-based write transfer rates that compare favorably to the acceptable SU-based write transfer rate based on the plurality of SU-based write transfer rates for the plurality of SUs within the DSN.

14 . The method of claim 12 , wherein:

the first number of the plurality of SUs includes fewer than a pillar width number of SUs within the plurality of SUs minus a write threshold number of SUs within the plurality of SUs; and

the second number of the plurality of SUs includes at least the write threshold number of SUs within the plurality of SUs.

15 . The method of claim 12 , wherein:

the first number of the plurality of SUs includes fewer than a pillar width number of SUs within the plurality of SUs minus a read threshold number of SUs within the plurality of SUs; and

the second number of the plurality of SUs includes at least the read threshold number of SUs within the plurality of SUs.

16 . The method of claim 12 further comprising:

in response to fewer than the first number of the plurality of SUs having corresponding SU-based write transfer rates that compare unfavorably to the acceptable SU-based write transfer rate and the DSN-based write transfer rate compares unfavorably to the acceptable DSN-based write transfer rate, issuing the additional write request for the at least one of the EDSs within the set of EDSs associated with the first number of the plurality of SUs to the at least one additional SU within the DSN and increasing the time interval between the write requests of the sets of EDSs to the plurality of SUs within the DSN.

17 . The method of claim 11 further comprising:

detecting a change of at least one of the SU-based write transfer rates associated with at least one of the plurality of SUs or the DSN-based write transfer rate for at least one of the write request of the set of EDSs or another write request of another set of EDSs to the plurality of SUs within the DSN; and

modifying a time interval between write requests of sets of EDSs to the plurality of SUs within the DSN based on the change that is detected.

18 . The method of claim 11 , wherein:

the dispersed error encoding parameters are based on a 10×16 dispersed error encoding system;

the pillar width is 16;

the decode threshold number of EDSs is 10;

the read threshold number of EDSs is greater than or equal to the decode threshold number of EDSs and less than 16; and

the write threshold number of EDSs is greater than or equal to the read threshold number of EDSs and less than 16.

19 . The method of claim 11 , wherein the computing device includes a SU of the plurality 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 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 (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2018
From: RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046992/0150 →