Summary: | Fulcrum Random Linear Network Coding (RLNC) combines outer coding in a large Galois Field, e.g., <inline-formula> <tex-math notation="LaTeX">$GF(2^{8})$ </tex-math></inline-formula>, with inner coding in <inline-formula> <tex-math notation="LaTeX">$GF(2)$ </tex-math></inline-formula> to flexibly trade off the strong protection (low probability of linear dependent coding coefficients) of <inline-formula> <tex-math notation="LaTeX">$GF(2^{8})$ </tex-math></inline-formula> with the low computational complexity of <inline-formula> <tex-math notation="LaTeX">$GF(2)$ </tex-math></inline-formula>. However, the existing Fulcrum RLNC approaches are generation based, leading to large packet delays due to the joint processing of all packets in a generation in the encoder and decoder. In order to avoid these delays, we introduce Fulcrum Sliding Window (FSW) coding. We introduce two flavors of FSW: Fulcrum Non-systematic Sliding Window (FNSW), which divides a given generation into multiple partially overlapping blocks, and Fulcrum Systematic Sliding Window (FSSW), which intersperses coded packets among the uncoded (systematic) transmission of the source packets in a generation. Our extensive evaluations indicate that FSSW substantially reduces the in-order packet delay (for moderately large generation and window sizes down to less than one fourth) and more than doubles the encoding and decoding (computation) throughput compared to generation-based Fulcrum.
|