In recent years, network coding has emerged as an innovative method that helps a wireless network approach its maximum capacity, by combining multiple unicasts in one broadcast. However, the majority of research conducted in this area is yet to fully utilize the broadcasting nature of wireless networks, and still assumes fixed route between the source and destination that every packet should travel through. This assumption not only limits coding opportunities, but can also cause buffer overflow in some specific intermediate nodes. Although some studies considered scattering of the flows dynamically in the network, they still face some limitations. This paper explains pros and cons of some prominent research in network coding and proposes a Flexible and Opportunistic Network Coding scheme (FlexONC) as a solution to such issues. Furthermore, this research discovers that the conditions used in previous studies to combine packets of different flows are overly optimistic and would affect the network performance adversarially. Therefore, we provide a more accurate set of rules for packet encoding. The experimental results show that FlexONC outperforms previous methods especially in networks with high bit error rate, by better utilizing redundant packets spread in the network.
Opportunistic routing is a new routing paradigm that takes advantage of the broadcast characteristic of a wireless channel for data delivery in a wireless mesh network. Network coding has recently emerged as a new coding paradigm that can significantly improve the throughput performance of a WMN. In this article we explore the combination of opportunistic routing and network coding for improving the performance of a WMN. We first review existing opportunistic routing and coding-aware routing protocols, respectively, classify these protocols based on different criteria, and discuss their merits and drawbacks. We then propose a coding-aware opportunistic routing mechanism that combines hop-by-hop opportunistic forwarding and localized inter-flow network coding for improving the throughput performance of a WMN. Through opportunistic forwarding, CORE allows the next-hop node with the most coding gain to continue the packet forwarding. Through localized network coding, CORE attempts to maximize the number of packets that can be carried in a single transmission. Simulation results show that CORE can significantly improve the throughput performance of a WMN as compared with existing protocols. Energy saving is important for many wireless devices. In a multi-hop wireless network with multiple sessions, XOR network coding can be applied to opposite traffic flows so as to reduce the number of packet transmissions, which in turn reduce transmission energy. Such a change in packet forwarding, however, impacts the design of traffic routing. Traditional routing algorithms, which typically aim at finding shortest paths between source and destination nodes, may no longer work well. In this paper, an iterative routing algorithm is proposed, which favors paths that can provide more pair-wise XOR network coding opportunities. Simulation results show that this algorithm integrates well with the XOR forwarding method and can reduce energy cost significantly when compared with traditional shortest-path routing, with and without network coding.