Erasure Correcting Codes

Erasure correcting codes find their main applications in lossy network or storage networks. As a simple example imagine we wanted to send 5 packets. However, due to packet loss only 4 packets arrive. The receiver will now have to either 1) request a retransmissions of the lost packet or 2) possible drop the received 4 packets since the information is incomplete.

With an ECC additional redundancy packets can be created and added to the transmission. These have the property that any k out of n packets will be sufficient to reconstruct the original data. Going back to our previous example we could choose k=5 and n=8. Now we would send additional 3 packets but gain robustness, since any 5 out of the 8 packets will be sufficient to reconstruct the original data.

Traditional ECC codes work over a block of packets. The kodo-slide library implements a sliding window code.

Sliding Window

Encoding data using a sliding window is a novel approach to ECC. It has a number of interesting benefits over using traditional block code. To learn more you can find details here:


This project is still in development stage which means that it is undergoing significant changes and development.