IP Library Granted Patent US 10,073,736
Granted Patent B2
US 10,073,736 · App. 15/220,983 · Granted Sep 11, 2018

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/065G06F3/0605G06F3/067G06F3/0619G06F3/0622G06F3/0643G06F3/0644G06F3/0647G06F3/0653G06F3/0668G06F3/0689G06F11/1076G06F11/1662G06F13/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,073,736
App. No.
15/220,983
Granted
Sep 11, 2018
Kind
B2
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 (39)

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 on 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 and 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 that locally stored encoded data slices do not include the requested encoded data slice;

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.

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 2 further comprising generating 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.

4. The method of claim 1 , 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 1 , 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.

6. The method of claim 1 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.

7. 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:

select a second storage unit based on 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 and an asset ID of the ranked scoring information request;

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

receive, 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;

determine 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, issue a favorable checked write slice response to the requesting entity.

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

9. The computing device of claim 7 further comprising generating 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.

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

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

12. The computing device of claim 7 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.

13. 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 on 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 and an asset ID of the ranked scoring information request;

receiving, during an evacuation of encoded data slices from a first storage unit to the second storage unit, a checked write slice request at the second storage unit from a requesting entity, the checked write slice request including a requested encoded data slice;

determining that locally stored encoded data slices do not include the requested encoded data slice;

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.

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

15. The method of claim 13 further comprising generating 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 method of claim 13 , 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.

17. The method of claim 13 , 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.

18. The method of claim 13 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.

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 Jul 27, 2016
From: KAZI, ASIMUDDIN; MCSHANE, NIALL J.; MOTWANI, MANISH; NIEDBALA, MICHAEL J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039272/0087 →
Continuity (2)
Provisional Application 62199816 · Jul 31, 2015
Related Publication 20170031627A1 · Feb 2, 2017