IP Library Granted Patent US 10,339,006
Granted Patent B2
US 10,339,006 · App. 16/001,686 · Granted Jul 2, 2019

Proxying slice access requests during a data evacuation

Inventors: Asimuddin Kazi (Naperville, IL); Niall J. McShane (Arlington Heights, IL); Manish Motwani (Chicago, IL); Michael J. Niedbala (Chicago, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/108G06F3/061G06F3/0604G06F3/0605G06F3/065G06F3/067G06F3/0619G06F3/0622G06F3/0643G06F3/0644G06F3/0647G06F3/0653G06F3/0668G06F3/0689G06F11/1076G06F11/1662G06F11/3034G06F13/4282G06F16/122G06F16/1824G06F16/24578G06F21/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,339,006
App. No.
16/001,686
Filed
Jun 6, 2018
Granted
Jul 2, 2019
Kind
B2
Examiner
DOAN, KHOA D
Art Unit
2133
USPC
711/165
Abstract

A method begins by a processing module receiving a checked write slice request from a requesting entity. The method continues by determining that locally stored encoded data slices do not include the requested encoded data slice. The method continues by identifying an alternate location for the requested encoded data slice. The method continues by determining whether the alternate location is associated with storage of the encoded data slice. The method continues when the alternate location is associated with the storage of the encoded data slice, by issuing a favorable checked write slice response to a requesting entity. The method can include facilitating transfer of the requested encoded data slice from the alternate location to the storage unit for storage.

Claims (46)

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:

selecting a second storage unit based a decentralized agreement module decision decided by a decentralized agreement module, wherein the decentralized agreement module receives a ranked scoring information request from a requestor with regards to a set of candidate storage unit resources and, for each of the candidate storage unit resources, the decentralized agreement module performs a deterministic function on a location identifier (ID) of the candidate storage unit resource or an asset ID of the ranked scoring information request;

initiating an evacuation of encoded data slices from a first storage unit to the second storage unit;

receiving, at the second storage unit, a checked write slice request from a requesting entity, the checked write slice request including a requested encoded data slice;

determining, at the second storage unit, that locally stored encoded data slices do not include the requested encoded data slice; and

generating, at the second storage unit, a response to include one or more of: a code associated with the checked write slice request, a name of the encoded data slice, or a revision level.

2. The method of claim 1 , wherein the checked write slice request further includes one or more of: slice name, encoded data slice for storage, or a revision level.

3. The method of claim 1

wherein the response is transmitted by the second storage unit to the first storage unit in response to determining that the locally stored encoded data slices do not include the requested encoded data slice.

4. The method of claim 3 , wherein the determining that locally stored encoded data slices do not include the requested encoded data slice includes one or more of: performing a lookup or interpreting a query response.

5. The method of claim 4 , further comprising:

identifying an alternate location for the requested encoded data slice;

determining whether the alternate location is associated with storage of the requested encoded data slice; and

when the alternate location is associated with storage of the requested encoded data slice, issuing a favorable checked write slice response to the requesting entity.

6. The method of claim 5 , wherein the determining whether the alternate location is associated with the requested encoded data slice includes one or more of: issuing a checked request to the alternate location or interpreting a checked response.

7. The method of claim 5 further comprising facilitating transfer of the requested encoded data slice from the alternate location to a location of the locally stored encoded data slices for storage.

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

an interface;

a memory; and

a processing module operably coupled to the interface and the memory, wherein the processing module functions to perform operations including:

selecting a second storage unit based a decentralized agreement module decision decided by a decentralized agreement module, wherein the decentralized agreement module receives a ranked scoring information request from a requestor with regards to a set of candidate storage unit resources and, for each of the candidate storage unit resources, the decentralized agreement module performs a deterministic function on a location identifier (ID) of the candidate storage unit resource or an asset ID of the ranked scoring information request;

initiating an evacuation of encoded data slices from a first storage unit to the second storage unit;

receiving, at the second storage unit, a checked write slice request from a requesting entity, the checked write slice request including a requested encoded data slice;

determining, at the second storage unit, that locally stored encoded data slices do not include the requested encoded data slice; and

generating, at the second storage unit, a response to include one or more of: a code associated with the checked write slice request, a name of the encoded data slice, or a revision level.

9. The computing device of claim 8 , wherein the checked write slice request further includes one or more of: slice name, encoded data slice for storage, or a revision level.

10. The computing device of claim 8 :

wherein the response is transmitted by the second storage unit to the first storage unit in response to determining that the locally stored encoded data slices do not include the requested encoded data slice.

11. The computing device of claim 10 , wherein the determining that locally stored encoded data slices do not include the requested encoded data slice includes one or more of: performing a lookup or interpreting a query response.

12. The computing device of claim 11 , wherein the operations further include:

identifying an alternate location for the requested encoded data slice;

determining whether the alternate location is associated with storage of the requested encoded data slice; and

when the alternate location is associated with storage of the requested encoded data slice, issuing a favorable checked write slice response to the requesting entity.

13. The computing device of claim 12 , wherein the determining whether the alternate location is associated with the requested encoded data slice includes one or more of: issuing a checked request to the alternate location or interpreting a checked response.

14. The computing device of claim 12 wherein the operations further include:

facilitating transfer of the requested encoded data slice from the alternate location to a location of the locally stored encoded data slices for storage.

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

at least one memory section that stores operational instructions that, when executed by a processing system of a dispersed storage network (DSN) that includes a processor and a memory, causes the processing system to perform operations including:

selecting a second storage unit based a decentralized agreement module decision decided by a decentralized agreement module, wherein the decentralized agreement module receives a ranked scoring information request from a requestor with regards to a set of candidate storage unit resources and, for each of the candidate storage unit resources, the decentralized agreement module performs a deterministic function on a location identifier (ID) of the candidate storage unit resource or an asset ID of the ranked scoring information request;

initiating an evacuation of encoded data slices from a first storage unit to the second storage unit;

receiving, at the second storage unit, a checked write slice request from a requesting entity, the checked write slice request including a requested encoded data slice;

determining, at the second storage unit, that locally stored encoded data slices do not include the requested encoded data slice; and

generating, at the second storage unit, a response to include one or more of: a code associated with the checked write slice request, a name of the encoded data slice, or a revision level.

16. The non-transitory computer readable storage medium of claim 15 , wherein the checked write slice request further includes one or more of: slice name, encoded data slice for storage, or a revision level.

17. The non-transitory computer readable storage medium of claim 15

wherein the response is transmitted by the second storage unit to the first storage unit in response to determining that the locally stored encoded data slices do not include the requested encoded data slice.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0288 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2018
From: KAZI, ASIMUDDIN; MCSHANE, NIALL J.; MOTWANI, MANISH; NIEDBALA, MICHAEL J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046005/0976 →
Continuity (3)
Continuation 15220983 · Jul 27, 2016
Provisional Application 62199816 · Jul 31, 2015
Related Publication 20180285193A1 · Oct 4, 2018