Determining data redundancy in grid encoded data storage systems
First Claim
Patent Images
1. A computer-implemented method, comprising:
- generating a grid of shards, the grid of shards indexed by row and column and comprising a set of data shards and a set of derived shards, the set of derived shards comprising a set of horizontally-derived shards and a set of vertically-derived shards, the grid of shards based at least in part on a first redundancy coding scheme and a second redundancy coding scheme, the first redundancy coding scheme and the second redundancy coding scheme based at least in part on a minimum number of partitions associated with a set of data items stored in the grid of shards such that;
each shard of the grid of shards has a corresponding first row and corresponding first column and is configured such that;
the shard is reproducible from other shards associated with the first row and reproducible from other shards associated with the first column;
if the shard is a horizontally-derived shard of the set of horizontally-derived shards, the shard is reproducible based at least in part on a set of data shards associated with the first row using the first redundancy coding scheme; and
if the shard is a vertically-derived shard of the set of vertically-derived shards, the shard is reproducible based at least in part on a set of shards associated with the first column using the second redundancy coding scheme; and
each shard of the grid of shards has a corresponding partitioning of the shards of the grid of shards such that the shard is reproducible from each of at least three partitions that do not contain the shard, the partitioning including;
a first partition that contains a plurality of shards of the grid of shards with a row equal to the first row and a column different from the first column;
a second partition that contains a plurality of shards of the grid of shards with a column equal to the first column and a row different than the first row; and
a third partition that contains a plurality of shards of the grid of shards with a row different than the first row and a column different than the first column.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for encoding data in grid encoded data storage systems are described herein. Data is stored in a grid of shards using grid encoding techniques that store the data in a combination of data shards and derived shards. Because the data is redundantly encoded in the grid of shards, a plurality of distinct copies of the data are reproducible from the grid of shards where each distinct copy is reproducible from a non-overlapping set of shards of the grid of shards.
-
Citations
25 Claims
-
1. A computer-implemented method, comprising:
generating a grid of shards, the grid of shards indexed by row and column and comprising a set of data shards and a set of derived shards, the set of derived shards comprising a set of horizontally-derived shards and a set of vertically-derived shards, the grid of shards based at least in part on a first redundancy coding scheme and a second redundancy coding scheme, the first redundancy coding scheme and the second redundancy coding scheme based at least in part on a minimum number of partitions associated with a set of data items stored in the grid of shards such that; each shard of the grid of shards has a corresponding first row and corresponding first column and is configured such that; the shard is reproducible from other shards associated with the first row and reproducible from other shards associated with the first column; if the shard is a horizontally-derived shard of the set of horizontally-derived shards, the shard is reproducible based at least in part on a set of data shards associated with the first row using the first redundancy coding scheme; and if the shard is a vertically-derived shard of the set of vertically-derived shards, the shard is reproducible based at least in part on a set of shards associated with the first column using the second redundancy coding scheme; and each shard of the grid of shards has a corresponding partitioning of the shards of the grid of shards such that the shard is reproducible from each of at least three partitions that do not contain the shard, the partitioning including; a first partition that contains a plurality of shards of the grid of shards with a row equal to the first row and a column different from the first column; a second partition that contains a plurality of shards of the grid of shards with a column equal to the first column and a row different than the first row; and a third partition that contains a plurality of shards of the grid of shards with a row different than the first row and a column different than the first column. - View Dependent Claims (2, 3, 4, 5)
-
6. A system, comprising at least one computing device that implements one or more services, wherein the one or more services:
-
generate a grid of shards, the grid of shards; being indexed at least by a first index and a second index; comprising a set of data shards and a set of derived shards, each shard of the grid of shards; having a corresponding first index and a corresponding second index; being reproducible from other shards associated with the first index of the shard; and being reproducible from other shards associated with the second index of the shard; store the grid of shards; and reproduce a particular shard of the stored grid of shards from a plurality of shards of the stored grid of shards each including a first index different than the first index of the particular shard and a second index different than the second index of the particular shard. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-implemented method, comprising:
-
generating a grid of shards, the grid of shards indexed by at least a first index and a second index, the grid of shards comprising a set of data shards and a set of derived shards, wherein; each shard of the grid of shards has a corresponding first index and a corresponding second index and is configured such that the shard is reproducible from other shards associated with the first index and the shard is reproducible from other shards associated with the second index; and each shard of the grid of shards has a corresponding partitioning of the shards of the grid of shards such that the shard is reproducible from each of at least three partitions that do not contain the shard; storing the grid of shards; and reproducing a particular shard of the stored grid of shards from a partition of the at least three partitions that do not contain the shard. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A non-transitory computer-readable storage medium having stored thereon executable instructions that, when executed by one or more processors of a computer system, cause the computer system to at least:
-
generate a grid of shards, the grid of shards indexed by at least a first index and a second index, the grid of shards comprising a set of data shards and a set of derived shards, wherein; each shard of the grid of shards has a corresponding first index and a corresponding second index and is configured such that the shard is reproducible from other shards associated with the first index and the shard is reproducible from other shards associated with the second index; and each shard of the grid of shards has a corresponding partitioning of the shards of the grid of shards such that the shard is reproducible from each of at least three partitions that do not contain the shard; store the grid of shards; and reproduce a particular shard of the stored grid of shards based at least in part on the other shards associated with the first index. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification