Systematic encoding and decoding of chain reaction codes
First Claim
1. A method of encoding data into a chain reaction code having systematic output symbols and non-systematic output symbols, the method comprising:
- generating, from the data, a set of input symbols, the input symbols comprising systematic output symbols; and
generating, from the set of input symbols, one or more non-systematic output symbols, wherein each of the one or more non-systematic output symbols is selected from an alphabet of non-systematic output symbols, and wherein each non-systematic output symbol is generated as a function of one or more of the input symbols, wherein any subset of the set of input symbols is recoverable from (i) a predetermined number of non-systematic output symbols, or (ii) a combination of (a) input symbols which are not included in the subset of input symbols that are to be recovered and (b) one or more of the non-systematic output symbols.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of encoding data into a chain reaction code includes generating a set of input symbols from input data. Subsequently, one or more non-systematic output symbols is generated from the set of input symbols, each of the one or more non-systematic output symbols being selected from an alphabet of non-systematic output symbols, and each non-systematic output symbol generated as a function of one or more of the input symbols. As a result of this encoding process, any subset of the set of input symbols is recoverable from (i) a predetermined number of non-systematic output symbols, or (ii) a combination of (a) input symbols which are not included in the subset of input symbols that are to be recovered, and (b) one or more of the non-systematic output symbols.
43 Citations
38 Claims
-
1. A method of encoding data into a chain reaction code having systematic output symbols and non-systematic output symbols, the method comprising:
-
generating, from the data, a set of input symbols, the input symbols comprising systematic output symbols; and
generating, from the set of input symbols, one or more non-systematic output symbols, wherein each of the one or more non-systematic output symbols is selected from an alphabet of non-systematic output symbols, and wherein each non-systematic output symbol is generated as a function of one or more of the input symbols, wherein any subset of the set of input symbols is recoverable from (i) a predetermined number of non-systematic output symbols, or (ii) a combination of (a) input symbols which are not included in the subset of input symbols that are to be recovered and (b) one or more of the non-systematic output symbols. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of decoding a chain reaction code having systematic output symbols and non-systematic output symbols into a set of input symbols, the input symbols comprising data which is sought, the method comprising:
-
providing a first subset of the set of input symbols, the first subset of input symbols comprising one or more systematic output symbols;
providing one or more non-systematic output symbols, wherein each non-systematic output symbol is selected from an alphabet of non-systematic output symbols, and wherein each non-systematic output symbol is generated as a function of one or more of the input symbols; and
recovering a remaining subset of the input symbols comprising one or more input symbols not included in the first set of input symbols, the remaining subset of input symbols recovered from;
(i) a predetermined number of non-systematic output symbols;
or(ii) a combination of (a) one or more input symbols from the first subset, and (b) one or more non-systematic output symbols. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A method of processing data using chain reaction codes, the method comprising:
-
generating, from the data, a set of input symbols, the input symbols comprising systematic output symbols;
generating, from the set of input symbols, one or more non-systematic output symbols, wherein each of the one or more non-systematic output symbols is selected from an alphabet of non-systematic output symbols, and wherein each non-systematic output symbol is generated as a function of one or more of the input symbols;
receiving a first subset of the set of input symbols, the first subset of input symbols comprising one or more systematic output symbols;
receiving one or more non-systematic output symbols, wherein each non-systematic output symbol is selected from an alphabet of non-systematic output symbols, and wherein each non-systematic output symbol is generated as a function of one or more of the input symbols; and
recovering a remaining subset of the input symbols comprising one or more input symbols not included in the first set of input symbols, the remaining subset of input symbols recovered from;
(i) a predetermined number of non-systematic output symbols;
or(ii) a combination of (a) one or more input symbols from the first subset, and (b) one or more non-systematic output symbols. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
-
26. An encoder configured to encode a set of input data into a chain reaction code, the chain reaction code including systematic output symbols and non-systematic output symbols, the encoder comprising:
-
an input symbol generator coupled to receive the set of input data and operable to output, in response, one or more input symbols;
a systematic key generator operable to generate a systematic key corresponding to each input symbol;
a non-systematic key generator operable to generate one or more non-systematic keys; and
a systematic encoder coupled to receive the one or more input symbols, the systematic keys, and the non-systematic keys and to output, in response, one or more non-systematic keys and one or more input symbols, wherein the output input symbols comprise systematic output symbols. - View Dependent Claims (27, 28)
-
-
29. An decoder configured to decode a set of chain reaction codes, the chain reaction code including one or more non-systematic output symbols and one or more systematic output symbols, the decoder comprising:
-
a non-systematic key generator configured to generate a set of non-systematic keys for each acquired non-systematic output symbols;
a systematic key generator configured to regenerate one or more systematic keys;
a systematic decoder coupled to receive the one or more systematic output symbols, the one or more systematic output symbols, the systematic keys, and the non-systematic keys, and to output, in response, one or more input symbols. - View Dependent Claims (30, 31)
-
-
32. A computer program product, stored on a computer readable medium, for encoding data into a chain reaction code, the chain reaction code including systematic output symbols and non-systematic output symbols, the computer program product comprising:
-
instruction code to generate, from the data, a set of input symbols, the input symbols comprising systematic output symbols; and
instruction code to generate, from the set of input symbols, one or more non-systematic output symbols, wherein each of the one or more non-systematic output symbols is selected from an alphabet of non-systematic output symbols, and wherein each non-systematic output symbol is generated as a function of one or more of the input symbols, wherein any subset of the set of input symbols is recoverable from (i) a predetermined number of non-systematic output symbols, or (ii) a combination of (a) input symbols which are not included in the subset of input symbols that are to be recovered and (b) one or more of the non-systematic output symbols. - View Dependent Claims (33, 34)
-
-
35. A computer program product, stored on a computer readable storage medium, for decoding a chain reaction code into a set of input symbols, the chain reaction code including systematic output symbols and non-systematic output symbols, the input symbols comprising data which is sought, the computer program product comprising:
-
instruction code to provide a first subset of the set of input symbols, the first subset of input symbols comprising one or more systematic output symbols;
instruction code to provide one or more non-systematic output symbols, wherein each non-systematic output symbol is selected from an alphabet of non-systematic output symbols, and wherein each non-systematic output symbol is generated as a function of one or more of the input symbols; and
instruction to recover a remaining subset of the input symbols comprising one or more input symbols not included in the first set of input symbols, the remaining subset of input symbols recovered from;
(i) a predetermined number of non-systematic output symbols;
or(ii) a combination of (a) one or more input symbols from the first subset, and (b) one or more non-systematic output symbols. - View Dependent Claims (36, 37, 38)
-
Specification