XCOR : Synergistic Interflow Network Coding and Opportunistic Routing

In the past few years, a plethora of new routing protocols have been proposed that improve the throughput of wireless mesh networks (WMNs) [2, 11, 10, 7, 5, 3]. Two of the building blocks shown to achieve significant performance benefits are opportunistic routing (OR) and interflow network coding (NC), both exploiting the broadcast nature of the wireless medium. In contrast to traditional routing which forwards packets along a fixed path from a source to a destination, OR opportunistically exploits multiple paths between the source and the destination. OR broadcasts the packet first and then decides the next hop among all neighbors that hear the packet successfully, thus providing more chances for a packet to make some progress towards the destination. Interflow network coding exploits the broadcast nature of the wireless medium by reducing the number of transmissions needed for forwarding packets belonging to different flows, and hence increases the “effective” capacity of the network. While either technique in isolation has been shown to significantly increase the throughput of WMNs, they also pose two intriguing questions: (1) Which of the two techniques performs better and in which scenarios, or, are gains from interflow NC applicable in scenarios where gains from OR are applicable, and vice versa?1 (2) Can we design a single protocol that exploits both techniques and always outperforms protocols based on either technique alone? While quantitative analysis of the first question appears quite challenging as conceivably the answer heavily depends on the specific topology and traffic scenarios, qualitative analysis suggests the two techniques can be synergistic if equipped in a single protocol. In general, interflow NC is expected to yield poor performance gain in highly lossy environments, since intermediate nodes will not likely have many coding opportunities. In contrast, OR is expected to be more effective in highly lossy environments, because it gives more than one chances for a packet to make some progress towards the destination, and hence can facilitate interflow NC by creating more coding opportunities. Conversely, the throughput gain of most OR protocols is reduced as the number of flows in the network increases; while more flows are likely to create more opportunities for interflow coding.