Patent ID: 7412641

Claim:
A method of transmitting data from a source to a destination over a communication channel wherein the data to be transmitted is arranged into an ordered set of input symbols, the method further comprising: designating input subsymbols of the data, wherein an input subsymbol is a portion or all of an input symbol and at least one input symbol is divided into two or more subsymbols such that each input subsymbol can be identified by an index unique within its input symbol; generating a plurality of output subsymbols from the input subsymbols, wherein an output subsymbol is generated from one or more input subsymbol using a value function and a set of associates, the set of associates identifying the input subsymbols to which the value function is applied, wherein at least one output subsymbol is a function of a plurality of input subsymbols of one input symbol, each input subsymbol being identified by different indices within that one input symbol; generating a plurality of output symbols from the generated plurality of output subsymbols, wherein the plurality of output symbols is such that, for at least one possible set of received output symbols of equal size to the encoded input symbols, additional received output symbols are required to completely decode received output symbols to regenerate the encoded input symbols; and transmitting the plurality of output symbols over the communication channel, such that a recipient can regenerate the ordered set of input symbols from some or all of the plurality of output symbols.