Claims Analysis
Total Claims: 26
Claim 1
Independent Claim
116 words
A method of reconstructing a data object that is transmitted from a remote source using a data carousel of erasure-encoded blocks, the erasure-encoded blocks being encoded in groups, wherein the erasure-encoded blocks of respective groups are transmitted non-contiguously, the method comprising the following steps: receiving the erasure-encoded blocks of the data carousel, the erasure-encoded blocks being encoded in groups, wherein the erasure-encoded blocks of respective groups are transmitted non-contiguously from the remote source; storing erasure-encoded blocks of the groups in secondary storage; the storing step including a step of segregating the erasure-encoded blocks into sets of groups within the secondary storage; decoding each set of groups after receiving the erasure-encoded blocks of the set of groups.
Claim 2
Independent Claim
116 words
A method of reconstructing a data object that is transmitted from a remote source using a data carousel of erasure-encoded blocks, the erasure-encoded blocks being encoded in groups, wherein the erasure-encoded blocks of respective groups are transmitted non-contiguously, the method comprising the following steps: receiving the erasure-encoded blocks of the data carousel, the erasure-encoded blocks being encoded in groups, wherein the erasure-encoded blocks of respective groups are transmitted non-contiguously from the remote source; storing erasure-encoded blocks of the groups in secondary storage; the storing step including a step of segregating the erasure-encoded blocks into sets of groups within the secondary storage; decoding each set of groups after receiving the erasure-encoded blocks of the set of groups.
Claim 3
Dependent Claim
28 words
A method as recited in claim 1 , further comprising a step of buffering a plurality of erasure-encoded blocks in primary memory before storing them in secondary storage.
Claim 4
Dependent Claim
54 words
A method as recited in claim 1 , further comprising a step of buffering a plurality of erasure-encoded blocks in primary memory buffers before storing the erasure-encoded blocks in secondary storage, wherein each primary memory buffer has a number of blocks equal to at least the number of groups in each set of groups.
Claim 5
Dependent Claim
38 words
A method as recited in claim 1 , further comprising a step of buffering any contiguously-received erasure-encoded blocks that are from a common set of groups in primary memory before storing the contiguously-received erasure-encoded blocks in secondary storage.
Claim 6
Dependent Claim
65 words
A method as recited in claim 1 , further comprising: buffering contiguously-received erasure-encoded blocks in a primary memory buffer as long as said contiguously-received erasure-encoded blocks are from a common set of groups; upon receiving a new erasure-encoded block from a set of groups other than said common set of groups, flushing the primary memory buffer to secondary storage before buffering the new erasure-encoded block.
Claim 7
Dependent Claim
76 words
A method as recited in claim 1 , further comprising: buffering each received erasure-encoded block in one of three primary memory buffers before storing the erasure-encoded blocks in secondary storage; wherein each primary memory buffer has a number of blocks equal to at least the number of groups in each set of groups; flushing each primary memory buffer after it contains a number of blocks equal to the number of groups in each set of groups.
Claim 8
Dependent Claim
36 words
A method as recited in claim 1 , further comprising: buffering received erasure-encoded blocks in a plurality of primary memory buffers corresponding respectively to different sets of groups before storing the erasure-encoded blocks in secondary storage.
Claim 9
Dependent Claim
50 words
A method as recited in claim 1 , further comprising: buffering received erasure-encoded blocks in a plurality of primary memory buffers corresponding respectively to different sets of groups before storing the erasure-encoded blocks in secondary storage; flushing each primary memory buffer to secondary storage when said primary buffer becomes full.
Claim 10
Dependent Claim
96 words
A method as recited in claim 1 , further comprising: buffering received erasure-encoded blocks in a primary memory buffer before storing the erasure-encoded blocks in secondary storage; while receiving, repeatedly selecting one set of groups and writing the erasure-encoded blocks of said set from the primary memory buffer to the determined location in the allocated secondary storage for the contiguous data blocks represented by the selected set of groups; wherein the selecting step comprises: if possible, selecting a set of groups having at least a predefined number of erasure-encoded blocks buffered in the primary memory buffer.
Claim 11
Dependent Claim
120 words
A method as recited in claim 1 , further comprising: buffering the received erasure-encoded blocks in a primary memory buffer before storing the erasure-encoded blocks in secondary storage; while receiving, repeatedly selecting one set of groups and writing the erasure-encoded blocks of said selected set from the primary memory buffer to the determined location in the allocated secondary storage for the contiguous data blocks represented by the selected set of groups; wherein the selecting step comprises: whenever possible, selecting a set of groups having at least a predefined number b of erasure-encoded blocks buffered in the primary memory buffer; wherein the primary memory buffer has a size of bc+b−c+1 blocks, and c is the number of groups in a set.
Claim 12
Dependent Claim
59 words
A method as recited in claim 1 , wherein the decoding step comprises: reading the set of groups of erasure-encoded blocks into primary memory; decoding said set of groups of erasure-encoded blocks to produce decoded blocks of the data object; replacing said set of groups of erasure-encoded blocks in secondary storage with the decoded blocks of the data object.
Claim 13
Independent Claim
119 words
A method comprising: reconstructing a data object on secondary storage, wherein the data object is transmitted from a remote source using a data carousel of erasure-encoded blocks, the erasure-encoded blocks being encoded in groups that represent contiguous data blocks of the data object, wherein the erasure-encoded blocks of respective groups are transmitted non-contiguously, the reconstructing comprising: allocating secondary storage for the data object and determining locations in the allocated secondary storage for the respective data blocks represented by sets of contiguous groups of erasure-encoded blocks; receiving the erasure-encoded blocks; storing erasure-encoded blocks of any particular set of groups at the determined location in the allocated secondary storage for the contiguous data blocks represented by the particular set of groups.
Claim 14
Independent Claim
119 words
A method comprising: reconstructing a data object on secondary storage, wherein the data object is transmitted from a remote source using a data carousel of erasure-encoded blocks, the erasure-encoded blocks being encoded in groups that represent contiguous data blocks of the data object, wherein the erasure-encoded blocks of respective groups are transmitted non-contiguously, the reconstructing comprising: allocating secondary storage for the data object and determining locations in the allocated secondary storage for the respective data blocks represented by sets of contiguous groups of erasure-encoded blocks; receiving the erasure-encoded blocks; storing erasure-encoded blocks of any particular set of groups at the determined location in the allocated secondary storage for the contiguous data blocks represented by the particular set of groups.
Claim 15
Dependent Claim
20 words
A method as recited in claim 12 , further comprising: decoding each set of groups after storing their erasure-encoded blocks.
Claim 16
Dependent Claim
81 words
A method as recited in claim 12 , further comprising: after receiving and storing the erasure-encoded blocks for a given set of groups, reading the given set of groups into primary memory from secondary storage; decoding the erasure-encoded blocks of the given set of groups to produce the data blocks represented by the given set of groups; replacing the erasure-encoded blocks of the given set of groups in secondary storage with the data blocks represented by the given set of groups.
Claim 17
Dependent Claim
34 words
A method as recited in claim 12 , the storing step further including a step of storing the erasure-encoded blocks of each set of groups in the order in which the blocks are received.
Claim 18
Dependent Claim
29 words
A method as recited in claim 12 , further comprising a step of buffering a plurality of the erasure-encoded blocks in primary memory before storing them in secondary storage.
Claim 19
Dependent Claim
55 words
A method as recited in claim 12 , further comprising a step of buffering a plurality of the erasure-encoded blocks in primary memory buffers before storing the erasure-encoded blocks in secondary storage, wherein each primary memory buffer has a number of blocks equal to at least the number of groups in each set of groups.
Claim 20
Dependent Claim
38 words
A method as recited in claim 12 , further comprising a step of buffering any contiguously-received erasure-encoded blocks that are from a common set of groups in primary memory before storing such contiguously-received erasure-encoded blocks in secondary storage.
Claim 21
Dependent Claim
65 words
A method as recited in claim 12 , further comprising: buffering contiguously-received erasure-encoded blocks in a primary memory buffer as long as the contiguously-received erasure-encoded blocks are from a common set of groups; upon receiving a new erasure-encoded block from a set of groups other than said common set of groups, flushing the primary memory buffer to secondary storage before buffering the new erasure-encoded block.
Claim 22
Dependent Claim
76 words
A method as recited in claim 12 , further comprising: buffering each received erasure-encoded block in one of three primary memory buffers before storing the erasure-encoded blocks in secondary storage; wherein each primary memory buffer has a number of blocks equal to at least the number of groups in each set of groups; flushing each primary memory buffer after it contains a number of blocks equal to the number of groups in each set of groups.
Claim 23
Dependent Claim
36 words
A method as recited in claim 12 , further comprising: buffering received erasure-encoded blocks in a plurality of primary memory buffers corresponding respectively to different sets of groups before storing the erasure-encoded blocks in secondary storage.
Claim 24
Dependent Claim
50 words
A method as recited in claim 12 , further comprising: buffering received erasure-encoded blocks in a plurality of primary memory buffers corresponding respectively to different sets of groups before storing the erasure-encoded blocks in secondary storage; flushing each primary memory buffer to secondary storage when said primary buffer becomes full.
Claim 25
Dependent Claim
96 words
A method as recited in claim 22 , further comprising: buffering received erasure-encoded blocks in a primary memory buffer before storing the erasure-encoded blocks in secondary storage; while receiving, repeatedly selecting one set of groups and writing the erasure-encoded blocks of said set from the primary memory buffer to the determined location in the allocated secondary storage for the contiguous data blocks represented by the selected set of groups; wherein the selecting step comprises: if possible, selecting a set of groups having at least a predefined number of erasure-encoded blocks buffered in the primary memory buffer.
Claim 26
Dependent Claim
120 words
A method as recited in claim 12 , further comprising: buffering the received erasure-encoded blocks in a primary memory buffer before storing the erasure-encoded blocks in secondary storage; while receiving, repeatedly selecting one set of groups and writing the erasure-encoded blocks of said selected set from the primary memory buffer to the determined location in the allocated secondary storage for the contiguous data blocks represented by the selected set of groups; wherein the selecting step comprises: whenever possible, selecting a set of groups having at least a predefined number b of erasure-encoded blocks buffered in the primary memory buffer; wherein the primary memory buffer has a size of bc+b−c+1 blocks, and c is the number of groups in a set.