Muriel Medard on Reliable Low-Latency Comms

 

How does RLNC make Steinwurf's products the holy grail for low latency?

RLNC is random linear network coding. It is a technology, developed primarily at MIT and CalTech. Uniquely, Steinwurf's solutions are built upon RLNC, to create optimum use of resources in networks - maximizing throughput and minimizing delay.

Can't I just over-provision?

RLNC is the only known optimal network-wide solution. Up until now companies have over-provisioned in order to achieve sufficient through-put and reliability, where over-provisioning uses excessive resources, causing cost inefficiencies. Over-provisioning is a really costly approach to solving network problems and will ultimately prove unsustainable, as it will render the solution providers uncompetitive.

So how does RLNC based FEC differ from other FEC (Forward Erasure Correction) codes?

Other schemes, like classical block, convolutional or rateless codes are structured and end-to-end. They operate either over predetermined grouping of data (block and rateless), often over long blocks (rateless codes) or with a fixed redundancy (convolutional). 

RLNC can instead be used with arbitrary lengths, with variable, instantly adaptive levels of redundancy, and in a sliding window mode of operation that is key to streaming and real-time, low-latency applications. 

RLNC can be used in a degenerate end-to-end block, convolutional or rateless format. But RLNC can also be recoded without needing to be decoded, so used as a network code rather than just as an end-to-end code, a feature that is unique to it.

fec-different-muriel-medard.png
decoding-muriel-medard.jpg

Is the decoding difficult? Is it liable to having pollution attacks?

The decoding is highly efficient, outperforming current state of the art structured codes. It is simple and highly parallelizable. It requires moderate size field that permit rapid arithmetic. Pollution attacks can be rapidly detected and any incorrect packets removed, either through traditional parity checks as in current networks, or through schemes that actively use RLNC to remove bad packets. 

Do I need a lot of state information?

No, RLNC requires no state information about network topology, as it does not change its operation according to it, unlike structured codes. The coefficients change dynamically and automatically as they traverse the network, they do not require cumulative information. The rate adaptation is for efficiency only, and also does not change the choice of coding scheme.