IP Library Granted Patent US 10,678,640
Granted Patent B2
US 10,678,640 · App. 16/256,193 · Granted Jun 9, 2020

Using reinforcement learning to select a DS processing unit

Inventors: Ravi V. Khadiwala (Bartlett, IL); Jason K. Resch (Chicago, IL)
Assignee: PURE STORAGE, INC.
G06F11/1076G06F3/061G06F3/064G06F3/067G06F3/0635G06F11/1092H04L67/1097G06F3/0619G06F3/0653G06F2211/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,678,640
App. No.
16/256,193
Granted
Jun 9, 2020
Kind
B2
Abstract

A computer readable storage medium includes memory sections that store operational instructions, the when executed by one or more computing devices of a dispersed storage network (DSN), cause the one or more computing devices to perform the following for a data access request. The computing device(s) access a plurality of estimated efficiency models of a plurality of dispersed storage (DS) processing units of the DSN. The computing device(s) select one of the DS processing units based on the plurality of estimated efficiency models, a type of request, and a randomizing factor. The computing device(s) send the data access request to the selected DS processing unit for execution. The computing device(s) determine an actual processing efficiency of the processing of the data access request by the selected DS processing unit and update the estimated efficiency model of the selected DS processing module based on the actual processing efficiency.

Claims (34)

1. A computer readable storage device comprises:

at least one memory section for storing operational instructions that, when executed by a computing device of a storage network, cause the computing device to:

for a data access request, access a plurality of estimated efficiency models of a plurality of processing units of the storage network, wherein an estimated efficiency model of the plurality of estimated efficiency models includes a list of estimated efficiency probabilities corresponding to a list of data access request types for a processing unit of the plurality of processing units;

select one of the processing units from the plurality of processing units based on the plurality of estimated efficiency models, a type of request of the data access request, and a randomizing factor to produce a selected processing unit; and

send the data access request to the selected processing unit for execution.

2. The computer readable storage device of claim 1 , wherein an estimated efficiency probability of the list of estimated efficiency probabilities comprises one or more of:

an estimated time to complete the data access request by the processing unit;

an estimated probability that the estimated time will be met;

an estimated probability of an error occurring when executing the data access request; and

an estimated probability of a connection failure prior to fulfillment of the data access request.

3. The computer readable storage device of claim 1 , wherein the at least one memory section stores further operational instructions that, when executed by the computing device, cause the computing device to the select the one of the processing units by:

when the randomizing factor indicates selecting an estimated most efficient processing of the data access request, selecting the one of the processing units having a highest estimated efficiency probability for the type of data access request.

4. The computer readable storage device of claim 1 , wherein the at least one memory section stores further operational instructions that, when executed by the computing device, cause the computing device to the select the one of the processing units by:

when the randomizing factor indicates selecting an estimated second-most efficient processing of the data access request, selecting the one of the processing units having a second highest estimated efficiency probability for the type of data access request; and

when the randomizing factor indicates selecting an estimated third-most efficient processing of the data access request, selecting the one of the processing units having a third highest estimated efficiency probability for the type of data access request.

5. The computer readable storage device of claim 1 , wherein the at least one memory section stores further operational instructions that, when executed by the computing device, cause the computing device to the select the one of the processing units by:

when the randomizing factor indicates randomly selecting, when the estimated efficiency processing of the data access request is above an efficiency threshold, selecting the one of the processing units at random.

6. The computer readable storage device of claim 1 , wherein the at least one memory section stores further operational instructions that, when executed by the computing device, cause the computing device to:

create the plurality of estimated efficiency models based on one or more of historical performance data, estimated performance data, network bandwidth, network reliability, processing resources of the plurality of processing units, and data access request volumes.

7. The computer readable storage device of claim 1 , wherein the at least one memory section for stores further operational instructions that, when executed by a second computing device of the storage network, cause the second computing device to:

for a second data access request, access a second plurality of estimated efficiency models of the plurality of processing units;

select a second one of the processing units from the plurality of processing units based on the second plurality of estimated efficiency models, a type of request of the second data access request, and the randomizing factor to produce a second selected processing unit;

send the second data access request to the second selected processing unit for execution;

determine a second actual processing efficiency of a second processing of the second data access request by the second selected processing unit; and

update the estimated efficiency model of the second selected processing unit based on the second actual processing efficiency.

8. The computer readable storage device of claim 1 , wherein the at least one memory section stores further operational instructions that, when executed by the computing device, cause the computing device to:

for a second data access request, access the plurality of estimated efficiency models;

select a second one of the processing units from the plurality of processing units based on the plurality of estimated efficiency models, a type of request of the second data access request, and the randomizing factor to produce a second selected processing unit;

send the second data access request to the second selected processing unit for execution;

determine a second actual processing efficiency of a second processing of the second data access request by the second selected processing unit; and

update the estimated efficiency model of the second selected processing unit based on the second actual processing efficiency.

9. The computer readable storage device of claim 1 , wherein the at least one memory section stores further operational instructions that, when executed by the computing device, cause the computing device to:

determine an actual processing efficiency of a processing of the data access request by the selected processing unit; and

update the estimated efficiency model of the selected processing unit based on the actual processing efficiency.

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 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 Jan 24, 2019
From: KHADIWALA, RAVI V.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048122/0263 →