IP Library Granted Patent US 10,268,545
Granted Patent B2
US 10,268,545 · App. 15/841,070 · Granted Apr 23, 2019

Using reinforcement learning to select a DS processing unit

Inventors: Ravi V. Khadiwala (Bartlett, IL); Jason K. Resch (Chicago, IL)
Assignee: International Business Machines Corporation
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,268,545
App. No.
15/841,070
Granted
Apr 23, 2019
Kind
B2
Abstract

A method begins by, for a data access request, a user computing device accessing a plurality of estimated efficiency models of a plurality of dispersed storage (DS) processing units of a dispersed storage network. The method continues by selecting one of the DS processing units from the plurality of DS 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 DS processing unit. The method continues by sending the data access request to the selected DS processing unit for execution. The method continues by determining an actual processing efficiency of the processing of the data access request by the selected DS processing unit. The method continues by updating the estimated efficiency model of the selected DS processing module based on the actual processing efficiency.

Claims (61)

1. A method comprises:

for a data access request, accessing, by a user computing device of a dispersed storage network (DSN), a plurality of estimated efficiency models of a plurality of dispersed storage (DS) processing units of the DSN, wherein an estimated efficiency model of the plurality of estimated efficiency models includes a list of estimated efficiency probabilities, wherein the list of estimated efficiency probabilities corresponds to a list of data access request types for a DS processing unit of the plurality of DS processing units;

selecting, by the user computing device, one of the DS processing units from the plurality of DS 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 DS processing unit;

sending, by the user computing device, the data access request to the selected DS processing unit for execution;

determining, by the user computing device, an actual processing efficiency of a processing of the data access request by the selected DS processing unit; and

updating, by the user computing device, the estimated efficiency model of the selected DS processing unit based on the actual processing efficiency.

2. The method 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 DS 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 method of claim 1 , wherein the selecting the one of the DS processing units comprises:

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

4. The method of claim 1 , wherein the selecting the one of the DS processing units comprises:

when the randomizing factor indicates selecting an estimated second-most efficient processing of the data access request, selecting the one of the DS 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 DS processing units having a third highest estimated efficiency probability for the type of data access request.

5. The method of claim 1 , wherein the selecting the one of the DS processing units comprises:

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 DS processing units at random.

6. The method of claim 1 further comprises:

creating, by the user computing device, 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 DS processing units, and data access request volumes.

7. The method of claim 1 further comprises:

for a second data access request, accessing, by a second user computing device of the DSN, a second plurality of estimated efficiency models of the plurality of DS processing units;

selecting, by the second user computing device, a second one of the DS processing units from the plurality of DS 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 DS processing unit;

sending, by the second user computing device, the second data access request to the second selected DS processing unit for execution;

determining, by the second user computing device, a second actual processing efficiency of a second processing of the second data access request by the second selected DS processing unit; and

updating, by the second user computing device, the estimated efficiency model of the second selected DS processing unit based on the second actual processing efficiency.

8. The method of claim 1 further comprises:

for a second data access request, accessing, by the user computing device, the plurality of estimated efficiency models;

selecting, by the user computing device, a second one of the DS processing units from the plurality of DS 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 DS processing unit;

sending, by the user computing device, the second data access request to the second selected DS processing unit for execution;

determining, by the user computing device, a second actual processing efficiency of a second processing of the second data access request by the second selected DS processing unit; and

updating, by the user computing device, the estimated efficiency model of the second selected DS processing unit based on the second actual processing efficiency.

9. A user computing device of a dispersed storage network (DSN) comprises:

memory;

an interface; and

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

for a data access request, access a plurality of estimated efficiency models of a plurality of dispersed storage (DS) processing units of the DSN, wherein an estimated efficiency model of the plurality of estimated efficiency models includes a list of estimated efficiency probabilities, wherein the list of estimated efficiency probabilities corresponds to a list of data access request types for a DS processing unit of the plurality of DS processing units;

select one of the DS processing units from the plurality of DS 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 DS processing unit;

send, via the interface, the data access request to the selected DS processing unit for execution;

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

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

10. The user computing device of claim 9 , 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 DS 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.

11. The user computing device of claim 9 , wherein the processing module is operable to select the one of the DS processing units by:

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

12. The user computing device of claim 9 , wherein the processing module is operable to select the one of the DS 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 DS 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 DS processing units having a third highest estimated efficiency probability for the type of data access request.

13. The user computing device of claim 9 , wherein the processing module is operable to select the one of the DS processing units by:

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

14. The user computing device of claim 9 , wherein the processing module is further operable 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 DS processing units, and data access request volumes.

15. The user computing device of claim 9 , wherein the processing module is further operable to:

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

select a second one of the DS processing units from the plurality of DS 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 DS processing unit;

sending, via the interface, the second data access request to the second selected DS processing unit for execution;

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

update the estimated efficiency model of the second selected DS processing unit based on the second 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 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 13, 2017
From: KHADIWALA, RAVI V.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044390/0540 →
Continuity (4)
Continuation In Part 15399579 · Jan 5, 2017
Continuation 14805637 · Jul 22, 2015
Provisional Application 62047458 · Sep 8, 2014
Related Publication 20180121288A1 · May 3, 2018