Software Error Correction over IP

These code could be Block or Cyclic codes, and are more appropriate for streaming data. FEC (Forward Error Correction) Codes use could be, Parity, linear block codes such as Hamming codes, BCH codes such as Reed-Solomon, Golay code, a binary Goppa code. Also Convolutional codes such as Turbo Codes, or my own ECIP codes designed for Low Latency.

Luigi Rizzo , Software FEC in computer communications

MCLv3: an Open Source Implementation of the ALC and NORM Reliable Multicast Protocols

Rateless Erasure Codes over IP

A Rateless code which is a form of Error Correction. It's also known at LT Code, the Luby Transform (Michael Luby), Fountain Codes (from Digital Fountain), network codes, Tornado codes, Online Codes, and Raptor codes.

From Microsofts site "network coding. Instead of distributing the blocks of the file, peers produce linear combinations of the blocks they already hold. Such combinations are distributed together with a tag that describes the parameters in the combination. Any peer can generate new unique combinations from the combinations it already has. When a peer has enough independent combinations, it can decode and build the original file."

One of the problems is the file being sent can not be decoded back into usable data until the very end. Data from all over the file is send out of sequence, so the first byte of a file will not be sent first but someone randomly in the transmission. It's a really neat concept, but a mind bender.

Rateless codes,

Digital Fountain, Inc.

Petar Maymounkov , Online Codes

Microsoft - Avalanche: File Swarming with Network Coding

For more Explanation

See Error correction and detection at Wikipedia.