Network coded wireless architecture

Wireless will be the dominant mode of network access in the future, yet, presently they are not pervasive, fast or reliable enough to realize the vision of an unwired world. Wireless mesh networks promise an attractive solution to these problems; cheap deployment, extended range and fast connectivity. While they have enjoyed limited success in providing low-cost low-speed Internet connectivity, they are ill-suited to meet the high throughput demands of applications such as high definition video, P2P file sharing, etc. Motivated by these problems, in this dissertation, we present a new wireless mesh network architecture built around network coding to significantly improve performance. This dissertation advocates a fundamental shift in how networks are designed. Instead of routers being constrained to simply storing and forwarding packets without modifications, it gives routers the freedom to code information, i.e. perform network coding. Routers can, when beneficial, xor packets, linearly combine symbols or even mix analog signals. Armed with this new functionality, we can, with novel algorithms, exploit the intrinsic characteristics of the wireless medium to deliver large throughput gains. We design three systems which embody this philosophy: COPE, ANC and MIXIT. COPE uses the ability to code packets to perform in-network compression by exploiting wireless broadcast and increases performance. ANC employs network coding of analog signals to exploit strategic interference, increasing concurrency and consequently throughput. Finally, MIXIT designs a symbol-level network coding technique to exploit wireless spatial diversity and perform opportunistic routing on high confidence symbols, increasing throughput without compromising end-to-end reliability. The approach of this dissertation is systems-oriented, though we provide theoretical analyses whenever it is tractable. We design, implement and deploy each of our systems in actual test-beds and evaluate their performance. Our experimental results show that network coding can deliver large performance improvements in practice, with gains ranging from a few percent to several-fold depending on the traffic mix and topology. Architecturally, the systems presented in this dissertation were the first to integrate network coding into the wireless network stack, showing that network coding can be made practical and an integral part of the network architecture. Philosophically, this dissertation advocates an inter-disciplinary approach to designing wireless networks. Research in wireless networks has largely proceeded in isolation, with the electrical engineers focusing on the physical and lower layers, while the computer scientists worked up from the network layer, with the packet being the only interface. This dissertation pokes a hole in this contract, and shows that employing network coding combined with richer information exchange between the layers can substantially increase network throughout. Through this work, we build a strong connection between theoretical network coding and wireless systems, designing new algorithms which strengthen the theory as well as delivering large gains in practice. Furthermore, it shows how, armed with the power of network coding, we can harness other theoretical ideas such as back-pressure routing and wireless co-operative diversity to improve performance, making an all-round case for network coding as a fundamental building block for future wireless mesh networks. (Copies available exclusively from MIT Libraries, Rm. 14-0551, Cambridge, MA 02139-4307. Ph. 617-253-5668; Fax 617-253-1690.)