  We propose application-layer coding schemes to recover lost data in
delay-sensitive uplink (sensor-to-gateway) communications in the Internet of
Things. Built on an approach that combines retransmissions and forward erasure
correction, the proposed schemes' salient features include low computational
complexity and the ability to exploit sporadic receiver feedback for efficient
data recovery. Reduced complexity is achieved by keeping the number of coded
transmissions as low as possible and by devising a mechanism to compute the
optimal degree of a coded packet in O(1). Our major contributions are: (a) An
enhancement to an existing scheme called windowed coding, whose complexity is
greatly reduced and data recovery performance is improved by our proposed
approach. (b) A technique that combines elements of windowed coding with a new
feedback structure to further reduce the coding complexity and improve data
recovery. (c) A coded forwarding scheme in which a relay node provides further
resilience against packet loss by overhearing source-to-destination
communications and making forwarding decisions based on overheard information.
