Wireless communications over error-prone, intermittent networks are challenging, and prevent many applications from working properly. Network coding has been successful in providing low-cost robust communications in such challenged wireless networks. Nevertheless, existing schemes do not take into account constraints from applications, such as delay for streaming applications and for TCP timeouts, fairness, and data reordering. This study aims to bridge the gap between coding protocols and applications. We consider two types of important applications, multicast streams and unicast TCP. In the context of multicast streams, we propose a novel coding scheme, Pipeline Coding. Compared to the conventional batch coding scheme, our analysis shows that Pipeline Coding improves both packet delivery ratio (PDR) and end-to-end delay. Pipeline Coding is also shown via simulations and testbed experiments to improve the throughput, and significantly reduce coding delay. In addition, Pipeline Coding is tested in a heterogeneous VANET testbed, where vehicles upload streams through WiMAX and WiFi links via roadside access points (AP) and base stations (BS) to a static client. The experiment results demonstrate that Pipeline Coding not only achieves better PDR but also utilizes heterogeneous links without explicit scheduling.
For TCP over static, error-prone environments, a combined intra-/inter-flow coding scheme, ComboCoding, is proposed. ComboCoding combines inter-flow and intra-flow coding and features an adaptive redundancy control to provide robust, fair TCP communication in challenged wireless networks. Simulation results show that TCP with ComboCoding delivers higher throughput than other coding options in high loss scenarios. Moreover, we study the behavior of multiple TCP sessions intersecting and interfering with each other in the same ad hoc network. The results show that ComboCoding consistently provides better fairness among multiple co-existing TCP sessions when compared with TCP without coding.
For TCP over challenged mobile ad-hoc networks (MANETs), we propose a network coded multipath scheme for conventional TCP--CodeMP. CodeMP adapts to frequent link changes in MANET and requires no explicit control messages. The scheme exploits multiple-path redundancy and maintains total transparency to transport layer protocols. The proposed coding scheme is based on three components: (1) random linear coding scheme with adjustable redundancy, (2) multipath routing, (3) ACK Piggy coding. Simulation results show that in an extreme MANET scenario where two TCP sessions co-exists and nodes move as fast as 25 m/s with up to 40% packet error rate (an environment in which regular TCP collapses completely), CodeMP achieves at least 700Kbps aggregate TCP goodput, with a Jain's fairness index of 0.99.