IP Library Granted Patent US 10,055,170
Granted Patent B2
US 10,055,170 · App. 15/262,654 · Granted Aug 21, 2018

Scheduling storage unit maintenance tasks in a dispersed storage network

Inventors: Jason K. Resch (Chicago, IL); Ethan S. Wozniak (Park Ridge, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F3/0659G06F3/0604G06F3/064G06F3/067G06F3/0619G06F3/0653G06F11/1092G06F2211/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,055,170
App. No.
15/262,654
Granted
Aug 21, 2018
Kind
B2
Abstract

A method for execution by a dispersed storage and task (DST) execution unit includes generating low-load prediction data, which includes selecting a time period corresponding to a predicted low-load, based on a plurality of historical load samplings. Maintenance task scheduling data is generated based on the low-load prediction data. Generating the maintenance task scheduling data includes assigning a maintenance task to a scheduled time that is within the time period corresponding to the predicted low-load. The maintenance task is executed at the scheduled time.

Claims (49)

1. A method for execution by a dispersed storage and task (DST) execution unit that includes a processor, the method comprises:

generating low-load prediction data based on a plurality of historical load samplings, wherein generating the low-load prediction data includes selecting a time period corresponding to a predicted low-load;

generating maintenance task scheduling data based on the low-load prediction data, wherein generating the maintenance task scheduling data includes assigning a maintenance task to a scheduled time that is within the time period corresponding to the predicted low-load;

generating current load data by comparing at least one load reading taken at a time before the time period to a low-load threshold;

executing the maintenance task at the scheduled time when the at least one load reading compares unfavorably to the low-load threshold; and

when the at least one load reading compares favorably to the low-load threshold:

executing the maintenance task at an updated time that is earlier than the scheduled time; and

delaying execution of an access request received via a network by rescheduling the execution of the access request from an original time to a later time in response to the at least one load reading comparing favorably to the low-load threshold, wherein the later time is selected based on the updated time and an expected execution duration of the maintenance task.

2. The method of claim 1 , wherein the plurality of historical load samplings include load readings taken from at least one of: a central processing unit (CPU) of the DST execution unit or a memory device of the DST execution unit.

3. The method of claim 1 , further comprising:

updating historical load data that includes the plurality of historical load samplings in response to a predetermined time interval elapsing by adding at least one current load reading to the plurality of historical load samplings.

4. The method of claim 1 , wherein the generating the low-load prediction data includes determining a cyclical load pattern based on the historical load samplings, and wherein selecting the time period is based on a minimum of the cyclical load pattern.

5. The method of claim 4 , wherein the low-load prediction data includes a plurality of time periods corresponding to a plurality of predicted low-loads, wherein the plurality of time periods are based on a plurality of recurring minimums of the cyclical load pattern, wherein the plurality of time periods are separated by a fixed interval corresponding to a frequency of the cyclical load pattern, and wherein generating the maintenance task scheduling data includes assigning a recurring maintenance task to the plurality of time periods.

6. The method of claim 1 , wherein the maintenance task includes scanning a namespace of the DST execution unit.

7. The method of claim 1 , wherein the maintenance task includes rebuilding missing data slices stored in the DST execution unit.

8. The method of claim 1 , further comprising:

generating current load data by comparing at least one load reading taken during the time period corresponding to the predicted low-load to the low-load prediction data;

wherein the maintenance task is executed at the scheduled time when the at least one load reading compares favorably to the low-load prediction data; and

wherein the maintenance task is rescheduled for execution at a future time that is later than the time period corresponding to the predicted low-load when the at least one load reading compares unfavorably to the low-load prediction data.

9. A processing system of a dispersed storage and task (DST) execution unit comprises:

at least one processor;

a memory that stores operational instructions, that when executed by the at least one processor cause the processing system to:

generate low-load prediction data based on a plurality of historical load samplings, wherein generating the low-load prediction data includes selecting a time period corresponding to a predicted low-load;

generate maintenance task scheduling data based on the low-load prediction data, wherein generating the maintenance task scheduling data includes assigning a maintenance task to a scheduled time that is within the time period corresponding to the predicted low-load;

generate current load data by comparing at least one load reading taken at a time before the time period to a low-load threshold;

execute the maintenance task at the scheduled time when the at least one load reading compares unfavorably to the low-load threshold; and

when the at least one load reading compares favorably to the low-load threshold:

execute the maintenance task at an updated time that is earlier than the scheduled time; and

delay execution of an access request received via a network by rescheduling the execution of the access request from an original time to a later time in response to the at least one load reading comparing favorably to the low-load threshold, wherein the later time is selected based on the updated time and an expected execution duration of the maintenance task.

10. The processing system claim 9 , wherein the plurality of historical load samplings include load readings taken from at least one of: a central processing unit (CPU) of the DST execution unit or a memory device of the DST execution unit.

11. The processing system of claim 9 , wherein the operational instructions, when executed by the at least one processor, further cause the processing system to:

update historical load data that includes the plurality of historical load samplings in response to a predetermined time interval elapsing by adding at least one current load reading to the plurality of historical load samplings.

12. The processing system of claim 9 , wherein the generating the low-load prediction data includes determining a cyclical load pattern based on the historical load samplings, and wherein selecting the time period is based on a minimum of the cyclical load pattern.

13. The processing system of claim 12 , wherein the low-load prediction data includes a plurality of time periods corresponding to a plurality of predicted low-loads, wherein the plurality of time periods are based on a plurality of recurring minimums of the cyclical load pattern, wherein the plurality of time periods are separated by a fixed interval corresponding to a frequency of the cyclical load pattern, and wherein generating the maintenance task scheduling data includes assigning a recurring maintenance task to the plurality of time periods.

14. The processing system of claim 9 , wherein the maintenance task includes scanning a namespace of the DST execution unit.

15. The processing system of claim 9 , wherein the maintenance task includes rebuilding missing data slices stored in the DST execution unit.

16. The processing system of claim 9 , wherein the operational instructions, when executed by the at least one processor, further cause the processing system to:

generate current load data by comparing at least one load reading taken during the time period corresponding to the predicted low-load to the low-load prediction data;

wherein the maintenance task is executed at the scheduled time when the at least one load reading compares favorably to the low-load prediction data; and

wherein the maintenance task is rescheduled for execution at a future time that is later than the time period corresponding to the predicted low-load when the at least one load reading compares unfavorably to the low-load prediction data.

17. A non-transitory computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by a processing system of a dispersed storage network (DSN) that includes a processor and a memory, causes the processing system to:

generate low-load prediction data based on a plurality of historical load samplings, wherein generating the low-load prediction data includes selecting a time period corresponding to a predicted low-load;

generate maintenance task scheduling data based on the low-load prediction data, wherein generating the maintenance task scheduling data includes assigning a maintenance task to a scheduled time that is within the time period corresponding to the predicted low-load;

generate current load data by comparing at least one load reading taken at a time before the time period to a low-load threshold;

execute the maintenance task at the scheduled time when the at least one load reading compares unfavorably to the low-load threshold; and

when the at least one load reading compares favorably to the low-load threshold:

execute the maintenance task at an updated time that is earlier than the scheduled time; and

delay execution of an access request received via a network by rescheduling the execution of the access request from an original time to a later time in response to the at least one load reading comparing favorably to the low-load threshold, wherein the later time is selected based on the updated time and an expected execution duration of the maintenance task.

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 Sep 12, 2016
From: RESCH, JASON K.; WOZNIAK, ETHAN S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039703/0489 →
Continuity (3)
Continuation In Part 15058408 · Mar 2, 2016
Provisional Application 62154886 · Apr 30, 2015
Related Publication 20160378405A1 · Dec 29, 2016
Cited By (1)
US 12,712,949