IP Library Granted Patent US 11,113,009
Granted Patent B1
US 11,113,009 · App. 17/078,345 · Granted Sep 7, 2021

Computing device facilitating prioritization of task execution within a distributed storage network (DSN)

Inventors: Ahmad Alnafoosi (Streamwood, IL); Andrew D. Baptist (Mt. Pleasant, WI); Greg R. Dhuse (Chicago, IL); Jason K. Resch (Chicago, IL); Ilya Volvovski (Chicago, IL)
Assignee: Pure Storage, Inc.
G06F3/067G06F3/064G06F3/0619G06F3/0659G06F9/5027G06F11/108G06F21/64H04L43/0852H04L47/70H04L67/10H04L67/1097H04L67/322G06F11/1076H04L63/08H04L63/101
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 11,113,009
App. No.
17/078,345
Granted
Sep 7, 2021
Kind
B1
Abstract

A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and a processing module operably coupled to the interface and memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. For example, the computing device generates a prioritized request that includes at least one of a task for execution or a priority level based on information stored within a storage unit (SU) of a plurality of storage units (SUs) implemented within the DSN. Note that the information corresponds to a data object that is related to a set of encoded data slices (EDSs) that are distributedly stored within the DSN. The computing device then transmits the prioritized request to the SU and receives, from the SU, a response to the prioritized request.

Claims (48)

1. A computing device comprising:

an interface configured to interface and communicate with a distributed storage network (DSN);

memory that stores operational instructions; and

a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to:

generate a prioritized request related to information stored within a storage unit (SU) of a plurality of storage units (SUs) implemented within the DSN;

transmit, to the SU and via the interface, the prioritized request; and

receive, from the SU and via the interface, a response to the prioritized request that includes an execution priority level that is generated by the SU based on one or more conditions corresponding to the SU and that indicates a priority value level of the prioritized request in comparison to at least one other prioritized request.

2. The computing device of claim 1 , wherein the priority value level is a rejection level indicating that the prioritized request will not be executed by the SU.

3. The computing device of claim 1 , wherein the priority value level is a process level indicating that the prioritized request will be executed by the SU in accordance with queued prioritized requests that include the prioritized request and the at least one other prioritized request.

4. The computing device of claim 3 , wherein the SU is further configured to:

execute the queued prioritized requests in accordance with execution priority levels of the prioritized requests of the queued prioritized requests that include the execution priority level of the prioritized request and at least one other execution priority level of the at least one other prioritized request.

5. The computing device of claim 1 , wherein:

the prioritized request includes at least one of a task for execution or a priority level based on the information stored within the SU of the plurality of SUs implemented within the DSN; and

the priority level is based on at least one of a previous response corresponding to the prioritized request, a request type of the prioritized request, a timing requirement associated of the prioritized request, a priority input prioritized request, or a data type associated with the prioritized request.

6. The computing device of claim 1 , wherein the SU is further configured to:

determine the execution priority level based on at least one of a current loading level of the SU, at least one execution priority level of at least one previously queued prioritized request, or the priority level of the prioritized request.

7. The computing device of claim 1 , wherein the information corresponds to a data object that is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices (EDSs), wherein the set of EDSs are distributedly stored among the plurality of SUs, and wherein a decode threshold number of EDSs are needed to recover the data segment.

8. The computing device of claim 7 , wherein:

a read threshold number of EDSs provides for reconstruction of the data segment;

a write threshold number of EDSs provides for a successful transfer of the set of EDSs from a first at least one location in the DSN to a second at least one location in the DSN;

the set of EDSs is of pillar width and includes a pillar number of EDSs;

each of the decode threshold number, the read threshold number, and the write threshold number is less than the pillar number; and

the write threshold number is greater than or equal to the read threshold number that is greater than or equal to the decode threshold number.

9. The computing device of claim 1 further comprising:

another SU of the plurality of SUs implemented within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

10. The computing device of claim 1 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication system, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

11. A method for execution by a computing device, the method comprising:

generating a prioritized request related to information stored within a storage unit (SU) of a plurality of storage units (SUs) implemented within a distributed storage network (DSN);

transmit, to the SU and via an interface of the computing device that is configured to interface and communicate with a DSN, the prioritized request; and

receive, from the SU and via the interface, a response to the prioritized request that includes an execution priority level that is generated by the SU based on one or more conditions corresponding to the SU and that indicates a priority value level of the prioritized request in comparison to at least one other prioritized request.

12. The method of claim 11 , wherein the priority value level is a rejection level indicating that the prioritized request will not be executed by the SU.

13. The method of claim 11 , wherein the priority value level is a process level indicating that the prioritized request will be executed by the SU in accordance with queued prioritized requests that include the prioritized request and the at least one other prioritized request.

14. The method of claim 13 further comprising:

executing, within the SU, the queued prioritized requests in accordance with execution priority levels of the prioritized requests of the queued prioritized requests that include the execution priority level of the prioritized request and at least one other execution priority level of the at least one other prioritized request.

15. The method of claim 11 , wherein:

the prioritized request includes at least one of a task for execution or a priority level based on the information stored within the SU of the plurality of SUs implemented within the DSN; and

the priority level is based on at least one of a previous response corresponding to the prioritized request, a request type of the prioritized request, a timing requirement associated of the prioritized request, a priority input prioritized request, or a data type associated with the prioritized request.

16. The method of claim 11 further comprising:

determining, within the SU, the execution priority level based on at least one of a current loading level of the SU, at least one execution priority level of at least one previously queued prioritized request, or the priority level of the prioritized request.

17. The method of claim 11 , wherein the information corresponds to a data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices (EDSs), wherein the set of EDSs are distributedly stored among the plurality of SUs, and wherein a decode threshold number of EDSs are needed to recover the data segment.

18. The method of claim 17 , wherein:

a read threshold number of EDSs provides for reconstruction of the data segment;

a write threshold number of EDSs provides for a successful transfer of the set of EDSs from a first at least one location in the DSN to a second at least one location in the DSN;

the set of EDSs is of pillar width and includes a pillar number of EDSs;

each of the decode threshold number, the read threshold number, and the write threshold number is less than the pillar number; and

the write threshold number is greater than or equal to the read threshold number that is greater than or equal to the decode threshold number.

19. The method of claim 11 , wherein the computing device includes another SU of the plurality of SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

20. The method of claim 11 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication system, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2020
From: ALNAFOOSI, AHMAD; BAPTIST, ANDREW D.; DHUSE, GREG R.; RESCH, JASON K.; VOLVOVSKI, ILYA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 054151/0736 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 054191/0304 →
Continuity (6)
Continuation 16693742 · Nov 25, 2019
Continuation 16143854 · Sep 27, 2018
Continuation 15719259 · Sep 28, 2017
Continuation In Part 15427934 · Feb 8, 2017
Continuation 13959006 · Aug 5, 2013
Provisional Application 61711106 · Oct 8, 2012