IP Library Granted Patent US 10,169,151
Granted Patent B2
US 10,169,151 · App. 15/249,630 · Granted Jan 1, 2019

Utilizing request deadlines in a dispersed storage network

Inventors: Andrew D. Baptist (Mt. Pleasant, WI); Greg R. Dhuse (Chicago, IL); Joseph M. Kaczmarek (Chicago, IL); Renars W. Narubin (Chicago, IL); Ilya Volvovski (Chicago, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/1092G06F3/064G06F3/0604G06F3/067G06F3/0611G06F3/0619G06F3/0659G06F3/0665G06F3/0689G06F11/2094H03M13/1515H03M13/3761H04L43/0864H04L43/16H04L67/1008H04L67/1097G06F2201/805
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,169,151
App. No.
15/249,630
Granted
Jan 1, 2019
Kind
B2
Abstract

A method for execution by a dispersed storage and task (DST) processing unit includes generating a plurality of access requests that include an execution deadline time for transmission via a network to a corresponding subset of a plurality of storage units. A first deadline error notification is received via the network from a first storage unit of the first subset. A new one of the plurality of storage units not included in the first subset is selected in response to receiving the first deadline error notification. A new access request that includes an updated execution deadline time is generated for transmission to the new one of the plurality of storage units via the network. The new access request is based on a one of the first plurality of access requests sent to the first storage unit of the first subset.

Claims (56)

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

generating a first plurality of access requests that include a first execution deadline time, the first plurality of access requests for transmission via a network to a corresponding first subset of a plurality of storage units;

receiving a first deadline error notification via the network from a first storage unit of the first subset;

calculating a missed deadline cost value in response to receiving the first deadline error notification;

comparing the missed deadline cost value to a new request cost threshold;

selecting a new one of the plurality of storage units not included in the first subset in response to receiving the first deadline error notification;

generating a new access request for transmission to the new one of the plurality of storage units via the network that includes an updated execution deadline time, wherein the new access request is based on a one of the first plurality of access requests sent to the first storage unit of the first subset, wherein the new one of the plurality of storage units is selected and the new access request is generated for transmission to the new one of the of the plurality of storage units when the missed deadline cost value compares favorably to the new request cost threshold; and

generating a proceed with execution notification for transmission via the network to the first storage unit of the first subset indicating a request to continue executing the access request when the missed deadline cost value compares unfavorably to the new request cost threshold.

2. The method of claim 1 , wherein the first deadline error notification is transmitted by the one of the plurality of storage units in response to an estimated completion time comparing unfavorably to the first execution deadline time.

3. The method of claim 2 , wherein the first deadline error notification is transmitted by the one of the plurality of storage units prior to attempting to execute the access request.

4. The method of claim 1 , further comprising:

generating a plurality of execution deadline update notifications that include the updated execution deadline time for transmission via the network to the storage units of the first subset from which the first deadline error notification was not received.

5. The method of claim 1 , further comprising:

determining the first execution deadline time based on at least one of: performance data corresponding to the first subset of the plurality of storage units, an access type corresponding to the first plurality of access requests, or an access priority corresponding to the first plurality of access requests.

6. The method of claim 1 , further comprising:

determining the updated execution deadline time based on at least one of: performance data corresponding to the one of the plurality of storage units, an access type corresponding to the new access request, or an access priority corresponding to the first plurality of access requests.

7. The method of claim 1 , wherein the first plurality of access requests are generated in response to a request to read a data object, and wherein the new one of the plurality of storage units is selected based on the first subset of the plurality of storage units, the one of the plurality of storage units from which the first deadline error notification was received, and a unique combination reads (UCR) protocol.

8. The method of claim 7 , further comprising:

generating a new subset by removing the first storage unit from the first subset and including a new subset of the plurality of storage units that includes the new one of the plurality of storage units, wherein the new subset is based on a unique read combination of the data object; and

generating a new access request for transmission via the network to each corresponding storage unit in the new subset.

9. The method of claim 1 , further comprising:

generating a second plurality of access requests that include a second execution deadline time, the second plurality of access requests for transmission via the network to a corresponding second subset of the plurality of storage units;

receiving a second deadline error notification via the network from a second storage unit of the second subset;

calculating a second missed deadline cost value in response to receiving the second deadline error notification;

comparing the second missed deadline cost value to the new request cost threshold; and

generating a plurality of access cancellation requests for transmission via the network to storage units of the second subset from which the second deadline error notification was not received in response to the second missed deadline cost value comparing unfavorably to the new request cost threshold.

10. The method of claim 1 , wherein the first deadline error notification includes an estimated completion time, and wherein the missed deadline cost value is calculated based on a difference between the estimated completion time and the first execution deadline time.

11. The method of claim 1 , wherein the missed deadline cost value is calculated based on at least one of: an access type corresponding to the first plurality of access requests, an access priority corresponding to the first plurality of access requests, performance data corresponding to the first storage unit of the first subset, or performance data corresponding to at least one of the plurality of storage units not included in the first subset.

12. The method of claim 1 , further comprising:

receiving a plurality of deadline error notifications via the network;

wherein the missed deadline cost value is calculated based on at least one of: a number of deadline error notifications received, or performance data corresponding to at least one of the plurality of storage units from which the plurality of deadline error notifications was received.

13. The method of claim 1 , further comprising:

generating a second plurality of access requests that include a second execution deadline time for transmission via a network to a corresponding second subset of a plurality of storage units; and

receiving a second deadline error notification via the network based on an estimated completion time comparing unfavorably to the second execution deadline time at one of a plurality of system layers.

14. The method of claim 13 , wherein the plurality of system layers includes at least one of: a grid layer logic layer, a network queue layer, a network transmission layer, a storage unit request handling layer, an IO scheduling layer, a memory device subsystem layer, a response network queue layer, or a network transmission layer.

15. The method of claim 13 , wherein the second plurality of access requests include a plurality of execution deadline times corresponding to each of the plurality of system layers, and wherein the second deadline error notification is based on an estimated completion time of one of the plurality of system layers comparing unfavorably to the corresponding one of a plurality of execution deadline times.

16. A processing system of a dispersed storage and task (DST) processing 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 a first plurality of access requests that include a first execution deadline time, the first plurality of access requests for transmission via a network to a corresponding first subset of a plurality of storage units;

receive a first deadline error notification via the network from a first storage unit of the first subset;

calculate a missed deadline cost value in response to receiving the first deadline error notification;

compare the missed deadline cost value to a new request cost threshold;

select a new one of the plurality of storage units not included in the first subset in response to receiving the first deadline error notification;

generate a new access request for transmission to the new one of the plurality of storage units via the network that includes an updated execution deadline time, wherein the new access request is based on a one of the first plurality of access requests sent to the first storage unit of the first subset, wherein the new one of the plurality of storage units is selected and the new access request is generated for transmission to the new one of the of the plurality of storage units when the missed deadline cost value compares favorably to the new request cost threshold; and

generate a proceed with execution notification for transmission via the network to the first storage unit of the first subset indicating a request to continue executing the access request when the missed deadline cost value compares unfavorably to the new request cost threshold.

17. The processing system of claim 16 , wherein the first plurality of access requests are generated in response to a request to read a data object, and wherein the new one of the plurality of storage units is selected based on the first subset of the plurality of storage units, the one of the plurality of storage units from which the first deadline error notification was received, and a unique combination reads (UCR) protocol.

18. 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 a first plurality of access requests that include a first execution deadline time, the first plurality of access requests for transmission via a network to a corresponding first subset of a plurality of storage units;

receive a first deadline error notification via the network from a first storage unit of the first subset;

calculate a missed deadline cost value in response to receiving the first deadline error notification;

compare the missed deadline cost value to a new request cost threshold;

select a new one of the plurality of storage units not included in the first subset in response to receiving the first deadline error notification;

generate a new access request for transmission to the new one of the plurality of storage units via the network that includes an updated execution deadline time, wherein the new access request is based on a one of the first plurality of access requests sent to the first storage unit of the first subset, wherein the new one of the plurality of storage units is selected and the new access request is generated for transmission to the new one of the of the plurality of storage units when the missed deadline cost value compares favorably to the new request cost threshold; and

generate a proceed with execution notification for transmission via the network to the first storage unit of the first subset indicating a request to continue executing the access request when the missed deadline cost value compares unfavorably to the new request cost threshold.

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: BAPTIST, ANDREW D.; DHUSE, GREG R.; KACZMAREK, JOSEPH M.; NARUBIN, RENARS W.; VOLVOVSKI, ILYA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039563/0012 →
Continuity (2)
Provisional Application 62248752 · Oct 30, 2015
Related Publication 20170123947A1 · May 4, 2017