IP Library Granted Patent US 10,853,173
Granted Patent B2
US 10,853,173 · App. 16/374,297 · Granted Dec 1, 2020

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: PURE STORAGE, INC.
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,853,173
App. No.
16/374,297
Granted
Dec 1, 2020
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 (50)

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

selecting a second storage unit based a decentralized agreement decision, wherein the decentralized agreement decision is determined based on:

a ranked scoring information request with regards to a set of candidate storage unit resources that include the second storage unit; and

for each of the candidate storage unit resources, performance of a deterministic function on a location identifier (ID) of the candidate storage unit resource and an asset ID of the ranked scoring information request; and

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

2. The method of claim 1 , further comprising:

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; and

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

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

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

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

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

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

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

9. A computing device of a group of computing devices of a storage network (SN), 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 decision, wherein the decentralized agreement decision is determined based on: a ranked scoring information request with regards to a set of candidate storage unit resources that include the second storage unit; and

for each of the candidate storage unit resources, performance of a deterministic function on a location identifier (ID) of the candidate storage unit resource and an asset ID of the ranked scoring information request;

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

10. The computing device of claim 9 , wherein the operations further comprise:

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; and

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

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

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

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.

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

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

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

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

17. 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 storage network (SN) that includes a processor and a memory, causes the processing system to perform operations including:

selecting a second storage unit based a decentralized agreement decision, wherein the decentralized agreement decision is determined based on:

a ranked scoring information request with regards to a set of candidate storage unit resources that include the second storage unit; and

for each of the candidate storage unit resources, performance of a deterministic function on a location identifier (ID) of the candidate storage unit resource and an asset ID of the ranked scoring information request; and

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

18. The non-transitory computer readable storage medium of claim 17 , wherein the operations further include:

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; and

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

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

20. The non-transitory computer readable storage medium of claim 19 , wherein the operations further include:

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.

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 DELETE 15/174/279 AND 15/174/596 PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 49555 FRAME: 530. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 051495/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049555/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2019
From: KAZI, ASIMUDDIN; MCSHANE, NIALL J.; MOTWANI, MANISH; NIEDBALA, MICHAEL J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048784/0612 →