Patent ID: 7711068

Claim:
A decoder for decoding output symbols received over a communications channel wherein the output symbols represent data sent by one or more transmitters, the decoder comprising: a receiver input for receiving output symbols, wherein the encoded output symbols can be received in an order independent of the order of encoded output symbols previously received; memory for storing output symbols received at the receiver input; a key generator that generates corresponding keys for the received output symbols by extracting or deducing keys from the particular output symbols received, if corresponding keys are not already available to the decoder; dynamic decoder logic that decodes, from at least some of the received output symbols and their corresponding keys, to recover a first set of input symbols and at least some redundant symbols used in the creation of a first subset of the encoded output symbols, the dynamic decoder being dynamic in that it can decode symbols generated by an encoder where the number of possible output symbols is independent of the number of input symbols encoding the data sent by the one or more transmitters; and static decoder logic that decodes, from at least some of the redundant symbols, additional input symbols not decoded by the dynamic decoder logic, to recover a second set of input symbols used in the creation of a second subset of the encoded output symbols that were not decoded by the dynamic decoder logic.