[IEEE 2010 Seventh International Conference on Wireless On-demand Network Systems and Services...

7
VRAC: Virtual Raw Anchor Coordinate Routing in Sensor Networks Florian Huc and Aubin Jarry Computer Science Department University of Geneva Route de Drize 7 1227 Carouge Switzerland Abstract—Geographic routing has been widely recognized as one of the most efficient approach to generally scalable wireless routing. However, in order to use geographic routing algorithms, nodes must be localized with Euclidean coordinates. Current lo- calization techniques are dependent either on expensive hardware (e.g. GPS) or on costly virtual localization and this is a problem in sensor networks where resources are scarce. In this paper we directly use the raw distance to a set of anchors to route messages in a multi-dimensional space. This original approach enables us to completely bypass the localization phase while retaining useful geographic properties of the network. To prove this concept, we implemented two typical geographic routing algorithms using both traditional coordinates and multidimensional raw anchor coordinates. Simulation results show that using only the raw coordinates does not decrease routing efficiency. I. I NTRODUCTION,STATE OF THE ART Sensor networks can be used in a wide range of applica- tions [ASSC02]. In many of them any pair of sensors may want to communicate, which leads to routing issues. Although in wired networks each node is equipped with substantial computation and storage resources, and can maintain routing tables, this is far too costly in sensor networks which are made of small and cheap devices. Indeed, the computation phase requires energy (which is a limited resource) and the storage of data requires energy and space (also a limited resource). Instead of using routing tables, local routing techniques have been developed. A compelling technique consists in using node coordinates. Many efficient algorithms have been devised such as GPSR [KK00] and OAFR [KWZ08] which use greedy routing and face routing on a planarized connectivity graph. One can also cite GRIC [PN07] a greedy routing algorithm following the sides of an obstacle when one is met, and which introduces some inertia in the direction followed by the message. If one authorizes the use of a bit of memory at each node, then early obstacle detection algorithms have been proposed [MLNR08], [HJL + 09]. All these geographic routing algorithms are based on an es- sential hypothesis that is: each node knows its two dimensional geographic coordinates. Research partially funded by the EU FET project Fronts 215270. A. Overview of node localization algorithms A nice introduction on the various positioning methods for networks may be found in [Nic04]. Positioning methods can be classified into three main types, whether one achieves absolute positioning, relative positioning or only local posi- tioning. In absolute positioning, the coordinate system has a global coherence within the system but also with respect to exterior coordinates. Relative positioning is only coherent within the network, whereas local positioning just asks for local coherence. 1) Absolute positioning: To obtain absolute coordinates, we may suppose that each sensor is equipped with a GPS. However, the hypothesis of having a GPS for each sensor arguably leads to too expensive devices. This assumption may be weakened by equipping a subset of the sensors with GPS, sensors which are usually called anchors. Based on this assumption, much research have been pursued to design algorithms which approximate coordinates for all nodes of the network using the anchors’ ones. In [LR03], three such algorithms are compared, namely Ad-hoc positioning, Robust positioning, and N-hop multilateration. These three algorithms have a common three phase structure: they first determine node to anchor distances, then compute node positions, and optionally refine the positions through an iterative procedure. One can also cite the algorithm At-Dist [SBK08], which is a distributed algorithm estimating the position of each node together with an estimate of its accuracy. Also, in [LKHL06], the authors implemented using real sensors a geometric triangulation algorithm using Radio Signal Strength to measure the distance to a set of anchors and obtained an accuracy of 3 meters. Some authors improved accuracy by using angles measurement [BGJ05]. However, this latter technique incurs a flooding from anchors and many computations at each node. Another technique of localization using angles measurements, described in [SP08], does not need an initial phase of flooding to compute anchors-node distance. But it still has an iterative process leading to an equivalent propagation of the coordinate computation starting from the anchors and has a similar overhead. This algorithm achieve a 5% error on localization when initialy 10% of the nodes are anchors, i.e. 10% of the nodes know their exact position. Note IEEE/IFIP WONS 2010 - The Seventh International Conference on Wireless On-demand Network Systems and Services 978-1-4244-6061-8/10/$26.00 ©2010 IEEE 106

Transcript of [IEEE 2010 Seventh International Conference on Wireless On-demand Network Systems and Services...

Page 1: [IEEE 2010 Seventh International Conference on Wireless On-demand Network Systems and Services (WONS) - Kranjska Gora, Slovenia (2010.02.3-2010.02.5)] 2010 Seventh International Conference

VRAC: Virtual Raw Anchor CoordinateRouting in Sensor Networks

Florian Huc and Aubin JarryComputer Science Department

University of GenevaRoute de Drize 7

1227 CarougeSwitzerland

Abstract—Geographic routing has been widely recognized asone of the most efficient approach to generally scalable wirelessrouting. However, in order to use geographic routing algorithms,nodes must be localized with Euclidean coordinates. Current lo-calization techniques are dependent either on expensive hardware(e.g. GPS) or on costly virtual localization and this is a problemin sensor networks where resources are scarce. In this paper wedirectly use the raw distance to a set of anchors to route messagesin a multi-dimensional space. This original approach enables usto completely bypass the localization phase while retaining usefulgeographic properties of the network. To prove this concept, weimplemented two typical geographic routing algorithms usingboth traditional coordinates and multidimensional raw anchorcoordinates. Simulation results show that using only the rawcoordinates does not decrease routing efficiency.

I. INTRODUCTION, STATE OF THE ART

Sensor networks can be used in a wide range of applica-tions [ASSC02]. In many of them any pair of sensors maywant to communicate, which leads to routing issues. Althoughin wired networks each node is equipped with substantialcomputation and storage resources, and can maintain routingtables, this is far too costly in sensor networks which are madeof small and cheap devices. Indeed, the computation phaserequires energy (which is a limited resource) and the storageof data requires energy and space (also a limited resource).Instead of using routing tables, local routing techniques havebeen developed. A compelling technique consists in usingnode coordinates. Many efficient algorithms have been devisedsuch as GPSR [KK00] and OAFR [KWZ08] which use greedyrouting and face routing on a planarized connectivity graph.One can also cite GRIC [PN07] a greedy routing algorithmfollowing the sides of an obstacle when one is met, andwhich introduces some inertia in the direction followed bythe message. If one authorizes the use of a bit of memory ateach node, then early obstacle detection algorithms have beenproposed [MLNR08], [HJL+09].

All these geographic routing algorithms are based on an es-sential hypothesis that is: each node knows its two dimensionalgeographic coordinates.

Research partially funded by the EU FET project Fronts 215270.

A. Overview of node localization algorithms

A nice introduction on the various positioning methodsfor networks may be found in [Nic04]. Positioning methodscan be classified into three main types, whether one achievesabsolute positioning, relative positioning or only local posi-tioning. In absolute positioning, the coordinate system hasa global coherence within the system but also with respectto exterior coordinates. Relative positioning is only coherentwithin the network, whereas local positioning just asks forlocal coherence.

1) Absolute positioning: To obtain absolute coordinates,we may suppose that each sensor is equipped with a GPS.However, the hypothesis of having a GPS for each sensorarguably leads to too expensive devices. This assumptionmay be weakened by equipping a subset of the sensors withGPS, sensors which are usually called anchors. Based onthis assumption, much research have been pursued to designalgorithms which approximate coordinates for all nodes ofthe network using the anchors’ ones. In [LR03], three suchalgorithms are compared, namely Ad-hoc positioning, Robustpositioning, and N-hop multilateration. These three algorithmshave a common three phase structure: they first determinenode to anchor distances, then compute node positions, andoptionally refine the positions through an iterative procedure.One can also cite the algorithm At-Dist [SBK08], which isa distributed algorithm estimating the position of each nodetogether with an estimate of its accuracy.

Also, in [LKHL06], the authors implemented using realsensors a geometric triangulation algorithm using Radio SignalStrength to measure the distance to a set of anchors andobtained an accuracy of 3 meters. Some authors improvedaccuracy by using angles measurement [BGJ05]. However,this latter technique incurs a flooding from anchors and manycomputations at each node. Another technique of localizationusing angles measurements, described in [SP08], does not needan initial phase of flooding to compute anchors-node distance.But it still has an iterative process leading to an equivalentpropagation of the coordinate computation starting from theanchors and has a similar overhead. This algorithm achieve a5% error on localization when initialy 10% of the nodes areanchors, i.e. 10% of the nodes know their exact position. Note

IEEE/IFIP WONS 2010 - The Seventh International Conference on Wireless On-demand Network Systems and Services

978-1-4244-6061-8/10/$26.00 ©2010 IEEE 106

Page 2: [IEEE 2010 Seventh International Conference on Wireless On-demand Network Systems and Services (WONS) - Kranjska Gora, Slovenia (2010.02.3-2010.02.5)] 2010 Seventh International Conference

also that angle measurement needs potentially costly extradevices.

2) Relative positioning: Some authors further weaken thedesired output and propose to compute virtual coordinatesinstead of real ones. Indeed, many algorithm do not need actualtwo dimensional coordinates, but the relative position of thenodes. In [BBS+07] the authors call this problem the trainingproblem and propose an algorithm allowing the sensors (whichare asynchronous) to estimate their distance to a central sink.This algorithm needs the sink to be able to emit to all the nodesof the network, and its output is a partition of the network inrings. If the sink is also equipped by directional antennas, itis also feasible to partition the networks in slices. Hence theauthors propose to use the ring number and the slice numberof each nodes as coordinates. However, these coordinates arenot unique: several nodes may belong to the same slice andring, and furthermore it needs a powerful central sink.

Other papers [MLRT04], [PBDT05], [CCDU05], [RPSS03]propose to compute virtual coordinates from the distancebetween nearby nodes and have the advantage of not needinganchors. Still this approach may lead to unsolvable issues if thenetwork is not dense enough. To avoid this, in [PBDT05], theauthors use a mobile unit to assist in measuring the distancebetween nodes. It also helps to improve accuracy. For thesepapers, the key point is to obtain sufficient data on internode distances. In [KSW04], the authors study the problemof computing missing inter-nodes distances from known ones.They propose an algorithm, which given distances from allnodes to some anchors, recompute the unknown distances withan arbitrary precision. They also discuss complexity and nonapproximability issues.

3) Local positioning: Finally, if one is only interested inhaving consistent coordinates inside small areas of the net-work, it is possible to perform local positioning. In [BNP+08]is proposed such an algorithm which is an improvement overthe algorithm of [BBS+07], but works on the same lines.

4) Cost: Depending on the hypothesis made on the inputs,the problem of computing coordinates maybe more or lesscostly in terms of number of exchanged messages. If everynode knows its distance to three anchors and the coordinatesof these three anchors, then the problem can be linearly solvedusing trilateration, but this solution needs devices to providethe anchors with their real coordinates and that all nodes arein range of the anchors (this assumption is usually referred atas one-hop assumption).

In absence of devices that give the anchors their coordinates,it is required to create a coherent coordinate system in betweenthe anchors, and this induces either communications betweenanchors, or a process of electing the anchors among sensornodes.

If the anchors are not capable of sending directly a signalto all the network, then flooding is required to create acoherent coordinate system in between them. Furthermore,computing relative coordinates using the distances to anchorsand their coherent coordinates will also need the spreading ofthe computed coordinates [RPSS03].

Another approach that avoids assigning to the anchorscoherent coordinates, one need to use algorithms using inter-node distances [PBDT05], [MLRT04], [CCDU05]. But hereagain, to produce a coherent coordinate system, informationsneed to be spread in the network, which also implies a costlyoverhead and induces an important error factor.

5) Distance evaluation in peer-to-peer networks: In thecontext of peer-to-peer networks embedded in the Internet,some work has been done to evaluate the distance betweenpeers when the only available knowledge is the distancebetween the peers and a finite set of anchors. Hotz proposed in[Hot96] to use the distance to anchors as virtual coordinateswhile using only triangle inequalities to estimate distances.Following this trend, Ng and Zhang proposed in [NZ02] tofirst compute coordinates for the anchors (called landmarks intheir paper) by using linear system resolution tools, and then tocompute locally coordinates for the nodes (by solving smallerlinear systems). Not only were the experimental results quitegood, it was theoretically proved in [KSW04] that providedthat the anchors were randomly selected, in a sufficientlylarge number, and provided that the distance between anchorswas respected in the new coordinate system, the distortion ofdistances in the new coordinate system could be arbitrarilylow.

B. An alternative solution

We have seen that an extensive amount of research has beenmade to design algorithms which transform available data inorder to compute nodes coordinates, often with the purposeof using geographic routing algorithms. Invariably, a strongassumption of this research consists in having a set of anchorsthat either start with exact coordinates, or that painstakinglycompute coherent virtual coordinates for themselves. In thispaper, we bypass this trend and propose to adapt the knowngeographic algorithms so that they directly work with theavailable data: node distance to some anchors. Our objectiveis to avoid any preprocessing algorithm, so we propose todirectly use raw information. We consider that there are somespecial nodes to which any node knows its distance (sectionIV describes various scenarios under which these distances arecomputed). By similarity to previous articles, we call themanchors. The most important advantage of this technique isthat since we do not need any localization technique, wecompletely avoid the problem of computing real or virtual twodimensional coordinates. This technique is hence an alternativeto all the previously described positioning algorithms since wesimply skip this step.

To prove this concept, we specifically describe and ex-periment the adaptation of two typical geographic routingalgorithms (GRIC [PN07] and ROAM [HJL+09]) so thatthey use the node distance to the anchors instead of standardEuclidean coordinates.

C. Paper layout

In the next section, we describe more precisely our ap-proach. Then in the following section, we describe both GRIC

107

Page 3: [IEEE 2010 Seventh International Conference on Wireless On-demand Network Systems and Services (WONS) - Kranjska Gora, Slovenia (2010.02.3-2010.02.5)] 2010 Seventh International Conference

and ROAM algorithms and how we adapt them. We thenexpose the results of simulations in Section IV. We finish withsome concluding remarks.

II. CONCEPT

A. Coordinates

The coordinate system we propose is directly based on thedistance from nodes to a small set of anchors. More precisely,given a node at location X , we define the multi-dimensionalcoordinates f(X) of this node as its distance to some anchorsat location A1, A2, . . . An:

f : X →

d(X,A1)d(X,A2)

. . .d(X,An)

Observe that any distance function d may be used and

that any continuous distance d on the plane will produce acontinuous surface in Rn. In this paper, we consider both theEuclidean distance and the distance in terms of hops.

1) Euclidean distance: In the plane with Euclidean dis-tance, a node at location X has a pair of absolute coordinates(x, y). If the anchor at location Ai has for absolute coordinates(xi, yi) then f is a function from R2 → Rn defined by

f : (x, y)→

(x− x1)2 + (y − y1)2√(x− x2)2 + (y − y2)2

. . .√(x− xn)2 + (y − yn)2

Since the functions fi : (x, y)→

√(x− xi)2 + (y − yi)2 are

continuous and in C∞ except in (xi, yi), the image f(R2) inRn is a continuous surface with singularities at the image ofanchors.

Figure 1 represents the image of f , when there are threeanchors at location (0, 0), (0, 1) and (1, 0).

2) Hop distance: The distance in terms of hops betweentwo nodes u and v is the minimum number k of edges in apath from u to v: u, v2, . . . , vk, v. We note it dhop(u, v) = k.

This defines correctly a distance function since one caneasily verify that:• for all pairs of nodes u, v, we have dhop(u, v) = 0 if and

only if u = v• given three nodes u, v, w, dhop(u, v) ≤ dhop(u,w) +dhop(w, v)

• the hop distance is symmetric and positive.

B. Anchors distance

From the function f , we define a new distance func-tion which we call anchors distance: given two nodes u, v,danchor(u, v) = ||f(u)− f(v)||2 =

√∑ni=1(fi(u)− fi(v))2

To check that danchor is a distance function, notice that:• danchor is positive.• danchor satisfies the triangular inequality. Indeed,

for any 1 ≤ i ≤ n and any three nodes

Fig. 1. Image f(R2) with three anchors A1 = (0, 1), A2 = (0, 0) andA3 = (1, 0).

u, v, w,√fi(u)2 − fi(v)2 ≤

√fi(u)2 − fi(w)2 +√

fi(w)2 − fi(v)2.• danchor is symmetric.

It only remains to check that when danchor(u, v) = 0 ⇒u = v. However, this is not always true. In particular if thereare only one or two anchors, two nodes in a plane may satisfydanchor(u, v) = 0 and u 6= v. This difficulty is addressed inLemma 1 below for the case of the Euclidean distance. In thecase of hop distance the problem was studied in [CCDU05].The authors show that with anchors forming an equilateraltriangle, nodes that share the same coordinates inside thetriangle form ambiguity zones whose diameters are boundedby the communication radius of nodes at high density.

Definition 1: Given a k dimensional space, we say that k+1points are in a general setting if no k − 1 subspace containsall points.

Lemma 1: Given a k dimensional space with the Euclideandistance d, if there are k+1 anchors in a general setting, thendanchor is a distance.

Proof: We need to check that given two nodes u, v of ak dimensional space, danchor(u, v) = 0 ⇒ u = v if we haveat least k + 1 anchors in a general setting.

If u and v are two different points, then the subspace ofpoints equidistant to them defined as {x : d(u, x) = d(v, x)}is a hyperplane, hence it cannot contain all anchors by hy-pothesis. So we have u = v.

Remark 1: If danchor is defined using dhop, the previous

108

Page 4: [IEEE 2010 Seventh International Conference on Wireless On-demand Network Systems and Services (WONS) - Kranjska Gora, Slovenia (2010.02.3-2010.02.5)] 2010 Seventh International Conference

lemma may not be verified. Indeed, two points which are closeone to another may have exactly the same coordinates in termsof hop. As long as they are neighbors one of another, this is nota problem. Giving them a different identity makes it possibleto recognize them when the message reaches its destination interms of coordinates. This problem did not occur during theexperiments.

C. Difficulties

1) Anchor in the middle problem: The surface singularitiesnear anchors is a consequence of the more general anchor-in-the-middle problem. Suppose that there are three locationsA,X, Y in the Euclidean plane such that ~XY = 3× ~XA (seeFigure 2). While trying to route from point X to point Y ,a coordinate related to A will tell X to send the messageaway from A, since X is closer to A then Y , which isexactly the wrong thing to do in this context. This problemis independent from the choice of the distance function, butis not without solutions. An escape solution would be tohave only anchors on the boundary of the network. This isa common strategy with virtual coordinates, used for instancein [CCDU05], [RPSS03]. A second solution would be to haveenough anchors so that the problem is mitigated. A thirdsolution would be to wisely select anchors while routing,ignoring anchors whose distance to the sender is less thanthe distance to the destination and less than half the distanceto the farthest anchor. Nevertheless, our experiments show thatchoosing only six anchors at random in the whole network issufficient to solve the problem.

X A Y

Fig. 2. Anchor in the middle problem

2) Curve: The surface f(R2) has a curve. If we use theEuclidean distance, the surface will be almost flat far awayfrom the anchors, but the curve will be more pronouncednear the anchors (see Figure 1). The curve will probablylead to somewhat sub-optimal curved paths in the originalR2, however it does not prevent from finding a path. As anillustration, ships do not follow constant latitude paths, whichmay be up to π

2 times longer than wanted near the north orsouth pole. This means that some geographic properties maynot be preserved, however properties such as connectivity andsubgraphs properties are preserved.

3) Computation cost: While saving on initialization over-head, multi-dimensional routing causes some additional com-putation costs when sending messages. First, we point outthat these computation costs are not communication costs andshould be lower in terms of energy consumption by some orderof magnitude. Then, we believe that the added costs are mostlikely that of multi-dimensional scalar products, which are justsome added additions and multiplications, while the expensiveoperations (square root extraction and divisions needed forinstance when rotating vectors in GRIC) stay the same as intraditional 2-dimensional routing.

D. Scenarios

We propose several scenarios for which our techniqueshould be used. There are two main types. In the first one, theanchors are special nodes of the network which can advertisetheir distance in hop to the other nodes, for example via aflooding. We suppose that these nodes are chosen at randomamong all the nodes of the network.

The second type of scenario is when the signal is emittedby some external entities, as a plane or a robot which deploysthe network. Just after it would deliver a powerful signalat different positions which play the role of anchors. Othersolutions can be proposed. For instance, if there are severalnodes capable of emitting to any node of the network, thealgorithm proposed in [BBS+07] may be used to compute thedistance of each node to each anchor. [Rom03] proposes theuse of lighthouses, which would be the anchors, to achievethe same result. One more option is to have special devices,which can be seen as signal bombs, and whose only purpose isto emit a strong signal and to be an anchor. In all these cases,the nodes will know the Euclidean distance to the anchors.

III. ROUTING

Our objective is to ultimately adapt all geographic routingtechniques that use Euclidean coordinates (x, y) so that theywork using the anchor coordinates. In this section we describethe adaptation of ROAM [HJL+09], which makes a prominentuse of greedy routing, and the adaption of GRIC [PN07],which also uses rotations. To avoid confusion, we will callVGRIC and VROAM the adaptations of GRIC and ROAMusing anchor coordinates.

A. Greedy routing

Given a node u and a destination v, the greedy routingscheme consists in choosing among the neighbors of u theone which is the closest to the destination v. If we use thegreedy routing scheme to route a message using a distancefunction, the message will reach the destination given thatthere is no local minimum (nodes who have no neighborcloser to the destination than themselves). This is easy todo with multidimensional coordinates. Hence it is possibleto directly use any geographic routing algorithm using onlygreedy routing scheme.

B. ROAM

ROAM is a geographic routing algorithm based on thegreedy routing scheme. It has been introduced in [HJL+09].Briefly, it consists in marking nodes leading to a local min-imum at which the greedy routing scheme would fail. Thusby using only unmarked nodes, it routes messages to the des-tination with the greedy routing scheme in a straightforwardmanner.

Hence, we can adapt ROAM so that it uses the anchorcoordinates. We call the modified algorithm VROAM and itworks as follows.

109

Page 5: [IEEE 2010 Seventh International Conference on Wireless On-demand Network Systems and Services (WONS) - Kranjska Gora, Slovenia (2010.02.3-2010.02.5)] 2010 Seventh International Conference

Algorithm 1 VROAMInput : A node, a message and a destination.Output : A node to which to forward the message.The current node proceeds to a dead-end evaluation process;if The current node is not marked then

it chooses the next node using a greedy routing schemeamong its unmarked neighbors;

elseit chooses the next node using an escape mode.

1) dead-end evaluation process: This process aims at mark-ing nodes leading to a local minimum. The current nodechecks if there are nodes closer to the destination than itselfthat are not already marked. If not, it marks itself and allits neighbors recursively execute a dead-end process. A nodewhich is not marked as a dead-end during the process adver-tises itself as a possible exit to its neighbors. A node which ismarked and does not know a possible exit and receives sucha message stores the sender as a possible exit and recursivelyadvertises itself as a possible exit.

2) escape mode: In escape mode, a marked node forwardsthe message to a node which is a possible exit.

In Section IV, we compare the efficiency of VROAMagainst ROAM.

C. GRIC

We have seen that it is possible to adapt algorithms basedon the greedy routing scheme, but we can also exploit the factthat the nodes of the network belong to a surface, even withinthe new coordinate system. Using this, we can define anglesand rotations on that surface and adapt algorithms that useangles and rotations. In this paper, we specifically investigatea variant of GRIC using anchor coordinates, which we callVGRIC.

1) How GRIC works: GRIC has been introduced in [PN07].This algorithm aims at sending a message towards an idealdirection

−→d ideal computed from the direction of the last hop−→

d last, the last east direction used −→p east and the directionof the destination

−→d direction. If the previous direction

−→d last

was almost the direction of the destination−→d direction, then−→

d ideal =−→d direction/||

−→d direction|| (Figure 3, top). Oth-

erwise,−→d ideal is computed by rotating

−→d last (Figure 3,

bottom), consistently with the previous hops (to ensure thatwhile going around an obstacle we do not change the way wego around it).

2) VGRIC: This protocol is an adaptation of GRIC so that ituses the anchor coordinates. We use an oriented plane tangentto the surface on which we make the rotation. In VGRIC, thisplane is defined by two vectors −→v northand −→v east.

3) Computation of the vectors: We set−→Γ = {

−→uvd(u,v) : v ∈

Γ(u)} the set of normalized vectors defined using the currentnode and its neighbors.

We set−→d direction = −→uvdest, and we choose among

−→Γ the

vector−→i minimizing the scalar product (taking the absolute

−→d direction vdest

−→d last

u

−→d ideal

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������

−→d direction

−→d last

−→d ideal

uvdest

Fig. 3. Computing the ideal direction in which to send a message in GRIC.

Algorithm 2 VGRICInput : A node u and the destination vdest of its message,the previous direction

−→d last, and the previous east vector

−→p east.Output : A node to which to forward the message, −→v east.Computes −→v northand −→v eastComputes

−→d ideal

Choose the best neighbor

value) with−→d direction. We then set −→v north =

−→d direction ·−→

d last ∗−→d last +

−→d direction ·

−→i ∗−→i and −→v east =

−→d direction ·−→

i ∗−→d last −

−→d direction ·

−→d last ∗

−→i

We then normalize both −→v northand −→v eastand check if−→v east · −→p east ≥ 0. If not, we negate −→v east.

4) Computation of the ideal direction: We use the previousdirection

−→d last. We set x =

−→d last · −→v east and y =

−→d last ·−→v north. If x < 0, we negate it x = −x. We then make a

rotation of the vector x ∗ −→v east + y ∗ −→v north in the planedefined by −→v north and −→v east of a predefined angle α (wetook α = 0.3π in our experiments):

−→d ideal = (cos(α) ∗ y +

sin(α) ∗ x) ∗ −→v north + (cos(α) ∗ x − sin(α) ∗ y) ∗ −→v east. Ifthe rotation was too important, i.e.

−→d ideal · −→v east < 0 while−→

d ideal · −→v north > 0, then we set−→d ideal = −→v north.

5) Best neighbor: It is the neighbor used to define−→i ∈−→Γ

which maximizes−→i ·−→d ideal.

IV. SIMULATIONS

We made some routing simulations using both ROAM andGRIC routing algorithms. We used three variants of each al-gorithm: the first variant uses perfect 2-dimensional Euclideancoordinates, the second variant uses 6 randomly selectedanchors and perfect Euclidean distance to them, and the lastvariant uses 6 randomly selected anchors and hop distance tothem. In this section we call these variants ROAM and GRIC(perfect Euclidean coordinates), VROAM and VGRIC (rawEuclidean distance), VROAMhop and VGRIChop (raw hopdistance).

A. Simulation settings

We implemented the routing algorithms and the experimen-tal setting using AlgoSensim [Alg]. The various simulationconsidered sensors capable of perfectly communicate with

110

Page 6: [IEEE 2010 Seventh International Conference on Wireless On-demand Network Systems and Services (WONS) - Kranjska Gora, Slovenia (2010.02.3-2010.02.5)] 2010 Seventh International Conference

other sensors inside a disk of radius 2 around them. We did notconsider any interference, or noise issues. The environment inwhich the sensors were deployed was a 50 × 50 rectangulararea containing a crescent shaped obstacle (see Figure 4).From 2000 up to 8000 sensors were uniformly scattered in thearea (not on the obstacle). For VROAM, VGRIC, VROAMhopand VGRIChop, 6 anchors were randomly chosen among thesensors.

SourcesDestinations

Fig. 4. Simulation settings.

The simulations were carried out as follows: at each timestep, a message was created in a random sensor inside arectangular zone of the network, and had a destination chosenrandomly inside another rectangular zone of the network (seeFigure 4). Also at each time step, all the messages currentlyin the network were allowed to make one hop towards theirdestination. Each simulation ran during 1000 time steps.

B. Simulation results

Concerning ROAM, VROAM and VROAMhop, the simula-tions showed that the three variants were successful in findingpaths from the sources to the destinations. The paths computedby VROAM and VROAMhop had an average stretch similarto the paths computed by ROAM (see Figure 5). Interestingly,whereas the dead-end zones computed by VROAM was similarto the ones computed by ROAM, VROAMhop’s dead-endzones tend to be substantially smaller as the figures in nexttable show.

Number of nodes Marked nodesROAM VROAM VROAMhop

2000 9% 4% 2%4000 3% 3% 1%6000 3% 3% 2%8000 2% 2% 1%

In [RPSS03], the authors argue that using the distance interms of hops to the anchors often yields better results thanusing Euclidean distance. We share this opinion: indeed, thehop-count contains in itself information about the topology ofthe network, as it increases if there is an obstacle betweena node and an anchor. This is supported by the experimentalresults concerning the size of dead-end zones.

The fact that the three variants of ROAM compute pathsof similar length does not contradict this. Indeed ROAM

10 20 30 40

1

1.1

1.2

1.3

1.4

1.5

1.6

1.7

1.8

1.9

2

GRICVGRICVGRIChop

average density

leng

th/m

in le

ngth

10 20 30 401

1.1

1.2

1.3

1.4

1.5

1.6

1.7

ROAM

VROAM

VROAMhop

average density

leng

th/m

in le

ngth

Fig. 5. Simulation results: average stretch of paths function of averagenumber of neighbors.

marks nodes leading to a local minimum and hence obtainsinformation similar to the hop-count. This explains that allthree variants perform as efficiently.

Concerning GRIC, VGRIC and VGRIChop, the simulationsshowed again that the three variants were successful in findingpaths from the sources to the destinations. This time, the pathsyielded by VGRIC were in average slightly longer than thoseyielded by GRIC, whereas those yielded by VGRIChop werein average, slightly shorter (see Figure 5). This may be alsodue to the fact that the hop distance contains more informationthan the Euclidean distance: hop distance is influenced by theobstacles and may help in avoiding them.

In a nutshell, the simulations clearly show that the algo-rithms that use virtual coordinates perform as well as thoseusing real Euclidean coordinates in terms of routing success.The quality of the paths found by the various routing algo-rithms varies very slightly from one variant to the other, andthis is sometimes in favor of the virtual coordinates variants.

V. CONCLUSION

Geographic routing is an important tool for connecting wire-less networks. By routing using only the anchor coordinates, itis possible to skip the previously necessary localization phaseand produce protocols that are more energy-efficient and less

111

Page 7: [IEEE 2010 Seventh International Conference on Wireless On-demand Network Systems and Services (WONS) - Kranjska Gora, Slovenia (2010.02.3-2010.02.5)] 2010 Seventh International Conference

dependent on external hardware. The simulations that we havemade prove that this approach is not only workable but alsogives very good results in terms of number of exchangedmessage and in terms of success of the routing algorithms.

In order to extend our technique to virtually all geographicrouting algorithms, a planned development is to adapt dis-tributed planarization algorithms on the surface created by thenetwork in the multi-dimensional space. Tests must also beperformed when errors are introduced into the coordinate sys-tem (errors on distance evaluation) to insure the feasibility ofthis approach into real-world sensor networks. Finally, anotherplanned development is to investigate routing algorithms withmobile nodes and anchors.

REFERENCES

[Alg] AlgoSensim simulator. http://tcs.unige.ch/code/algosensim/overview.[ASSC02] IF Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci.

Wireless sensor networks: a survey. Computer networks,38(4):393–422, 2002.

[BBS+07] F. Barsi, A.A. Bertossi, F. Betti Sorbelli, R. Ciotti, S. Olariu,and M.C. Pinotti. Asynchronous Training in Wireless SensorNetworks. In Workshop on Algorithmic Aspects of WirelessSensor Networks (ALGOSENSORS), 2007.

[BGJ05] J. Bruck, J. Gao, and A.A. Jiang. Localization and routing insensor networks by local angle information. International Sympo-sium on Mobile Ad Hoc Networking & Computing: Proceedingsof the 6 th ACM international symposium on Mobile ad hocnetworking and computing, 2005.

[BNP+08] F. Barsi, A. Navarra, M.C. Pinotti, C. Lavault, V. Ravelomanana,S. Olariu, and A. Bertossi. Efficient binary schemes for trainingheterogeneous sensor and actor networks. In 1st ACM Interna-tional Workshop on Heterogeneous Sensor and Actor Networks,HeterSanet, 2008.

[CCDU05] A. Caruso, S. Chessa, S. De, and A. Urpi. GPS free coordinateassignment and routing in wireless sensor networks. In Proceed-ings IEEE INFOCOM 2005. 24th Annual Joint Conference of theIEEE Computer and Communications Societies, volume 1, 2005.

[DSGS03] G. Di Stefano, F. Graziosi, and F. Santucci. Distributed position-ing algorithm for ad-hoc networks. In International Workshopon Ultra Wideband Systems (IWUWBS), 2003.

[DSP08] G. Di Stefano and A. Petricola. A Distributed AOA Based Lo-calization Algorithm for Wireless Sensor Networks. JOURNALOF COMPUTERS, 3(4):1, 2008.

[HJL+09] F. Huc, A. Jarry, P. Leone, L. Moraru, S. Nikoletseas, andJ. Rolim. Early obstacle detection and avoidance for all to alltraffic pattern in wirelesssensor networks. In AlgoSensor, 2009.

[Hot96] S.M. Hotz. Routing information organization to support scalableinterdomain routing with heterogeneous path requirements PhDThesis. University of Southern California, Los Angeles, CA,1996.

[KK00] B. Karp and HT Kung. GPSR: greedy perimeter statelessrouting for wireless networks. In Proceedings of the 6th annualinternational conference on Mobile computing and networking,pages 243–254. ACM New York, NY, USA, 2000.

[KSW04] Jon Kleinberg, Aleksandrs Slivkins, and Tom Wexler. Triangula-tion and embedding using small sets of beacons. In 45th AnnualIEEE Symposium on Foundations of Computer Science (FOCS),pages 444–453. IEEE Computer Society Press, October 2004.

[KWZ08] F. Kuhn, R. Wattenhofer, and A. Zollinger. An algorithmicapproach to geographic routing in ad hoc and sensor networks.IEEE/ACM Transactions on Networking, 16(1):51–62, 2008.

[LKHL06] H. Lim, L. Kung, J. Hou, and H. Luo. Zero-configuration, robustindoor localization:Theory and experimentation. pages 1–12,2006.

[LR03] Koen Langendoen and Niels Reijers. Distributed localization inwireless sensor networks: a quantitative comparison. ComputerNetworks, 43(4):499 – 518, 2003. Wireless Sensor Networks.

[MLNR08] L. Moraru, P. Leone, S. Nikoletseas, and J. Rolim. GeographicRouting with Early Obstacles Detection and Avoidance in DenseWireless Sensor Networks. Lecture Notes in Computer Science,5198:148–161, 2008.

[MLRT04] D. Moore, J. Leonard, D. Rus, and S. Teller. Robust distributednetwork localization with noisy range measurements. In Proceed-ings of the 2nd international conference on Embedded networkedsensor systems, pages 50–61. ACM New York, NY, USA, 2004.

[Nic04] Dragos Niculescu. Positioning in ad hoc sensor networks. IEEENetwork, pages 24–29, 2004.

[NZ02] T.S.E. Ng and H. Zhang. Predicting Internet network distancewith coordinates-based approaches. In IEEE INFOCOM, vol-ume 1, pages 170–179. Citeseer, 2002.

[PBDT05] Nissanka B. Priyantha, Hari Balakrishnan, Erik D. Demaine,and Seth Teller. Mobile-assisted localization in wireless sensornetworks. In Proceedings of the 24th Annual Joint Conference ofthe IEEE Communications Society on Computer Communications(INFOCOM 2005), volume 1, pages 172–183, Miami, Florida,March 13–17 2005.

[PN07] O. Powell and S. Nikoletseas. Simple and efficient geographicrouting around obstacles for wireless sensor networks. LectureNotes in Computer Science, 4525:161, 2007.

[Rom03] Kay Romer. The lighthouse location system for smart dust. InMobiSys ’03: Proceedings of the 1st international conference onMobile systems, applications and services, pages 15–30, NewYork, NY, USA, 2003. ACM.

[RPSS03] Ananth Rao, Christos H. Papadimitriou, Scott Shenker, and IonStoica. Geographic routing without location information. InDavid B. Johnson, Anthony D. Joseph, and Nitin H. Vaidya,editors, MOBICOM, pages 96–108. ACM, 2003.

[SBK08] C. Saad, A. Benslimane, and J.C. Konig. AT-DIST: A DistributedMethod for Localization with high accuracy in Sensor Networks.Technical Report lirmm-00270283, lirmm, 2008.

[SP08] G. Di Stefano and A. Petricola. A distributed AOA basedlocalization algorithm for wireless sensor networks. Journal ofComputers, 3(4):1–8, 2008.

[SY07] A.M.C. So and Y. Ye. Theory of semidefinite programmingfor sensor network localization. Mathematical Programming,109(2):367–384, 2007.

112