Wireless ad-hoc networks consist solely of cheap, mobile nodes that operate in the absence of expensive fixed infrastructure such as base stations. In order to save energy, increase data rate, or improve robustness, some nodes may act as helper nodes, relaying some or all of the information. In the simplest form of relaying, data packets are forwarded node-by-node in a manner akin to a fire bucket brigade. In more advanced methods, such as those considered in this research, several nodes can cooperate to forward information. The key design questions are two-fold. First is the design of cooperative communication techniques, i.e., physical-layer approaches for relaying information from one set of nodes to the next. Second is routing, i.e., identifying which of the available nodes should participate in the transmission and what system resources (time, energy, bandwidth) should be allocated to each.
This research analyzes interconnections between these two key questions, treated separately in most prior work. We consider the routing problem when rateless codes are employed at the physical layer. Such codes allow receiving nodes to accumulate mutual information (instead of just energy) from multiple transmitting nodes. This yields greater network robustness and efficiency. The research investigates the effect of interference, which automatically arises when multiple messages are being transmitted simultaneously. By using stochastic network optimization, optimum resource allocation can be provided without the need for centralized knowledge of all states of nodes and propagation channels. Cooperative transmission techniques based on a hybrid of network-coding and compute-and-forward, their rateless variants, and application to cooperative routing are investigated as well. The concepts are validated through experiments.