IP Library Granted Patent US 10,108,493
Granted Patent B2
US 10,108,493 · App. 15/242,858 · Granted Oct 23, 2018

Adjusting dispersed storage network traffic due to rebuilding

Inventors: Ilya Volvovski (Chicago, IL); S. Christopher Gladwin (Chicago, IL); Gary W. Grube (Barrington Hills, IL); Timothy W. Markison (Mesa, AZ); Jason K. Resch (Chicago, IL); Thomas Franklin Shirley, Jr. (Wauwatosa, WI); Greg Dhuse (Chicago, IL); Manish Motwani (Chicago, IL); Andrew Baptist (Mt. Pleasant, WI); Wesley Leggette (Chicago, IL)
Assignee: International Business Machines Corporation
G06F11/1092G06F3/06G06F3/064G06F3/067G06F3/0619G06F3/0659G06F11/07G06F11/1458G06F11/2094G06F11/3034G06F11/349G06F11/3419G06F11/3433G06F11/3485H04L67/10G06F11/1453G06F11/1456G06F2211/1028
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,108,493
App. No.
15/242,858
Granted
Oct 23, 2018
Kind
B2
Abstract

A method includes identifying an encoded data slice for rebuilding. The method further includes determining whether a rebuilding threshold for the set of encoded data slices has been reached. When the rebuilding threshold has been reached, the method further includes determining, based on a condition of the DSN, whether to execute a rebuilding function, to delay execution of the rebuilding function, to adjust a rebuilding network protocol, or to modifying rebuilding criteria. When the determination is to execute the rebuilding function, the method further includes rebuilding the encoded data slice.

Claims (88)

1. A method for execution by a device of a dispersed storage network (DSN), the method comprises:

identifying an encoded data slice for rebuilding, wherein a data segment of data is dispersed storage error encoded to produce a set of encoded data slices, which originally included the encoded data slice for rebuilding;

determining whether a rebuilding threshold for the set of encoded data slices has been reached;

when the rebuilding threshold has been reached, determining, based on a condition of the DSN, whether to execute a rebuilding function, to delay execution of the rebuilding function, to adjust a rebuilding network protocol, or to modifying rebuilding criteria; and

when the determination is to execute the rebuilding function, rebuilding the encoded data slice.

2. The method of claim 1 , wherein the device comprises one or more of:

a computing device;

a storage unit;

a processing module within the computing device;

a processing module within the storage unit;

an integrity unit; and

a processing module within the integrity unit.

3. The method of claim 1 , wherein the determining whether the rebuilding threshold has been reached comprises:

incrementing a rebuild count based on the identifying of the encoded data slice;

subtracting the rebuild count from a total number of encoded data slices in the set of encoded data slices to object a good encoded data slice count; and

when the good encoded data slice count is equal to or less than the rebuilding threshold, determining that the rebuilding threshold has been reached.

4. The method of claim 1 further comprises:

when the determination is to delay execution of the rebuilding function:

determining, based the condition of the DSN, a delay period;

queuing the rebuilding of the encoded data slice; and

when the delay period expires:

determining whether the condition of the DSN has been resolved; and

when the condition of the DSN has been resolved, executing the rebuilding of the encoded data slice.

5. The method of claim 4 further comprises:

when the condition of the DSN has not been resolved:

determining whether a rebuild count has increase since the encoded data slices was identified for rebuilding;

when the rebuild count has increased, comparing a rebuild urgency to the condition of the DSN, wherein the rebuild urgency increases proportionally with the rebuild count;

when the rebuild urgency compares unfavorably to the condition of the DSN, executing the rebuilding of the encoded data slice; and

when the rebuild urgency compares favorably to the condition of the DSN, extending the delay period.

6. The method of claim 1 further comprises:

when the determination is to adjust the rebuilding network protocol, implementing one or more of:

bundling rebuilding requests to a storage unit for multiple encoded data slices that have been identified for rebuilding;

serializing transmission of a set of rebuilding requests to storage units regarding the multiple encoded data slices that have been identified for rebuilding; and

assigning an individual response timeslot to each of multiple storage units for individually responding to a rebuild request regarding the multiple encoded data slices that have been identified for rebuilding.

7. The method of claim 1 further comprises:

when the determination is to modifying rebuilding criteria, implementing one or more of:

decreasing the rebuilding threshold;

increasing a wait time for a storage unit to come back on line, wherein the storage unit has encoded data slices identified for rebuilding; and

adjusting rebuild queue priorities of encoded data slices that have been identified for rebuilding.

8. The method of claim 1 , wherein the condition of the DSN comprises one or more of:

latency in responding to data access requests;

volume of the data access requests;

latency in responding to system level access requests; and

volume of the system level access requests.

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

a network interface;

memory; and

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

identify an encoded data slice for rebuilding, wherein a data segment of data is dispersed storage error encoded to produce a set of encoded data slices, which originally included the encoded data slice for rebuilding;

determine whether a rebuilding threshold for the set of encoded data slices has been reached;

when the rebuilding threshold has been reached, determine, based on a condition of the DSN, whether to execute a rebuilding function, to delay execution of the rebuilding function, to adjust a rebuilding network protocol, or to modifying rebuilding criteria; and

when the determination is to execute the rebuilding function, rebuild the encoded data slice.

10. The device of claim 9 , wherein the device comprises one or more of:

a computing device;

a storage unit; and

an integrity unit.

11. The device of claim 9 , wherein the processing module further functions to determine whether the rebuilding threshold has been reached by:

incrementing a rebuild count based on the identifying of the encoded data slice;

subtracting the rebuild count from a total number of encoded data slices in the set of encoded data slices to object a good encoded data slice count; and

when the good encoded data slice count is equal to or less than the rebuilding threshold, determining that the rebuilding threshold has been reached.

12. The device of claim 9 , wherein the processing module further functions to:

when the determination is to delay execution of the rebuilding function:

determine, based the condition of the DSN, a delay period;

queue the rebuilding of the encoded data slice; and

when the delay period expires:

determine whether the condition of the DSN has been resolved; and

when the condition of the DSN has been resolved, execute the rebuilding of the encoded data slice.

13. The device of claim 12 , wherein the processing module further functions to:

when the condition of the DSN has not been resolved:

determine whether a rebuild count has increase since the encoded data slices was identified for rebuilding;

when the rebuild count has increased, compare a rebuild urgency to the condition of the DSN, wherein the rebuild urgency increases proportionally with the rebuild count;

when the rebuild urgency compares unfavorably to the condition of the DSN, execute the rebuilding of the encoded data slice; and

when the rebuild urgency compares favorably to the condition of the DSN, extend the delay period.

14. The device of claim 9 , wherein the processing module further functions to:

when the determination is to adjust the rebuilding network protocol, implementing one or more of:

bundle rebuilding requests to a storage unit for multiple encoded data slices that have been identified for rebuilding;

serialize transmission of a set of rebuilding requests to storage units regarding the multiple encoded data slices that have been identified for rebuilding; and

assign an individual response timeslot to each of multiple storage units for individually responding to a rebuild request regarding the multiple encoded data slices that have been identified for rebuilding.

15. The device of claim 9 , wherein the processing module further functions to:

when the determination is to modifying rebuilding criteria, implementing one or more of:

decrease the rebuilding threshold;

increase a wait time for a storage unit to come back on line, wherein the storage unit has encoded data slices identified for rebuilding; and

adjust rebuild queue priorities of encoded data slices that have been identified for rebuilding.

16. The device of claim 9 , wherein the condition of the DSN comprises one or more of:

latency in responding to data access requests;

volume of the data access requests;

latency in responding to system level access requests; and

volume of the system level access requests.

Assignments (6)
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 Dec 14, 2016
From: VOLVOVSKI, ILYA; GLADWIN, S. CHRISTOPHER; GRUBE, GARY W.; MARKISON, TIMOTHY W.; RESCH, JASON K.; SHIRLEY, THOMAS FRANKLIN, JR; DHUSE, GREG; MOTWANI, MANISH; BAPTIST, ANDREW; LEGGETTE, WESLEY
To: CLEVERSAFE, INC.
Reel/Frame 040735/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040736/0011 →
Continuity (3)
Continuation 14256205 · Apr 18, 2014
Provisional Application 61828883 · May 30, 2013
Related Publication 20160357637A1 · Dec 8, 2016