Analysis of link reversal routing algorithms for mobile ad hoc networks

  • Authors:
  • Costas Busch;Srikanth Surapaneni;Srikanta Tirthapura

  • Affiliations:
  • Rensselaer Polytechnic Inst., Troy, NY;Rensselaer Polytechnic Inst., Troy, NY;Iowa State University, Ames, IA

  • Venue:
  • Proceedings of the fifteenth annual ACM symposium on Parallel algorithms and architectures
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Link reversal algorithms provide a simple mechanism for routing in mobile ad hoc networks. These algorithms maintain routes to any particular destination in the network, even when the network topology changes frequently. In link reversal, a node reverses its incident links whenever it loses routes to the destination. Link reversal algorithms have been studied experimentally and have been used in practical routing algorithms, including [8].This paper presents the first formal performance analysis of link reversal algorithms. We study these algorithms in terms of work (number of node reversals) and the time needed until the network stabilizes to a state in which all the routes are reestablished. We focus on the full reversal algorithm and the partial reversal algorithm, both due to Gafni and Berstekas [5]; the first algorithm is simpler, while the latter has been found to be more efficient for typical cases. Our results are as follows:(1) The full reversal algorithm requires O(n2) work and time, where n is the number of nodes which have lost the routes to the destination.(2) The partial reversal algorithm requires O(n • a* + n2) work and time, where a* is a non-negative integer which depends on the state of the network. This bound is tight in the worst case, for any a*.(3) There are networks such that for every deterministic link reversal algorithm, there are initial states which require requires ω(n2) work and time to stabilize. Therefore, surprisingly, the full reversal algorithm is asymptotically optimal in the worst case, while the partial reversal algorithm is not, since a* can grow arbitrarily large.