No Symbol Left Behind: A Link-Layer Protocol for Rateless Codes

Recently, rateless codes like Raptor [25, 22], Strider [9], and Spinal codes [23] have introduced a promising approach to obtaining higher wireless throughput than fixed-rate codes, especially over time-varying channels. Rateless codes naturally process all the information available at the receiver corresponding to a packet, across different frame transmis- sions. Profitably using rateless codes in a wireless network, however, requires a link-layer protocol to coordinate between sender and receiver. This protocol needs to determine how much coded data should be sent before the sender pauses for feedback from the receiver. Without such feedback, an “open-loop” sender would not know when the packet has been decoded, but sending this feedback is not free and consumes a significant fraction of the packet transmission time. This paper develops RLP, a protocol that learns the probability distribution of the number of symbols required to decode a packet (the decoding CDF, and uses the learned distribution in a dynamic programming strategy to produce an optimal transmission schedule. Our experiments show that RLP reduces overhead by between 2.6x and 3.9x compared to 802.11-style ARQ and between 2.8x and 5.4x compared to 3GPP-style “Try-after-n” H-ARQ.