A Novel Greedy Forward Algorithm for Routing Data ... - INCT-SEC

inct.sec.org

A Novel Greedy Forward Algorithm for Routing Data ... - INCT-SEC

A NovelGreedyForwardAlgorithmfor RoutingDataTowarda

HighSpeedSinkinWirelessSensorNetworks

Horacio A.B.F. Oliveira ∗ , Raimundo S. Barreto ∗ , Awdren L. Fontao ∗ ,

Antonio A.F. Loureiro † , and Eduardo F. Nakamura ‡

∗ Department of Computer Science – Federal University of Amazonas, Brazil

{horacio,rbarreto,awdren}@dcc.ufam.edu.br

† Department of Computer Science – Federal University of Minas Gerais, Brazil

loureiro@dcc.ufmg.br

‡ FUCAPI – Analysis, Research, and Technological Innovation Center, Brazil

eduardo.nakamura@fucapi.br

Abstract—Sink nodes are responsible for aggregating data

gathered by a Wireless Sensor Network (WSN) and transmittingthemtoamonitoringfacility.Usually,thesearestaticnodes

that serve as gateways to infrastructured networks. In some

applications, these sink nodes move around the monitoring

area, usually in lower speeds (e.g., robots, dirigibles). In this

work, we go further and study WSN scenarios in which sink

nodes can move at higher speeds, such as an Unmanned Aerial

Vehicle (UAV) or even an airplane. In these cases, propagated

queries cannot be answered by using the sink’s position when

the query was sent, since the sink will be elsewhere due to its

high speed. Thus, we propose and evaluate the performance

of three algorithms for data query in WSNs when the sink

is moving at a high speed. Our results show clearly the need

for new algorithms for these scenarios as well as the good

performance of our proposed algorithms.

Keywords-routing; high speed; wireless sensor networks.

I. INTRODUCTION

Wireless Sensor Networks (WSNs) [1]–[3] are composed

of a large number of small sensor devices that are able

to sense and gather data from their surroundings, process

the data gathered, and send them toward a sink node,

using multihop wireless communication. The sink node is

responsible for sending the data to a monitoring facility.

Usually, sensor nodes, including the sink, are static nodes.

Some proposals [4]–[6], however, have demonstrated the

advantages of using mobile sinks to mitigate the process of

collecting the data gathered by a WSN. In these cases, the

sink node moves throughout the sensor field communicating

with the sensor nodes. In all proposed scenarios, the sink

node has low to medium mobility such as a robot, a airship,

small remote controlled cars, or even a person carrying the

sink node. The main challenge is basically how to keep

the routing table of the sensor nodes updated, so they can

forward the gathered data toward the current position of the

sink node.

This work was partially supported by the National Institute of Science

and Technology – Critical Embedded Systems (INCT-SEC), by the

Brazilian National Council for Scientific and Technological Development

(CNPq) under the processes 554071/2006-1, 554087/2006-5, 474194/2007-

8, 575808/2008-0 and 573963/2008-8 and by the São Paulo Research

Foundation (FAPESP) under the process 08/57870-9.

More recent scenarios have demonstrated the need for

collecting data from a WSN using sink nodes that move

at high speeds. For instance, a sink node could be an

Unmanned Aerial Vehicle (UAV) or even an airplane, in

which case the aerial vehicle would be responsible for flying

overtheWSNsendingqueriesandreceivingrepliesfromthe

sensor nodes. Due to the high speed nature of the sink node,

the reply packets, sent by the sensor nodes in multiple hops,

cannot be sent toward the position of the sink node when it

sent the query packet, since the sink node will be elsewhere

in the network.

Inthiswork,weproposeanewGreedyForwardalgorithm

for sending data toward a high speed sink in WSNs: the

Whisper (Wireless HIgh SPEed Routing) algorithm. Based

on this algorithm, we also propose three different variations:

Whisper Follow, Whisper Intercept, and Whisper Shortest.

The main idea of these Whisper algorithms is to recognize

that the sink node is not at the location where the query

packet was sent due to its high speed trajectory. Thus, to

overcome this problem, the Whisper algorithm sends the

reply packet towards a more updated location, or even a

futurelocation,ofthesinknode(Figure1).Theperformance

of the proposed algorithms is evaluated using the NS-2

simulator. We present an extensive set of experiments that

show the need for new algorithms in these high speed

scenarios, and also clearly indicate the good performance

of the proposed algorithms.

The remaining of this paper is organized as follows. In

the next section, we describe the related work regarding

mobile sinks as well as communication at high speed WSNs.

Section III shows some definitions used throughout this

paper and our problem definition. The Whisper algorithm

and its variants are presented in Section IV, which are

evaluated in Section V. In section VI, we briefly discuss

the applicability, advantages, and limitations of the proposed

solution. Finally, in Section VII we present our conclusions.

II. RELATED WORK

A first attempt to tackle the problem of data delivery

from sensor nodes toward a mobile sink in WSNs is the

TTDD (Two-Tier Data Dissemination) [4]. In this algorithm,


Figure 1: A query sent to a WSN by a high speed sink.

each node builds a grid structure that allows mobile sinks to

receive datathroughcontrolledflooding limitedtotheirlocal

cells. Fordor and Vidacs [5] proposed an efficient routing

algorithm that allows all nodes to reach the mobile sink.

That algorithm tries to find an intermediate solution for good

routes while minimizing the number of messages required

to update them. At last, Shim and Park [6] proposed an

algorithm based on locators. Those locators are uniformly

distributed in the sensor field and are able to find the current

position of the mobile sink. If a node tries to send data

towards an outdated position of the sink, this node can get

a more updated position using these locators.

In [7], it is carried out experiments using an aerial device.

In that work, n sensor nodes are randomly distributed in a

circle or area R. The mobile sink can place itself at specified

positions and height and send packets to sensor nodes.

Resultsclearlydemonstratethepossibilityofcommunication

with the sensor nodes. However, the increase in height

affect the delivery ratio, communication range, and energy

consumption. Khalid et al. [8] evaluated the sink speed by

making the to sink move through the sensor field at a Vi

speed and an angle of θ degrees, regarding the axis X.

The results also indicate the possibility of half duplex link

communication even at high speeds.

As shown in this section, the problem of data delivery

toward a mobile sink has been basically studied at low to

medium speeds. Othar proposals that use a mobile sink at

high speeds focus only on single-hop communication. In this

work, however, we propose a different and novel approach:

multihop data delivery towards a high speed mobile sink. In

ourproposedapproach,wealsomakeuseoffloodingtosend

queries from the sink node to all sensor nodes. On the other

hand, we do not try to update the position of the sink node

using messages, since they would be outdated before the

update packet reaches the destination. This will be further

discussed below.

III. PROBLEM DEFINITION

In this section, we present some definitions used herein.

Definition 1 (Wireless Sensor Networks): A WSNs can

be seen as an Euclidean graph G = (V,E) with the

following properties:

• n is the number of nodes; r, the communication range;

• Q = [0,s]×[0,s]×[0,r] is the sensor field in 3-D;

• V = {v0,v1,...,vn} is the set of sensor nodes, v0 is

the mobile sink node;

• (i,j) ∈ E iff the distance between vi and vj is at most

r, i.e., vi reaches vj and vice-versa;

• ∀vi ∈ V,(Xpi,Ypi,Zpi) ∈ R 3 is the real position of

node vi; while (Xci,Yci,Zci) ∈ R 3 is the computed

position of node vi (e.g., using a localization system).

Definition 2 (High Speed Mobile Sink): A high speed

mobile sink, in this work, is defined as the node v0 capable

of:

• mobility over 100km/h;

• predefined trajectories (e.g., straight line, curves);

• continuously localization (e.g., equipped with GPS –

Global Positioning System);

in which the main goal is to cross the sensor field collecting

data.

Definition 3 (Data Query Algorithm): Unlike normal

routingalgorithmsthattrytomaintainroutesbetweensource

and destination nodes, this work is focused mainly in routing

algorithms for data query [9]. In these algorithms, the sink

node sends a query to the sensor network, as if it was a

distributed database system (i.e.,sensor databases [10]).

This query is usually propagated by flooding. Sensor nodes

that can respond to the query assemble a reply packet that

is sent toward the sink node. Some proposed algorithms

of this type include the Directed Diffusion [11] and the

Received Signal Strength Routing [12].

IV. WHISPER - A NOVEL GREEDY FORWARD

ALGORITHM FOR ROUTING DATA TOWARDS A HIGH

SPEED SINK

In this section, we propose a new Greedy Forward algorithm

for sending data towards a high speed sink: the

Whisper (Wireless High Speed Routing) algorithm. As mentioned

before (and depicted in Figure 1), the main idea of

Whisper is to recognize that the sink node is no longer at

the location where the query packet was sent, due to its high

speed trajectory. Then, if we send the reply packet toward

the location where the query was sent, the reply message

will not be able to reach the sink node. Thus, to overcome

this problem, the Whisper algorithm sends the reply packet

toward a more updated location, or even a future location, of

the sink node. Such a location is recomputed at each hop for

each intermediate node. Then, this node forwards the packet

to its neighbor that is closer to the newly computed sink’s

position. Therefore, it is important that each node knows its

own location, the location of its neighbors, and the Sink’s

Trajectory and Displacement (Definitions 4 and 5).

Definition 4 (Sink’s Trajectory – Ts): this trajectory can

be a line, a curve or any another trajectory that can be

mathematicallyexpressed.Forthesakeofsimplification,and

without any loss of generality, we consider that, while inside


the sensor field, the sink will maintain the trajectory of a

straight line, which is common for objects at high speed.

Thus, given an initial point (e.g., the sink’s position when

the query was sent) and a direction, this line can be easily

computed as y = tan(θ)(x−x0)+y0, where θ is the angle

in relation to the x-axis and (x0, y0) is the initial position.

This sink’s trajectory is sent along with the query packet.

Definition 5 (Sink’s Displacement – Ss(t)): can be defined

as the position of the sink node along its trajectory in

time t (measured in seconds). Such a displacement needs

also to be described by an equation such as Ss(t) =

vt + 1

2 at2 where a is the constant acceleration and v the

initial velocity. Again, for the sake of simplification and

without any loss of generality, we will consider that the

acceleration will be zero, i.e., there will be no changes on

the sink’s velocity while it is in the sensor field. Thus, its

displacement will be simply Ss(t) = vst, where vs is the

sink’s velocity (km/h).

The Whisper algorithm, shown and explained in Algorithm

1, starts when the sink node enters the sensor field

and sends a query packet (lines 4-10). This query, among

other information, contains the routing time (Ri, initially

zero – Definition 6).

Definition 6 (Routing Time – Rp): in order to compute

the sink’s current location, we need to know its time of

displacement. This time is the same as the routing time,

whichisthetotaltimethequerypacketleftthesinknodeand

arrived at the current node. It can be computed as the sum

of all packet delays in all intermediate nodes, as depicted in

Figure 2(a). To compute the delay of a single hop, we can

use the delay measurement technique [13], which is commonly

used by synchronization algorithms [14]. Basically it

is the sum of all delays to send a packet from a sender to a

receiver node, as depicted in Figure 2(b).

Every node that receives the query (directly from the sink

or through an intermediate node) estimates the delay of this

packet, update its neighbor table, and forwards the packet to

its neighbors (lines 11-20). If the current node has any data

to reply to the sink node, it assembles a reply packet with

the data and sends it to the hopi node after timei seconds.

The hopi and timei values are computed according to the

Whisper algorithm Type. In this work, we propose three

different variations of the Whisper Algorithm: the Whisper

Follow(SectionIV-A),theWhisperIntercept (SectionIV-B),

and the Whisper Shortest (Section IV-C).

At last, if an intermediate node receives a reply packet, it

will compute the new values for hopi and timei and forward

the packet according to the Whisper algorithm variation in

use. These variations of the Whisper algorithm are explained

in the next sections.

A. Whisper Follow

The Whisper Follow is the most intuitive variation of the

proposed algorithm. Basically, at each hop, the intermediate

Algorithm 1 - Whisper algorithm

⊲ Variables:

1: Fwdi ← ∅; {Table of forwarded queries and replies – avoid loops}

2: Neigi ← ∅; {Neighbor table – stores id, position, etc}

3: idi ← 0; {Last query sent by the sink node}

⊲ Input:

4: Sink node 0 enters the sensor field to send a qry packet with id id0.

Action:

5: id0 ← id0 + 1; {Query id}

6: cmd0 ← ’SELECT ∗ from RSSF where temperature >= 40’;

7: src0 ← v0; R0 ← 0; {Source and routing time}

8: T0 ← traj(); S0 ← speed(); {Sink’s trajectory and speed}

9: Lp0 ← (Xci,Yci); {Last position}

10: Broadcast qry(src0,id0,cmd0,T0,S0,R0,Lpi); {Sends the query}

⊲ Input:

11: msgi = qry(srck,idk,cmdk,Tk,Sk,Rk,Lpk); di = delay(msgi).

Action:

12: Ri ← Rk + di; {Update routing time}

13: if k �= 0 then -{IF: the packet is not directly from the sink node ...}-

14: Neigi ← Neigi ∪ (k,Lpk); {Update the neighbor table}

15: end if

16: if (srck,idk) /∈ Fwdi then -{IF: the node never forwarded the query ...}-

17: Fwdi ← Fwdi ∪ (srck,idk); {Update the forward table}

18: Lpi ← (Xci,Yci); {Position of the current node}

19: Broadcast qry(srck,idk,cmdk,Tk,Sk,Ri,Lpi); {Fwd. the query}

20: end if

21: if datai ← evaluate(cmdk) then-{IF: node has data to reply the sink ...}-

22: srci ← i; {Reply source}

23: Fwdi ← Fwdi ∪ (origk,idk);

24: Pi = dist((Xci,Yci),Tk)/Ri; {Query’s propagation speed}

25: hopi ← nextHop(); {Computes the next hop}

26: timei ← nextTime(); {Computes the next time}

27: Send reply(srci,idk,datai,Tk,Sk,Ri,Pi) to hopi in timei sec.;

28: end if

⊲ Input:

29: msgi = reply(srck,idk,datak,Tk,Sk,Rk,Pk); di = delay(msgi).

Action:

30: if k = 0 then -{IF: it is the sink node ...}-

31: store(datak); {Sink receives and stores the reply data}

32: else

33: if (srck,idk) /∈ Fwdi then -{IF: node never forwarded the reply ...}-

34: Fwdi ← Fwdi ∪ (srck,idk);

35: Ri ← Rk + di;

36: hopi ← nextHop();

37: timei ← nextTime();

38: Send reply(srck,idk,datak,Tk,Sk,Ri,Pk) to hopi in timei s.;

39: end if

40: end if

Figure 2: (a) Routing time of a packet; (b) Delay measurement

of a hop.


Figure 3: Variations of the Whisper Algorithm. (a) Whisper Follow; (b) Whisper Intercept; e (c) Whisper Shortest.

node will compute the current position of the sink node

(sinkPos). Then, this intermediate node immediately

forwards the reply packet toward its neighbor that is closer

to the current position of the sink node. Thus,

sinkPos.X = Tk.X + Sk × cos(Tk.θ) × Ri; (1)

sinkPos.Y = Tk.Y + Sk × sin(Tk.θ) × Ri; sinkPos.Z = Tk.Z;

nextHop() = closestNeigh(sinkPos.X,sinkPos.Y,sinkPos.Z);

nextTime() = 0.0;

As depicted in Figure 3(a), the trajectory of the reply

packet in the Whisper Follow algorithm tends to be a

parabolic curve since, for each hop, the sink node will be

in a different location.

B. Whisper Intercept

The Whisper Intercept, instead of computing the current

position of the sink, calculates the first point of interception

between the trajectories of the sink node and the reply

packet, which is forwarded immediately. This point of

interception is computed based on the speeds of both sink

and query propagation (Definition 7).

Definition 7 (Query’s Propagation Speed – Pk): a sensor

node, when receiving a query packet can compute the

average speed of this packet, which is basically the distance

between the sink and the current node divided by the query’s

routing time, i.e., Pk = distance((Xci,Yci),Tk)/Ri

This point of interception can be obtained by first

computing the time of interception:


(Tk.Y − Yci)

timeIntercept =

2

P2 k − (Sk × sin(Tk.θ)) 2

(2)

sinkPos.X = Tk.X + Sk × cos(Tk.θ) × (Ri + timeIntercept);

sinkPos.Y = Tk.Y + Sk × sin(Tk.θ) × (Ri + timeIntercept);

sinkPos.Z = Tk.Z;

nextHop() = closestNeigh(sinkPos.X,sinkPos.Y,sinkPos.Z);

nextTime() = 0.0;

In the Whisper Intercept, the reply tends to follow a

straight line, since all intermediate nodes will compute

approximately the same point of interception (Figure 3(b)).

However, some factors such as a higher delay in an intermediate

node can make this point of interception change in

some cases since it is recomputed at each hop. This behavior

makes the proposed algorithm robust to changes in the speed

of the reply packet (i.e., higher or slower delays).

C. Whisper Shortest

The Whisper Shortest, instead of computing the first

point of intercept, calculates the shortest point of intercept.

Also, the reply packet is not forwarded immediately, since

the sink might be far from this shortest point. Thus, the

node waits for the sink to be closer before sending the reply

packet. In this case, the reply packet will have a higher

delay but, on the other side, lower communication paths.

dX = Sk × cos(Tk.θ) × Ri; (3)

dY = Sk × sin(Tk.θ) × Ri;

tan = (Xci − Tk.X) × dX + (Yci − Tk.Y)×dY

;

dX 2 + dY 2

sinkPos.X = Tk.X + tan × dX;

sinkPos.Y = Tk.Y + tam × dY;

sinkPos.Z = Tk.Z;

nextHop() = closestNeigh(sinkPos.X,sinkPos.Y,sinkPos.Z);

timeSink = distance(sinkPos,Tk)/Sk;

timePkt = distance((Xci,Yci),sinkPos)/Pk;

nextTime() = timeSink − timePkt;

As depicted in Figure 3(c), the trajectory of the reply

packet tends to be a line perpendicular to the sinks’ trajectory.

If the computed timeSink is negative, than the

sink node already crossed the closest interception point. In

this case, the reply packet is sent immediately by using the

Whisper Intercept variation.

V. PERFORMANCE EVALUATION

The performance evaluation is performed through simulations

using the NS-2 simulator. The simulation parameters

are based on the MicaZ platform, and the default values are

shown in Table I.

In all results, curves Parameter Value

represent average

values, while error bars

represent confidence

intervals for 95% of

confidence from 33

independent instances

(seeds). Regarding

the network topology,

we assume that the

node deployment obeys

Sensor field 758m × 758m

Number of nodes 576nodes

Nodes density 0.001nodes/m 2

Communication range 50m

Number of neighbors 7.6nodes

One Hop Delay 0.1s

Non-determin. errors 30µs

Localization error 2m

Sink’s height 30m

Sink’s speed 600km/h

Sink’s trajectory line

Table I

a disturbed grid, in which the location of each node is

disturbed by a random zero-mean Gaussian error. Therefore,


Query speed (km/h)

Query speed (km/h)

3000

2500

2000

1500

1000

500

Estimated

Actual

Error

0

200 600 1000 1400 1800

3000

2500

2000

1500

1000

500

0

Number of nodes

(a)

40 50 60 70 80 90 100

Comunication range (m)

(e)

Estimated

Actual

Error

Delivered packet (%)

Delivered packet (%)

100

90

80

70

60

50

40

30

100

90

80

70

60

50

40

30

Follow

Intercept

Shortest

200 600 1000 1400 1800

Number of nodes

(b)

Follow

Intercept

Shortest

40 50 60 70 80 90 100

Communication range (m)

nodes will tend to uniformly occupy the sensor field without

forming a regular grid.

To simulate position computation inaccuracies, we

disturbed the position of the nodes by 2m [15] using

a Gaussian distribution. To simulate delay measurement

inaccuracies we disturbed the mean delay by 30µs [13].

At last, the trajectory of the sink node is a line passing

through the middle of the sensor field.

A. The Impact of Network Scale

Scalability is evaluated by increasing the network size

from 144 to 2048 while keeping the same density. Thus,

the sensor field is resized according to the number of sensor

nodes. A key factor of the Whisper algorithm, especially

the Intercept and Shortest variations, is the computation of

the Query Speed. Thus, Figure 4(a) compares the perfect

and computed average speed of the query packet while

increasing the number of nodes. In this evaluation, as well as

in similar speed results, the error curve is multiplied by 10

to facilitate visualization. Thus, in the worst case, the error

in the query speed computation was only 13km/h. This error

decreases to 3km/h when increasing the number of nodes,

since the average number of hops also increases.

Figure 4(b) shows that all techniques were able to deliver

almost 100% of the packets, except when increasing the

numberofnodestonear2048,inwhichcasethereplypacket

of the most distant nodes does not have time to reach the

sink before it leaves the sensor field. Slowing down the sink

node solves this problem, as we show in Section V-D. In

Figure 4(c), we can see that the Whisper Shortest leads to a

smaller number of hops for the reply packet to reach the sink

node. Also, we can see that there is no statistical difference

(f)

Number of hops

Number of hops

14

12

10

8

6

4

2

0

14

12

10

8

6

4

2

0

Follow

Intercept

Shortest

200 600 1000 1400 1800

Number of nodes

(c)

Follow

Intercept

Shortest

40 50 60 70 80 90 100

Communication range (m)

Figure 4: Scalability and communication range.

(g)

Packet delay (s)

Packet delay (s)

5

4

3

2

Follow

1

0

Intercept

Shortest

200 600 1000 1400 1800

5

4

3

2

1

0

Number of nodes

(d)

Follow

Intercept

Shortest

40 50 60 70 80 90 100

Communication range (m)

betweentheWhisperFollowandtheWhisperIntercept,since

thecurvatureofthereplypacketofparabolictrajectoryinthe

Whisper Follow is not high enough to increase the number

of hops.

At last, Figure 4(d) shows a small disadvantage of the

Whisper Shortest algorithm: an increase in the packet delay,

i.e., the time interval between sending the query and

receiving the reply. This behavior was expected, since the

Whisper Shortest algorithm waits for the sink node to be

closer before sending the reply. On the other hand, this result

clearlyshowstheneedfornewalgorithmsinthesescenarios,

since a delay of almost 4s means that the sink node would

be at least 670m far from the location it sent the query

packet.

(h)

B. The Impact of the Communication Range

Toevaluatetheimpactofthecommunicationrange,weincrease

this parameter from 37m to 100m. When increasing

the communication range, the packet speed also increases,

as depicted in Figure 4(e). After a communication range of

45m, almost 100% of the packets are delivered, as shown

in Figure 4(f). In 37m of communication range (and the

sink node at a height of 30m), we can notice a decrease

in the packet delivered. However, the Whisper Shortest was

still able to deliver more than 90% of the packets, which

indicates that this variation of the Whisper algorithm is more

reliable.

The number of hops decreases in all variations of the

Whisper algorithm, when increasing the communication

range, as depicted in Figure 4(g). An interesting result can

be seen in Figure 4(h): the packet delay decreases in both

Follow and Intercept variations of the Whisper algorithm.

However, in the Whisper Shortest, the packet delay remains


Query speed (km/h)

Delivered packet (%)

3000

2500

2000

1500

1000

500

100

90

80

70

60

50

40

30

0

Estimated

Actual

Error

0.08 0.14

Hop delay (s)

(a)

Follow

Intercept

Shortest

300 600 800 1000 1200

Sink speed (km/s)

(e)

Delivered packet (%)

Delivered packet (%)

100

90

80

70

60

50

40

30

100

90

80

70

60

50

40

30

Follow

Intercept

Shortest

0.06 0.08 0.1 0.12 0.14 0.16

Hop delay (s)

(b)

Follow

Intercept

Shortest

30 32 34 36 38 40 42 44 46 48

Sink height (m)

(f)

Number of hops

Delivered packet (%)

14

12

10

8

6

4

2

0

100

90

80

70

60

50

40

30

Follow

Intercept

Shortest

0.06 0.08 0.1 0.12 0.14 0.16

Hop delay (s)

(c)

Follow

Intercept

Shortest

0 2 4 6 8 10

Localization error (m)

(g)

Packet delay (s)

Delivered packet (%)

5

4

3

2

1

0

100

90

80

70

60

50

40

30

Follow

Intercept

Shortest

0.06 0.08 0.1 0.12 0.14 0.16

Hop delay (s)

(d)

Follow

Intercept

Shortest

Figure 5: Hop delay, sink speed, sink height, localization error, and delay measurement error.

almost the same, since the nodes still have to wait for the

sink node to get closer.

C. The Impact of the Hop Delay

The hop delay refers to the processing time of the sensor

node before forwarding a packet (i.e., context change, to

compute the location of the sink, the next hop). To evaluate

the impact of this delay, we vary this parameter from 0.005s

to 0.2s. As depicted in Figure 5(a), this delay also affects

the packet speed. As depicted in Figure 5(b) when the delay

is higher than 0.14s, reply packets from distant nodes do

not reach the sink node before it leaves the sensor field, so

the packet is dropped.

In Figure 5(c), we can see differences in the number of

hops for both Whisper Follow and Intercept, as the delay

causes the packet to reach the sink node while it is in the

middle of the network (decreasing the average number of

hops). We can also notice that the number of hops in the

Whisper Shortest is not highly affected by the packet delay,

which can also be seen in Figure 5(d) regarding the total

packet delay.

D. The Impact of Speed and Height of the Sink Node

To evaluate the impact of the sink’s speed, we increase

thisparameterfrom300km/h(speedofaUAV)to1200km/h

(more than the speed of a Boeing-747). As depicted in Figure

5(e), in 1000km/h, less than 80% are delivered mostly

because the sink leaves the sensor field before receiving all

replies. This fact reinforces the need for new algorithms in

these high speed sink scenarios, since even when sending

packets toward an updated position of the sink node, some

of these packets are still lost.

0 0.5 1 1.5 2

Non−deterministic error (ms)

We also increased the height of the sink node from 30m

to 48m. As depicted in Figure 5(f), more than 90% of the

packets are delivered when the sink’s height is 44m, which

is only 6m less then the communication range of the nodes.

We can also notice a better performance of the Whisper

Shortest algorithm in this case.

E. The Impact of Localization and Delay Measurement

Errors

As depicted in Figure 5(g) the Whisper algorithm can be

affected by localization errors, specially for higher localization

errors, such as greater than [10]m (which is 20% of the

communication range). On the other hand, as depicted in

Figure 5(h), the Whisper algorithm is not affected by nondeterministic

errors on the delay measurement technique,

since we increased these errors up to 2ms, which is far

greater than the 30µs obtained by Maroti et al. [13]. The

main reason for this behavior is the use of a Gaussian

distribution to disturb the delay, which tends to zero as the

number of hops increases.

VI. APPLICABILITY OF THE PROPOSED SOLUTION

In this work, we consider a delay of 0.1s at each hop,

which can be considered a high delay even for WSNs.

Preliminary real world experiments indicate that Sun SPOT

sensor nodes have a delay of only 0.015s. However, these

sensors are known to have relative high-speed processors

and, also, these experiments do not include data processing

and environmental monitoring. On the other side, experiments

with MicaZ nodes, from Crossbow, demonstrate

that some floating-point operations can take more than one

second to finish executing. Thus, we believe that a delay of

(h)


0.1s per hop can easily be reached in WSNs, especially if

we are dealing with information fusion.

A high speed communication is also another point to

be discussed. In this work, we consider that it is possible

to send data to a node moving at, for instance, the speed

of 600km/h without having influence on the data delivery

rate. Recent research [7], [8] also indicates this possibility

at lower speeds. Furthermore, this problem needs to be

addressed by media access algorithms, and not by routing

algorithms – the case of our work.

Finally, it is important to note that the proposed Whisper

algorithms are basically Greedy Forward algorithms and,

such as, they still need a perimeter/face routing algorithm in

order to bypass holes or voids in the WSN. However, current

perimeter/face routing algorithms do not work at high speed

scenarios,whichshowstheneedfornewalgorithmsforthese

scenarios. This issue will be addressed in the future work.

VII. CONCLUSION

In this paper, we proposed three new propagation techniques

for routing data towards a high speed sink node,

which we referred to as the Whisper (Wireless High Speed

Routing)algorithms.Inscenarioswherethesinknodemoves

at a high speed, propagated queries cannot be replied toward

the location of the sink node when the queries were sent.

Thus, the main idea of the Whisper algorithms is to forward

the reply toward the current location or even toward a future

locationofthesinknode.Wehaveproposedthreevariantsof

the Whisper algorithm. In the Whisper Follow, at each hop,

the reply is forwarded toward the current location of the sink

node.IntheWhisperIntercept,thereplyisforwardedtoward

the point of intercept in the sink’s trajectory. Finally, in the

Whisper Shortest, the reply is forwarded toward the point in

the sink’s trajectory that is closer to the forwarding node.

We presented an extensive set of simulation experiments

that show the need for new algorithms in these high speed

scenarios, and also clearly indicate the good performance of

the proposed algorithms.

The Whisper Shortest algorithm was the one that obtained

the best results in most simulation scenarios. Although delay

is higher, when replying the queries to the sink node, this

is delay is still small, since it does not affect the scenarios

in which the sink node flies over the sensor field, gather

data, and comes back to the base to delivery the data to the

monitoring facility.

The results are very promising, but some advantages and

limitations still need to be further exploited as future work:

thecombinationofoursolutionwithaperimeter/facerouting

algorithm, and also track trajectories described by non-linear

models and subjected to non-Gaussian noises.

REFERENCES

[1] I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cyirci,

“Wireless sensor networks: A survey,” Computer Networks,

vol. 38, no. 4, pp. 393–422, 2002.

[2] D. Estrin,L.Girod, G. Pottie, and M. Srivastava, “Instrumenting

the world with wireless sensor networks,” in ICASSP’01,

Salt Lake City, Utah, 2001, pp. 2033–2036.

[3] G. J. Pottie and W. J. Kaiser, “Wireless integrated network

sensors,” Communications of the ACM, vol. 43, no. 5, pp.

51–58, 2000.

[4] F. Ye, H. Luo, J. Cheng, S. Lu, and L. Zhang, “A twotier

data dissemination model for large-scale wireless sensor

networks,” in MobiCom’02. New York, NY, USA: ACM,

2002, pp. 148–159.

[5] K. Fodor and A. Vidács, “Efficient routing to mobile sinks in

wireless sensor networks,” in WICON ’07. ICST, Brussels,

Belgium, Belgium: ICST, 2007, pp. 1–7.

[6] G. Shim and D. Park, “Locators of mobile sinks for wireless

sensor networks,” in ICPPW’06. Washington, DC, USA:

IEEE Computer Society, 2006, pp. 159–164.

[7] G. Mergen, Q. Zhao, and L. Tong, “Sensor networks with

mobile access: Energy and capacity considerations,” IEEE

Transactions on Communications, vol. 54, no. 10, pp. 2033–

2044, 2006.

[8] Z. Khalid, G. Ahmed, and N. M. Khan, “Impact of mobile

speed on the performance of wireless sensor networks,” Journal

of Information & Communication Technologies, vol. 1,

p. 7, 2007.

[9] A. Boukerche and S. Nikoletseas, “Protocols for data propagation

in wireless sensor networks,” Wireless Communications

Systems and Networks, pp. 23–51, 2004.

[10] W. Hong and S. Madden, “Implementation and research

issues in query processing for wireless sensor networks,” in

ICDE’04, Washington, DC, USA, 2004, p. 876.

[11] C. Intanagonwiwat, R. Govindan, and D. Estrin, “Directed

diffusion: A scalable and robust communication paradigm for

sensor networks,” in MobiCom’00. Boston, MA, USA: ACM

Press, August 2000, pp. 56–67.

[12] A. Boukerche, H. A. B. F. Oliveira, E. F. Nakamura, and

A. A. F. Loureiro, “A novel location-free greedy forward

algorithm for wireless sensor networks,” in ICC’08, Beijing,

China, 2008, pp. 2096–2101.

[13] M. Maroti, B. Kusy, G. Simon, and A. Ledeczi, “The flooding

time synchronization protocol,” in SenSys’04, Baltimore, MD,

USA, 2004, pp. 39–49.

[14] H. A. B. F. Oliveira, A. Boukerche, E. F. Nakamura, and

A. A. Loureiro, “Localization in time and space for wireless

sensor networks: An efficient and lightweight algorithm.”

Performance Evaluation, vol. 66, no. 3-5, pp. 209–222, 2009.

[15] K. Langendoen and N. Reijers, “Distributed localization in

wireless sensor networks: a quantitative comparison,” vol. 43,

no. 4. New York, NY, USA: Elsevier North-Holland, Inc.,

2003, pp. 499–518.

More magazines by this user
Similar magazines