Patent ID: 8341504

Claim:
A method of operating a computing device to receive packets and provide received packets to a network component, the method comprising: with a network interface circuit, receiving a first packet comprising a plurality of symbols; performing error checking on the first packet, the performing error checking on the first packet further comprising determining a probability of error for each symbol of the plurality of symbols in the first packet, the error checking being adapted to identify: a packet that passes the error checking and is reliable, a packet that passes the error checking and is unreliable, and a packet that fails the error checking; when the error checking indicates that the first packet has passed the error checking, providing at least a portion of the first packet to the network component; and when the error checking indicates that the first packet passes the error checking and is unreliable or that the first packet fails the error checking: receiving at least one second packet comprising a plurality of symbols; performing the error checking on the second packet, the performing the error checking on the second packet further comprising determining a probability of error for each symbol of the plurality of symbols in the second packet; combining at least the first packet and the second packet to form a combined packet, the combining further comprising: combining corresponding symbols in the at least the first packet and the second packet, the combining corresponding symbols further comprising: forming a weighted combination of symbols in the first packet and the second packet, the weighted combination being based on weighting each of the symbols in the first packet and the second packet in proportion to the determined probability of error for the symbol; and providing at least a portion of the combined packet to the network component.