1
Voronoi diagram and convex hull based geocasting and routing in wireless networks Ivan Stojmenovic Computer Science, SITE, University of Ottawa Ottawa, Ontario K1N 6N5, Canada
[email protected]
Abstract A broad variety of location dependent services will become feasible in the near future due to the use of the Global Position System (GPS), which provides location information (latitude, longitude and possibly height) and global timing to mobile users. Routing is a problem of sending a message from a source to a destination. Geocasting is the problem of sending a message to all nodes located within a region (e.g. circle or square). Recently, several localized GPS based routing and geocasting protocols for a mobile ad hoc network were reported in literature. In directional (DIR) routing and geocasting methods, node A (the source or intermediate node) transmits a message m to all neighbors located between the two tangents from A to the region that could contain the destination. It was shown that memoryless directional methods may create loops in routing process. In two other proposed methods (proven to be loop-free), geographic distance (GEDIR) or most forward progress within radius (MFR) routing, node A forwards the message to its neighbor who is closest to destination, or has greatest progress toward destination (respectively). In this paper, we propose a general algorithm (based on an unified framework for both routing and geocasting problems), in which message is forwarded to exactly those neighbors which may be best choices for a possible position of destination (using the appropriate criterion). We then propose and discuss new V-GEDIR and CH-MFR methods and define R-DIR, modified version of existing directional methods. In V-GEDIR method, these neighbors are determined by intersecting the Voronoi diagram of neighbors with the circle (or rectangle) of possible positions of destination, while the portion of the convex hull of neighboring nodes is analogously used in the CH-MFR method. Routing and geocasting algorithms differ only inside the circle/rectangle. We propose memoryless and past traffic memorization variants of each scheme. The proposed methods may be also used for the destination search phase allowing the application of different routing schemes after the exact position of destination is discovered. Memoryless V-GEDIR and CH-MFR algorithms are loop free, and have smaller flooding rate (with similar success rate) compared to directional method. Simulations, involving the proposed and some known algorithms, are in progress.
1. Introduction GPS cards will be, in the near future, deployed in each car and possibly in every user terminal [K, NI]. For instance, NAVSTAR Global Positioning System has a potential accuracy of about 50-100 meters and Differential GPS offers accuracy of a few meters [N]. Mobile ad hoc networks consist of wireless hosts that communicate with each other in the absence of a fixed infrastructure. Routes between two hosts in the network may consist of hops through other hosts in the network. The task of finding and maintaining routes in the network is nontrivial since host mobility causes frequent unpredictable topological changes. A number of network protocols for achieving efficient routing has been recently proposed. They differ in the approach used for searching a new route and/or modifying a known route, when hosts move. The surveys of these protocols, that do not use geographic location in the routing decisions, are given in [BMJHJ, RS]. In this article we will discuss only GPS based approaches. Macker and Corson [MC] listed qualitative and quantitative independent metrics for judging the performance of routing protocols. Desirable qualitative properties include: distributed operation, loop-freedom (to avoid a worst case scenario of a small fraction of packets spinning
2
around in the network), demand-based operation, and 'sleep' period operation (when some nodes become temporarily inactive). In this paper we use three quantitative metrics that are similar to these described in [BMJHJ] (each of them is an average value): - hop count (the number of edges, i.e. transmissions on the path from source to destination), - delivery rate (the ratio of numbers of messages received by destination and sent by senders), - flooding rate (the ratio of the number of message transmissions and the shortest possible hop count between two nodes). Each transmission in multiple routes is counted. In the next section, we shall review existing routing protocols [BCSW, BMSU, KV, KSU, SL, TK] which use geographic location in their route decisions. MFR method [TK], proposed in early 1980’s, is a competitive method and was proved to be loop-free in [SL]. Variations of a directional routing algorithm are recently proposed [BCSW, KV, KSU] and are shown to perform significantly better than the methods that do not use geographic location in routing tables. Although [BCSW] claims that directional routing algorithms provide loop-free paths, [SL] gave a counterexample showing that undetected loops can be created. In GEDIR algorithm [SL], node currently holding the message will forward it to its neighbor that is closest to the destination among all neighbors. A proof that GEDIR is inherently loop-free is also given in [SL]. Geocasting is a variant of the conventional multicasting problem. For multicasting, conventional protocols define a multicast group as a collection of hosts which register to a multicast group address. However, for geocasting, the group consists of the set of all nodes within a specified geographic region. Hosts within the specified region at a given time form the geocast group at that time. Navas and Imielinski [NI] described GPS's application in geographic messaging, that is messaging to users who are located within a particular polygon or circle defined by latitude and longitude. Geographic messaging is a variant of geocasting problem, applied on networks which have wireless and wired components. Their method is based on a hierarchy of geographically defined routers, and the intersection of the appropriate levels of routers with the given polygon or circle. Their method is appropriate for hierarchically organized networks with large number of nodes. Ko and Vaidya [KV1] and Basagni, Chlamtac and Syrotiuk [BCS] described several location based geocast schemes (to be reviewed in the next section). In this paper, we propose the V-GEDIR routing method, based on determining those neighbors of current that may be closest to a possible location of the destination. Several methods, exact and approximate, for determining such neighbors are discussed. They are based on the intersection of the Voronoi diagrams or bisectors with the circle or rectangle of possible positions of destination. The corresponding CH-MFR is also described, based on the convex hull on neighboring nodes, while the analogous R-DIR is modified from [BCSW, KV]. Ad hoc networks are best modeled by the minpower graphs constructed in the following way. Each node A has its transmission range t(A). Two nodes A and B in the network are neighbors (and thus joined by an edge) if the Euclidean distance between their coordinates in the network is less than the minimum between their transmission radii (i.e. d(A,B) < min {t(A), t(B)}) [BCSW]. If all transmission ranges are equal, the corresponding graph is known as the unit graph. These models provide acknowledgments for received messages. The minpower and unit graphs are valid models when there are no obstacles in the signal path (e.g. a building). Ad hoc networks with obstacles can be modeled by subgraphs of minpower or unit graphs. In all algorithms, it is assumed that each node, in its routing table, contains the geographic location of all other nodes in the network. Since nodes may move, the actual locations may differ from the one recorded in the routing tables. Based on the location information, each node may calculate shortest paths (using breadth first search, for example) to all other nodes (in time
3
proportional to the number of edges), and may select the first neighbor on the route to all destinations. This algorithm provides the shortest paths if the location information is reasonably accurate and all nodes are active. However, such algorithm does not adapt to ‘sleep’ period operations, since the shortest paths can be ‘broken’ by inactive nodes. Next, even if location of all nodes is accurate, some links may be blocked by obstacles, while other links may exist when distance exceed radius for small amount. Thus, shortest path algorithms require to update the information about edges as well, which is a significant communication overhead. It is assumed here that each node is aware of its inactive neighbors. The algorithms discussed in this paper use only the location of destination and location (and activity) information of direct neighbors to make a decision on forwarding the message. Such algorithms are called localized algorithms. Based on mobility information about destination, its latest known location may not be accurate to a node wishing to route message to it. It is therefore assumed that the destination is located inside a circle or square, centered at latest known location, whose size depends on available mobility information. In routing algorithms discussed in this paper, sender or each intermediate node makes the forwarding decision based on these data. Message may be forwarded to none, one or several neighbors. In the geocasting problem, all nodes within a circle or square are supposed to receive the message, not just its center (as in the routing problem). In the unified framework that we adopt, geocasting problem is solved by routing toward the center of the region, even though that center is not necessarily a node of the network. The equivalence is valid as long as receiving nodes are lying outside the geocasting region. However, nodes inside the region may, upon receiving the message, forward it to some additional nodes (or simply broadcast it to all its neighbors). The decision can be made in the same way independently on the routing method applied outside the region. We extend our unified framework toward unified definition of forwarding region and derive routing and geocasting algorithms for each of three basic methods (DIR, MFR, GEDIR) discussed in [SL]. Versions that require and do not require to memorize past traffic are discussed. In [SV], it is suggested to solve the mobility problem by separating location update and destination search steps from the actual routing. Based on their mobility, nodes periodically update their location to their smaller or larger neighborhood. When a source wishes to send a message ('long' message) to a destination, it initiates destination search process by sending 'short' messages looking for destination. Destination, when discovered, will report back to sender with its exact location, allowing sender to send the long message to exact location of destination (possibly with a different routing method, e.g. one with guaranteed delivery [BMSU]). The geocasting algorithms, discussed in this paper, may be used for the destination search step of the algorithm instead of using them for sending the 'long' message. 2. Known GPS based routing and geocasting methods Several GPS based methods were proposed in 1984-86 by using the notion of progress. Define progress as the distance between the transmitting node and receiving node projected onto a line drawn from transmitter toward the final destination. A neighbor is in forward direction if the progress is positive (for example, for transmitting node S and receiving nodes A, C and F in Fig. 1); otherwise it is said to be in backward direction (e.g. nodes B and E in Fig. 1). Takagi and Kleinrock [TK] proposed MFR (most forward within radius) routing algorithm, in which packet is sent to the neighbor with the greatest progress (e.g. node A in Fig. 1). Let a.b denote the dot products of vectors a and b. Consider the dot products of vectors originating from destination D and ending at network nodes. Clearly DS.DA = |DS||DA’| where A’ is the projection of A on the line DA (see Fig. 1). The sign is assumed here to be positive; it can be shown that, in case of negative dot product, D
4
must be a neighbor of S. Thus the considered dot product is minimal exactly when the progress in maximal. The goal in the MFR algorithm [TK] is, therefore, to minimize the dot product. It was proved in [SL] that the MFR algorithm is loop-free.
A B
C A’ D S
E
F
Figure 1. Progress based routing methods Recently, three articles [BCSW, KV, KSU] independently reported variations of fully distributed routing protocols based on direction of destination. In these directional routing methods, node A uses the location information for B and its one hop neighbors to obtain B's direction, and then transmits a message m to several neighbors whose direction (looking from A) is closest to the direction of D. The methods differ in the choice of direction ranges. In the compass routing method (referred here as the DIR method) proposed by Kranakis, Singh and Urrutia [KSU], the source or intermediate node A uses the location information for the destination D to calculate its direction. The location of one hop neighbors of A is used to determine for which of them, say C, is the direction AC closest to the direction of AD. The message m is forwarded to C. This process repeats until the destination is, hopefully, reached. Although the authors describe their method for static networks only (for finding routes using only compass and the geographic road maps), it may be used also in ad hoc networks. A counterexample showing that directional based methods are not loop-free is given in [SL]. A routing algorithm (for unit graphs) that guarantees delivery by finding a simple path between source and destination (without any flooding effect) is described in [BMSU]. The best variant of the algorithm in [BMSU] applies GEDIR method until current node has no neighbor closer to destination than itself. A simple distributed algorithms is described in [BMSU] for finding the planar subgraph of unit graph, and an improved version of algorithm in [KSU] which guarantees delivery in planar graphs is applied until a closer to destination node is reached, at which point the algorithm switches back to GEDIR. Basagni, Chlamtac, Syrotiuk and Woodward [BCSW] described a distance routing effect algorithm for mobility (DREAM). It is based on the following variant of the directional method, which we call the range directional (R-DIR) algorithm. The source or any intermediate node A calculates the direction of destination D and, based on the mobility information about D, chooses an angular range. The message m is forwarded to all neighbors whose direction belongs to the selected range. The range is determined by the tangents from A to the circle centered at D and with radius equal to a maximal possible movement of D since the last location update. The area containing the circle and two tangents is referred as the request zone in [KV]. The request zone in [BCSW] is determined such that the probability of finding the destination within the zone is greater
5
than the given threshold. DREAM algorithm [BCSW] incorporates, in addition to the R-DIR method, the idea of triggering the sending of location updates (containing only the coordinates and the identifier of a node) by the moving nodes autonomously at a rate and hop distance that correspond to the node's mobility rate. E C B B S
D
t” S
G
A
D t’
A Figure 2. Distance vs. directional routing and local loop Figure 3. GEDIR vs. compass and request zone Ko and Vaidya [KV] described, independently at the same conference, an almost identical R-DIR algorithm, and a few modifications of it. They observed that the request zone may not contain any neighbor of source S although there exists a path between the source and the destination (see Fig. 2). In the location aided routing (LAR) algorithm [KV], the request zone is fixed from the source (although intermediate nodes may modify it based on more recent location information for the destination), and a node which is not in the request zone does not forward a route request to its neighbors. If the source has no neighbors within the request zone, the zone is expanded to include some. In [BCSW] the request zone is defined differently; it is determined by tangents (to the circle around the destination) from the intermediate node (not from the source). The size of the request zone depends on the average speed of the destination's movement and time elapsed since the last known location of the destination was recorded [BCSW, KV]. Ko and Vaidya [KV] discuss various enhancements to their basic technique. The LAR scheme 1 [KV] proposes an alternative definition of the request zone, as the smallest rectangle that includes current location of S and the expected zone of destination (a circular region). The request zone is thus increased, with increased chances of reaching destination but also with increased flooding. The modifications in [KV] include sending route requests before the message itself [JM]. Note that a route request may be considered as a routing of short messages. Nodes may update their location information with each exchange of messages between them. Messages may contain source location also to update location information at intermediate nodes. Recovery procedures based on partial or full flooding, to start flooding if the given algorithm fails to find the route within a timeout interval, are proposed by both papers [BCSW, KV]. Ko and Vaidya [KV] also proposed the LAR scheme 2. In this scheme, the source or each intermediate node A will forward the message to all nodes that are closer to the destination than A is (more precisely, at most δ farther from the destination than node A, to account for possible location error). This scheme therefore suggests the use of geographic distance instead of direction. However, despite even static destination, the flooding effect in the scheme is very significant. [SL] introduced the GEDIR routing algorithm for a network based on the locations (latitude and longitude) of all nodes. When node A wants to send a message to node B, it uses the location information for B and for all its one hop neighbors to determine the neighbor C which is closest to
6
B among all neighbors of A. The message is forwarded to C, and the same procedure is repeated until B, if possible, is eventually reached. GEDIR algorithm is inherently loop-free [SL]. The proof is based on the observation that distances of nodes toward destination are decreasing. Similarly, the proof of loop-free MFR algorithm is based on a decreasing dot product. All described GPS based routing algorithms are fully distributed, demand-based and adapt well to 'sleep' period operation. Ko and Vaidya described two geocasting algorithms [KV1]. In the location based multicast scheme 1, forwarding zone is defined as a smallest rectangle (with sides parallel to x- and ycoordinate axes) that includes current location of sender S and the multicast region. Node s includes the corners of the forwarding region with the message. When a node receives the multicast packet, it simply discards the packet if the node is not within the forwarding zone. Otherwise, the node will broadcast the message to all its neighbors. We note that the size of the forwarding node might be considerable with respect to the multicast region, thus involving significant flooding effect. Similar geocasting algorithm, based on directional routing method, is also described by Basagni, Chlamtac and Syrotiuk [BCS]. They proposed geocasting and querying algorithms. The location-based multicast scheme 2 [KV1] is almost equivalent to LAR2 scheme from [KV] (although the authors do not mention it in [KV1]). The difference is that nodes inside the multicast region accept the received packet and forward the message to their neighbors if the node the message came from is inside the region (without applying the distance criteria). Several optimizations to two schemes are also described in [KV1], including the adaptation of forwarding zone (in the first scheme) by replacing the sender node with current node in its definition, and possible use of directed antennas. 3. Closest neighbors for moving destination We shall now modify the definition of the request zone [BCSW, KV] in order to provide uniform framework with the corresponding notions in GEDIR and MFR methods. The neighbors of A that are located within the request zone are exactly those neighbors that are in direction closest to the direction of destination for some possible positions of destination. In other words, different position of destination within its circle lead to different choice of neighbor, and the request zone (more precisely, the corresponding angular range) may easily find such neighbors by comparing directions of all neighbors with the angular range. With this new definition in mind, we observe that the request zone defined in such way may include one or two neighbors that are outside of angular range, because they can have the closest direction for the tangents to the circle. So defined requested zone, for example, will include nodes A and B on Fig. 2. Such definition also resolves the problem of having no nodes inside the request zone [BCSW] and may more precisely determine the expansion of the request zone if it is empty [KV]. In fact, even if the zone is nonempty, the routing algorithm will be improved by possible addition of two considered nodes, if they are valid candidates to be the best choice for some possible positions of destination. For example, in Fig. 3, the source S should forward the message to node G which is inside the request zone, and also to node A since A has closer direction to tangent t' than node G. Node B should not be included since its direction is farther from direction of the other tangent t" compared to the direction of G. The scenario in Fig. 3 justifies such choice for improved delivery rate with respect to flooding effect. The method is referred to here as R-DIR method. We shall now study the corresponding definitions of the request zone for the case of GEDIR and MFR algorithms, and propose V-GEDIR and CH-MFR methods, in which message is forwarded to exactly those neighbors which may be closest to (have most forward progress for, respectively) a possible position of destination.
7
These neighbors for GEDIR algorithm can be determined by using the concept of Voronoi diagram for the set of nodes of network. Voronoi diagram of n distinct points in the plane is a partition of plane into n Voronoi regions, one associated with each point. The Voronoi region associated with node A consist of all the points in the plane which are closer to A than to any other node. It can be shown that each region is a convex polygon (possibly unbounded) determined by bisectors of A and other nodes (more precisely, each region is the intersection of all such bisectors). Okabe, Boots and Sugihara [OBS] gave a thorough review of concepts, applications and algorithms related to Voronoi diagrams. It is well known that the Voronoi diagram for n points in the plane can be constructed in O(n log n) time [OBS]. The Voronoi diagram consist of O(n) line segments. Based on the location information of all its n neighbors, node S currently holding a message for the destination D computes their Voronoi diagram. For example, in Fig. 4 the Voronoi diagram of five neighbors A, B, C, E and F is shown in dashed lines (note that node S and other nodes of the figure are not centers of Voronoi regions). Consider the circle where destination D can be located. Different locations of D inside the circle correspond to different choices of closest nodes among A, B, C, E and F. For each position of D, the closest node is the one whose Voronoi region contains the position. For example, in Fig. 4 the center D is inside Voronoi region of node E, and thus node E is the closest to D. Thus the nodes which are closest to some positions of destination are exactly those nodes whose Voronoi region intersects the circle of possible destination positions. Similar observation is valid if circle is replaced by a rectangle. In Fig. 4, the Voronoi regions of nodes B and E intersect the circle, and will be selected to receive the message from node S.
D
A
B E S
F
C
Figure 4. Voronoi diagram and the request zone There are several optimal O(n log n) algorithms [OBS] for constructing Voronoi diagram. Each of these algorithms has sophisticated details. However, since the number of neighbors n is normally small, a node equipped with a processor may construct Voronoi diagram with any of these methods in real time. If a simple method is preferred, node S can make a decision in O(n2) time by constructing bisector for each pair of its neighbors. Initially all neighbors are selected for forwarding the message. Consider one of the bisectors, for example for nodes E and C in Fig. 6.
8
Node S may determine that the circle is completely on one side of the bisector, and therefore node E is closer than node C for any possible location of destination within the circle. Node C is therefore deleted from the forwarding list of neighbors. Other nodes whose Voronoi region does not intersect the circle will be also eliminated in the process. If the number of neighbors n is considerable, and a simple but approximate decision is required, node S can sort all neighbors according to their direction, and construct bisectors for any two consecutive nodes in the sorted list. Some nodes will be eliminated, but some that should be eliminated will remain. The process can be repeated few times for the remaining nodes until the number of remaining nodes becomes reasonable. Another approximate decision can be made by selecting certain number of points on the circle boundary and finding the closest neighbor for each of them. Neither Voronoi diagrams nor bisectors are needed in this approach. However, some of the desired neighbors may not be discovered, and the computation time may actually increase. We shall also describe the corresponding selection of neighbors for the MFR routing algorithm [TK]. Construct the convex hull CH(S) of all neighbors of a given node S, and tangents from S to the circle of possible location of destination (see Fig. 5), which touch the circle at points U and V. Find the neighbors U’ and V’ that will be selected by S if D is located at U and V, respectively. The message is forwarded from S to all neighbors that are located on CH(S) between U’ and V’ (including these two points). The request zone for MFR algorithm in Fig. 5 consist of nodes U’, B, and V’. The convex hull of n nodes can be constructed in O(n log n) time using Graham’s scan algorithm [O]. The nodes on CH(S) can be projected onto tangents t’ and t” to determine nodes U’ and V’ and other nodes between them that belong to the request zone (in Fig. 5, the zone consists of nodes U’, B and V’). Note that the request zone does not contain all the neighbors within some angular range; thus it can be considered as a restricted angular zone. An approximate neighbor selection can be made by selecting certain number of points on the circle boundary and finding the corresponding neighbor for each of them. Convex hull construction is not needed in this approach. U U’
S
t’
B
V’
D
t” V
Figure 5. The request zone for MFR algorithm 4. Algorithmic details The goal of proposed algorithms is to increase success rate, and decrease hop count and flooding rate. The flooding rate may be reduced significantly (without affecting success rate or hop count) if each node memorizes the past traffic, and ignores the multiple copies of the same messages, acting only on the first received copy. Since the number of messages in circulation may
9
be significant, including several different messages from the same source, the memory requirement may leads to increased computation time and power consumption. The memorization of past traffic provides also loop-free algorithm (more precisely, a loop can be created, but is detected and eliminated). We shall now modify CH-MFR and V-GEDIR algorithms so that remain loop-free when the past traffic is nor memorized. Note first that R-DIR algorithm is based on DIR algorithm which is not loop-free, and therefore cannot be modified itself to become loop-free in memoryless mode (unless some other concepts different from direction, e.g. distance or progress, are involved). We shall observe first that V-GEDIR and CH-MFR algorithms, as described in the previous section, are not loop-free in memoryless mode. Consider an example in Fig. 6. Each of nodes A, B, and C will forward the message to two other nodes, since they are closest to nodes A', B' and C', respectively, from the circle. Thus loops can be created. A A' C C' D B B'
Figure 6. Avoiding loops in V-GEDIR In order to avoid loops, V-GEDIR algorithms can be modified as follows. Each node A, currently holding message, will consider only neighbors which are closer to the center D of circle, and will forward it to those neighbors which are closest to a possible position of destination (among candidate neighbors). Thus the Voronoi diagram (or convex hull) are constructed only for neighbors which are closer to D than A. The restriction to closer (to destination) neighbors can be also used in CH-MFR and R-DIR algorithms. However, we propose the use of the basic concept of MFR algorithm instead, that is the dot product. Suppose that node A received the message from neighboring node C. A will consider as candidates only its neighbors B which satisfy DB.DA < DA.DC. The loop-free property of such CH-MFR algorithm then follows from the proof of loop-free property of MFR given in [SL]. 5. Conclusion Simulations, involving proposed and related known algorithms, are currently in progress. The new algorithms already have the advantage of being loop-free, compared to direction based techniques. The flooding rates and hop counts are expected to be reduced in V-GEDIR and CH-DIR methods. All nodes contained between the tangents from current node to the circle of destination positions will receive the message in R-DIR method, but not in V-GEDIR or CH-MFR ones. The later two methods may select some neighbors outside these tangents; however R-DIR is also likely to select them or to replace them by some other neighbors. Simulations will proceed in three phases. Preliminary experiments will carried on static nodes. The next phase will involve moving nodes, using a common location update scheme. In the final phase, we plan to use GLOMOSIM simulator that implements medium access protocol and various movement patterns.
10
References [BCSW] S. Basagni, I. Chlamtac, V.R. Syrotiuk, B.A. Woodward, A distance routing effect algorithm for mobility (DREAM), Proc. MOBICOM, 1998, 76-84. [BCS] S. Basagni, I. Chlamtac, V.R. Syrotiuk, Geographic messaging in wireless ad hoc networks, Proc. 49th IEEE Int. Vehicular Technology Conference VTC'99, Houston, TX, May 1999, Vol. 3, 1957-1961. [BMJHJ] J. Broch, D.A. Maltz, D.B. Johnson, Y.C. Hu, J. Jetcheva, A performance comparison of multi-hop wireless ad hoc network routing protocols, Proc. MOBICOM, 1998, 85-97. [BMSU] P. Bose, P. Morin, I. Stojmenovic and J. Urrutia, Routing with guaranteed delivery in ad hoc wireless networks, 3rd int. Workshop on Discrete Algorithms and methods for mobile computing and communications, Seattle, August 20, 1999, 48-55. [JM] D. Johnson, D. A. Maltz, Dynamic source routing in ad hoc wireless networks, in Mobile Computing (T. Imielinski and H. Korth, eds.), Kluwer Acad. Publ., 1996. [K] E.D. Kaplan (ed.) Understanding GPS: Principles and Applications, Artech House, 1996. [KSU] E. Kranakis, H. Singh and J. Urrutia, Compass routing on geometric networks, Proc. 11th Canadian Conference on Computational Geometry, Vancouver, August, 1999. [KV] Y.B. Ko and N.H. Vaidya, Location-aided routing (LAR) in mobile ad hoc networks, MOBICOM, 1998, 66-75. [KV1] Y.B. Ko and N.H. Vaidya, Geocasting in mobile ad hoc networks: Location-based multicast algorithms, Proc. WMCSA, 1999, New Orleans. [LS1] Xu Lin and I. Stojmenovic, GPS based routing algorithms for wireless networks, Computer Science, SITE, University of Ottawa, TR-98-10, December 1998. [MC] J.P. Macker and M.S. Corson, Mobile ad hoc networking and the IETF, Mobile Computing and Communications Review, 2, 1, 1998, 9-14. [N] NAVSTAR GPS operations, http://tycho.usno.navy.mil/gpsinfo.html, and Iowa State University GPS page, http://www.cnde.iastate.edu/gps.html . [NI] J.C. Navas, T. Imielinski, GeoCast -geographic addressing and routing, MOBICOM, 1997, 66-76. [O] J. O’Rourke, Computational geometry in C, Cambridge University Press, 1994. [OBS] A. Okabe, B. Boots, K. Sugihara, Spatial Tessellations: Concepts and Applications of Voronoi diagrams, John Wiley and Sons, 1992. [RS] S. Ramanathan and M. Steenstrup, A survey of routing techniques for mobile communication networks, Mobile Networks and Applications, 1, 2, 1996, 89-104. [SL] I. Stojmenovic and X. Lin, GEDIR: Loop-free location based routing in wireless networks, IASTED Int. Conf. on Parallel and Distributed Computing and Systems, Nov. 3-6, 1999, Boston, MA, USA, 1025-1028. [SL2] I. Stojmenovic and Xu Lin, Power-aware routing in ad hoc wireless networks, SITE, University of Ottawa, TR98-11, December 1998. [SSW] M. Seddigh, I. Stojmenovic, J. Wu, Location and internal nodes based routing in wireless networks, SITE, University of Ottawa, TR-99-08, September 1999. [SL1] Ivan Stojmenovic and Xu Lin, Power aware distributed routing in ad hoc wireless networks, Computer science, SITE, University of Ottawa, TR-98-11, December 1998. [SV] Ivan Stojmenovic and Bosko Vukojevic, A routing strategy and quorum based location update scheme for ad hoc wireless networks, Computer science, SITE, University of Ottawa, TR-99-09, September 1999. [TK] H. Takagi and L. Kleinrock, Optimal transmission ranges for randomly distributed packet radio terminals, IEEE Transactions on Communications, 32, 3, 1984, 246-257.