IP Library Granted Patent US 9,565,252
Granted Patent B2
US 9,565,252 · App. 14/287,464 · Granted Feb 7, 2017

Distributed storage network with replication control and methods for use therewith

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 9,565,252
App. No.
14/287,464
Granted
Feb 7, 2017
Kind
B2
Abstract

A method includes encoding input data into a plurality of slices. The plurality of slices are sent to a first plurality of distributed storage and task execution units for storage, the first plurality of distributed storage and task execution units being located at a corresponding first plurality of sites. Write slice data is received from the first plurality of distributed storage and task execution units. The method determines when replication is to be applied to the plurality of slices. When replication is to be applied to the plurality of slices, a second plurality of distributed storage and task execution units are selected, a plurality of replicated slices corresponding to the plurality of slices are generated, and the plurality of replicated slices are sent to the second plurality of distributed storage and task execution units.

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:

encoding input data into a plurality of slices;

sending the plurality of slices to a first plurality of distributed storage and task execution units for storage, the first plurality of distributed storage and task execution units being located at a corresponding first plurality of sites;

receiving write slice data from the first plurality of distributed storage and task execution units;

determining, based on the received write slice data, when one or more unfavorable write slice responses have been received from one or more distributed storage and task execution units of a site of the first plurality of sites;

when one or more unfavorable write slice responses have been received, determining when replication is to be applied to slices of the plurality of slices sent to the one or more distributed storage and task execution units of the site;

selecting a second one or more distributed storage and task execution units;

generating replicated slices corresponding to the slices sent to the one or more distributed storage and task execution units of the site; and

sending the replicated slices to the second one or more distributed storage and task execution units.

2. The method of claim 1 wherein determining when replication is to be applied to the slices of the plurality of slices sent to the one or more distributed storage and task execution units of the site is based on at least one of: analyzing write slice responses, a requester identification, a data identification, a data type indication, a vault identification, and a replication mode predetermination.

3. The method of claim 1 , wherein determining when one or more unfavorable write slice responses have been received includes analyzing write slice responses to determine when at least one storage error occurred.

4. The method of claim 1 , wherein determining when replication is to be applied to the slices of the plurality of slices sent to the one or more distributed storage and task execution units of the site includes analyzing write slice responses to determine a number of storage errors; and further determining when the number of storage errors compares unfavorably to a replication threshold.

5. The method of claim 1 , wherein determining when replication is to be applied to the slices of the plurality of slices sent to the one or more distributed storage and task execution units of the site includes analyzing write slice responses to determine a number of favorable write slice responses received and further determining when the number of favorable write slice responses compares unfavorably to a replication threshold.

6. The method of claim 1 wherein the second one or more distributed storage and task execution units are selected to correspond to at least one site that is disassociated from the first plurality of sites.

7. The method of claim 1 wherein the second one or more distributed storage and task execution units are selected based on at least one of: a predetermined selection, a column availability, a reliability metric, a storage requirement associated with the plurality of slices, and one or more sites associated with the second one or more distributed storage and task execution units.

8. A dispersed storage and task (DST) processing unit comprises:

at least one module, when operable within a computing device, that causes the computing device to:

encode input data into a plurality of slices;

send the plurality of slices to a first plurality of distributed storage and task execution units for storage, the first plurality of distributed storage and task execution units being located at a corresponding first plurality of sites;

receive write slice data from the first plurality of distributed storage and task execution units;

determine, based on the received write slice data, when one or more unfavorable write slice responses have been received from one or more distributed storage and task execution units of a site of the first plurality of sites;

when one or more unfavorable write slice responses have been received, determine when replication is to be applied to slices of the plurality of slices sent to the one or more distributed storage and task execution units of the site;

select a second one or more distributed storage and task execution units;

generate replicated slices corresponding to the slices sent to the one or more distributed storage and task execution units of the site; and

send the replicated slices to the second one or more distributed storage and task execution units.

9. The DST processing unit of claim 8 wherein determining when replication is to be applied to the slices of the plurality of slices sent to the one or more distributed storage and task execution units of the site is based on at least one of: analyzing write slice responses, a requester identification, a data identification, a data type indication, a vault identification, and a replication mode predetermination.

10. The DST processing unit of claim 8 wherein determining when replication is to be applied to the slices of the plurality of slices sent to the one or more distributed storage and task execution units of the site includes analyzing write slice responses to determine when at least one storage error occurred.

11. The DST processing unit of claim 8 wherein determining when replication is to be applied to the slices of the plurality of slices sent to the one or more distributed storage and task execution units of the site includes analyzing write slice responses to determine a number of storage errors and further determining when the number of storage errors compares unfavorably to a replication threshold.

12. The DST processing unit of claim 8 wherein determining when replication is to be applied to the slices of the plurality of slices sent to the one or more distributed storage and task execution units of the site includes analyzing write slice responses to determine a number of favorable write slice responses and further determining when the number of favorable write slice responses compares unfavorably to a replication threshold.

13. The DST processing unit of claim 8 wherein the second one or more distributed storage and task execution units are selected to correspond to at least one site that is disassociated with the first plurality of sites.

14. The DST processing unit of claim 8 wherein the second one or more distributed storage and task execution units are selected based on at least one of: a predetermined selection, a column availability, a reliability metric, a storage requirement associated with the plurality of slices, and one or more sites associated with the second one or more distributed storage and task execution units.

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

encode input data into a plurality of slices;

send the plurality of slices to a first plurality of distributed storage and task execution units for storage, the first plurality of distributed storage and task execution units being located at a corresponding first plurality of sites;

receive write slice data from the first plurality of distributed storage and task execution units;

determine, based on the received write slice data, when one or more unfavorable write slice responses have been received from one or more distributed storage and task execution units of a site of the first plurality of sites;

when one or more unfavorable write slice responses have been received, determine when replication is to be applied to slices of the plurality of slices sent to the one or more distributed storage and task execution units of the site;

select a second one or more distributed storage and task execution units;

generate replicated slices corresponding to the slices sent to the one or more distributed storage and task execution units of the site; and

send the replicated slices to the second one or more distributed storage and task execution units.

16. The non-transitory computer readable storage medium of claim 15 wherein determining when replication is to be applied to the slices of the plurality of slices sent to the one or more distributed storage and task execution units of the site is based on at least one of: analyzing write slice responses, a requester identification, a data identification, a data type indication, a vault identification, and a replication mode predetermination.

17. The non-transitory computer readable storage medium of claim 15 wherein determining when replication is to be applied to the slices of the plurality of slices sent to the one or more distributed storage and task execution units of the site includes analyzing write slice responses to determine when at least one storage error occurred.

18. The non-transitory computer readable storage medium of claim 15 wherein determining when replication is to be applied to the slices of the plurality of slices sent to the one or more distributed storage and task execution units of the site includes analyzing write slice responses to determine a number of storage errors and to determine when the number of storage errors compares unfavorably to a replication threshold.

19. The non-transitory computer readable storage medium of claim 15 wherein determining when replication is to be applied to the slices of the plurality of slices sent to the one or more distributed storage and task execution units of the site includes analyzing write slice responses to determine a number of favorable write slice responses and further determining when the number of favorable write slice responses compares unfavorably to a replication threshold.

20. The non-transitory computer readable storage medium of claim 15 wherein the second one or more distributed storage and task execution units are selected based on at least one of: a predetermined selection, a column availability, a reliability metric, a storage requirement associated with the plurality of slices, and one or more sites associated with the second one or more distributed storage and task execution units.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: CLEVERSAFE, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038629/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2014
From: KAZI, ASIMUDDIN
To: CLEVERSAFE, INC.
Reel/Frame 032965/0534 →