MERIT: A Unified Framework for Routing Protocol Assessment in Mobile Ad Hoc Networks Andras ´ Farago´
Violet R. Syrotiuk
Department of Computer Science University of Texas at Dallas Richardson, Texas 75083-0688
Department of Computer Science University of Texas at Dallas Richardson, Texas 75083-0688
[email protected]
[email protected] In this paper we focus on the assessment of routing protocols in mobile ad hoc networks (manets). A manet is a self-organizing collection of mobile wireless nodes without supporting infrastructure. The study of these networks is already mature, dating back to as early as the 1970's. The fundamental problem of routing in a manet has received substantial attention resulting in numerous protocols (some of which appear in the recent book [12]) with many more protocols in the literature. The research has been vibrant, yielding protocols that span the range of pro-active to reactive,
at to hierarchical, geographic to non-geographic, and hybrids inbetween.
ABSTRACT
MERIT is a framework to assess routing protocols in mobile ad hoc networks (manets). It is based on the novel concept of a shortest mobile path (SMP) in a mobile graph, generalizing the traditional shortest path concept for the mobile environment. As a standard measure for routing protocols in a manet, the MERIT framework proposes the mean ratio of the cost of the actually used route to the cost of the optimal mobile path, under the same history of link metrics in the changing network topology. The MERIT spectrum takes the MERIT ratio as a function of parameters of interest yielding a multi-faceted representation of protocol eectiveness. This Mean Real vs. Ideal cosT (MERIT) framework is unifying in that it provides a measure that allows a protocol to be assessed independently of other protocols, within its own environment. We show that there is an eÆcient algorithm to solve the underlying SMP problem for important cases, making the approach practically feasible. We also investigate generalizations of and extensions within the MERIT framework.
1.
Yet, looming over all this work remains the question of how to compare manet routing protocols to each other. This problem, too, has received much debate. Corson and Macker [2] summarize several qualitative and quantitative metrics for protocol performance generally agreed upon. The desirable qualitative properties of manet routing protocols include: distributed operation of the protocol, freedom from loops, aspects of both reactive and proactive operation, security, sleep period operation, and support for unidirectional links. The quantitative metrics include: end-to-end throughput and delay, route aquisition time, percentage of out-of-order delivery, and protocol eÆciency that takes into account control overhead. Royer and Toh [15] survey several protocols using qualitative measures, and it is commonplace to nd quantitative comparisons (see, for example, Broch et al. [1]) since \standard" manet simulation environments such as ns-2, CPT, OPNET, and GloMoSim [9, 3, 10, 7] are being widely used.
INTRODUCTION
History shows that de ning a standard measure to make things numerically comparable is no easy task, even in apparently simple situations. In 1266, during the reign of Henry III in England, an act established that the amount of gold to make a penny should weigh the same as 32 grains of wheat. The act, however, did not specify how to guarantee the same amount of gold in pennies made at dierent locations without access to the exact same 32 grains of wheat at each location.
While suc h qualitative and quantitative measures are useful and important they still do not provide a satisfactory framework for a systematic, uni ed comparison. In particular, the quantitative measures are incomparable unless protocols are ported to the same platform and run under the same parameters. That would be generally impractical, however, just like insisting that the exact same 32 grains of wheat be used to mint each gold coin. Thus, we feel that it is timely to introduce a systematic and general framework for the assessment of manet routing protocols based on past lessons learned.
In routing protocols a similar, but much more diÆcult, comparability problem arises: they are usually tested in dierent environments, using dierent modeling assumptions on dierent platforms, giving rise to a situation that does not support easy comparison at all. Permission to make digital or hard copies of part or all of this work or personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. ACM SIGMOBILE 7/01 Rome, Italy © 2001 ACM ISBN 1-58113-422-3/01/07…$5.OO
Similar in spirit to the order notation in algorithmic complexity analysis, we aim for a mathematical model at a level of abstraction that allows dierent routing protocols to be
53
view every manet routing protocol as ultimately generating a sequence of paths, as the changing network topology can force the path to change. We refer to this sequence of paths as a mobile path. Due to the distributed operation of manet routing protocols the mobile path may not be explicitly presented when the protocol runs in a real network. That is, individual nodes may not be aware of the path a packet traverses, as may occur when a routing table consists of next-hop neighbours as in the DSDV and AODV protocols [13, 14]. In other cases the path may be explicit, such as a source route obtained through a route discovery procedure in DSR [8]. However, even when explicit, such a route may not re ect the actual packet trace since the route may break while it is being traversed due to node mobility which may then require route maintenance procedures to re-establish the path. Nevertheless, whether explicit or implicit, the mobile path (i.e., the sequence of static paths) can always be recorded from packet traces in a simulation of a protocol.
comparable and yet allows de nition of a metric that is independent of platform and the speci c details of the network. Our MERIT framework achieves this by providing a way to rank any given ad hoc routing protocol by comparing it to a theoretical, yet eÆciently computable, optimum rather than to a competing protocol. This approach is unifying in the sense that the MERIT framework provides a benchmark relative to which all protocols can be compared, independent of implementation. The idea of measuring performance relative to a theoretical optimum has been successfully used in a number of other situations. For example, in approximation algorithms for NP-complete problems the approximative solution is compared to the (algorithmically infeasible) NP-complete optimum, usually in terms of an approximation ratio. Another example is competitive analysis of on-line algorithms, where the on-line performance is compared asymptotically to the best possible o-line performance, with the online input set by a hypothetical adversary that can enforce the worst case. In MAC protocols when we speak about throughput, then we essentially compare the actual performance to the ideal (but infeasible) case when each slot is successfully used for a packet. In load balancing it is often measured how much the load distribution deviates from the ideal uniform distribution.
Our proposed way to evaluate the quality of a given protocol (under some given cost model) is to compare the generated (or \real") mobile path with the best possible (or \ideal") mobile path, that is, with the benchmark path sequence that would have been the best for the same history of network topology changes. In this way we can compare protocols in terms of how far they are from being \perfect," under the given operating conditions. This is the basis of our approach: the characterization is based on the ratio of the MEan \Real" to the \Ideal" cosT, or MERIT, of the protocol, and we call the measure the MERIT ratio.
In all these examples the common concept is that a solution (algorithm, protocol, etc.) is compared to a theoretical optimum in its own framework. That is, we measure how much the actual result is worse than the ideal optimum under the same conditions. In this way each protocol is measured on its own ground, which can be done for each solution independently, without forcing them to work in the same system. Of course, the key question is whether the theoretical optimum can be meaningfully de ned and computed eÆciently. We show that the answer is aÆrmative for manet routing protocols.
We expect the MERIT ratio to be a stable and robust assessment measure for manet routing protocols. Since it relates a path to the optimum under the same circumstances, we believe that some of the dependencies of the platform and network details will cancel out yielding an implementation independent measure. We note that while we present the MERIT framework for assessing routing protocols in a manet, we believe the framework has a wider and more general applicability than what is presented here. In particular, network dynamics arise from more than just node mobility, and structures other than paths can also be used as a basis for comparison. We plan to explore these issues in forthcoming papers.
In [1], Broch et al. took a step in this direction when they de ned a notion of path optimality as the dierence in hop count between the actual path taken by the packet to the destination, and the shortest path that physically existed through the network at the time the packet was originated. This approach represents a \packet level" view in which
the optimal path ignores the possibility that the network topology may change while the packet is being routed, and
2. 2.1
the optimal path may coincide with something other than the shortest path in a static network when routing overhead is taken into account. (Indeed, Section 2.2.1 presents such an example.)
THE MERIT FRAMEWORK Basic Definitions
In the MERIT framework, we model a manet at two time scales to capture the de ning characteristic of mobility. The instantaneous model of the network is a graph G = (V; E ) where the vertex set V corresponds to the nodes in the network. A directed edge in the edge set E exists whenever a transmission from one node to another is possible according to the physical layer protocol, which may depend on many variables such as free space and ground re ection propagation, transmission power, antenna gain, receiver sensitivity, propagation delay, capture eect, etc. Indeed, unidirectional wireless links often arise in such networks however the ability to use these links for routing may also depend on the MAC (medium access control) protocol.
The essential dierence between our work and that in [1] is that we distinguish a mobile network from one that is static. In fact, we consider the packet level view in [4], however in this paper, we consider a \ ow level" view since it raises a more diÆcult algorithmic problem. Thus, we seek to capture the fact that the network is mobile in our model. For a given source and destination, we
54
14] each node maintains a next-hop neighbour table, DSR [8] caches complete source-destination routes, and TORA [11] establishes a directed acyclic graph rooted at the destination. Most protocols attempt to localize the eect of a topology change in an attempt to reduce routing overhead.
Over a longer time horizon we model a manet by a graph sequence that we call a mobile graph. Thus a mobile graph G is de ned as
G=G G 1
2
: : : GT
via any sequence Gi ; i = 1; : : : ; T; of graphs where the successive graphs represent a history of the network topology changes over some time horizon T . For simplicity it is assumed that all the graphs are de ned on the same vertex set, but this assumption is not essential.
Initially, we consider a simple 2-valued transition cost function where ctrans(Pi ; Pi+1 )
In a mobile graph we de ne a mobile path between a sourcedestination pair as a path sequence 2 : : : PT
where Pi is a (conventional, static) path in same source-destination pair.
Gi
between the
Underlying every routing protocol is a cost model that can be expressed as a weight function in each graph.1 The weight function wi(u; v) for graph Gi is a function of vertex pairs (u; v) that takes on the value of in nity if no direct transmission is possible from u to v (i.e., the corresponding edge is missing from the graph) and equals the value of the link metric on the edge otherwise. Note that in this way the weight function wi actually fully de nes the graph Gi .
some cost of transition ctrans(Pi ; Pi+1 ) incurred by the protocol whenever there is a change in the path sequence.
Thus, the weight (cost) of a mobile path
P) =
w(
T X i=1
wi(Pi ) +
TX1 i=1
G
(2)
P
the weight
P) =
w(
T X i=1
wi(Pi ) +
TX1 i=1
ctrans(Pi ; Pi+1 )
of the mobile path is minimum. Note that the traditional static shortest path problem is included as a direct special case when T = 1: In the mobile case the naive solution when each Pi is simply a static shortest path in the corresponding Gi may be far from optimal due to the transition costs. Now it is clear that any routing algorithm ultimately nds a path: either a static or a mobile path. Given an underlying cost model, it is natural and reasonable to select a shortest path. However, while this is well established in xed networks, it is less clear how one can nd a shortest mobile path.
P is de ned as
ctrans(Pi ; Pi+1 ):
if Pi = Pi+1 if Pi 6= Pi+1 :
Shortest Mobile Path (SMP) Problem: Given a mobile graph = G1 : : : GT and a speci ed source-destination pair (s; t), nd a mobile path = P1 : : : PT from s to t, such that
Now we de ne the weight (cost) of a mobile path, as part of the MERIT framework. It is reasonable to include two basic components in the weight of a mobile path: the individual weights wi (Pi ) of the static paths in the sequence, and
cupdate
Thus, the MERIT framework de nes the notions of a mobile graph, a mobile path, and the weight of a mobile path, including transition costs. Now, assuming a given cost model, we can de ne the shortest mobile path problem within the framework as follows.
The weight of a (static) path Pi in Gi is denoted by wi(Pi ). The most commonly used variant is the additive path weight, de ned as simply the sum of the link weights along the path. Some examples of additive path weights include hop count (which is overwhelmingly the most common metric used), delay, and delay jitter. (Other possibilities and generalizations will be addressed in Section 3.)
0
That is, the transition cost is zero if there is no change in the path in successive graphs and is a constant cupdate if the path has changed. We believe this transition cost is reasonable for the existing routing protocols since, for example, when data structures are updated the cost of the update is often insensitive to how much they are dierent from the previous ones. (The possibility of a more complex transition cost structure will be addressed in Section 3.)
P=P P 1
=
(1)
Observe that the shortest mobile path can only be computed retrospectively, with a known history of network changes. Thus, we do not propose the approach as another routing protocol. On the contrary, we use it as a framework within which to de ne a measure for comparison of existing routing protocols.
The transition cost between paths is a cost function associated with having to update from one path to another in the routing protocol | in general, it is the overhead associated with updating the routing state to re ect the change in the path. For example, routing state is maintained quite dierently by dierent protocols. In DSDV and AODV [13,
For a given mobile graph G = G1 : : : GT , let Preal be the actual or \real" mobile path generated according to a manet routing protocol. Similarly, let Pideal be the shortest mobile path for G , i.e., the optimum or \ideal" mobile path which will serve as a benchmark for comparison. Then, we de ne
Even when no explicit cost model is available, one can ef ciently construct a best approximation of the cost model by observing the choices of the protocol. This \inverse optimization" approach is analyzed in [5], but for the present paper we assume for simplicity that the costs are known. 1
55
the MERIT ratio as: MERIT ratio = E
Preal) Pideal)
w( w(
1; j ] does not necessarily hold, since path[i + 1; j ] is not necessarily a subsequence of path[i; j ]. Similarly, it may not be true that f irst[i; j ] = f irst[i; j + 1]:
Informally, for all 1 i j T , we rst initialize path[i; j ] and cost[i; j ] in Step 1 to values for the case where there is no transition cost in the subsequence Pi : : : Pj . Thus, all j i + 1 paths in the subsequence are the same and the cost of the path subsequence is simply the sum of the path weights. This is equivalent to nding the shortest path in a graph formed by taking the intersection of the graphs of the subsequence Gi : : : Gj and assigning the weight of the edges as the sum of the edge weights.
which is the expected value of the cost ratio of the generated mobile path to the shortest mobile path taken over a suÆciently large number of source-destination pairs. In order to understand the eectiveness of a protocol, the MERIT ratio must be taken as a function of parameters of interest, e.g., node mobility rate, packet arrival rate, transmit power levels, etc. This de nes the MERIT spectrum of a protocol. By comparing the MERIT spectra of protocols, we can identify those scenarios that represent the strengths of the protocol. As well, the spectrum can be used by the designers of protocols to determine whether a protocol meets a speci ed objective, or to ne tune a protocol.
In Steps 2 and 3, the algorithm then computes the values in the upper triangle of the cost and path matrix, diagonal by diagonal from the main diagonal to the upper right corner of the matrix, i.e., to position cost[1; T ] and path[1; T ]. For each subsequence Pi : : : Pj , of length j i + 1, the algorithm now computes the cost of the path by considering all possible ways k; i k < j , that the subsequence can be split. Each such split uses a shorter, and hence already computed SMP, and considers the transition cost incurred by splitting the sequence at this point. The minimum cost of all such splits is compared to the value computed at Step 1, with the minimum overall stored.
Our framework and the assessment measure de ned within it derive their name based on this de nition: MEan Real vs. Ideal cosT, or MERIT.
2.2
Finding the Shortest Mobile Path
We now show that the shortest mobile path (SMP) problem can be solved eÆciently. The algorithm computes the SMP in subsequences Gi : : : Gj of the mobile graph G = G1 : : : GT recursively, in a dynamic programming manner. To describe the algorithm let us rst introduce some notation.
path[i; j ] is a Gi : : : Gj . At
cost[i; j ] is the cost of the current path sequence in path[i; j ], is as de ned by (1) with appropriately mod-
Now we present the algorithm to compute the SMP more formally. To avoid trivial cases we assume T 2.
path sequence in the graph sequence the end of the algorithm path[i; j ] will contain the SMP for the sequence Gi : : : Gj .
Algorithm
Step 1 Initialization. For all 1 i j T compute a (static) shortest path in the graph G(ij) = Gi \ : : : \ Gj with respect to the weight function w = wi + : : : + wj ; i.e., the weight of any edge (u; v) is w(u; v) = wi(u; v) + : : : + wj (u; v). Denote the obtained shortest path by P (ij) and set
i ed indices, i.e., cost[i; j ]
= =
f irst[i; j ] is path[i; j ]. last[i; j ] is path[i; j ].
w(Pi : : : Pj )
j X k=i
wk (Pk ) +
j 1 X k=i
Shortest Mobile Path (SMP)
ctrans(Pk ; Pk+1 ):
path[i; j ]
the rst path in the current path sequence
=
ij) : : : P (ij) {z } j i+1 identical paths P |
(
and cost[i; j ] = w(P
the last path in the current path sequence
ij)):
(
Set r := 1. Step 2 Sequence Split. For all 1 i < j following update.
Note that the variables cost[i; j ], f irst[i; j ], and last[i; j ] always refer to the latest value of path[i; j ]. In order to keep the description of the algorithm simple we assume that this property is automatically maintained, so in the description no explicit update is included for cost[i; j ], f irst[i; j ], and last[i; j ]. In a software implementation, of course, one has to make sure they are properly updated to re ect the changes in path[i; j ].
newcost :=
min
ik