• Aucun résultat trouvé

Geographic routing on Virtual Raw Anchor Coordinate systems

N/A
N/A
Protected

Academic year: 2022

Partager "Geographic routing on Virtual Raw Anchor Coordinate systems"

Copied!
23
0
0

Texte intégral

(1)

Article

Reference

Geographic routing on Virtual Raw Anchor Coordinate systems

LEONE, Pierre, SAMARASINGHE, Kasun

Abstract

In this paper we present a novel combinatorial approach for geographic routing with delivery guarantees. Proposed algorithm can be seen as a variant of GFG (Greedy Face Greedy of Bose et.al) algorithm, but based on combinatorial properties derived in the Virtual Raw Anchor Coordinate system, which is the localization scheme of interest. We utilize a local planarization algorithm of a geometric graph, which is based on the Schnyder's characterization of planar graphs. The new approach is combinatorial in the sense that the nodes are ordered with respect to three distinct order relations satisfying suitable properties.

The coordinate system that motivated the development of this routing algorithm is VRAC (Virtual Raw Anchor Coordinates), which localizes the nodes with the raw distances from three anchors. Since the positions of the anchors are not known, the VRAC coordinate system does not correspond to the Euclidean location of nodes, yet leaving sufficient information to define necessary combinatorial constructs for routing with guaranteed delivery. In particular, the routing algorithm avoids the references to [...]

LEONE, Pierre, SAMARASINGHE, Kasun. Geographic routing on Virtual Raw Anchor Coordinate systems. Theoretical Computer Science , 2016, vol. 621, p. 1-13

DBLP : journals/tcs/LeoneS16 DOI : 10.1016/j.tcs.2015.12.029

Available at:

http://archive-ouverte.unige.ch/unige:87831

Disclaimer: layout of this document may differ from the published version.

(2)

Geographic Routing on Virtual Raw Anchor Coordinate Systems

Pierre Leone, Kasun Samarasinghe

Computer Science Department, University of Geneva, Battelle A, route de Drize 7, 1227 Carouge, Switzerland

Abstract

In this paper we present a novel combinatorial approach for geographic rout- ing with delivery guarantees. Proposed algorithm can be seen as a variant of GFG (Greedy Face Greedy of Bose et.al) algorithm, but based on combinatorial properties derived in the Virtual Raw Anchor Coordinate system, which is the localization scheme of interest. We utilize a local planarization algorithm of a geometric graph, which is based on the Schnyder’s characterization of planar graphs. The new approach is combinatorial in the sense that the nodes are or- dered with respect to three distinct order relations satisfying suitable properties.

The coordinate system that motivated the development of this routing algorithm is VRAC (Virtual Raw Anchor Coordinates), which localizes the nodes with the raw distances from three fixed anchors. Since the positions of the anchors are not known, the VRAC coordinate system does not correspond to the Euclidean location of nodes, yet leaving sufficient information to define necessary com- binatorial constructs for routing with guaranteed delivery. In particular, the routing algorithm avoids the references to geographical arguments and makes use only of the order relations on the nodes. We expect that our approach will foster further research on building efficient order relations, that will prove to be useful in practical implementation of geographic routing algorithms. In partic- ular, we expect that further work will prove that the combinatorial approach for geographic routing, based on a raw anchor based positioning system is more robust in the presence of distance measurement errors.

Keywords: Geographic Routing, Planar Graphs, Combinatorics

1. Introduction

Geographic routing is a routing paradigm proposed for wireless ad-hoc networks, independently proposed in Greedy Perimeter Stateless Routing (GPRS) [1] and Greedy Face Greedy (GFG) [2]. This approach is promising due to its scalability and efficiency in the face of network dynamics, compared to the on-demand routing schemes like AODV [3] which discovers routes in advance. In essence, geographic routing forwards the message to the geographically closest neighbor

(3)

towards the destination referred to asgreedy forwarding, which is proven to be an effcient routing scheme [4]. Such greedy neighbors can be determined by a simple geometric computation, once the geographic coordinates of the nodes are known. Greedy forwarding can get stuck at a node, where no progress can be made towards the destination. Such a node is referred to as a local- minima. In order to recover from a local-minima, face routing (or perimeter routing) [1], [2] was proposed which forwards the message around the face of a planarized communication graph in a systematic way until it reaches the destination or a node where greedy routing can resume.

Geographic routing relies on geographic locations of nodes in the network.

Therefore it should be supported by an auxiliary localization service. Localiza- tion is an independent problem, which has been extensively studied, especially for the networks where expensive localization methods are not feasible. Thus most of the localization schemes assume that, only a small number of nodes (re- ferred as beacons or anchors) know their exact geographic location information and the rest of the nodes can determine the distance between anchor nodes and themselves. With these two pieces of information a node can perform a geo- metric computation technique liketrilateration (or multilateration in general) to derive their geographic information. In order to make sure that all the nodes get localized, newly localized nodes have to collaboratively act as anchors and propagate their geographic locations. Drawbacks of this method are the im- portance of the placement of anchor nodes as well as computational errors, see [5, 6, 7] for instance. Anchor free localization is proposed as a solution to over- come difficulties associated with anchors, where it only based on the distances between nodes. Main aim of this class of algorithms is to find an euclidean em- bedding of the connectivity graph, such that it preserves the inter-distances of nodes. Such coordinate systems are referred as virtual coordinate systems, since they do not hold any correspondence with the physical coordinates of nodes.

Both these approaches have to determine distances from anchor nodes or from the rest of the nodes in the network. Based on these distances, they perform re- spective computations to generate coordinates. In this paper, we explore a new avenue of virtual coordinate systems called Virtual Raw Anchor Coordinates (VRAC), where it assigns raw distance measurements from anchors as the co- ordinates of nodes. Therefore, VRAC avoids the costly coordinate computation phase of other localization schemes. GLIDER [8] and Beacon Vector Routing (BVR) [9] are two closely related approaches which employed the same virtual coordinate assignment and proposed geographic routing schemes based on the assigned coordinates. In both these approaches, a distance function is defined to perform greedy forwarding, since Euclidean distance is not applicable in their coordinate system. Once a local-minima is reached both protocols perform a controlled flooding to reach the destination. We identify that, raw coordinates inherit some useful combinatorial properties, which can be used in geographic routing to implement face routing and to avoid flooding. In this paper we for- mulate essential combinatorial constructs to perform greedy forwarding and face routing, hence ensuring delivery guarantees for geographic routing.

The remainder of the paper is organized as follows. Section 2 introduces some

(4)

background material and VRAC. Based on VRAC, section 3 defines the basic combinatorial constructs in the form of mathematical order relations. These basic definitions are used to construct the three basic components of geographic routing; graph planarization, greedy routing and face routing in following sec- tions. Finally we provide the simulation results of our algorithm comparing with GFG performed in the Euclidean coordinate system.

2. Background 2.1. Geographic Routing

Geographic routing uses the geographic coordinates of nodes and their local knowledge (i.e geographic coordinates of their neighborhood) to perform geo- graphic routing. Geographic routing consits of following phases.

2.1.1. Greedy Forwarding

Initially in the routing process, a node forwards the message to the closest neighbor towards the destination, which is referred to asgreedy forwarding. If the nodes are localized in a standard Euclidean coordinate system, distance is the classical Euclidean distance which can be calculated given the coordinates.

Greedy forwarding in VRAC is discussed in subsection 5.

2.1.2. Face Routing

In a real deployment of a network, greedy routing can fail due to holes in the network topology, when it reaches a node such that it cannot find a closer neighbor towards destination (local-minima). In GFG [1] and GPSR [2], they proposedface routing to recover from local-minima, where message tries to tra- verse around the face until it reaches the destination or a node that can continue greedy forwarding again. The celebratedright hand rulefor maze solving is used to perform face traversal, where it forwards the message to the first clockwise or counter-clockwise neighbor. Once a message hits a local-minima, it records the coordinates of the node it occurs and carries this information along the face.

The message has to switch the current face, when it crosses the hypothetical line between the local-minima and destination (this can be determined with information in the message it self) which we refer to asface switching. In order to perform such a face traversal, connectivity graph has to be aplanar graph (graph without edge crossings). In GFG and GPSR they use a distributed pla- narization algorithm assuming a Unit Disk Graph (UDG) connectivity model.

We develop the face routing primitive in subsection 6, following the above steps.

Both GFG and GPRS claims guaranteed delivery of messages. A comprehensive study of delivery guarantees can be found in [10], where they consider differ- ent planarizations of connectivity graph and different face switching strategies.

Moreover, they prove that face switching strategy in GFG ensures delivery guar- antees in arbitrary planar graphs.

(5)

2.2. Localization

Geographic routing needs an underlying localization scheme to assign coordi- nates to nodes which are used as addresses in routing. Large scale networks like wireless sensor networks are equipped with small embedded devices with limited processing and communication capabilities, which are powered by limited en- ergy sources. Therefore, localization in these devices is always not trivial due to their intrinsic resource constraints. For instance, localization based on globally adopted technologies like Global Positioning System (GPS) has not become a viable candidate for WSNs. A typical solution is to equip small number of de- vices (so called anchor nodes) with location information (with GPS or statically assigned), and let the rest of the nodes (non-anchor nodes) to derive their loca- tion. In order to calculate their position, non-anchor nodes have to measure the distances from anchor nodes (from minimum of three anchors in a two dimen- sional surface) and perform a basic geometric technique called trilateration to compute their coordinates. This computation finally reduces to solving a set of linear equations. When distance measurements are erroneous, a unique solution may not exists and hence a best approximation is calculated using more than three distance measurements.

An alternative to the anchor based localization was proposed in NoGeo [11], where it nodes are assigned virtual coordinates. These coordinates do not cor- respond to their physical coordinates, yet suffice to perform geographic routing.

NoGeo models the coordinate construction problem similar to a mass-spring model, where they represent each edge with a spring. An iterative relaxation procedure is used to arrive at an equilibrium of the nodes, with respect to the forces acting upon a node by their neighbors. Coordinates at the equilibrium are taken as the virtual coordinates of the node. During the iterative process, NoGeo performs several network wide broadcasts to communicate different in- formation (like current coordinates) required in the coordinate construction. A similar but a lighter distributed virtual coordinate construction was proposed in AFL [12], which is only based on neighbor information. They initially assign an approximate coordinates, which is later refined to minimize the position errors.

This refinement is done by applying the mass-spring model based on the already calculated coordinates and estimated distances between nodes. Mass-spring op- timization aims to arrive at an equilibrium point where the forces resulted by errors of the initial coordinates are zero. There are several other heuristic based algorithms for virtual coordinates construction problem can be found in litera- ture. For instance in [], the localization scheme executes a random process on the top of the network and the state of the process often converges leading to coordinates.

In the geographic routing perspective, NoGeo proposes a routing scheme upon the constructed coordinates. They use greedy forwarding followed by a local- minima recovery mechanism, which does not guarantee the delivery.

(6)

3. Virtual Raw Anchor Coordinate System

To avoid the computation phase of localization, BVR [9] and GLIDER [8] have independently proposed a virtual coordinate scheme relying only on the raw measures from anchor nodes. Both these mechanisms assign nodes their coordi- nates, simply as a hop-count vector from the anchors. Therefore this mechanism does not require any further computation. VRAC [13] has used the similar con- cept and assigns coordinates as raw distances from anchors. A local routing strategy was proposed for VRAC in [13] with guaranteed delivery in the case where the graph is dense enough. Furthermore, an anchor placement which ensures the planarized graph is a 2−spannaris also derived.

Virtual Raw Anchor Coordinate space by definition, deviates from classical co- ordinate spaces. Most importantly, it does not follow the fundamental axioms required to define thedistanceandangle. This motivates us to explore combina- torial properties of VRAC which can be used in geographic routing. VRAC de- fines coordinates of each nodeuas u1, u2, u3

= d(u, A1), d(u, A2), d(u, A3) , see Figure 1a. Moreover, we assume that all the nodes are inside the triangular region, A\1A2A3, formed by anchors A1, A2, A3, see [14] for the explanation of why this is necessary and the description of possible further work to remove this assumption. In [15], authors proposed an interesting routing stratergy in the schnyder coordinates that does not make use of a distance function. VRAC is close in the spirit of this work, yet it avoids the computation of schnyder coordinates by assuming that the distances to the anchors are available.

In this manuscript, we consider two versions of VRAC constructions. First ver- sion is the basic construction of coordinates as described earlier. In the second version, we further assume that anchors can estimate the distances between them, hence the lengths of the convex triangle of a node are known. With this information, we define a slightly different version of VRAC (see Figure 1b), where perpendicular distances from triangle edges are assigned as coordinates.

This coordinate system is less general, however ir leads to spannaer properties (see [14]). Our goal in both cases is to define the required constructs such that geographic routing can be performed with delivery guarantees. We investigate a combinatorial approach based on order relations. We start by defining the order relations which are applicable in both versions of coordinate systems.

We can define three order relations on the set of nodesV.

Definition 1. The three order relations<i,i= 1,2,3on V×V are defined by

∀u, v∈V u <iv⇐⇒d(u, Ai)< d(v, Ai)⇐⇒u1< vi.

The three order relations are total1and it makes sense to associate the minimum of a set with respect to one of the three order. We will denote this by mini for i= 1,2,3.

1A total order is a binary relation which is valid forall the pairsin a set

(7)

A1

A2 A3

u

d(u, A3) d(u, A2)

d(u, A1)

su1

su2

su3

su4

su5

su6

(a) Basic coordinate assignments with raw distances from anchors

(b) Coordinate assignment with perpendicular distances from edges of the triangles

Figure 1: Two VRAC variants

These three orders permit the definition of sectors associated with a nodeu.

Definition 2. We define the following sectors associated to a node u∈V, see Figure 1a. Note that the reference nodeudoes not belong to the sectors.

su1 ={v| u <1 v, u >2 v, u >3 v} ∩ A\1A2A3. su2 ={v| u <1 v, u <2 v, u >3 v} ∩ A\1A2A3. su3 ={v| u >1 v, u <2 v, u >3 v} ∩ A\1A2A3. su4 ={v| u >1 v, u <2 v, u <3 v} ∩ A\1A2A3. su5 ={v| u >1 v, u >2 v, u <3 v} ∩ A\1A2A3. su6 ={v| u <1 v, u >2 v, u <3 v} ∩ A\1A2A3.

In the text, we refer to these sectors as sector number 1,2, . . . ,6 respectively, i.e. for instance,su4 is sector number 4 ofu.

Definition 3. Given a node D, we also use the convenient notation suD to denote the sectorj ofusuch that D∈suj, i.e. D∈suD.

4. Communication graph planarization

The local planarization of the communication graph in the VRAC coordinate system is presented in [14] where we show how planarity criterion introduced in [16] can be turned to alocal criterionif we assume the Unit Disk Graph (UDG) model of the communication graph , i.e. the nodes are positioned in a region of the plane and two nodes are connected if and only if the distance among them is less than a constantrcalled the range of communications.

Given a UDGGwith vertex setV and edge setEwe define the graphGe= (V ,e E)e as follows.

(8)

v u

d(u, A2)

d(u, A1)

d(u, A3)

Figure 2: The Virtual Raw Anchor Coordinate (VRAC). Given that there is an edge (u, v) the hatched region must not contain any nodes to ensure planarity

Definition 4. The vertex setVe =V and2

Ee=

(u, v)

v∈su2k−1 andv= mink(su2k−1)k= 1,2 or3 and(u, v)∈E

3

We emphasize that the graph Ge is undirected (as the UDG G). There is an edge (u, v)∈Ee ifv is in sectorsu1, su3, or su5 and is the closest with respect to the order relation<1, <2, <3 respectively or, if the same conditions apply with uandv interchanged. The important property is that:

Property 1. A nodeuhas at most one neighboring node in each ofsu1, su3, su5 (the closest with respect to the corresponding order relation). Indeed, ifv∈su1, v∈su3, orv∈su5 thenu∈sv4,u∈sv6, or u∈sv2 respectively and then, the only possibility for an edge(u, v)∈Ee is thatv is minimal with respect to<1, <3 or,

<5 respectively.

The next proposition proves to be useful for implementing face routing, see Proposition 4.

Proposition 1. We consider nodes uandv such that(u, v)∈E. Then,e suv∩svu=∅.

Proof. Without loss of generality we can assume that u >1 v, u >2 v, u <3 v (the proof is the same if we permute the indices). Becauseuandvare connected it must be thatv=min3{z|u >1z, u >2z, u <3z}. Then sectorsvu is defined by{z|z >1v, z >2v, z <3v} and, the intersection issuv ∩svu={z|u >1z >1

2In the following, we use alternatively (u, v)Eorv∈ Nuto indicate that the nodesu, v are neighboring nodes.

3The notationmink(sui means that we consider the node in the sectorsui and connected touthat is the minimal with respect to the order<i.

(9)

v, u >2z >2v, u >3z <3v}the last inequality shows that if it were a node in the intersectionushould be connected to that node instead ofv.

However, a nodeucan have many neighboring nodes in the sectors v ∈su2, su4 orv∈su6. In [14] we call the edges (u, v) withv insu1, su3, orsu5 outgoingedges.

With this terminology, a node has at most three outgoing edges and possibly many ingoing edges (and edge (u, v) such that v ∈ su2, su4 or v ∈ su6). We emphasize that this is a useful denomination but the graphGe is not oriented.

We proved in [14] that under certain conditions on the length of the edges the resulting graph Ge is planar and we discuss the stretch factor compared to the original graph G. Our aim in the following is to present a geographic routing algorithm on top of this planar graph. In the paper [14] we investigate some geometric properties4 which are necessary for Ge = (V ,e E) to be planar.e Subsequently we observe the following property.

Property 2. Given that there is an edge between nodeuandv andv∈sui for i∈ {1,3,5}={2j−1|j= 1,2,3}then, there are no other nodes in the region defined by(See the right of Figure 2),

Sui ∩ {z|d(Aj, z)< d(Aj, v)} with j= 1,2,3 and i= 2j−1

This property is crucial to ensure that if there is an edge (u, v) inEe then there are no nodes w such that w <k v and (u, w)6∈ E i.e., the node w should be connected touto ensure planarity but, unfortunately, is out of the range ofu.

Notice that the property must be true because the nodev is the minimal node insu2j−i,j∈ {1,2,3}with respect to the order relation<j (defined byd(Aj, z)) to ensure the planarity ofG.e

In this work, we focus on the delivery guarantees of the routing algorithm and we assume that the graphGeis planar. This graph can result from the planarization process applied to a UDG graph, as in [14], or any other way. This paper is independent of [14][TV!]5.

5. Greedy Routing

As mentioned earlier VRAC does not define a distance function. Therefore it is not possible to perform greedy forwarding as usual. In GLIDER [8] and BVR [9], they define a heuristic distance function for the purpose. Contrarily, our ver- sion of greedy routing does not use an explicit distance function. Anyway, our solution can be called greedy routing since it satisfies the axioms characterizing greedy paths provided in [17], i.e. (transitivity) if nodey is greedy forxand z is greedy fory thenzis greedy for xas well and (odd symmetry) ifyis greedy forxthenxis not fory.

4For instance, limiting the length of the communication links or constraining the positions of the anchors.

5[Kasun]:Make a reference to SENSORNETS paper??

(10)

Algorithm 1Implementation of the routinegreedy(u,D)

1: proceduregreedy(u,D)

2: Determine the sectorsuD

3: Determine the sectorsDu .by reversing the signs of the inequalities

4: if Nu∩suD∩sDu 6=∅then

5: select arbitrarilyxin the set

6: returnx

7: else

8: returnerror

9: end if

10: end procedure

Definition 5. For destination nodeD, a path{ui}i=1,...,k is a greedy path if ui+1∈suDi\

sDui. (1)

We say thatui makes a greedy routing decision.

Algorithm 2 contains a pseudo-code of the implementation of the primitive for greedy routing.

Proposition 2. (transitivity) If ui+1 ∈ suDiT

sDui and ui+2 ∈ suDi+1T sDui+1

thenui+2∈suDiT sDui.

Proof. For concreteness, we considersuDi =su5i={z|z <1 ui, z <2 ui, z >3 ui} and, thensuDi ={z | z <1 D, z <2 D, z <3 D} (we reverse the signs of the inequalities). The assumption ui+1 ∈suDiTsDui leads to D <1 ui+1 <1 ui, D <2 ui+1 <2 ui, D >3 ui+1 >3 ui. We then conclude that suDi+1 = {z | z <1 ui+1, z <2 ui+1, z >3 ui+1} ⊂suDi and thatsDui =sDui+1. This proves the proposition.

Lemma 1. Given a destination nodeD, a greedy path {ui} eventually reaches the destinationD.

Proof. Using Proposition 2 by induction proves that sDui = sDuj for all nodes in the greedy path and that D ∈ ∩i=1...ksuDi. Because the area of this last intersection decreases, it must eventually hold that the destinationDis reached (there cannot be an infinite number of nodes in an infinitesimally small surface).

Notice that this result follows directly from the results in [17] since the paths sat- isfy the required axioms. However, we provide a direct simple and independent proof of the delivery of data.

(11)

6. VRAC Routing Algorithm I

In this section we present the face routing algorithm for VRAC system illus- trated in Figure 1a. Our routing algorithm is a variant of the combined greedy- face routing algorithm. However, the major difference is that in our restricted coordinate system we cannot always compare the angles and it is not possible to implement face routing independently of greedy routing, see Proposition 3.

In both GFG and GPSR they implement the left or right hand traversal rule to explore a face of the planar graph. In order to change the face accordingly, it detects the intersection of an edge of the path with the source destination line. Unfortunately, in our setting it is not always possible to detect such an intersection. This is why we consider a (greedy) region that contains the source and destination nodes, see equation (1), and we detect when the path crosses this region. We switch to greedy routing when data are transmitted to a node belonging to this region (face routing is no longer implementable in this case, see Proposition 3). Note that this is the crucial difference to the original setting of geographic routing.

In the following we describe the implementation of the face routing primitives.

Basically ifuis the source andD the destination of data the routing algorithm atuswitches to face routing ifNu∩suD∩sDu =∅. The algorithm selects to start the face traversal at nodevsuch thatv∈ Nuand the edge (u, v) is the first edge encountered when the lineuD is rotated counterclockwise. The face traversal stops if the path goes through a node belonging tosuD∩sDu or, if an edge (v, w) intersects this region the algorithm decides whether the face traversal algorithm must follow or switch the face. Because we implement only the primitives for the left hand traversal rule, keeping or switching the face is done by choosing if the path traverses the region (by selectingwas the next node) or if the path does not traverse the region by inverting the order of the nodes (v, w), i.e. the nodevcontinues the execution of the left hand traversal algorithm by assuming that the data is received from nodew.

Notice that our implementation is not an implementation of a classical algorithm like GFG or GPSR [1] since it cannot be executed independently of greedy routing for the reasons mentioned in the introduction and substantiated below.

However, our implementation follows the rule of GFG for face switching. To easier the comparison with GFG [1], we also keep the same terminology when needed. Indeed, in the following we say that an edge (u, v) is on the left of an edge (u, w) or a lineuDif the angle between the two measured counterclockwise is smaller thatπ.

Given an edge (u, v), a first primitive to implement the face traversal is to rotate the edge arounducounterclockwise and to determine the next edge (u, w) that we encounter. Actually, this amounts to find the edge (u, w) that makes the smaller angle with (u, v) where the angle is measured counterclockwise. In our coordinate system, we cannot compute the angles since we only know the order relations defined by the three anchors. In the following we say that an edge is thenext edge to an edge (u, v) or a line to indicate that we rotate the edge counterclockwise arounduand stop to the next edge that we encounter.

(12)

d(A3, u) d(A2, u)

d(A1, u)

u D

v

d(A3, u) d(A2, u)

d(A1, u)

u D

v w w

Figure 3: An illustration of the proof of Proposition 3. Given the order relations it is not possible to decide whether we are on the configuration depicted on the left or on the right of this Figure.

6.1. The implementation barrier, impossibility result

There is a particular configuration where it is not possible to determine which of two edges (u, v) and (u, w) are next to a line uD.We emphasize that this is due do the fact that the nodesu and D are not connected. However, this configuration is frequent whenuis the source of data andDis the destination.

Proposition 3. If the nodesv, w∈suD and,D 6∈ Nu whilev, w∈ Nu it is not possible in our coordinate system to determine which of the edge(u, v)or(u, w) is the next edge of the lineuD.

Proof. Figure 3 shows two configurations where v, w, D ∈ su4 and, where the same order relations exist between the nodes, i.e. D <1 v <1 w <1 u, D >2

v >2 w >2 uand, D >3 w >3 v >3 u. On the left side of the figure the edge (u, w) is next to the lineuDwhile on the right (u, v) is. Notice that because of the order conditionsu, v, w belong to the same sector of D and D, v, w to the same sector ofu.

Proposition 3 shows that it is not possible the determine the face that must be traversed among the one supported by (u, v) and the one by (u, w) in the case wherev, w belong to the same sector ofD and u, i.e. v, w∈sDu ∩suD. In that case, our routing algorithm switches to greedy routing mode, see Equation (1).

6.2. v, w6∈suD

If the destinationDis not in the same sector ofuasv, wit is possible to select the edge next to the lineuD. To proceed, we number the sectors of a node u depending on the destinationD in the following manner. The sector suD (see Definition 3) gets the number 0 and, the others sectors of u are increasingly numbered counterclockwise. We denote bynum(suj, D) this number, whenj is the sector number of uaccording to Definition 2. Given a node v, we denote num(suv, D) the number of the sector ofuto whichv belongs.

The implementation of this function is done by first determining the number k of the sector suv defined in Definition 2 by inspection. Then, computing

(13)

num(suv, D) =k+ 6−j mod6 whereD∈suj (or equivalentlyj is the number ofsuD), see Figure 5 .

With these conventions, it is possible to determine which of the edges (u, v) and (u, w) is next to the lineuD.

Proposition 4. Given that two nodes v, w6∈suD the edge(u, v) is next to the lineuDif

1. num(suv, D)<num(suw, D),

2. num(suv, D) =num(suw, D),v, w∈su2 andd(A2, v)< d(A2, w)or equiva- lentlyv <2 w,

3. num(suv, D) =num(suw, D),v, w∈su4 andd(A3, v)< d(A3, w)or equiva- lentlyv <3 w,

4. num(suv, D) =num(suw, D),v, w∈su6 andd(A1, v)< d(A1, w)or equiva- lentlyv <1 w,

Proof. In the first case, uand w are separated by a sector. However, because the sectors are not convex it is not clear that the claim is true ifuandwbelong to two adjacent sectors. In the left of Figure 4a, we represent the case where w∈su3,v∈su4 and the algorithm of the Proposition return the edge (u, w) but, the edge (u, v) is next to the destination D. In the following, we prove that this case is not possible. We remind that because there is an edge (u, v) there must existi ∈ {1,2,3} such that u, v <i w. Because v ∈ su4 is equivalent to u >1v, u <2 v, u <3 v andw∈su3 tou >1 w, u <2w, u >3w imust be 2, i.e.

u, v <2 w, the node wmust belong to the hatched region in left of Figure 4a.

We then conclude that the edge (u, w) as depicted on Figure 4a is not possible and the algorithm returns correctly the edge (u, w). The cases wherev belongs tosu2 orsu6 are proved similarly.

Next, we assume that v, w ∈ su4. Notice that it is not possible thatu and v belong tosu1, su3 or su5 because there can be only one edge in these sectors by Property 1. Because there is an edge (u, v) the nodewcannot be in the region sv1 and satisfying u >1 w >1 v, see Proposition 1 and Figure 1a. Then, if the edges (u, v) is next to (u, D) then the nodewmust satisfyd(A3, w)> d(A3, v) and reciprocally, see the right of Figure 4a. Notice that the hatched region on the right of Figure 4a is forbidden tow. Indeed, ifw were in this region then v ∈ sw1, like u. But, becauseu >1 v >1 w then w would be connected to v instead of u, a contradiction, see Figure 1a. The proofs of others cases are similar. Notice that the proof uses that the region in Figure 1a is void of nodes, this must be true for the two edges (u, v) and (u, w) and, this property makes possible to decide which of the edge is on the right of the other by comparing d(A3, v) andd(A3, w).

We implement a subroutineright(u,v,w)that returns which of the edges (u, v) or (u, w) is the closest to right border when v and w are in the same sector, see Figure 4b. This corresponds to the implementation of the points 2,3,4 of Proposition 4. The complete implementation of Proposition 4 is included in the implementation of the face traversal algorithm, see Algorithms 3 and 4.

(14)

su4

v

w

u

su D 3

(a) Illustration of the impossibility in the proof of Proposition 4

su4

w v

u

su3

D

d(A3, v)

(b) An illustration that the by comparingd(A3, v) andd(A3, w) it is possible to determine the edge that is on the right of the other

6.3. v, w∈suD, extension of the function num(·, D)

In Proposition 3, we proved that ifv, w∈suD∩sDu it is not possible to determines which of the edge (u, v) or (u, w) is next to the line uD. Actually, if v or w belong to suD ∩sDv the algorithm selects any of these nodes and switches to greedy routing. However, we need to extend the function num(suv, D) to the case wherev, w∈suD\sDu.

Let us assume thatD ∈su4. Because the algorithm described in Proposition 4 selects the nodes that belong to the sector with the smaller number, the solution consists in keeping the number 0 for the sector defined bysuD∩ {v|d(v, A3)>

d(D, A3)}, see Figure 5 and assign the number 6 to the complement of this sector in su4. Notice that with this convention the edges in sector 0 are left to the edges in sector 6, the proof uses the same arguments as in the proof of Proposition 4. This extension must be done only forD belongs to su2, su4, su6. Indeed, in the sectors su1, su3, su4 there can be at most one edge that would be selected for face routing.

Then, we extend the function num(suv, D) by assigning the number 6 to the sectors

suD∩ {v|d(v, A2)< d(D, A2)}ifD∈su2

suD∩ {v|d(v, A3)< d(D, A3)}ifD∈su4 (2) suD∩ {v|d(v, A1)< d(D, A1)}ifD∈su6

Next, if two or more nodes belong to the sector number 0 we choose the one that is next to the line uD by using the function right(u, v, w) presented in Figure 4a (right). The entire algorithm is presented in Figure 3. The resulting routing primitive nextto(u,D,v,w) uses the extended definition of the function numdiscussed in this section. Provided that no neighbouring nodes ofubelong tosuD∩sDu it is used to start face routing.

6.4. Selecting the next edge in face routing

To implement face routing, we face the problem that given that nodeureceives the data from nodevwe must determine which edge is next to (u, v) by rotating

(15)

Algorithm 2Implementation of the routineright(u,v,w)

1: procedureright(u,v,w) . v, w∈ Nu andv, w belong to the same sector ofu

2: if w∈su2 then

3: if d(A2, w)< d(A2, v)then return w

4: else returnv

5: end if

6: end if

7: if w∈su4 then

8: if d(A3, w)< d(A3, v)then return w

9: else returnv

10: end if

11: end if

12: if w∈su6 then

13: if d(A1, w)< d(A1, v)then

14: returnw;

15: else

16: returnv;

17: end if

18: end if

19: end procedure

u D

$

1 0

2

3 4

5

d(A3, D)

0 6

Figure 5: Illustration of the functionnum(suD, D) wheresuD=su4. The sectors labeled 0, . . . ,5 are described in Section 6.2. The sector 6 is a refinement of the sector 0 defined by Equation (2)

the edge arounducounterclockwise. The functionnextto, Figure 3 discussed in Section 6.3 cannot be used in this form. Indeed, if we consider that two nodes x, y∈ Nu∩suv the function nexttodoes not every time return the right node.

The problem is again that the function nextto assumes that x, y 6∈ suD∩sDu. However, because in our case there is an edge between u and v the function right, can be used.

Determining the the next edge to (u, v) is similar to functionnexttoifx, y6∈suv. On the other case, we must distinguish the three configurations illustrated in

(16)

Algorithm 3Implementation of the routinenextto(u,D,v,w)

1: procedurenextto(u,D,v,w) . v, w∈ Nu,v, w6∈suD andD6∈ Nu 2: if num(suv, D)<num(suw, D)then

3: returnv;

4: end if

5: if num(suv, D)>num(suw, D)then

6: returnw;

7: end if

8: if v∈su1∪su3∪su5 then

9: returnerror;

10: end if

11: returnright(u,v,w)

12: end procedure

v

u

v v

y x

v

v v sDusuD

w w

w D/u

u/D

Figure 6: (left)When the two nodesx and z belong to the same sector as v we must pay attention to decide which one of (u, x) or (u, y) is next to (u, v). The three nodes labeled v show the different case we must consider.

(right)Different node placements to cross the regionsuDsDu. There are 5 edges that can be traversed in both directions and, by chosing the two possibility for sourceuand destination Dthere are 20 different configurations. The 10 configurations listed in Equation (3) lead to Face Switching

Figure 6(left) using the functionright. The resulting function,FaceNextEdgeis presented in Figure 4.

6.5. Face switching

According to the proof that GFG delivers data with certainty for any planar graph given in [1], when an edge (v, w) of face routing cuts the source destination lineuD, face traversal must change the traversed face if the linewD is on the right of the edge (w, v). That means that the angle between (w, v) and the line wD measured counterclockwise is larger thanπ, i.e. we need to rotate the line (w, v) for an angle larger thanπto match the lineuD.

In our case, we cannot detect the intersection of the lineuD. What we detect is that the edge (v, w) crosses the region suD ∩sDu. By direct inspection and using theProperty 2, we conclude that a crossing that triggers a face switching

(17)

Algorithm 4Implementation of the routineFaceNextEdge(u,v,w,z). The cases whenv, w, zare in the same sector are illustrated in Figure 6(left) .

procedurefacenextedge(u,v,w,z) . v, w, z∈ Nu

if num(suw, v)>num(suz, v)then returnz;

else if num(suz, v)>num(suw, v)then returnw;

end if

x=right(u,w,z); . we knowsuw=suz

if (suv 6=suw)then returnx

else if (x==w)then y=z;

else y=w;

end if

if (v==right(u,x,v))then returnx;

else if (v==right(u,y,v))then returny;

end if returnx;

end procedure

occurs if and only if (the arrow→indicates the direction of the data, and the number of the sectors are all mod 6, i.e.suD+ 1 meanssuD+ 1(mod 6))

suD+ 1→suD−1, orsDu + 1, or sDu + 2 sDu −1→suD−1

sDu −2→suD−1

suD+ 2→sDu + 1 (3)

suD+ 1→sDu + 1

sDu −1→sDu + 1, orsuD−1, or suD−2

We represent on Figure 6(right) the edges that can cross the regionsuD∩sDu. A full proof of this result proceeds by inspection. Among all the edges that cross the sectorsuD∩sDu we exclude some of them by using the Property 1 illustrated in Figure 1a. The only edges that remain and that lead to Face Switching following [1] are listed in Equation (3).

The guaranteed delivery routing algorithm that we present in Figure 5 combines greedyand face routing in the spirit of classical greedy-face routing algorithm [18, 1] and, implements the switching face algorithm from [1].

(18)

Algorithm 5Implementation of the routineNextEdge(u,v,w,z)

procedurenextedge(u,v,D,mode) . ucurrent,v previous mode=GREEDY, F ACE

if mode=GREEDYthen next=greedy(u,D) if next=N U LLthen

returnnextedge(u,v,D,FACE) else

returnnext end if

end if

if mode=FACEthen next=greedy(u,D) if next=N U LLthen

returnnextedge(u,v,D,FACE) else

returnnext end if

end if end procedure

7. VRAC Routing Algorithm II

In this section we present a routing algorithm which guarantees delivery on the second version of the VRAC system described in Section3. This approach uses geometric properties of the coordinate system to define the required geometric constructs to perform geographic routing. In fact, unlike in the previous ap- proach, in this coordinate system we are able to perform rotation and detection of line segment intersection as in Euclidean space. Here we summarize the ba- sics of this approach while a complete description of the algorithm can be found in [19]

As illustrated in Figure 1b, a node divides the physical space into six sectors based on its coordinate value. Sectors are numbered according to the Figure 1b, and two of the components of the coordinates happen to be the borders of the sector. Drawing a similar analogy with the Euclidean space, we treat those two components as axes. Note that these axes are relative to a given sector, but the geometric properties are same in all sectors due to the symmetry. By observation, we derive some geometric properties useful for face routing, which is presented as Proposition 5 summarizing the results in [19].

Consider any sectorsof a given nodeu= (xu, yu, zu) and a neighboring nodes v = (xv, yv, zv) and w = (xw, yw, zw) lying in the same sector. We observe that along a line segment in a sector, at any point on the line it preserves the ratio between perpendicular distances from two sector borders. Letθ1 andθ2 be the rising angles from one of the borders of the sector as in Figure 7 and

(19)

θ1 θ2

Figure 7: Angle comparison

Algorithm 6Comparison of angles within a sector

procedureright(u,v,w) . v, w∈ Nu

if ∆x∆y1

1 >∆x∆y2

2 then returnv else

returnw end if end procedure

∆x1=|xu−xv|, ∆y1=|yu−yv|, ∆x2 =|xu−xw|, ∆y2=|yu−yw|are the perpendicular distances from respective borders to the nodes.

Proposition 5. If θ1> θ2 then ∆x∆y1

1 > ∆x∆y2

2.

Proof. We know that if θ1 > θ2 then tanθ1 > tanθ2 when 0 < θ1, θ2 < π2. With basic trigonometric relationships we can derive tanθ1 = (∆y∆x1sinα2

1+∆x1) cosα

and tanθ2= (∆y∆x2sinα2

2+∆x2) cosα, whereαis the angle of the sector. With a simple algebraic simplification it follows that ∆x∆y1

1 >∆x∆y2

2.

We use Proposition 5 to define a subroutine to decide the edge with smallest rising angle which is illustrated in pseudo code.

Using the subroutine 7 and sector numbers we define the Algorithm 7 to find the first edge towards clockwise/counter-clockwise direction. It starts its search from a given sector and finds the edge with smallest rising angle in that sector.

If there are no edges in the sector, it continues the search through the following sectors according to their numbering. Hence apparently it searches the whole space around a given node.

In order to perform face routing, we need to detect when a possible next edge intersects with the line segment between two other points. A well known result from geometry suggests that two line segments get intersected, when the end points of the line segments do not mutually locate in the same side of the other line segment. By inspection of sector arrangement and the possibilities to satisfy this requirement, we define Algorithm 8 to check intersection of two

(20)

Algorithm 7Rotation clockwise/counter-clockwise procedurefacenextedge(u,D)

i=suD

fori= 1→6do

if Nui6=∅ then . Nui =Nuin sectori

right=right(v, w) . v, w∈ Nui

forx∈ Nui\v, wdo right=right(x, right) end for

returnright end if

end for end procedure

Algorithm 8Check intersection based on the sector numbers and angle com- parison

procedureIsInSameSide(u,v,w,x) if Nui 6=∅then

end if end procedure

line segments. This algorithm essentially compares the sector positions of two other pointsw, xcompared to a selected point v with respective to pointu. It repeats this process for the other combination of points and check whether it satisfy the above mentioned requirement.

Face traversal performed with the classical right/left hand rule, where a node rotates according to the rule and finds the first neighbor clockwise or counter clockwise. In addition to the face traversal, face changes should be performed accordingly. While there are several variants of the face changing criteria, all of them checks whether whether the face traversal intersects with the connect- ing line between current local-minima and the destination. We use the defined geometric concepts to implement the face routing algorithm proposed in GFG, which is proven its delivery grantees in an arbitrary graph. Face routing algo- rithm is illustrated in Algorithm 4. It uses the rotation algorithm to search its neighbors clockwise or counter-clockwise and check for intersections based on the Algorithm 3. If it detects an intersection, following the GFG algorithm it changes the rotation direction accordingly.

8. Simulations

In this section we present a comparative analysis of our geographic routing algo- rithm with GPSR. Evaluation is done in a simulation environment, which purely focuses on routing algorithms, while ideal radio characteristics and link layer complexities are abstracted. As mentioned earlier, schnyder’s criteria should be

(21)

0 2 4 6 8 10

2 3 4 5 6 7 8 9

Stretch Factor

Average Node Degree Stretch Factor

GFG + Gabrial VRAC Routing + Schnyder

Figure 8: Stretch factor vs node density for VRAC and Euclidean coordinate systems

applied to planarize the graph. Therefore in the simulations, we compare our al- gorithm over schnyder planarization along with our algorithm against the GPSR over Gabrial Graphs and Relative Neighborhood Graphs. We analyze the clas- sical metric namely thestretch f actorwhich is commonly used in performance analysis of geographic routing. Stretch factor represents the ratio between the number of hops required by the geographic routing over the shortest path from the source to the destination node.

8.1. Stretch factor

We perform simulations varying the node density within an area of 400 x 400.

Radio ranges of nodes are set to be 50 units and nodes are spread uniformly throughout the area. Shortest path is found between two randomly selected source and destination nodes in the randomly deployed topology using the Di- jkstra’s algorithm in a centralized manner.

9. Conclusion

Geographic routing over virtual coordinate systems has studied extensively as an alternative to real localization systems. Despite of the numerous proposals mostly in theoretical perspectives, their practical realisable is questionable due to unfavorable computations required. Use of raw distance measures from a set of anchors as the coordinate like in VRAC, posed to be promising mainly due to its simplicity offered in wireless sensor network environments. Even though, partial nature of geographic information carried by VRAC coordinates make geographic routing not so trivial. Especially in the absence of fundamental geometric concepts like angle and distance, raw coordinate systems require a different approach to perform geographic routing algorithms. In this paper we take a combinatorial approach to construct basic properties needed to perform both greedy and face routing phases. Further more we prove that, based on those constructs it can perform delivery guaranteed face routing in arbitrary graphs.

We evaluate our approach with standard geographic routing algorithm GPSR comparing the stretch factor. As the first attempt in this line of research towards geographic face routing, we further believe that the combinatorial constructs

(22)

could demonstrate resilience towards erroneous distance measures. Further more we believe that, with future contributions our approach would be a candidate with real wireless sensor network characteristics.

[1] P. Bose, P. Morin, I. Stojmenovic, J. Urrutia, Routing with guaranteed delivery in ad hoc wireless networks, Wireless Networks 7 (6) (2001) 609–

616.

[2] B. Karp, H. T. Kung, Gpsr: greedy perimeter stateless routing for wireless networks, in: MOBICOM, 2000, pp. 243–254.

[3] C. E. Perkins, E. M. Belding-Royer, Ad-hoc on-demand distance vector routing, in: WMCSA, IEEE Computer Society, 1999, pp. 90–100.

[4] F. Huc, A. Jarry, P. Leone, J. Rolim, On the efficiency of routing in sensor networks, J. Parallel Distrib. Comput.

[5] P. Leone, L. Moraru, O. Powell, J. Rolim, A localization algorithm for wire- less ad-hoc sensor networks with traffic overhead minimization by emission inhibition, in: The proceedings of 2nd International Workshop on Algorith- mic Aspects of Wireless Sensor Networks (ALGOSENSOR 2006), Lecture Notes in Computer Sciences, Venice, Italy, 2006.

[6] K. Langendoen, N. Reijers, Distributed localization in wireless sensor net- works: a quantitative comparison, Computer Networks 43 (4) (2003) 499 – 518, wireless Sensor Networks. doi:DOI: 10.1016/S1389-1286(03)00356-6.

[7] C. Saad, A. Benslimane, J. K¨onig, AT-DIST: A Distributed Method for Localization with high accuracy in Sensor Networks, Tech. Rep. lirmm- 00270283, lirmm (2008).

[8] Q. Fang, J. Gao, L. J. Guibas, V. de Silva, L. Zhang, Glider: gradient landmark-based distributed routing for sensor networks, in: INFOCOM, IEEE, 2005, pp. 339–350.

[9] R. Fonseca, S. Ratnasamy, J. Zhao, C. T. Ee, D. E. Culler, S. Shenker, I. Stoica, Beacon vector routing: Scalable point-to-point routing in wireless sensornets, in: NSDI, USENIX, 2005.

[10] H. Frey, I. Stojmenovic, On delivery guarantees of face and combined greedy-face routing in ad hoc and sensor networks, in: Proceedings of the 12th Annual International Conference on Mobile Computing and Network- ing, MOBICOM 2006, Los Angeles, CA, USA, September 23-29, 2006, 2006, pp. 390–401.

[11] A. Rao, C. Papadimitriou, S. Shenker, I. Stoica, Geographic routing with- out location information, in: The proceedings of the MOBICOM 2003, 2003, pp. 96–108.

(23)

[12] N. B. Priyantha, H. Balakrishnan, E. D. Demaine, S. J. Teller, Anchor-free distributed localization in sensor networks., in: SenSys, ACM, 2003, pp.

340–341.

[13] F. Huc, A. Jarry, P. Leone, J. D. P. Rolim, Virtual raw anchor coordinates:

A new localization paradigm, Theor. Comput. Sci. 453 (2012) 44–53.

[14] F. Huc, A. Jarry, P. Leone, J. D. P. Rolim, Efficient graph planarization in sensor networks and local routing algorithm, in: DCOSS, IEEE, 2012, pp.

140–149.

[15] X. He, H. Zhang, A simple routing algorithm based on schnyder coordi- nates., 2013, pp. 112–121.

[16] W. Schnyder, Planar graphs and poset dimension, Order (5) (1989) 323–

343.

[17] Y. Li, Y. Yang, X. Lu, Rules of designing routing metrics for greedy, face, and combined greedy-face routing, IEEE Trans. Mob. Comput. 9 (4) (2010) 582–595.

[18] B. Karp, H. Kung, GPSR: greedy perimeter stateless routing for wireless networks, in: Proceedings of the 6th annual international conference on Mobile computing and networking, ACM New York, NY, USA, 2000, pp.

243–254.

[19] K. Samarasinghe, P. Leone, Geographic routing with minimal local geom- etry, in: ICPADS, IEEE Computer Society, 2012, pp. 901–906.

Références

Documents relatifs

Central questions in the geometry of finite dimen- sional Banach spaces are those of finding the right notion of Minkowski area and, more generally, of invariant area (see Section 2

It would be difficult to detranscendentalize such statements as “The present hour is the descending God.” 17 Emerson was a syncretistic spiritual thinker, and his different

Central or peripheral blocks allow the delivery of selective subarachnoid anesthesia with local normobaric and/or hyperbaric anesthetics; lipophilic opioids may be used with due

More importantly, our protocol assigns geometric coordinates to zones, such that geographic greedy routing can be performed between zones reducing the routing scope to a smaller

In this article, we propose a greedy routing algorithm based on virtual raw anchor coordinate (VRAC) localization paradigm [4], [5], see Figure 1. In VRAC, nodes use the distance

‘‘opted for genocide in order to ac- complish its political objectives.’’ 41 At her first speech to the Security Council on January 29, 2009, the new United States ambassador to

This function is already used for the AKNS operator (see [DG]) in the proof of results like one spectrum together with the knowledge of the potentials on half of the interval

Weak dynamic stability (Lyapunov stability) also implies Nash equilibrium behavior, and solutions of prominent evolutionary dynamics have been shown to converge to the set of