You are on page 1of 10

Effective Location-Guided Tree Construction Algorithms for Small Group Multicast in MANET

Kai Chen and Klara Nahrstedt Computer Science Department University of Illinois at Urbana-Champaign Urbana, IL 61801, U.S.A. email: {kaichen,klara}@cs.uiuc.edu

Abstract Group communication has become increasingly important in mobile ad hoc networks (MANET). Current multicast routing protocols in MANET have been shown to have large overhead due to dynamic network topology. To overcome this problem, there is a recent shift towards stateless multicast in small groups (DDM [1]). DDM queries the underlying unicast routing protocol to forward data packets towards members of a multicast group. The multicast distribution tree in DDM is implicit and cannot be controlled by the upper transport and application layers. In this paper, we introduce another small group multicast scheme, based on packet encapsulation, which uses novel packet distribution tree construction algorithms for efcient data delivery. The packet distribution tree is constructed explicitly with the goal of minimizing the overall bandwidth cost of the tree. The tree construction algorithms include a location-guided k-ary (LGK) tree and a location-guided Steiner (LGS) tree. Both of them utilize the geometric locations of the destination nodes as heuristics to compute the trees, and are accompanied by a hybrid location update mechanism to disseminate location information among a group of nodes. Our simulation results show that LGS tree has lower bandwidth cost than LGK tree when the location information of the nodes is up-to-date, and its cost is similar to that of an optimal Steiner multicast tree. When location information of the nodes is out-dated, LGK tree outperforms LGS tree due to its lower computational complexity.

All the routers in the network collectively maintain the multicast session state information. When a multicast packet arrives at a router, the router looks up its multicast routing table and decides to which interface(s) to forward the packet. The multicast state information changes when there is a change in network topology or group membership. In MANET, frequent topology change and dynamic group membership often lead to substantial signaling overhead in maintaining the global multicast session state information [3]. This problem gets worse when there is a large number of multicast groups in the network. To overcome this problem, an alternative multicast scheme suited for small groups (few-to-few) has been proposed (DDM [1]). In DDM, the membership information is controlled by the data sources (senders). A sender includes a list of destination addresses in each data packet it sends out. When a packet arrives at an intermediate node, DDM queries the unicast routing protocol, and decides which next-hop node(s) to forward the packet towards the multicast destinations. DDM requires every node in the network to cooperate, hence it belongs to the router-assisted multicast approach. This stateless small group multicast scheme avoids the overhead of maintaining the multicast session state information at the routers, and thus is more scalable to the number of multicast groups in the network. The packet distribution tree in DDM is implicit, i.e. it depends on the underlying unicast routing protocol at each intermediate nodes and is not controllable by the upper transport and application layers. This is not sufcient when upper-layer packet processing and routing are needed, or when only a subset of the network nodes is cooperative. In this paper, we introduce another small group multicasting scheme based on packet encapsulation in MANET, which uses two novel tree construction algorithms to construct an efcient packet distribution tree. Our scheme builds an overlay multicast packet distribution tree on top of the underlying unicast network routing protocol. Multicast data is encapsulated in a unicast envelop and transmitted between the group nodes. Similar to DDM, a list of destination addresses is explicitly included in each packet. Based on the list of destinations, a node constructs a packet distribution tree using our tree construction algorithms, with the goal of minimizing the overall bandwidth cost of the tree. This overlay packet distribution tree provides
IEEE INFOCOM 2002

I. I NTRODUCTION Mobile ad hoc network (MANET) consists of many mobile hosts connected by wireless links. Each node operates not only as an end-system, but also as a router to forward packets. In MANET, the network topology may change frequently due to the nodes movements. A good routing protocol should always forward packets along or close to the shortest path from source to destination, and be able to adapt quickly to topology changes. A number of unicast routing protocols have been proposed in the mobile ad hoc environment [2]. Multicast has become increasingly important in MANET because of the need for collaborative applications among a group of mobile users. Most of the current multicast routing protocols for MANET follow the same multicast group model as in the Internet. In this model, the multicast computation is distributed.
This research was supported by the ONR MURI grant under grant number 15-21394, and the NSF EIA 99-72884EQ grant under grant number 1-5-31744. Any opinions, ndings, and conclusions are those of the authors and do not necessarily reect the views of the above agencies.

0-7803-7476-2/02/$17.00 (c) 2002 IEEE.

1180

us with a exible structure to perform transport and application level packet processing and routing, yet retains low bandwidth costs similar to those of a router-assisted multicasting scheme. Unicast encapsulated multicast has been widely used in xed networks, where network-level multicast routing is not supported, or additional application-level packet processing is needed [4], [5], [6]. The focus of this paper is on the tree construction algorithms to compute a low-cost multicast packet distribution tree. Our tree construction algorithms include a location-guided k-ary (LGK) tree and a location-guided Steiner (LGS) tree. Each of them is superior to the other under certain circumstances and should be used in different scenarios. Both algorithms utilize the geometric location information of the destination nodes as heuristics to construct a packet distribution tree without knowing the global topology of the network. In MANET, geometric information has been used to assist routing, such as GPSR [7], LAR [8], DREAM [9], and LAPAR [10]. Our location-guided heuristic assumes that longer geometric distance requires more network-level hops to reach the destination. Therefore, the tree construction algorithms attempt to construct a tree with geometrically shorter tree edges. The tree construction and packet forwarding processes are distributed: each node only constructs its out-going branches to the next-level subtrees and forwards the data packet to the roots of the subtrees. This process repeats until all the destinations have been reached. By simulations, we will show that LGS tree has lower bandwidth cost than LGK tree when the location information of the nodes is up-to-date, and its cost is similar to that of an optimal Steiner multicast tree. When location information of the nodes is out-dated, the bandwidth cost difference between LGS and LGK becomes insignicant, and LGK outperforms LGS due to its lower computational complexity. Since our tree construction algorithms assume that the geometric locations of the group nodes are known, we embed a hybrid location update mechanism to disseminate such information among a group of nodes. Additionally, as an optimization technique, we use route caching to cache previously computed tree branches to reduce the per-packet processing overhead in our scheme. Our contributions in this paper include: 1) design and validation of the LGK and LGS algorithms to construct an efcient packet distribution tree for small group multicast; 2) comparison and trade-off analysis of LGK and LGS, and the optimal Steiner multicast tree; and 3) study of the relation between geometric distance and network distance, and demonstration of successful geometric heuristics in our tree construction algorithms for MANET. The paper is organized as follows. Section II states the overall problem and the assumptions, and studies the relation between geometric distance and network distance. Section III describes in detail our location-guided LGK and LGS construction algorithms and the location update mechanism. Section IV compares the LGK and LGS trees. Section V shows the simulation results of LGK and LGS trees and comments on their respective strength. Section VI discusses some related work in
0-7803-7476-2/02/$17.00 (c) 2002 IEEE.

multicast routing. Section VII concludes our discussion. II. P ROBLEM AND A SSUMPTIONS In this section, we explain the overall problem of tree construction for small group multicast, state our assumptions, and outline our approaches to solve the problem. A. Overall Problem We represent the topology of a mobile ad hoc network as a dynamic un-directed graph G = (V, E), where V is the set of mobile nodes in the network and E is the set of wireless links between neighboring nodes. A subset of the network nodes in V forms a multicast group. Those nodes are called group nodes, denoted by VG . Between the group nodes, unicast routing is available as part of the underlying unicast network routing protocol, which forms a set of paths EG between any two of the group nodes. The overlay virtual network is thus denoted by a un-directed complete graph GG = (VG , EG ). Our goal is to construct a packet distribution tree rooted at each sender node (per-source tree), in the overlay network GG , which spans over all members of the multicast group (Figure 1). The packet distribution tree needs to have low bandwidth cost, measured by the number of network level hops. The group nodes do not have global knowledge of the network topology G. Instead, they are only aware of each other in terms of the group membership and the geometric locations of the group nodes. Since it is not possible to obtain the network distance (number of hops) without the global network topology, and the network distance is closely related to geometric distance, our tree construction algorithms use geometric distance as approximation of the network distance. They achieve the goal of constructing a least-hop tree using a greedy heuristic of adding geometrically shorter edges to the tree.

root (sender)

packet distribution tree

network topology

sender

group nodes nongroup nodes tree edge (via unicast routing)

Fig. 1. Example of an overly packet distribution tree and its underlying network topology.

1181

IEEE INFOCOM 2002

B. Assumptions We have made certain assumptions in solving the small group multicast problem. The assumptions include: The multicast group is small, so that the list of group members addresses can be included in each data packet without incurring much overhead. Every member of a multicast group is aware of other members of the group. This membership control is explicit and can be done by application level mechanisms such as querying a well-known server or ooding queries in the network. The underlying unicast routing protocol is able to forward packets from source to destination along or close to the shortest path. Each group node is aware of the geometric location of its own, by using some type of location positioning system. Each node in a multicast group has the location information of all other nodes in the same group, hence a location update mechanism is needed. Another implicit assumption we are making in designing our algorithms is the relation between geometric distance and network distance (number of hops). We assume that a longer geometric distance requires more network-level hops to reach the destination. Although intuitive, there are many examples to the contrary, because the actual number of hops depends on the global network topology and the underlying routing protocol. Below we show by simulations that on average, network distance increases monotonically with geometric distance. Validation of Relation Our simulation network is created within a 1000m 1000m space with a widely used random waypoint mobility model [11]. In this model, each node stays stationary during its pause time, and starts moving to a randomly selected location with a random speed uniformly distributed between 0 and a certain maximum speed. We choose a maximum speed of 20 m/sec and pause time of 5 seconds to create a moderately dynamic network. When two nodes are within each others transmission range, a link is established between them. Our data is collected as follows: 1) at each simulation step, we compute the network topology based on the current location and transmission range of the nodes; 2) for each pair of nodes, we obtain their geometric distance and shortest path hop-count. We then group the collected data into brackets of distance [10n, 10(n + 1)], where n = 0, 1, . . ., and obtain the average hop-count of the data samples in the brackets. We collect 100 data samples in each bracket. We perform two sets of simulations. In the rst set, the transmission range of each node is xed at 200m. The result from a medium density network (30 nodes) is shown in Figure 2(a). 1 Two observations are evident from this gure: 1) when the geometric distance of two nodes is less than the (identical) transmission range, the hop-count is always 1 because they
1 The results from higher and lower density networks are similar, and are omitted due to space constrains.

9 8 7 Number of Hops (hops) 6 5 4 3 2 1 0 0 200 number of hops between two nodes 400 600 geometric distance (meters) 800 1000

(a) Under xed transmission range

Number of Hops (hops)

0 0 200

number of hops between two nodes 400 600 geometric distance (meters) 800 1000

(b) Under variable transmission range Fig. 2. Relation between geometric distance and network distance.

are neighboring nodes; 2) when the geometric distance of two nodes is longer than the transmission range, the average number of hops monotonically increases with distance. In our second set of simulations, we assign to each node a random transmission range uniformly distributed between 0 and 400m. The result in Figure 2(b) shows that there is no clear cut-off distance for one-hop routing, because the nodes have different transmission ranges. Again, it shows that the average number of hops monotonically increases with the geometric distance between two nodes. We will use this relation as a function between geometric distance and network distance later in this paper, to analyze the bandwidth cost and distribution delay of a tree. C. Our Approach Under the above assumptions, our solution to the small group multicast problem will include the following algorithms, mechanisms, and techniques: A location-guided k-ary (LGK) tree algorithm to construct a packet distribution tree of degree k based on close geometric proximity of the subtrees. (Section III-A) A location-guided Steiner (LGS) tree algorithm to construct a Steiner tree using a modied version of the wellknown Takahashi-Matsuyama heuristic. (Section III-B) A location/membership update mechanism to disseminate location and membership information among a group of
IEEE INFOCOM 2002

0-7803-7476-2/02/$17.00 (c) 2002 IEEE.

1182

nodes. (Section III-C) An optimization technique based on route caching to reduce the per-packet processing overhead for a stable group of nodes. (Section III-D) III. L OCATION -G UIDED T REE C ONSTRUCTION A LGORITHMS

n1

n2

n3

n0 (sender) n5 n7 n9 n8

n4

n6

In this section, we will describe in detail the location-guided LGK and LGS tree construction algorithms, and the location/membership update mechanism to disseminate location information among a group of nodes. An optimization technique based on route caching is also discussed. A. Location-Guided K-ary (LGK) Tree A location-guided k-ary (LGK) tree is constructed as follows: the sender node 1) selects the nearest k destinations as children nodes, 2) groups the rest of the nodes to the k children according to close geometric proximity, and 3) forwards a copy of the packet to each of the k children with its corresponding subtree as destinations. The location-guided heuristic is greedy in the sense that a packet is always forwarded to the nearest k nodes. This heuristic ensures that in the next step, the k destinations will forward the packet to a set of nodes that are geometrically close to them, and thereby minimizes the overall cost of the packet distribution tree. The fan-out degree k of the LGK tree algorithm plays an important role in deciding the shape of the tree: a small k leads to a long-thin tree; a large k leads to a short-fat tree. In the following, we use a binary tree (k = 2) as an example to illustrate the tree construction and packet forwarding process. The process starts from a sender node in a multicast group. We assume that the sender is aware of the members of the group by their network addresses such as IP addresses. It then includes a list of the members as the destinations in every packet it sends out. 2 Figure 3 illustrates how to construct a binary LGK tree. Only the participating nodes n0 , n1 , . . . , n9 are shown in the gure. The tree is rooted at n0 since that is the sender. Node n0 has < n1 , n2 , n3 , . . . , n9 > as its destination list. Based on the list, our LGK tree algorithm runs in two consecutive steps: 1) children selection and 2) subtree clustering. In the rst step, the algorithm selects two geometrically nearest nodes as the source nodes children. In the example, node n3 and n5 are selected because they are the nearest two nodes to n0 . In case of equal distance, the tie is broken by a random selection of the nodes. In the second step, the algorithm goes through the rest of the destinations: if a destination is geometrically closer to n3 , it is put into a sub-list designated as the destination list for n3 ; otherwise, it is put into the destination list for n5 . This ensures that later on, node n3 and n5 will nd their destinations close to themselves. In the example, the list for n3 is < n1 , n7 , n8 >, and the list for n5 is < n2 , n4 , n6 , n9 >. When a destination has equal distances to both n3 and n5 , it is taken by the node with a shorter destination list to achieve better tree balancing.
2 The sender has the option of including only a subset of the group members as a packets destinations, which may be desirable for admission control purposes.

Fig. 3. Example of location-guided k-ary tree construction (k = 2). Only the participating nodes are shown.

Subsequently, the original packet is replicated into two packets and then forwarded via unicast to n3 and n5 . After receiving the packet, node n3 and n5 each runs the tree construction algorithm to further forward the packet down to other destinations. This process stops when an in-coming packet has an empty destination list. A general algorithm of constructing a tree with degree k is similar to the binary tree example above, except that each time k children are selected and k subtrees are clustered. In the case when a packet cannot be forwarded to a children node (no route), the packet is lost and the destination nodes in that subtree will not receive the packet. This situation may happen in MANET because mobile nodes can shut itself down abruptly or move out of reach. Therefore, the sender should include only the active nodes as the packets destination nodes. This requires that each node periodically refreshes the membership of itself to the rest of the group. In our scheme, the membership refreshment is coupled with the location update mechanism (Section III-C) where each node periodically updates its location to the rest of the group. A location update message not only updates a nodes new location, but also refreshes its group membership. If an update message has not been received over a timeout period from a node, the node is purged from the destination list of other nodes. Because of the periodic membership refreshment, the destination nodes are very likely to be reachable from the source node. To summarize, our LGK tree construction algorithm produces a k-ary tree rooted at the sender with the group nodes as tree nodes. Packets are forwarded node-by-node along the k-ary tree from the source to the rest of the multicast group via unicast routing. This packet forwarding process is guaranteed loop-less because a destination address will be taken out of the list whenever the packet has reached the destination, therefore, it cannot go back to that node again. B. Location-Guided Steiner (LGS) Tree The Steiner tree is commonly used as a multicast packet distribution tree for efcient delivery of multicast packets in a xed network. It spans over all nodes in a multicast group and minimizes the overall cost of the tree. Finding a Steiner tree in a network is a NP-hard optimization problem [12]. Under the well-known Takahashi-Matsuyama heuristic [13], the multicast routing protocol generates a Steiner tree by an incremental approach. Initially the tree contains only the source node. At each
IEEE INFOCOM 2002

0-7803-7476-2/02/$17.00 (c) 2002 IEEE.

1183

iteration, the nearest unconnected destination to the partially constructed tree is found and the least-hop path between them is added to the tree. The distance is usually measured by the number of network-level hops. This tree construction process is repeated until all destinations are included in the tree. In a router-assisted multicasting approach, every node in a network can become a tree node to forward packets, in which case the constructed Steiner tree is near optimal. Our location-guided Steiner (LGS) tree is constructed using a modied version of the Takahashi-Matsuyama heuristic. The differences are: 1) we use geometric distance as a measurement of closeness; 2) only the group nodes can be used as tree nodes. Between the group nodes, data packets are encapsulated in unicast packets and forwarded via the underlying unicast routing protocol. Below we use the same set of nodes in the earlier example to illustrate the construction of a LGS tree, as shown in Figure 4. Initially, the tree only contains the sender node n0 . Within the remaining set of nodes {n1 , n2 , . . . , n9 }, node n3 is geometrically closest to n0 . Therefore, n3 is added into the tree with edge n0 n3 . In the second step, the remaining set of unconnected nodes are examined and the node closest to the partially constructed tree is selected. In the example, we compare the distance from n0 to each of the nodes in the un-connected set {n1 , n2 , n4 , . . . , n9 }, as well as the distance from n3 to that set, and select the shortest distance which is between n0 and n5 . Therefore, n5 is added to the tree with edge n0 n5 . This process repeats until all the nodes have been included in the tree as shown in the gure. Subsequently, the sender node n0 forwards a copy of the data packet to each of its children nodes, i.e. n2 , n3 , and n5 , with their corresponding subtrees as destinations. Similar to the LGK tree construction process, the children nodes should be reachable most of the times as result of the periodic membership refreshments. At each of the children nodes, a LGS tree is computed again to further forward the packet. This forwarding process repeats until the packet has reached all members of the group. Although the entire LGS tree can be computed at the source and included in the header of the data packet, we choose to construct the tree hop-by-hop due to the following reasons: 1) it allows the intermediate nodes to utilize the latest location information of the destination nodes in computing the tree; 2) by caching a previously computed tree, the computation will not be duplicated when the locations of the nodes have not changed between data packets (Section III-D). The major difference between LGK and LGS is that the outgoing degree of a tree node in LGS is not xed. It depends on the outcome of the constructed tree. In LGK, the out-going degree of a tree node is xed at k. C. Location/Membership Update Mechanism In the location-guided tree construction algorithms above, we have assumed that the geometric locations of the group nodes are known to every other node in the same multicast group. Therefore, our tree construction algorithms have to be augmented by a location update mechanism to exchange location
0-7803-7476-2/02/$17.00 (c) 2002 IEEE.

n1

n2

n3

n0 (sender) n5 n7 n9 n8

n4

n6

Fig. 4. Example of location-guided Steiner tree (LGS) construction. Only the participating nodes are shown.

information within a group of nodes. At the same time, the location updates also serve as group membership refreshments to detect dead or unreachable nodes. A node will be excluded from a source nodes destination list when its membership is not refreshed over a certain time period. To this end, we propose a hybrid approach to location/membership update, which includes in-band update and periodic update. In-band update takes place when a node has data packets to send. The sender always includes its geometric location in the header of every data packets it sends out. Consequently, the senders location will be learned by other members of the multicast group. Periodic update kicks in when a node has no data packets to send for an extended period of time. In that case it has to send out a special null packet just to inform other nodes of its current location. Since the location information is used by other nodes to construct a packet distribution tree, up-to-date location information will improve the optimality of the trees (Section V-D). However, with out-dated location information, we will show that the efciency of the LGK tree is only moderately affected (Section V-D), while LGS tree performs poorly. Therefore, a lazy approach in periodic update is sufcient for LGK trees, but not for LGS trees.

D. Optimization by Route Caching In order to forward a packet with multiple destinations, a node has to execute one of the tree construction algorithms to decide how to forward the packet towards the destinations. We denote such a decision as a route, which is indexed by the list of destination addresses. When the locations of the destinations have not changed, the outcome of the tree construction algorithm will not change either. Therefore, a node can cache the computed route and re-use the route next time when a new packet comes in with the same set of destinations. This optimization technique reduces the processing overhead in forwarding packets. A cached route will be invalidated only when a location update arrives from any of the destination nodes and the new location has signicantly shifted from the original location. In a group of stationary nodes, the cached route will not be invalidated and hence there is zero computation overhead once the tree is set up.
IEEE INFOCOM 2002

1184

IV. C OMPARISON OF LGK AND LGS T REES In this section we will compare the bandwidth cost, distribution delay, space overhead, and computational complexity of LGK and LGS trees. A. Bandwidth Cost Bandwidth cost of a multicast tree is commonly dened as the overall network-level hops of the tree. In this section, we analyze bandwidth cost of the LGK and LGS trees by their overall geometric distance of the tree. We have shown in Section II-B that using geometric distance to approximate network distance is feasible, because they are closely related to each other by a monotonic function. Below we consider bandwidth cost of a tree as its overall geometric distance of the tree edges. A LGK tree spanning over n participating nodes always has n 1 edges regardless of the degree of the tree. There are two factors affecting the average edge distance. First, a forwarding node always selects the nearest k children to forward the packet. If k is small, the forwarding node will forward the packet to those nodes that are truly close, which makes the average edge distance small. Second, the subtree clustering process groups the rest of the nodes around the k children nodes, picking a node with the smallest distance. If k is large, there will be many sub-groups clustered close to each other, which makes the average edge distance small. Combining these two counteractive factors, a k value between 1 (smallest) and n1 (largest) is likely to be optimal in reducing the bandwidth cost of a LGK tree. We will test this hypothesis by simulation in Section V-B. A LGS tree for a group of n nodes also has n 1 edges. The average edge distance of a LGS tree is usually smaller than that of a LGK tree because the heuristic is more greedy: an un-connected node has the option of connecting to any node in the partially constructed tree, and the algorithm always adds the nearest node into the tree in each iteration. Therefore, the overall cost of a LGS tree is usually smaller than a LGK tree. B. Distribution Delay Distribution delay of a packet distribution tree is commonly dened as the number of network-level hops along the longest path from a sender to any of the receivers. In this section, we use geometric distance instead of network distance to measure the distribution delay (similar to the discussion of bandwidth cost above). For LGK trees, we consider two separate cases: 1) k = 1 and 2) k > 1. In the rst case (k = 1), the resulting structure is a chain topology. The delay along the chain is O((n 1)d1 ), where n is the number of group nodes, and d1 is the average geometric distance of a tree edge. This delay bound shows that the delay grows linearly with the number of nodes in a session. In the second case (k > 1), the resulting structure is a k-ary tree. The distribution delay is the height of the tree: O((logk n 1) dk ), where n is the number of group nodes, and dk is the average geometric distance of a tree edge, assuming that the tree is randomly built [14]. This result shows that distribution delay grows logarithmically with the number of nodes in a group.
0-7803-7476-2/02/$17.00 (c) 2002 IEEE.

Therefore, LGK trees with k > 1 are preferable than LGK trees with k = 1 to reduce the distribution delay. For LGS trees, the fan-out degree of a node is determined by the relative locations of the nodes and is not xed. In the worst case, the topology can become a linear chain, which gives a delay bound of O((n 1)ds ), where n is the number of group nodes and ds is the average geometric distance of a tree edge. However, in practice, the average height of a LGS tree is much lower than its worst case bound, and is only slightly higher than that of a binary LGK tree. We will show this result by simulation in Section V-C. C. Space Overhead In our small group multicast scheme, a list of destinations is included in each data packet, which leads to more bandwidth consumptions. Hence, we consider space overhead as the extra bandwidth needed to transport the list of addresses in each packet from source to all destinations. Since a destination address can be taken out from the data packet only when it has reached the parent node of the destination, each nodes address has to travel from the root of the tree to the nodes parent node in the tree. For LGK trees, we consider two separate cases: 1) k = 1 and 2) k > 1. In the rst case (k = 1), the tree is a chain topology. Summing the distances of each node from the root gives a total space overhead of ((n 1)(n 2)/2) d1 , where n is the number of group nodes, and d1 is the average geometric distance of a tree edge. We assume each address takes a unit amount of space. This shows that the space overhead grows in O(n2 ) as the number of nodes increases. In the second case (k > 1), the space overhead is bounded by O((n logk n)dk ), where logk n is the height of a tree, and dk is the average geometric distance of a tree edge. This shows that the space overhead grows in O(n logk n) with the number of nodes. Therefore, a LGK tree with degree k > 1 is preferred in reducing the space overhead. The bound of a LGS trees space overhead is similar to that of a LGK tree with k = 1, because the height of a LGS tree is only bounded by O((n 1)ds ). Similar to the discussion of distribution delays, the actual space overhead of a LGS tree is much lower than its worst case bound. Another source of space overhead comes from the source nodes location information residing in the data packets. This overhead is exactly n 1 regardless of the shape of the tree, assuming unit space consumption. Therefore, the location space overhead has lower order of signicance compared to the space overhead of the destination addresses, and hence is ignored in our analysis above. D. Computational Complexity When a node receives a packet with n destinations (including itself), it computes the out-going tree edges to forward the packet. We dene computational complexity of constructing the tree edges at the node as the number of operations of computing the Euclidean distance between any two nodes. For a LGK tree with degree k, selecting k children requires
IEEE INFOCOM 2002

1185

n 1 operations. The clustering process of k subtrees requires k(n k 1) operations. Therefore, the overall complexity is O(n 1 + k(n k 1)) = O(n). For a LGS tree, each tree construction iteration requires the computation of distances between each of the tree nodes and the rest of the un-connected nodes. By bookkeeping the distances in the past iterations, the n1 overall complexity can be obtained by i=1 (n i) = O(n2 ). It is evident that LGS trees are more difcult to compute than LGK trees. V. S IMULATION R ESULTS In this section we will evaluate the location-guided tree construction algorithms by simulations. We are particularly interested in comparing the bandwidth cost and distribution delay of the trees in terms of the number of network-level hops. Specifically, the simulation results we will show include: 1) comparison of LGK trees with different degrees under different multicast group sizes; 2) comparison of a binary LGK tree and a LGS tree with an optimal multicast tree under different group sizes; and 3) comparison of LGK and LGS trees constructed from out-dated location information. A. Simulation network Our simulation network is created within a 1000m 1000m space with 50 mobile nodes and a random waypoint movement model [11]. In our simulations, each mobile node stays stationary for 5 seconds, and starts moving to a randomly selected location with a random speed uniformly distributed over [0, 20] m/sec. This creates a moderately dynamic network. Each nodes transmission range is selected at the beginning of each simulation, and uniformly distributed over [200, 300] m. This ensures that network partitioning does not occur very often. In our simulations, we choose the numbers of the nodes in a multicast session (group size) to be 5, 10, 15 and 20 nodes. They are randomly selected at the beginning of each simulation. The parameters are summarized in Table I. Our simulation does not concern the unicast routing. We assume there is an underlying unicast routing protocol that always forwards a packet along the shortest path whenever a path exists. This decouples our tree construction algorithms from the characteristics of any given unicast routing algorithm, and allows us to focus on the algorithms own behavior.
TABLE I
S IMULATION PARAMETERS
Simulation network space Total number of nodes Multicast group size Speed of nodes Pause time of nodes Transmission range Simulation time 1000m 1000m 50 nodes 5, 10, 15, and 20 nodes uniform over [0, 20] m/sec 5 seconds uniform over [200, 300] m 2000 seconds

14 Average Bandwidth Cost and Distribution Delay (hops)

12

Average Bandwidth Cost and Distribution Delay (hops)

average bandwidth cost of a LGK tree average distribution delay of a LGK tree

average bandwidth cost of a LGK tree average distribution delay of a LGK tree 20

10

15

10

0 0 1 2 Tree Degree K 3 4 5

0 0 1 2 3 4 5 Tree Degree K 6 7 8 9 10

(a) Group Size: 5

(b) Group Size: 10

Average Bandwidth Cost and Distribution Delay (hops)

Average Bandwidth Cost and Distribution Delay (hops)

40 35 30 25 20 15 10 5 0 0

average bandwidth cost of a LGK tree average distribution delay of a LGK tree

50 45 40 35 30 25 20 15 10 5 0

average bandwidth cost of a LGK tree average distribution delay of a LGK tree

7 8 9 Tree Degree K

10

11

12

13

14

15

9 10 11 12 13 14 15 16 17 18 19 20 Tree Degree K

(c) Group Size: 15

(d) Group Size: 20

Fig. 5. Costs of LGK trees with different degrees.

of the tree is obtained by counting the longest path from the source to any of the destinations. When some node in the multicast group is unreachable, we ignore the partial tree to simplify the comparison between different simulations. Each simulation runs for 2,000 seconds, after which the average bandwidth cost and average distribution delay of a LGK (LGS) tree are obtained by averaging the total bandwidth costs and distribution delays of the LGK (LGS) trees. B. Comparison of LGK Trees with Different Degrees In this set of simulations, we compare the bandwidth cost and distribution delay of LGK trees with different degrees. We use different group sizes in the simulation as specied in Table I. For each group size n, we construct all possible LGK trees with a degree from 1 to n 1. The average bandwidth cost and distribution delay of the trees are shown in Figure 5. In the gure, the bandwidth cost curves have the lowest value at k = 1 or k = 2, and their values are very close to each other. The distribution delay curves have a sharp drop from k = 1 to k = 2, and then slightly decrease with the increase of tree degree. This conrms our analysis in Section IV-A and IV-B. Among all the trees, a binary LGK tree has the best balance in terms of bandwidth cost and distribution delay. Therefore, we consider binary LGK tree the best choice among all possible LGK trees. C. Comparison of LGK and LGS Trees with an Optimal Steiner Multicast Tree To evaluate the efciency of our LGK and LGS trees, we compare their bandwidth costs and distribution delays with an
IEEE INFOCOM 2002

The simulation data is collected as follows. At each simulation step, a tree rooted at each participating node in a group is constructed using both the LGK and the LGS algorithm. The bandwidth cost of the tree is obtained by counting the total network-level hops of the tree edges; the distribution delay
0-7803-7476-2/02/$17.00 (c) 2002 IEEE.

1186

optimal Steiner multicast tree (OSMT). The OSMT is constructed using the standard Takahashi-Matsuyama heuristic [13]. At each iteration, the nearest unconnected nodes, measured by the network-level hops, is added to the partially constructed tree. We assume to have global network topology information in order to obtain the network-level distance between any two nodes. Moreover, we assume every node in the network can become a tree node to forward packets. This corresponds to a more efcient router-assisted multicasting approach. We use OSMT as the lower-bound of bandwidth cost to compare against our binary LGK tree and LGS tree. Our simulation again considers four different group sizes: 5, 10, 15 and 20 nodes. At each simulation step, an OSMT tree is constructed from each participating node, and spans over all the other nodes in the group. A location-guided binary LGK tree and a LGS tree are also constructed from each group node, by using only the group nodes as tree nodes. The bandwidth cost and distribution delay comparisons are shown in Figure 6. As expected, the OSMT tree is the lowest bandwidth cost tree. The location-guided LGS tree comes next and is very close to the OSMT tree. That means the location-guided heuristic is successful in nding a low-cost multicast tree. This is not surprising because the geometric distance and network distance are closely related to each other (Section II-B). The bandwidth cost of a binary LGK tree is a little higher, i.e. 23% to 33% higher than that of an optimal OSMT tree. On the distribution delay side, binary LGK trees outperform LGS trees with 12% to 29% lower delays. Although binary LGK trees bandwidth cost is a little bit higher, it is still a sensible choice especially when a mobile node does not have enough computing power to construct the more sophisticated LGS trees.

30

optimal Steiner multicast tree (OSMT) location-guided LGS tree location-guided binary LGK tree

25 Average Bandwidth Cost (hops)

20

15

10

0 0 5 10 group size 15 20

(a) Bandwidth Cost Comparison

14

optimal Steiner multicast tree (OSMT) location-guided LGS tree location-guided binary LGK tree

12 Average Distribution Delay (hops)

10

0 0 5 10 group size 15 20

(b) Distribution Delay Comparison Fig. 6. Comparison of LGK and LGS trees with an optimal Steiner multicast tree (OSMT).

E. Summary of Results D. Impact of Time-Delayed Location Information So far we have assumed that the geometric location information of all the destination nodes are up-to-date. However, this is not realistic due to the delay in updating locations. Therefore, we have to settle for more or less out-dated location information in computing the trees. In this simulation, we study the impact of time-delayed location information on the bandwidth cost of the constructed trees. We choose a medium group size of 15 nodes. The location information of the nodes is delayed for a period from 0 to 120 seconds. A binary LGK tree and a LGS tree are constructed using the time-delayed location information. The result in Figure 7 shows that the bandwidth costs of the trees increase monotonically with the length of the delay. It also shows that LGS trees are more sensitive to out-dated location information, because the algorithm needs precise locations to take advantage of the sophisticated location-guided heuristic. With precise location information, LGS trees outperform binary LGK trees by about 16% lower cost. The difference narrows when the delay increases. As a result, LGS tree is preferred with an eager periodic location update approach; otherwise LGK tree is a better choice because it has lower distribution delay and is easier to compute.
0-7803-7476-2/02/$17.00 (c) 2002 IEEE.

To summarize, each of the LGK and LGS trees is superior over the other with regard to different criteria and under different scenarios. LGK (specically binary LGK) is strong in its low distribution delay and computational complexity. LGS is advantageous in its low bandwidth cost when location information of the destination nodes is up-to-date. Therefore, using one over the other is a trade-off between bandwidth efciency, distribution delay, and computing power. With time-delay location information, the bandwidth cost difference between LGK and LGS narrows, and becomes insignicant when the information delay is over 60 seconds in our simulations. Therefore, with a lazy periodic location update approach, LGK is a better choice because of its low distribution delay and computational complexity. Parallel to this result, LGS trees are more sensitive to out-dated location information than LGK trees. Therefore, they can only be used with an eager periodic update approach, or in a situation where almost every group node constantly has data packets to send to take advantage of the in-band updates. VI. R ELATED W ORK Our work is closely related to the following research areas: 1) stateless multicast for small groups; 2) multicast routing in
IEEE INFOCOM 2002

1187

30

25 Average Bandwidth Cost (hops)

20

15

10

5 location-guided LGS tree location-guided binary LGK tree 0 20 40 60 80 location information delay (seconds) 100 120

Fig. 7. Bandwidth cost of LGK and LGS trees with time-delayed location information.

xed networks; and 3) multicast routing in MANET.

A. Stateless Multicast (Xcast and DDM) Explicit Multicast (Xcast) [15] is a newly proposed multicast alternative for small groups (few-to-few). In traditional multicast, the host group model determines the hosts group membership, which is unknown to the sender. Routers have to keep the multicast session state information in order to forward packets. In Xcast, a list of destination addresses is explicitly included in each data packet. Routers do not have to keep the multicast session state. Xcast handles each packet by looking up the unicast routing table to determine the next hop for each of the destinations listed in the packet. When branching is needed, the packet is replicated with a subset of the destinations as the replicas new destination list. Without keeping the multicast session information at routers (stateless), Xcast scales better to the number of sessions than the traditional multicast. In Xcast, the sender has to be fully aware of the session members, which it takes as prior information. In MANET, the Differential Destination Multicast (DDM) protocol [1] shares similarity with Xcast. DDM operates in either stateless or soft-state modes. The stateless mode is similar to Xcast, i.e. each data packet includes a list of destination addresses. The unicast routing protocols at the intermediate nodes are queried to forward data packets towards multiple destinations. In soft-state mode, the destination addresses and the forwarding information are memorized at each router. Only the difference in destination addresses is reported to the downstream router when changes occur. Our stateless unicast encapsulated multicast scheme is inspired in part by Xcast and DDM, in the way that each packet includes a list of destinations. However, our scheme differs from DDM in a number of ways. First, the packet distribution tree in DDM is implicit and uncontrollable by upper transport and application layers. In our scheme, the packet distribution tree is constructed explicitly with the exibility of adding upper layer packet processing and routing. Second, DDM requires every node (router) in the network to cooperate. In our scheme, only the nodes participating in a multicast session need to cooperate.
0-7803-7476-2/02/$17.00 (c) 2002 IEEE.

B. Multicast Routing in Fixed Networks There is a rich literature in multicast routing and its tree construction algorithms in xed networks. There are two basic types of routing strategies [16]: 1) source routing, and 2) distributed routing. In source routing, each node maintains complete global state information, i.e. network topology and link state information. A feasible routing tree is computed locally at each node. In distributed routing, the routing tree is computed on a hop-by-hop basis at each node. Most distributed algorithms require each node to maintain a global state in the form of distance vectors. The state information at each node is collectively used for the tree computation. The TakahashiMatsuyama Steiner tree heuristic represents a source routing strategy. It computes a least-hop Steiner tree by iteratively adding the nearest node and its corresponding shortest path to the tree. An overview and comparison of different multicast routing algorithms can be found in [16], [17]. In MANET, maintaining the global network topology information at each node is very difcult, because topology changes frequently. To bypass this problem, our tree construction algorithms maintain and utilize the geometric location information of the group nodes, which is much easier than maintaining the whole network topology because the amount of information is substantially reduced. Our tree construction algorithms are distributed, i.e. each node only computes its out-going tree edges. In a highly dynamic ad hoc environment, source routing is inaccurate because the source-computed tree is likely to be obsolete at the time when the packet travels to the bottom of the tree. Our distributed construction algorithms allow each node to compute the tree edges based on the latest location information at that node, which leads to more accurate construction decisions and lower cost of the trees. C. Multicast Routing in MANET There has been a number of multicast routing protocols designed for MANET. They maintain one of the following packet distribution structures: 1) tree-based; 2) mesh-based; and 3) ooding. The tree-based algorithms (AODV [18], LAM [19], AMRoute [20], AMRIS [21]) construct and maintain a shared tree spanning over all members of a multicast group. Tree repair is carried out when a tree edge is broken. In mesh-based algorithms (CAMP[22], ODMRP[23]), additional edges are added to a tree to create richer connectivity for a more robust and efcient packet distribution. The ooding approach simply oods the network with multicast packets without any distribution structure [3]. Flooding aims at higher packet delivery guarantees, especially in a highly dynamic ad hoc environment where maintaining a tree or mesh structure may incur heavy signaling overheads. A performance study of various multicast routing protocols can be found in [24]. The multicast routing protocols mentioned above all belong to the traditional multicast routing model, which can support very large multicast groups in the network. However, they incur scalability problems when supporting very large number of small groups [15]. The overhead of maintaining many multicast trees or meshes in MANET is large especially when the
IEEE INFOCOM 2002

1188

nodes are constantly moving. Flooding is not efcient for multicast either because members of a multicast group can be only a small subset of the total nodes in the network. Therefore, our work (and DDM) in small group multicast in MANET addresses the multicast problem from a different perspective, i.e. the practical need for collaboration among a small group of users. Our unicast encapsulated multicast scheme is highly deployable because only the participating nodes need to cooperate, and thus totally transparent to other nodes in the network. However, since our scheme is only suitable for small groups and is not a general purpose multicast routing protocol, it will not replace the traditional multicast routing protocols in MANET. Instead, it offers an alternative for communication within a small group of users, and thus complements the existing multicast protocols. VII. C ONCLUSION AND F UTURE W ORK In this paper, we introduce an alternative small group multicast scheme in mobile ad hoc networks (MANET) based on packet encapsulation, and present two novel location-guided tree construction algorithms to efciently forward packets to a multicast group. The constructed packet distribution tree resides on top of the underlying unicast routing protocol, and spans over all members of a multicast group. Our two tree algorithms use geometric distance as heuristics to construct the trees. The location-guided k-ary (LGK) tree algorithm selects the nearest k nodes as children nodes and clusters the rest of the nodes towards the k children based on geometric proximity. The location-guided Steiner (LGS) tree algorithm constructs a Steiner tree using a modied version of the well-known Takahashi-Matsuyama heuristic and uses geometric distance as a measurement of closeness. Both algorithms include a hybrid location update mechanism to exchange location information among a group of nodes. Our simulation results show that LGS tree has lower bandwidth cost than LGK tree when the location information of the nodes is up-to-date, and its cost is similar to that of an optimal Steiner multicast tree. Therefore, LGS should be used with an eager periodic update approach or when every node in the group constantly has data packets to send to take advantage of the in-band updates. When location information of the nodes is out-dated, the bandwidth cost difference between LGS and LGK becomes insignicant, hence LGK should be used due to its lower distribution delay and computational complexity. Therefore, depending on scenarios, one of the algorithms should be part of an overlay network solution for small group multicast in MANET. As a future direction, we are testing another location-guided tree construction algorithm based on the direction of the destinations from the sender. Each packet covers a subset of the destination nodes within a cone area centered at the sending node. Another future direction is the interaction between the tree construction algorithms and the underlying unicast routing protocol, to obtain the actual data throughput in the ns-2 network simulator.
0-7803-7476-2/02/$17.00 (c) 2002 IEEE.

ACKNOWLEDGMENTS The authors would like to thank Lusheng Ji of University of Maryland and other anonymous reviewers for their insightful comments. R EFERENCES [1] L. Ji, and M.S. Corson, Differential Destination Multicast - A MANET Multicast Routing Protocol for Small Groups, Proc. of INFOCOM 2001, April 2001, pp.1192-1201. [2] Home page of IETF Mobile Ad-hoc Networks (manet) WG. http://www.ietf.org/html.charters/manet-charter.html, updated June, 2001. [3] K. Obraczka, G. Tsudik, and K. Viswanath, Pushing the Limits of Multicast in Ad Hoc Networks, Proc. of IEEE ICDCS2001, April 2001. [4] E. Aharoni and R. Cohen, Restricted dynamic Steiner trees for scalable multicast in datagram networks, IEEE Transaction on Networking, 6(3), June 1998. [5] I. Stoica, T. Ng, and H. Zhang, Reunite: A recursive unicast approach to multicast, Prof. of INFOCOM 2000, March 2000. [6] R. Cohen and G. Kaempfer, A Unicast-based Approach for Steaming Multicast, Proc. of INFOCOM 2001, April 2001. [7] B. Karp, and H.T. Kung, GPSR: Greedy Perimeter Stateless Routing for Wireless Networks, Proc. of ACM/IEEE MobiCom 2000, August 2000. [8] Y.-B. Ko, and N.H. Vaidya, Location-Aided Routing (LAR) in Mobile Ad Hoc Networks, Proc. of ACM/IEEE MobiCom98, October 1998. [9] S. Basagni, I. Chlamtac, V.R. Syrotiuk, and B.A. Woodward, A Distance Routing Effect Algorithm for Mobility (DREAM), Proc. of ACM/IEEE MobiComm98, October, 1998. [10] Y. Xue, and B. Li, A Location-aided Power-aware Routing Protocol in Mobile Ad Hoc Networks, Proc. of IEEE Globecom 2001, San Antonio, Texas, November, 2001. [11] D.B. Johnson, and D.A. Maltz, Dynamic Source Routing in Ad Hoc Wireless Networks, Mobile Computing, T. Imielinski and H. Korth (Ed.), chapter 5, Kluwer Academic Publishers, 1996. [12] F.K. Hwang, D.S. Richards, and P. Winter, The Steiner Tree Problem, Elsevier Science Publishers B.V., 1992. [13] H. Takahashi, and A. Matsuyama, An approximate solution for the Steiner problem in graphs, Mathmatica Japonica, 1980, pp.573-577. [14] T.H. Cormen, C.E. Leiserson, and R.L. Rivest, Introduction to Algorithms, chapter 13, The MIT Press, McGraw-Hill Book Company, 1989. [15] R. Boivie, N. Feldman, Y. Imai, W. Livens, D. Ooms, and O. Paridaens, Explicit Multicast (Xcast) Basic Specication, IETF Internet-Draft, draftooms-xcast-basic-spec-00.txt, December 2000. [16] S. Chen, K. Nahrstedt, An Overview of Quality-of-Service Routing for the Next Generation High-Speed Networks: Problems and Solutions, IEEE Network Magazine, special issue on transmission and distribution of digital video, 12(6), Nov.-Dec. 1998, pp.64-79. [17] B. Wang, and J.C. Hou, Multicast Routing and Its QoS Extension: Problems Algorithms, and Protocols, IEEE Network, 14(1), January-February 2000. [18] E.M. Royer, and C.E. Perkins, Multicast Operation of the Ad-Hoc OnDemand Distance Vector Routing Protocol, Proc. of ACM/IEEE MobiCom99, August, 1999. [19] L. Ji, and M.S. Corson, LAM: Lightweight Adaptive Multicast Protocol, IETF Internet-Draft, draft-ietf-manet-lam-spec-00.txt, August 1998. [20] E. Bommaiah, M. Liu, A. McAuley, and R. Talpade, AMRoute: Ad hoc Multicast Routing Protocol, IETF Internet-Draft, draft-talpade-manetamroute-00.txt, August 1998. [21] C.W. Wu, Y.C. Tay, and C.-K. Toh, Ad hoc Multicast Routing Protocol utilizing Increasing id-numberS (AMRIS) Functional Specication, IETF Internet-Draft, draft-ietf-manet-amris-spec-00.txt, November 1998. [22] J.J. Garcia-Luna-Aceves, and E.L. Madruga, A Multicast Routing Protocol for Ad-Hoc Networks, Proc. of INFOCOM99, March 1999, pp 784792. [23] S.-J. Lee, M. Gerla, and C.-C. Chiang, On-Demand Multicast Routing Protocol, Proc. of IEEE WCNC99, New Orleans, LA, September 1999, pp.1298-1302. [24] S.-J. Lee, W. Su, J. Hsu, M. Gerla, and R. Bagrodia, A Performance Comparison Study of Ad Hoc Wireless Multicast Protocols, Proc. of INFOCOM 2000, March 2000.

1189

IEEE INFOCOM 2002