IP Library Granted Patent US 10,229,004
Granted Patent B2
US 10,229,004 · App. 15/143,885 · Granted Mar 12, 2019

Data transfer priority levels

Inventors: Asimuddin Kazi (Naperville, IL); Michael J. Niedbala (Chicago, IL); Jason K. Resch (Chicago, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/108G06F3/061G06F3/0604G06F3/065G06F3/0605G06F3/067G06F3/0619G06F3/0622G06F3/0643G06F3/0644G06F3/0647G06F3/0653G06F3/0668G06F3/0689G06F11/1076G06F11/1662G06F11/3034G06F13/4282G06F17/3053G06F17/30082G06F17/30197G06F21/6218G06F21/645H03M13/2906H03M13/3761H04L9/0861H04L63/061H04L63/0853H04L63/108H04L67/1097H04L67/327G06F3/064G06F2201/805H03M13/1515H04L63/0428
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,229,004
App. No.
15/143,885
Granted
Mar 12, 2019
Kind
B2
Abstract

A method begins by a processing module receiving updated weighting factors for each of a plurality of storage sets. The method continues with the processing module identifying locally stored encoded data slices of a plurality of locally stored encoded data slices for transfer to one or more storage sets of the plurality of storage sets based on the updated weighting factors. The method continues with the processing module, for each identified locally stored encoded data slice, assigning a transfer priority level. The method continues with the processing module, for each identified locally stored encoded data slice, facilitating transfer of the identified locally stored encoded data slice to the one or more storage sets in accordance with the corresponding assigned transfer priority level.

Claims (47)

1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:

receiving, from a processing unit, updated weighting factors for each of a plurality of storage sets;

identifying locally stored encoded data slices of a plurality of locally stored encoded data slices for transfer to one or more storage sets of the plurality of storage sets based on the updated weighting factors and further by, for each of the plurality of encoded data slices, performing a distributed agreement protocol function on a corresponding slice name to produce a score of a plurality of scores, and identifying an encoded data slice for transfer when a score associated with the identified encoded data slice corresponds to another storage set of the one or more storage sets;

for each identified locally stored encoded data slice, assigning a transfer priority level; and

for each identified locally stored encoded data slice, facilitating transfer of the identified locally stored encoded data slice to the one or more storage sets in accordance with a corresponding assigned transfer priority level.

2. The method of claim 1 , wherein the locally stored encoded data slices are identified based on the updated weighting factors and slice names of the plurality of locally stored encoded data slices.

3. The method of claim 1 , wherein the assigned transfer priority level is based on one or more of:

a historical frequency of access level, an expected frequency of access level, a prioritization request, a schedule, a data type indicator, a data size indicator, or a DSN activity level.

4. The method of claim 1 , wherein the transfer of the identified locally stored encoded data slices is based on a highest transfer priority level first.

5. The method of claim 1 , wherein the assigning of transfer priority levels is performed periodically or based on an event.

6. The method of claim 1 , wherein the transfer priority level of frequently accessed encoded data slices is assigned as a higher than average priority.

7. A non-transitory computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), causes the one or more computing devices to:

receive updated weighting factors for each of a plurality of storage sets;

identify locally stored encoded data slices of a plurality of locally stored encoded data slices for transfer to one or more storage sets of the plurality of storage sets based on the updated weighting factors and further by, for each of the plurality of encoded data slices, performing a distributed agreement protocol function on a corresponding slice name to produce a score of a plurality of scores, and identifying an encoded data slice for transfer when a score associated with the identified encoded data slice corresponds to another storage set of the one or more storage sets;

for each identified locally stored encoded data slice, assign a transfer priority level; and

for each identified locally stored encoded data slice, facilitate transfer of the identified locally stored encoded data slice to the one or more storage sets in accordance with a corresponding assigned transfer priority level.

8. The non-transitory computer readable storage medium of claim 7 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

identify the locally stored encoded data slices based on the updated weighting factors and slice names of the plurality of locally stored encoded data slices.

9. The non-transitory computer readable storage medium of claim 7 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

assign the transfer priority level based on one or more of: a historical frequency of access level, an expected frequency of access level, a prioritization request, a schedule, a data type indicator, a data size indicator, or a DSN activity level.

10. The non-transitory computer readable storage medium of claim 7 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

identify the transfer of the locally stored encoded data slices based on a highest transfer priority level first.

11. The non-transitory computer readable storage medium of claim 7 further comprises:

the at least one memory section stores further operational instructions that, when executed by the one or more processing modules, causes the one or more computing devices of the DSN to:

assign the priority level of frequently accessed encoded data slices as a higher than average priority.

12. A computing device of a group of computing devices of a dispersed storage network (DSN), the computing device comprises:

an interface;

a local memory; and

a processing module operably coupled to the interface and the local memory, wherein the processing module functions to:

receive updated weighting factors for each of a plurality of storage sets;

identify locally stored encoded data slices of a plurality of locally stored encoded data slices for transfer to one or more storage sets of the plurality of storage sets based on the updated weighting factors and further by, for each of the plurality of encoded data slices, performing a distributed agreement protocol function on a corresponding slice name to produce a score of a plurality of scores, and identifying an encoded data slice for transfer when a score associated with the identified encoded data slice corresponds to another storage set of the one or more storage sets;

for each identified locally stored encoded data slice, assign a transfer priority level; and

for each identified locally stored encoded data slice, facilitate transfer of the identified locally stored encoded data slice to the one or more storage sets in accordance with a corresponding assigned transfer priority level.

13. The computing device of claim 12 , wherein the processing module further functions to:

identify the locally stored encoded data slices based on the updated weighting factors and slice names of the plurality of locally stored encoded data slices.

14. The computing device of claim 12 , wherein the processing module further functions to:

assign the transfer priority level based on one or more of: a historical frequency of access level, an expected frequency of access level, a prioritization request, a schedule, a data type indicator, a data size indicator, or a DSN activity level.

15. The computing device of claim 12 , wherein the processing module further functions to:

transfer the identified locally stored encoded data slices based on a highest transfer priority level first.

16. The computing device of claim 12 , wherein the processing module further functions to:

perform the assigning of transfer priority levels periodically or based on an event.

17. The computing device of claim 12 , wherein the processing module further functions to:

assign the transfer priority level of frequently accessed encoded data slices as a higher than average priority.

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 May 2, 2016
From: KAZI, ASIMUDDIN; NIEDBALA, MICHAEL J.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038434/0852 →
Continuity (2)
Provisional Application 62199816 · Jul 31, 2015
Related Publication 20170034272A1 · Feb 2, 2017