IP Library › Granted Patent US 10,922,173
Granted Patent B2
US 10,922,173 · App. 16/296,832 · Granted Feb 16, 2021

Fault-tolerant distributed digital storage

Inventors: Toritseju Okpotse (Kingston, CA); Shahram Yousefi (Scarborough, CA)
Assignee: Queen's University at Kingston
G06F11/1076H03M13/373H03M13/3761H03M13/458
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,922,173
App. No.
16/296,832
Granted
Feb 16, 2021
Kind
B2
Abstract

Described are fountain code constructs that solve multiple problems in distributed storage systems by providing systematic encoding, reduced repair locality, reduced encoding/decoding complexity, and enhanced reliability. Embodiments are suitable for the storage of large files and exhibit performance superior to existing codes, and demonstrate reduced implementation complexity and enhanced symbol repair locality.

Claims (45)

1. A method for operating a distributed digital storage system comprising at least one processor and a plurality of digital storage devices, the method comprising:

using the at least one processor to direct storing of a set of k source data symbols, wherein k is an integer greater than 1, on the plurality of digital storage devices by:

generating a plurality of encoding symbols from the set of k source data symbols using a Fountain encoder;

wherein generating the plurality of encoding symbols comprises systematic encoding via concatenation of the k source data symbols with a number of non-systematic symbols;

wherein each of the non-systematic symbols comprises a subset of d source data symbols selected uniformly at random from the set of k source data symbols and the Fountain encoded symbols are calculated as an exclusive-or combination of the uniformly selected subset of d source data symbols;

wherein a distribution for d=2,3, . . . k, comprises a multi-objective optimization performed in the following steps:

(i) determining probability of failure P fail of a Belief Propagation decoder;

(ii) maximizing the probability of successful decoding based on P fail ;

(iii) minimizing an average encoding/decoding complexity to obtain an objective value ƒ*.

(iv) minimizing an average repair locality subject to a constraint based on the objective value ƒ* for an expected encoding degree E(Ω(d));

storing the plurality of encoding symbols over the plurality of digital storage devices;

wherein the steps (i)-(iv) enable:

determining a minimum repair locality within the set of the k source data symbols; and

reducing computational complexity during decoding of a random subset of the encoded symbols by using a low complexity decoder.

2. The method of claim 1 , comprising a Fountain erasure encoding algorithm that uses a pre-determined distribution over an alphabet 1, . . . ,k.

3. The method of claim 2 , wherein the pre-determined distribution is such that d=1 has a probability of zero, and d=2,3, . . . k, have probabilities that are determined via a numerical optimization.

4. The method of claim 2 , wherein average repair locality is determined via a Fountain code locality probability function.

5. The method of claim 1 wherein a repair locality of a k source data symbol is defined as a least encoding degree of output neighbors of the k source data symbol.

6. The method of claim 1 , wherein the systematic encoding yields a sparsely-connected bipartite graph.

7. The method of claim 1 , where the low-complexity decoder is a Belief Propagation (BP) decoder over a binary erasure channel.

8. The method of claim 1 , wherein the Fountain encoder comprises generating encoding symbols that are BP-decodable.

9. Programmed media for use with a distributed digital storage system comprising at least one processor and a plurality of digital storage devices, comprising:

a code stored on non-transitory computer readable storage media compatible with the at least one processor, the code containing instructions to direct the at least one processor to store a set of k source data symbols, wherein k is an integer greater than 1, on the plurality of digital storage devices by:

generating a plurality of encoding symbols from the set of k source data symbols using a Fountain encoder;

wherein generating the plurality of encoding symbols comprises systematic encoding via concatenation of the k source data symbols with a number of non-systematic symbols;

wherein each of the non-systematic symbols comprises a subset of d source data symbols selected uniformly at random from the set of k source data symbols and the Fountain encoded symbols are calculated as an exclusive-or combination of the uniformly selected subset of d source data symbols;

wherein a distribution for d=2,3, . . . k, comprises a multi-objective optimization performed in the following steps:

(i) determining probability of failure P fail of a Belief Propagation decoder;

(ii) maximizing the probability of successful decoding based on P fail ;

(iii) minimizing an average encoding/decoding complexity to obtain an objective value ƒ*.

(iv) minimizing an average repair locality subject to a constraint based on the objective value ƒ* for an expected encoding degree E(Ω(d));

wherein the steps (i)-(iv) enable:

determining a minimum repair locality within the set of the k source data symbols; and

reducing computational complexity during decoding of a random subset of the encoded symbols by using a low complexity decoder.

10. The programmed media of claim 9 , comprising a Fountain erasure encoding algorithm that uses a pre-determined distribution over an alphabet 1, . . . ,k.

11. The programmed media of claim 10 , wherein the pre-determined distribution is such that d=1 has a probability of zero, and d=2,3, . . . k, have probabilities that are determined via a numerical optimization.

12. The programmed media of claim 10 , wherein average repair locality is determined via a Fountain code locality probability function.

13. The programmed media of claim 9 , wherein a repair locality of a source data symbol is defined as a least encoding degree of output neighbors of the source data symbol.

14. The programmed media of claim 9 , wherein the systematic encoding yields a sparsely-connected bipartite graph.

15. The programmed media of claim 9 , where the low-complexity decoder is a Belief Propagation (BP) decoder over a binary erasure channel.

16. The programmed media of claim 9 , wherein the Fountain encoder comprises generating encoding symbols that are BP-decodable.

17. A distributed digital storage system comprising:

at least one processor;

a plurality of digital storage devices; and

the programmed non-transitory computer readable storage media of claim 9 .

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2024
From: QUEEN'S UNIVERSITY AT KINGSTON
To: YOUSEFI, SHAHRAM; OKPOTSE, TORITSEJU
Reel/Frame 067914/0517 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2019
From: OKPOTSE, TORITSEJU; YOUSEFI, SHAHRAM
To: QUEEN'S UNIVERSITY AT KINGSTON
Reel/Frame 048893/0618 →
Continuity (2)
Provisional Application 62642070 · Mar 13, 2018
Related Publication 20190286521A1 · Sep 19, 2019