Brief announcement: virtual mobile nodes for mobile ad hoc networks

Devising algorithms for mobile networks is hard. It is important, then, to develop techniques and abstractions to ease the design of algorithms for mobile networks. We propose one such abstraction, the Virtual Mobile Node abstraction. The key difficulty in mobile networks is the completely unpredictable motion of the nodes. This complication is, of course, unavoidable: the defining feature of a mobile network is that the nodes, in fact, move. The other difficulty is the unpredictable availability of nodes that continually join the system and fail. The motion, however, also presents an opportunity: if mobile nodes moved in a useful way, algorithms could take advantage of the motion, performing even more efficiently than in static networks. This idea is illustrated by Hatzis et al. in [2], which defines the notion of a compulsory protocol, one that requires a subset of the mobile nodes to move in a specific manner. They present an efficient compulsory protocol for leader election. The routing protocols of Chatzigiannakis et al. [1] and Li et al. [3] provide further evidence that compulsory protocols are simple and efficient. It may be difficult, however, to ensure that mobile nodes move as desired, especially for highly dynamic systems where nodes may fail or be diverted from the prescribed path. Thus our objective is to retain the effectiveness of compulsory protocols without imposing requirements on the motion of the nodes. We propose executing algorithms on virtual mobile nodes, abstract nodes that move in a predetermined, predictable manner. Virtual mobile nodes (VMNs) are simulated by real nodes in the network. The motion of a VMN is determined in advance, and is known to the programs executing on the VMNs. For example, a VMN may traverse the plane in a regular pattern, or it may perform a pseudorandom walk. The motion of the VMNs may be completely uncorrelated with the motion of the real nodes: even if all the real nodes are moving in one direction, the virtual nodes may travel in the opposite direction. ∗ For a full version of this paper, see [4]. This work is supported in part by NSF grants CCR-0098305, ITR-0121277, 64961-CS, 9988304, 0311368, 9984774 and 0098305, AFSOR #F49620-00-1-0097, DARPA #F33615-01-C-1896, NTT MIT9904-12,Texas Advanced Research Program 000512-0091-2001, an IBM faculty award, the Israeli Ministry of Defense and Ministry of Trade and Industry. Copyright is held by the author/owner. PODC’04, July 25–28, 2004, St. Johns, Newfoundland, Canada. ACM 1-58113-802-4/04/0007. This abstraction simplifies the solution of many problems. VMNs can be used to route message, using compulsory protocols devised by Chatzigiannakis et al. [1]). Similarly, VMNs can be used to collect and evaluate data in a sensor network, or to implement group communication services by collecting and ordering messages. We present the Mobile Point Emulator, a new algorithm that implements robust VMNs. The main idea of the algorithm is to allow real nodes traveling near the location of a VMN to assist in emulating the VMN. In order to achieve robustness, the algorithm replicates the state of a virtual node at a number of real mobile nodes. As the execution proceeds, the algorithm continually modifies the set of replicas so that they always remain near the virtual node. We use a replicated state machine approach, augmented to support joins, leaves, and recoveries, to maintain the consistency of the replicas. As long as the path of the virtual node travels through dense areas of the network, the virtual node does not fail. If a VMN does fail, it can recover when it again reenters a dense area. The VMN framework introduces new horizons for further research. One path of investigation is to devise further applications for the VMN abstraction. While we have begun to develop some basic protocols based on VMNs that are simpler and more intuitive than traditional solutions, much analysis and evaluation remain. Another significant path of investigation is to develop improved VMN implementations. In this paper we have assumed that the path of a VMN is fixed in advance, and the set of VMNs is fixed in advance. In many cases, this is not only sufficient, but in fact advantageous, as the location of a VMN can be known a priori. However, for some applications it would be useful if the path of the VMN could be determined on-the-fly. In addition, long-term robustness of the VMN abstraction could be improved if the virtual nodes were self-stabilizing. We believe that with a few modifications, the Mobile Point algorithm can be made self-stabilizing. Finally, the correctness of the Mobile Point Emulator depends on relatively strong assumptions about the local communication among the mobile nodes. We would like to better understand the feasibility of the current model, and also to develop versions of the algorithm that rely on weaker network models.