×

Systematic encoding and decoding of chain reaction codes

  • US RE43,741 E1
  • Filed: 11/17/2011
  • Issued: 10/16/2012
  • Est. Priority Date: 10/05/2002
  • Status: Active Grant
First Claim
Patent Images

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;

    computing systematic keys for the set of input symbols;

    generating, from the set of input symbols and corresponding systematic keys, a plurality of intermediate input symbolsencoding the plurality of intermediate input symbols into one or more non-systematic output symbols, wherein one or more intermediate input symbols are encoded into one non-systematic output symbol, 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;

    wherein computing systematic keys for the plurality of input symbols comprises;

    (i) computing L unique keys D(0)-D(L−

    1), wherein L is a predefined number;

    (ii) constructing a decoding matrix having K columns and L rows, wherein K corresponds to the number of input symbols, and wherein each row corresponds to a function of the key D(j), wherein j is equal to a value between 0 and L−

    1;

    (iii) initializing a set S to contain no symbols;

    (iv) applying chain reaction decoding to the decoding matrix to identify an output node to be added to set S;

    (v) adding the output node to set S;

    (vi) updating the decoding matrix to remove the output node;

    (v) comparing size of set S to K;

    (vi) if the size of set S is less than K, repeating steps (iv)-(v); and

    (vii) if the size of set S is equal to K, sorting the elements in set S from smallest to largest and using the sorted set S to create the systematic keys.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×