  Backpressure-based adaptive routing algorithms where each packet is routed
along a possibly different path have been extensively studied in the
literature. However, such algorithms typically result in poor delay performance
and involve high implementation complexity. In this paper, we develop a new
adaptive routing algorithm built upon the widely-studied back-pressure
algorithm. We decouple the routing and scheduling components of the algorithm
by designing a probabilistic routing table which is used to route packets to
per-destination queues. The scheduling decisions in the case of wireless
networks are made using counters called shadow queues. The results are also
extended to the case of networks which employ simple forms of network coding.
In that case, our algorithm provides a low-complexity solution to optimally
exploit the routing-coding tradeoff.
