IP Library Granted Patent US 10,331,519
Granted Patent B2
US 10,331,519 · App. 15/804,090 · Granted Jun 25, 2019

Application of secret sharing schemes at multiple levels of a dispersed storage network

Inventors: Jason K. Resch (Chicago, IL); Ahmad Alnafoosi (Streamwood, IL)
Assignee: International Business Machines Corporation
G06F11/108G06F3/064G06F3/067G06F3/0619G06F9/5027G06F11/1076G06F21/6218G06F21/64H04L9/085H04L9/0894H04L43/0852H04L47/70H04L67/10H04L67/1097H04L67/32
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,331,519
App. No.
15/804,090
Granted
Jun 25, 2019
Kind
B2
Abstract

Methods for use in a dispersed storage network (DSN) to encode data using threshold based secret sharing schemes. In one embodiment, a computing device uses a first threshold based secret sharing scheme in accordance with first secret sharing parameters to encode a data segment of a data file to produce a set of encoded data shares. The computing device then sends the set of encoded data shares to a set of storage units, including sending an encoded data share to a first storage unit of the set of storage units. Upon receiving the encoded data share, the first storage unit encodes the encoded data share using a second threshold based secret sharing scheme in accordance with second secret sharing parameters to produce a set of encoded data sub-shares. The first storage unit then stores the set of encoded data sub-shares in a set of memory devices of the storage unit.

Claims (52)

1. A method comprises:

dispersed storage error encoding, by a computing device of a dispersed storage network (DSN), a data segment of a data file to produce a set of encoded data shares, wherein the dispersed storage error encoding uses a first threshold based secret sharing scheme in accordance with first secret sharing parameters;

selecting, by the computing device, a set of storage units of the DSN for storing the set of encoded data shares;

sending, by the computing device, the set of encoded data shares to the set of storage units;

receiving, by a first storage unit of the set of storage units, a first encoded data share of the set of encoded data shares;

encoding, by the first storage unit, the first encoded data share using a second threshold based secret sharing scheme in accordance with second secret sharing parameters to produce a first set of encoded data sub-shares, wherein the first secret sharing parameters differ from the second secret sharing parameters; and

storing, by the first storage unit, the first set of encoded data sub-shares in a set of memory devices of the first storage unit, wherein a threshold number of encoded data sub-shares of the first set of encoded data sub-shares is decodable to recover the first encoded data share.

2. The method of claim 1 further comprises:

receiving, by the first storage unit, a read request for the first encoded data share from a requesting device;

rebuilding, by the first storage unit, the first encoded data share from at least the threshold number of encoded data sub-shares of the first set of encoded data sub-shares; and

sending, by the first storage unit, the rebuilt first encoded data share to the requesting device.

3. The method of claim 1 further comprises:

receiving, by a second storage unit of the set of storage units, a second encoded data share of the set of encoded data shares;

encoding, by the second storage unit, the second encoded data share using a third threshold based secret sharing scheme in accordance with third secret sharing parameters to produce a second set of encoded data sub-shares; and

storing, by the second storage unit, the second set of encoded data sub-shares in a set of memory devices of the second storage unit, wherein a threshold number of encoded data sub-shares of the second set of encoded data sub-shares is decodable to recover the second encoded data share.

4. The method of claim 3 , wherein the threshold number of encoded data sub-shares of the first set of encoded data sub-shares differs from the threshold number of encoded data sub-shares of the second set of encoded data sub-shares.

5. The method of claim 1 , wherein the first threshold based secret sharing scheme and the second threshold based secret sharing scheme utilize a common threshold based secret sharing function.

6. The method of claim 1 , wherein the first threshold based secret sharing scheme and the second threshold based secret sharing scheme utilize differing threshold based secret sharing functions.

7. The method of claim 1 further comprises:

determining the first secret sharing parameters based on one or more of a number of storage units of the set of storage units, a sub-sharing capability of one or more storage units of the set of storage units, or a reliability level of one or more storage units of the set of storage units.

8. The method of claim 1 further comprises:

determining the second secret sharing parameters based on one or more of a number of memory devices of the first storage unit, a reliability level of memory devices of the first storage unit, an available capacity level of the memory devices of memory devices of the first storage unit, or random selection.

9. The method of claim 1 , wherein the first threshold based secret sharing scheme is an all-or-nothing transform with Reed Solomon coding (AONT-RS) secret sharing scheme.

10. The method of claim 1 , wherein the first threshold based secret sharing scheme and the second threshold based secret sharing scheme are differing schemes from the group including an all-or-nothing transform with Reed Solomon coding (AONT-RS) secret sharing function, a Shamir secret sharing function, a Blakley secret sharing function, and a Rabin information dispersal algorithm (IDA) secret sharing function.

11. A computer readable storage device comprises:

a first storage section that stores operational instructions that, when executed by a computing device of a dispersed storage network (DSN), causes the computing device to:

dispersed storage error encode, using a first threshold based secret sharing scheme in accordance with first secret sharing parameters, a data segment of a data file to produce a set of encoded data shares;

select a set of storage units of the DSN for storing the set of encoded data shares; and

send the set of encoded data shares to the set of storage units; and

a second storage section that stores operational instructions that, when executed by a first storage unit of the set of storage units, causes the first storage unit to:

receive a first encoded data share of the set of encoded data shares;

encode the first encoded data share using a second threshold based secret sharing scheme in accordance with second secret sharing parameters to produce a first set of encoded data sub-shares, wherein the first secret sharing parameters differ from the second secret sharing parameters; and

store the first set of encoded data sub-shares in a set of memory devices of the first storage unit, wherein a threshold number of encoded data sub-shares of the first set of encoded data sub-shares is decodable to recover the first encoded data share.

12. The computer readable storage device of claim 11 further comprises:

a third storage section further stores operational instructions that, when executed by the first storage unit, causes the first storage unit to:

receive a read request for the first encoded data share from a requesting device;

rebuild the first encoded data share from at least the threshold number of encoded data sub-shares of the first set of encoded data sub-shares; and

send the rebuilt first encoded data share to the requesting device.

13. The computer readable storage device of claim 11 further comprises:

a third storage section further stores operational instructions that, when executed by a second storage unit of the set of storage units, causes the second storage unit to:

receive a second encoded data share of the set of encoded data shares;

encode the second encoded data share using a third threshold based secret sharing scheme in accordance with third secret sharing parameters to produce a second set of encoded data sub-shares; and

store the second set of encoded data sub-shares in a set of memory devices of the second storage unit, wherein a threshold number of encoded data sub-shares of the second set of encoded data sub-shares is decodable to recover the second encoded data share.

14. The computer readable storage device of claim 13 , wherein the threshold number of encoded data sub-shares of the first set of encoded data sub-shares differs from the threshold number of encoded data sub-shares of the second set of encoded data sub-shares.

15. The computer readable storage device of claim 11 , wherein the first threshold based secret sharing scheme and the second threshold based secret sharing scheme utilize a common threshold based secret sharing function.

16. The computer readable storage device of claim 11 , wherein the first threshold based secret sharing scheme and the second threshold based secret sharing scheme utilize differing threshold based secret sharing functions.

17. The computer readable storage device of claim 11 , where the first storage section further stores operational instructions that, when executed by the computing device, cause the computing device to:

determine the first secret sharing parameters based on one or more of a number of storage units of the set of storage units, a sub-sharing capability of one or more storage units of the set of storage units, or a reliability level of one or more storage units of the set of storage units.

18. The computer readable storage device of claim 11 , where the second storage section further stores operational instructions that, when executed by the first storage unit, causes the first storage to:

determine the second secret sharing parameters based on one or more of a number of memory devices of the first storage unit, a reliability level of memory devices of the first storage unit, an available capacity level of memory devices of the memory devices of the first storage unit, or random selection.

19. The computer readable storage device of claim 11 , wherein the first threshold based secret sharing scheme is an all-or-nothing transform with Reed Solomon coding (AONT-RS) secret sharing scheme.

20. The computer readable storage device of claim 11 , wherein the first threshold based secret sharing scheme and the second threshold based secret sharing scheme are differing schemes from the group including an all-or-nothing transform with Reed Solomon coding (AONT-RS) secret sharing function, a Shamir secret sharing function, a Blakley secret sharing function, and a Rabin information dispersal algorithm (IDA) secret sharing function.

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 Nov 6, 2017
From: RESCH, JASON K.; ALNAFOOSI, AHMAD
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044039/0117 →
Continuity (4)
Continuation In Part 15427934 · Feb 8, 2017
Continuation 13959006 · Aug 5, 2013
Provisional Application 61711106 · Oct 8, 2012
Related Publication 20180074889A1 · Mar 15, 2018