IP Library Granted Patent US 10,182,115
Granted Patent B2
US 10,182,115 · App. 15/719,360 · Granted Jan 15, 2019

Changing rebuild priority for a class of data

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,182,115
App. No.
15/719,360
Granted
Jan 15, 2019
Kind
B2
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 that is configured to perform various operations based on operational instructions. The computing device receives name range information and priority level information to handle data objects associated with the name range information and identifies object names associated with a name range. The computing device identifies EDS name ranges that respectively correspond to the object names. The computing device updates an EDS priority table to associate EDS name range(s) with the priority level information. The computing device receives a request associated with an EDS name range and accesses the EDS priority table to identify a priority level associated therewith. The computing device then processes the request based on the priority level associated with the EDS name range.

Claims (77)

1. A computing device comprising:

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

memory that stores operational instructions; and

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

receive name range information and priority level information to handle data objects associated with the name range information, wherein a data object of the data objects is segmented into a plurality of data segments, 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) that are distributedly stored in a plurality of storage units (SUs) within the DSN, and a decode threshold number of EDSs are needed to recover the data segment;

identify object names of the data objects associated with a name range of the name range information;

identify EDS name ranges that respectively correspond to the object names, wherein each EDS name corresponds to a respective one of the object names;

update an EDS priority table to associate at least one EDS name range of the EDS name ranges with the priority level information;

receive, from another computing device, a request associated with an EDS name range;

access the EDS priority table to identify a priority level associated with the EDS name range; and

process the request associated with the EDS name range based on the priority level associated with the EDS name range.

2. The computing device of claim 1 , wherein the processor, when operable within the computing device based on the operational instructions, is further configured to perform at least one of:

access at least one of a directory or an index to identify the object names of the data objects associated with the name range of the name range information; or

access at least one of the directory or the index or at least one of another directory or another index to identify the EDS name ranges that respectively correspond to the object names.

3. The computing device of claim 1 , wherein:

the request associated with the EDS name range includes at least one of a data access request or an EDS request;

the data access request includes at least one of a data object write request, a data object read request, a data object list request, or a data object delete request; and

the EDS request includes at least one of an EDS write request, an EDS read request, an EDS list request, or an EDS delete request.

4. The computing device of claim 1 , wherein the processor, when operable within the computing device based on the operational instructions, is further configured to:

process the request associated with the EDS name range to generate a set of DSN access requests that includes a set of corresponding EDS names, wherein the EDS name range corresponds to an EDS name of the set of DSN access requests based on at least one of an identified priority level or at least one other priority level associated with at least one other request.

5. The computing device of claim 1 , 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.

6. The computing device of claim 1 , wherein the computing device is located at a first premises that is remotely located from a second premises of at least one SU of the plurality of SUs within the DSN.

7. The computing device of claim 1 , wherein the computing device is: a 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.

8. 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).

9. A computing device comprising:

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

memory that stores operational instructions; and

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

receive name range information and priority level information to handle data objects associated with the name range information, wherein a data object of the data objects is segmented into a plurality of data segments, 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) that are distributedly stored in a plurality of storage units (SUs) within the DSN, and a decode threshold number of EDSs are needed to recover the data segment;

access at least one of a directory or an index to identify object names of the data objects associated with a name range of the name range information;

access at least one of the directory or the index or at least one of another directory or another index to identify EDS name ranges that respectively correspond to the object names, wherein each EDS name corresponds to a respective one of the object names;

update an EDS priority table to associate at least one EDS name range of the EDS name ranges with the priority level information;

receive, from another computing device, a request associated with an EDS name range that includes at least one of a data access request or an EDS request, wherein:

the data access request includes at least one of a data object write request, a data object read request, a data object list request, or a data object delete request; and

the EDS request includes at least one of an EDS write request, an EDS read request, an EDS list request, or an EDS delete request;

access the EDS priority table to identify a priority level associated with the EDS name range; and

process the request associated with the EDS name range based on the priority level associated with the EDS name range.

10. The computing device of claim 9 , wherein the processor, when operable within the computing device based on the operational instructions, is further configured to:

process the request associated with the EDS name range to generate a set of DSN access requests that includes a set of corresponding EDS names, wherein the EDS name range corresponds to an EDS name of the set of DSN access requests based on at least one of an identified priority level or at least one other priority level associated with at least one other request.

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

12. The computing device of claim 9 , wherein the computing device is: a 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.

13. The computing device of claim 9 , 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).

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

receiving, via an interface of the computing device that is configured to interface and communicate with a dispersed or distributed storage network (DSN), name range information and priority level information to handle data objects associated with the name range information, wherein a data object of the data objects is segmented into a plurality of data segments, 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) that are distributedly stored in a plurality of storage units (SUs) within the DSN, and a decode threshold number of EDSs are needed to recover the data segment;

identifying object names of the data objects associated with a name range of the name range information;

identifying EDS name ranges that respectively correspond to the object names, wherein each EDS name corresponds to a respective one of the object names;

updating an EDS priority table to associate at least one EDS name range of the EDS name ranges with the priority level information;

receiving, via the interface and from another computing device, a request associated with an EDS name range;

accessing the EDS priority table to identify a priority level associated with the EDS name range; and

processing the request associated with the EDS name range based on the priority level associated with the EDS name range.

15. The method of claim 14 further comprising at least one of:

accessing at least one of a directory or an index to identify the object names of the data objects associated with the name range of the name range information; or

accessing at least one of the directory or the index or at least one of another directory or another index to identify the EDS name ranges that respectively correspond to the object names.

16. The method of claim 14 , wherein:

the request associated with the EDS name range includes at least one of a data access request or an EDS request;

the data access request includes at least one of a data object write request, a data object read request, a data object list request, or a data object delete request; and

the EDS request includes at least one of an EDS write request, an EDS read request, an EDS list request, or an EDS delete request.

17. The method of claim 14 further comprising:

processing the request associated with the EDS name range to generate a set of DSN access requests that includes a set of corresponding EDS names, wherein the EDS name range corresponds to an EDS name of the set of DSN access requests based on at least one of an identified priority level or at least one other priority level associated with at least one other request.

18. The method of claim 14 , 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 14 , wherein the computing device is: a 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 14 , 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 (6)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE DATE OF THE APPLICATIONON THE FRONT PAGE OF THE ASSIGNMENT SHOULD BE9/28/2017 PREVIOUSLY RECORDED ON REEL 043745 FRAME 0604. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 7, 2018
From: KALAF, DENNIS A.; GLADWIN, S. CHRISTOPHER; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048530/0920 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2017
From: KALAF, DENNIS A.; GLADWIN, S. CHRISTOPHER; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 043745/0604 →