[IEEE 2011 IEEE 17th International Conference on Parallel and Distributed Systems (ICPADS) - Tainan,...

8
RDTS: A Reliable Erasure-Coding Based Data Transfer Scheme for Wireless Sensor Networks M. Sammer Srouji, Zhonglei Wang, J¨ org Henkel Karlsruhe Institute of Technology, Chair for Embedded System, Karlsruhe, Germany {srouji, zhonglei.wang, henkel}@kit.edu Abstract—Information redundancy using erasure coding is an efficient way to increase the reliability of data transmission in communication systems. In Wireless Sensor Networks (WSNs), erasure encoding and decoding are performed on the source node and sink node, respectively, and a large amount of re- dundant data is generated according to the quality of the whole path and transmitted through multiple hops. In this paper, we propose a reliable data transfer scheme, RDTS, where erasure coding is performed in a hop-by-hop manner, which means that each intermediate node is able to perform erasure coding and adaptively calculates the number of redundant packets for the next hop. Usually, only a small amount of redundant data is needed for reliable transmission over a single hop. Therefore, using RDTS, the network load caused by redundant data is significantly reduced and also well balanced, leading to a longer network lifetime. In addition, hop-by-hop coding has also the advantage of low coding overhead. We further reduce the coding time by proposing a partial coding scheme. Our experimental results show that RDTS achieves up to 69.7% less network load and 153.8% longer lifetime, and meanwhile, the coding overhead is reduced by up to 78.1%, compared with a state-of-the-art erasure-coding based approach. Index Terms—Wireless Sensor Networks; Erasure Coding; Reliability; Reed-Solomon Codes; Information Redundancy I. I NTRODUCTION A wireless sensor network (WSN) typically consists of a large number of low-cost, low-power sensor nodes, which are densely deployed throughout a geographical area for various sensing tasks and communicate with each other wirelessly. They can potentially be used in a wide range of application domains, such as health applications, industrial process control and home automation. In recent years, due to the increasing popularity of WSNs in various applications, the study on WSNs has attracted great attention in both academia and industry. For a comprehensive overview of wireless sensor networks in terms of the different research factors, some survey papers like [2], [21] can be referred to. Reliability consideration is a major research field in WSNs. In a typical WSN, the nodes collect the information from the field via a sensor attached to them and then send the collected data usually hop by hop to a base station (sink). The wireless communication between the sensor nodes in WSNs can easily be affected by the environmental factors, such as wind, obstacles and others. This lossy nature of wireless communication will cause data loss during the data transmission. However, in many applications such as military applications, industrial process control, and object tracking, it is very crucial to reach a high level of reliability. The data transmission reliability is determined by the quantity of data packets successfully delivered to the sink [13]. There are two approaches to enhance the reliability of data transmission: retransmission and information redundancy [4], [18]. In retransmission based data transfer schemes, an ac- knowledge is sent back from the receiver to the sender to indicate successful transmission. When an acknowledge is not received by the sender, the data packet must be retransmitted. The lossy wireless communication in a WSN will cause retransmission of many data packets, and as a result, the network traffic will dramatically increase. This leads to a high power consumption. Furthermore, in retransmission based schemes a data packet must be buffered until the sender receives the acknowledgment. Data buffering requires a large memory space. As a typical sensor node has very limited power source and memory space, the retransmission based schemes are not suitable for WSNs. One method to add information redundancy is to transmit multiple copies of the same packet. Like retransmission, this method achieves reliability at the expense of high power con- sumption. A more efficient method for information redundancy is using erasure coding. Erasure coding adds k redundant packets into m original packets and enables reconstruction of m original packets if any m out of m + k packets are received. Compared with retransmission and sending multiple copies, erasure coding introduces less redundant data and is more energy efficient. Therefore, it is quite suitable for WSNs. In previous work that applies erasure coding in WSNs, encoding and decoding are performed on the source node and sink node, respectively, while the intermediate nodes just forward the data packets without any processing. The amount of redundant data is calculated according to the quality of the whole path. This scheme achieves so-called end-to-end reliability. In this paper, we propose a more efficient erasure- coding based data transfer scheme called RDTS. The idea behind RDTS is to achieve hop-by-hop reliability by enabling erasure coding also on the intermediate nodes and calculating the number of redundant data packets according to the quality of each hop-to-hop connection. RDTS achieves significant reduction of the redundant data, saves energy and extends the network lifetime. It also allows for better load balancing. In addition, we also address the problem of coding overhead. We make use of the advantageous feature of systematic erasure code such as Reed-Solomon Code to perform partial coding 2011 IEEE 17th International Conference on Parallel and Distributed Systems 1521-9097/11 $26.00 © 2011 IEEE DOI 10.1109/ICPADS.2011.104 481

Transcript of [IEEE 2011 IEEE 17th International Conference on Parallel and Distributed Systems (ICPADS) - Tainan,...

RDTS: A Reliable Erasure-Coding Based DataTransfer Scheme for Wireless Sensor Networks

M. Sammer Srouji, Zhonglei Wang, Jorg HenkelKarlsruhe Institute of Technology, Chair for Embedded System, Karlsruhe, Germany

{srouji, zhonglei.wang, henkel}@kit.edu

Abstract—Information redundancy using erasure coding is anefficient way to increase the reliability of data transmission incommunication systems. In Wireless Sensor Networks (WSNs),erasure encoding and decoding are performed on the sourcenode and sink node, respectively, and a large amount of re-dundant data is generated according to the quality of the wholepath and transmitted through multiple hops. In this paper, wepropose a reliable data transfer scheme, RDTS, where erasurecoding is performed in a hop-by-hop manner, which means thateach intermediate node is able to perform erasure coding andadaptively calculates the number of redundant packets for thenext hop. Usually, only a small amount of redundant data isneeded for reliable transmission over a single hop. Therefore,using RDTS, the network load caused by redundant data issignificantly reduced and also well balanced, leading to a longernetwork lifetime. In addition, hop-by-hop coding has also theadvantage of low coding overhead. We further reduce the codingtime by proposing a partial coding scheme. Our experimentalresults show that RDTS achieves up to 69.7% less network loadand 153.8% longer lifetime, and meanwhile, the coding overheadis reduced by up to 78.1%, compared with a state-of-the-arterasure-coding based approach.Index Terms—Wireless Sensor Networks; Erasure Coding;

Reliability; Reed-Solomon Codes; Information Redundancy

I. INTRODUCTION

A wireless sensor network (WSN) typically consists of a

large number of low-cost, low-power sensor nodes, which are

densely deployed throughout a geographical area for various

sensing tasks and communicate with each other wirelessly.

They can potentially be used in a wide range of application

domains, such as health applications, industrial process control

and home automation. In recent years, due to the increasing

popularity of WSNs in various applications, the study on

WSNs has attracted great attention in both academia and

industry. For a comprehensive overview of wireless sensor

networks in terms of the different research factors, some

survey papers like [2], [21] can be referred to.

Reliability consideration is a major research field in WSNs.

In a typical WSN, the nodes collect the information from

the field via a sensor attached to them and then send the

collected data usually hop by hop to a base station (sink).

The wireless communication between the sensor nodes in

WSNs can easily be affected by the environmental factors,

such as wind, obstacles and others. This lossy nature of

wireless communication will cause data loss during the data

transmission. However, in many applications such as military

applications, industrial process control, and object tracking, it

is very crucial to reach a high level of reliability. The data

transmission reliability is determined by the quantity of data

packets successfully delivered to the sink [13].

There are two approaches to enhance the reliability of data

transmission: retransmission and information redundancy [4],

[18]. In retransmission based data transfer schemes, an ac-

knowledge is sent back from the receiver to the sender to

indicate successful transmission. When an acknowledge is not

received by the sender, the data packet must be retransmitted.

The lossy wireless communication in a WSN will cause

retransmission of many data packets, and as a result, the

network traffic will dramatically increase. This leads to a

high power consumption. Furthermore, in retransmission based

schemes a data packet must be buffered until the sender

receives the acknowledgment. Data buffering requires a large

memory space. As a typical sensor node has very limited

power source and memory space, the retransmission based

schemes are not suitable for WSNs.

One method to add information redundancy is to transmit

multiple copies of the same packet. Like retransmission, this

method achieves reliability at the expense of high power con-

sumption. A more efficient method for information redundancy

is using erasure coding. Erasure coding adds k redundant

packets into m original packets and enables reconstruction

of m original packets if any m out of m + k packets are

received. Compared with retransmission and sending multiple

copies, erasure coding introduces less redundant data and is

more energy efficient. Therefore, it is quite suitable for WSNs.

In previous work that applies erasure coding in WSNs,

encoding and decoding are performed on the source node

and sink node, respectively, while the intermediate nodes just

forward the data packets without any processing. The amount

of redundant data is calculated according to the quality of

the whole path. This scheme achieves so-called end-to-end

reliability. In this paper, we propose a more efficient erasure-

coding based data transfer scheme called RDTS. The idea

behind RDTS is to achieve hop-by-hop reliability by enabling

erasure coding also on the intermediate nodes and calculating

the number of redundant data packets according to the quality

of each hop-to-hop connection. RDTS achieves significant

reduction of the redundant data, saves energy and extends the

network lifetime. It also allows for better load balancing. In

addition, we also address the problem of coding overhead. We

make use of the advantageous feature of systematic erasure

code such as Reed-Solomon Code to perform partial coding

2011 IEEE 17th International Conference on Parallel and Distributed Systems

1521-9097/11 $26.00 © 2011 IEEE

DOI 10.1109/ICPADS.2011.104

481

to reduce the coding overhead. Hence, the main contributions

of this paper are twofold:

• We propose a hop-by-hop erasure coding scheme, which

reduces the amount of redundant data, improves load

balancing, saves energy, and finally extends the network

lifetime.

• We propose a partial coding scheme, which reduces the

computation overhead introduced by erasure coding on

multiple nodes in a path.

The rest of the paper continues with an overview of related

work in Section II. Section III gives a brief introduction to era-

sure coding and Reed-Solomon Codes. After that, Section IV

describes the details of the proposed data transfer scheme,

RDTS. In Section V, the experimental results are presented.

Finally, the paper is concluded briefly in Section VI.

II. RELATED WORK

Most existing reliable data transfer schemes for communi-

cation systems are based on retransmission or information re-

dundancy [4], [18]. Retransmission is the most straightforward

choice to enhance the reliability of data transmission. There

are end-to-end retransmission and link-level retransmission

(also called hop-by-hop retransmission). The latter is more

suitable for wireless communication, where data loss rate is

high [5]. In many previous works, such as [11], [13], [14],

[17], [22], link-level retransmission is also applied in wireless

sensor networks. Nevertheless, as discussed, retransmission

based schemes dramatically increase the communication load

and power consumption, and require large memory space for

data buffering. Therefore, they are not suitable for WSNs,

where each sensor node is equipped with very limited power

source and memory space.

Information redundancy using erasure coding is a popular

approach to increase the data transmission reliability. In [10]

the authors show that adding redundancy using erasure coding

enhances the network reliability without increasing much

network traffic. Erasure coding does not need data buffering.

Therefore, erasure-coding based data transfer schemes are

also suitable for resource-limited systems like WSNs. In [18]

the authors conclude that in most cases erasure-coding based

schemes outperform the retransmission based schemes in

terms of packet arrival probability and power consumption.

Only when the packet loss rate becomes very high, the erasure-

coding based schemes perform worse.

Many recent works apply erasure coding in WSNs, such

as [3], [7], [8], [12], [20]. Some works are focused on coding

algorithms [3], [20], while others apply erasure coding to

achieve minimum energy [7] and maximum network life-

time [8]. The common ground of these works is that erasure

encoding and decoding are performed only on the sender

and receiver, respectively, to achieve the end-to-end reliability,

while the intermediate nodes simply forward the packets

without any processing. The redundant packets are generated

on the sender according to the packet arrival probability of

the whole path, and transferred through all the hops. Our

RDTS is also an erasure-coding based data transfer scheme,

but outperforms the previous works in terms of traffic load

and computation overhead. This is achieved by the idea of

hop-by-hop erasure coding and redundancy calculation.

There are also approaches that combine retransmission and

erasure coding for some special WSN applications. For exam-

ple, in [19], for underwater sensor networks, erasure coding is

used to add redundant packets, while link-level retransmission

is employed to guarantee the successful reconstruction of the

original packets.

III. ERASURE CODING AND REED-SOLOMON CODES

In this section, we will give an overview of erasure coding

and introduce Reed Solomon Codes, the erasure code used in

our work.

A. Mechanism of Erasure Coding

The mechanism of erasure coding is illustrated in Figure 1.

In the sender, the data is divided to m fragments (also called

code words or messages), which are encoded to generate

k redundant fragments. All the m + k fragments are then

transmitted to the receiver. During the transmission, some

fragments may be lost. In the receiver, if the number of

received fragments is larger than or equal to the number of

the original fragments (i.e., m′ ≥ m), the original data can bereconstructed.

Frag 1Frag 2

Frag m

Frag 1Frag 2

Frag mR-Frag 1R-Frag 2

R-Frag k

Sender

Original DataPackets

Encoded DataPackets

Encoding

m Fragments

m+kFragments

Frag 1Frag 2

Frag m-1

R-Frag 2

R-Frag k

Receiver

Received DataPackets

Decoding

m’ Fragments(m’ m)

Transmission

Frag 1Frag 2

Frag m

ReconstructedData Packets

m Fragments

R-Frag 1

R-Frag 3

Fig. 1. Mechanism of Erasure Coding

B. Reed-Solomon Codes

There are many types of erasure codes. Reed-Solomon

codes [15], Raptor codes [16] and Tornado codes [6] are some

of the most popular ones. We use Reed-Solomon codes in our

work. The reasons for our choice are threefold:

• Reed-Solomon codes are the most well-studied and

widely used erasure codes. They were developed by

Irving Reed and Gus Solomon early in 1960 [15].

• Reed-Solomon codes are optimal erasure codes, whichhave the property that any m out of the m+k code wordscan sufficiently recover the original data and the number

of redundant data fragments k is previously fixed, while

Raptor codes are fountain codes (also known as ratelesserasure codes), which have the property that a potentiallylimitless sequence of redundant data fragments can be

generated. Fountain codes are optimized for delivery of

482

V =

⎛⎜⎜⎜⎜⎜⎝

1 α1 α21 · · · αm−1

1

1 α2 α22 · · · αm−1

2

1 α3 α23 · · · αm−1

3...

......

. . ....

1 αn α2n · · · αm−1

n

⎞⎟⎟⎟⎟⎟⎠

Fig. 2. Vandermonde Matrix

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

1 0 0 · · · 00 1 0 · · · 0...

......

. . ....

0 0 0 · · · 11 α1 α2

1 · · · αm−11

1 α2 α22 · · · αm−1

2...

......

. . ....

1 αk α2k · · · αm−1

k

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

⎛⎜⎜⎜⎝

C1

C2

...

Cm

⎞⎟⎟⎟⎠ =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

C1

C2

...

CmR1

R2

...

Rk

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

Fig. 3. Mathematical Representation of Reed-Solomon Coding

large amounts of data over high bandwidth links, while

Reed-Solomon codes are more suitable for WSNs, which

have very limited bandwidth.

• The last and also the most important reason is that the

Reed-Solomon coding algorithm is based on a special

matrix called Vandermonde matrix, which supports our

partial coding scheme. This property of Reed-Solomon

codes makes them more suitable for the hop-by-hop

coding in RDTS.

In what follows, we briefly present the mathematical foun-

dation of Reed-Solomon codes. The Reed-Solomon encoding

can be represented by V C = S, where V is a Vandermonde

matrix, C is the original data vector, and S represents the

encoded data vector, while decoding in the receiver entails

finding C so that V C = R, where R represents the received

data vector. A Vandermonde matrix is a special matrix, where

any set of rows is linearly independent. Figure 2 shows a

Vandermonde matrix with elements V (i, j) = αj−1i , where

αi is nonzero and distinct from each other.

An optimization can be made to reduce the coding effort. By

substituting any m rows of a Vandermonde matrix with rows

of a m ×m identity matrix, the rows of the resulting matrix

are still linearly independent. Therefore, this new matrix can

replace the Vandermonde matrix for Reed-Solomon coding. By

using this matrix, the codes have the property that the encoded

data vector contains the elements of the original data vector,

as shown in Figure 3. The codes with this property are called

systematic codes. In Section IV we will explore the benefits

of systematic codes to reduce the coding effort. In the shown

case in Figure 3, the original data vector contains m elements

(C1, C1, ..., Cm) and the encoded data vector contains the

elements of the original data vector and k redundant elements(R1, R1, ..., Rk).

In order to make efficient use of bits in the packet and

maintain precision, the calculations in Reed-Solomon coding

are often performed in a Galois field (also known as finitefield) [12], which is a field that contains a finite number of

elements.

Receiving m’ data fragments

Calculating the needed number of fragments for the next hop (i-th hop) n according to the data arrival probability of the next hop p , n = �m/p �,

where m is the number of original fragments

Partial encoding/decoding of the received m’data fragments to get n fragments

Sending the n fragments to the next hop

i i

Fig. 4. RDTS Working Steps on Intermediate Nodes

IV. RDTS: THE PROPOSED RELIABLE DATA TRANSFER

SCHEME

There are two main concepts in RDTS: (1) hop-by-hoperasure coding and (2) partial coding. Hop-by-hop erasurecoding means that the individual intermediate nodes can also

perform erasure coding and adaptively decide the needed

number of redundant packets according to the data arrival

probability of the next hop. Figure 4 shows the work per-

formed on each intermediate node in RDTS. Compared with

end-to-end erasure coding (EEEC), RDTS needs much less

redundant data to achieve the same level of reliability and

has better load balancing. Partial coding is used to reduce the

coding effort. The two main concepts are introduced in detail

in the following two sub-sections. After that, the efficiency of

RDTS is demonstrated with an example.

A. Hop-by-Hop Erasure Coding

N1 N2 N3 Nn Nn+1p1 p2 pn

Fig. 5. n-hop Path

For clarity, we just discuss about the case of single path

routing, which is enough to show the effect of the erasure

coding scheme. Our hop-by-hop erasure coding scheme can

be combined with any multipath routing protocol. Figure 5

shows a path that consists of n + 1 nodes. The data from

the sender (N1) to the receiver (Nn+1) travel through n hops.

The successful data arrival probability psuccess of each hop

is annotated in the figure. psuccess of the i− th hop between

node Ni and Ni+1 is pi. Then, the probability of successfuldelivery through n hops is:

ppath =

n∏i=1

pi (1)

483

psuccess can be obtained by some monitoring mechanism or

by sending a query to record it as done in [8]. The concrete

way to measure psuccess is out of the scope of this paper. Here,we just assume that psuccess of the next hop is known by thenode and may vary with time.

The relation between the number of sent packets and the

number of received packets is:

Nreceived = psuccess ×Nsent (2)

For reconstruction of the original data using erasure coding,

the number of received data fragments (m′) must be largerthan or equal to the number of the original fragments (m), i.e.,m′ ≥ m, so the number of sent data fragments must be largerthan or equal to m

psuccess. The number of sent data fragments

equals to the number of decoded data fragments (m+ k), so:

m+ k ≥ m

psuccess(3)

We get this according to theoretical calculation. In reality,

as psuccess is a statistical value, ifm

psuccesspackets are sent

one by one independently, sometimes more than m packets

are received and sometimes less. However, even when one

data fragment is missing, the original data cannot be recon-

structed. Hence, for safety, we will conservatively send δ moreredundant fragments. As a result, we get:

m+ k =m

psuccess+ δ(psuccess, Nhops) (4)

The value of δ depends on psuccess and Nhops, which is thenumber of hops the data will travel through to reach the sink.

For clarity, this item is ignored in the following analysis and

also in the description of the example in Section IV-C but is

taken into account in the experiment.

Using EEEC, the number of redundant fragments is calcu-

lated according to ppath. For an n-hop path:

m+ k ≥ m

ppath=

m∏ni=1 pi

(5)

The mppath

fragments are sent out by the sender N1. Through

the first hop, nodeN2 receivesmppath

p1 fragments and forwardsthem to N3 without any processing. N3 receives m

ppathp1p2

fragments and forwards them, and so on and so forth until

the data reaches the receiver. The total number of fragments

transmitted between the nodes are:

SEEEC =mppath

+ mppath

p1 + · · ·+ mppath

p1p2 · · · pn−1

= m( 1ppath

+ p1ppath

+ · · ·+ p1p2···pn−1

ppath)

= m( 1p1p2···pn +

1p2p3···pn + · · ·+ 1

pn)

=∑ni=1

m∏nj=i pj

(6)

On i− th hop, m∏nj=i pj

fragments are transmitted.

Using hop-by-hop erasure coding in RDTS, the number of

redundant fragments for i−th hop is calculated only accordingto pi. Thus, N1 sends mp1 to N2. N2 receives m fragments.

Theoretically, all the intermediate nodes receive m fragments

and do the work as shown in Figure 4. If psuccess of the nexthop is 1, no processing is needed and the received fragmentsare forwarded to the next hop. Otherwise, Ni performs partialdecoding/encoding to get mpi fragments, and finally sends these

encoded fragments to Ni+1. The total number of fragments

transmitted between the nodes are:

SRDTS =mp1+ mp2+ · · ·+ m

pn

=∑ni=1

mpi

(7)

We get the difference between SEEEC and SRDTS by:

SEEEC − SRDTS =∑ni=1m(

1∏nj=i pj

− 1pi) (8)

In WSNs, usually psuccess < 1, so∏nj=i pj < pi when

i < n and∏nj=i pj = pi when i = n. Thus, 1∏n

j=i pj> 1pi

when i < n. We get SEEEC > SRDTS when n > 1 andSEEEC = SRDTS when n = 1. To get a feeling about how big

is the difference, let us consider a simple example. Assuming

m = 8, n = 10, p1 = p2 = · · · = p10 = 90%

with Equation 6 and Equation 7, we get SEEEC = 153 andSRDTS = 90. Therefore, RDTS sends 41.2% less fragments

than EEEC. With a lower psuccess of each hop or in a path withmore hops, the difference will be larger. This means RDTS has

much better scalability than EEEC.

Another advantage of RDTS is that the communication

load is better balanced. In RDTS, the number of fragments

transmitted in each hop is comparable, while in EEEC the

number of fragments transmitted in the first hop is much larger

than in the last hop. Assuming

p1 = p2 = · · · = pn < 1

Then in RDTS,

m

p1=

m

p2= · · · = m

pn

while in EEEC,

m

p1p2 · · · pn >m

p2p3 · · · pn > · · · > m

pn

Also considering the above example, using EEEC the num-

ber of fragments transmitted in the first hop is 23 and in the last

hop is 9, while using RDTS better load balancing is achieved,

with 9 fragments transmitted in all the hops.

B. Partial Coding

If an intermediate node performs a normal erasure coding

process, it first decodes the received fragments to get the

original data fragments, and then encodes the reconstructed

data to get sufficient fragments for the next hop. We call

this process full coding. Even in full coding, we do not

need to reconstruct all the original fragments, because we use

systematic codes, which have the beneficial property that the

484

N1 N2 N3 N4p1 = 0.7

N5p2 = 0.8 p3 = 0.9 p3 = 0.6

sending 15 fg sending 10 fg sending 8 fg sending 7 fg

(a) 5-hop path

(b) End-to-end erasure coding

(d) Hop-by-hop partial erasure coding

(c) Hop-by-hop full erasure coding

sending6 fg

decoding 1 fgencoding 1 rfg

decoding 1 fgencoding 1 rfg

decoding 1 fgencoding 3 rfg

encoding 11 rfg decoding 3 fg

encoding2 rfg

sending5 fg

sending5 fg

sending7 fg

decoding2 fg

sending6 fg

decoding 1 fg decoding 1 fg decoding 1 fgencoding 2 rfg

encoding2 rfg

sending5 fg

sending5 fg

sending7 fg

decoding2 fg

Fig. 6. An Example

encoded data fragments contain the original data fragments

(see Section III). If x original fragments are missing, we

already have m − x fragments and just need to reconstruct

the missing ones to save the coding effort.

Our partial coding scheme can further reduce the coding

effort. Partial coding is based on the fact that each intermediate

node in RDTS does not need to reconstruct the original data

but just needs to care about whether enough data fragments are

received and make sure that sufficient data fragments are sent

for the next hop. Therefore, if some original data fragments

are missing but the received fragments are enough for the next

hop, no decoding and encoding are needed.

The complete partial coding process is shown in the flow

diagram in Figure 7. The receiver waits form fragments of the

current data. As soon as m fragments are received, processing

starts and the later coming fragments of the same data will be

abandoned to reduce the delay. When a fragment of the next

data is received and the received fragments of the current data

are still less thanm, the data is lost and the received fragmentsare just abandoned. It is calculated that n fragments are neededfor the next hop, so n − m fragments must be generated by

coding. By checking the received fragments it is found that xoriginal fragments are lost. If x ≥ n−m, we just reconstructany missing n − m original fragments to get n fragments.

Otherwise, all the x missing original fragments are decoded

and then n−m− x fragments are generated by encoding the

original fragments.

If full coding is used, x missing original fragments are

always decoded first, and n−m redundant fragments are then

generated by decoding.

m fragmentsreceived?

Wait for fragments until m fragments of the current data are received or a

fragment of the next data is received.

Start processing and abandon thelater coming fragments

x n-m?

Sending n fragments

x original fragments are decodedn-m-x fragments are encoded

n-m original fragments are decodedno encoding

Y

N

NY

The data is lost

Check the number of missingoriginal fragments: x

Calculate the number of fragmentsneeded for the next hop: n

Fig. 7. Partial Coding Process

C. An Example

The advantages of RDTS are demonstrated with an example.

Note again that the example is based on theoretical calculation.

In the example, the data is divided into 4 fragments and will be

transmitted over a 5-hop path shown in Figure 6(a). psuccessof each hop is annotated in Figure 6(a).

Figure 6(b) illustrates the data transmission process using

EEEC. fg and rfg are short for fragments and redundant

485

fragments, respectively. Using EEEC, 15 data fragments must

be sent by the first node, according to the successful data

arrival probability of the whole path, so 11 fragments are

produced by encoding. Through the first hop, the psuccessof which is 0.7, �15× p1� = 10 fragments can arrive N2.

N2 just forwards the received fragments to the next hop.

In the same way the data travels through all the hops and

arrives at the receiver N5. The 4 received fragments contain

only 1 original fragment. Therefore, 3 original fragments need

to be reconstructed by decoding. In total, 40 fragments are

transmitted between the nodes.

Figure 6(c) illustrates the data transmission process using

hop-by-hop full coding, which means full coding is performed

on intermediate nodes. As p1 = 0.7,⌈

4p1

⌉= 6 fragments are

needed for the first hop, and therefore, 2 redundant fragments

are produced by encoding. In the first hop �6× p1� = 4fragments arrive N2. The two lost fragments are arbitrarily

selected. As the intermediate nodes perform full coding, the

original fragments will first be reconstructed by decoding, and

then, the needed redundant fragments are generated by encod-

ing. As the received fragments contain 3 original fragments,

only 1 original fragment is reconstructed. Since⌈

4p2

⌉= 5

fragments are needed for the next hop, only one redundant

fragment is produced. The fragments are transmitted in the

same way over all the hops. In total, 23 fragments are sent.

7 fragments are generated by encoding and 5 fragments are

reconstructed by decoding.

Finally, Figure 6(d) shows the enhancement made by the

proposed hop-by-hop partial coding. Same as in Figure 6(c),

6 fragments are transferred over the first hop and 2 fragments

are lost. Differently, N2 performs partial coding. It only cares

about the difference between the number of received fragments

and the number of required fragments for the next hop.

As 4 fragments are received and 5 fragments are required,

1 fragment needs to be generated. This lacking fragment

is obtained by reconstructing the missing original fragment.

Whereas, on N4 even when all the missing original fragments

are reconstructed, the required number of fragments is still not

reached. Therefore, two additional redundant fragments are

produced by encoding. Same as in Figure 6(c), 23 fragments

are transmitted, which are 43.5% less than EEEC. 4 fragments

are generated by encoding, 42.9% less than full coding, and

4 fragments are reconstructed by decoding, 20% less than full

coding. We will show in Section V that the encoding and

decoding time is proportional to the number of fragments.

Hence, partial coding can significantly save the coding effort

and reduce the end-to-end packet delay.

V. EVALUATION RESULTS

To evaluate the enhancement of RDTS against state-of-the-

art reliable data transmission schemes, we take EEEC used

in [9], [12] as a reference. We will first show the performance

enhancement gained by RDTS. The performance metrics are

compared in terms of packet success rate, communication

load overhead, energy consumption, network lifetime, and load

balancing. Then, we will present coding overhead reduction

achieved by RDTS. The simulation was carried out on the

Network Simulator (ns-2) [1], with IEEE 802.11 as the under-

lying model.The experiments are performed in three sets of topologies:

• Case 1: 20 nodes are distributed over a 200×200 meterfield. Each path should have 4 or 5 hops.

• Case 2: 40 nodes are distributed over a 350×350 meterfield. Each path should have 9 or 10 hops.

• Case 3: 60 nodes are distributed over a 500×500 meterfield. Each path should have 15 or 16 hops.

We assume that there is only one source and one sink,

locating at two diagonal corners of the field. Every 1s, 2000-

byte data is sent by the source. For erasure coding, each piece

of data is divided into m fragments. The data is sent 2000

times in each simulation, and after each simulation, the nodes

are randomly redistributed. psuccess of each hop is updated

every minute, randomly changing between 0.70 and 0.95.

0%

20%

40%

60%

80%

100%

120%

Case 1 Case 2 Case 3

Pack

et S

ucce

ss R

ate

RDTS (m=4)RDTS (m=8)EEECNone

Fig. 8. Data Success Rate Comparison

A. Performance Enhancement Achieved by RDTSFigure 8 shows the data success rate (DSR). DSR is defined

as the ratio of the data successfully received or reconstructed

on the sink and the total sent data. It reflects the data

transmission reliability. We purposely let RDTS and EEEC

reach the same level of reliability (DSR > 95%) and comparethe traffic overhead. In Case 3, as EEEC needs too much

redundant data and leads to too long simulation time, we just

let it reach DSR = 80%. None means that no reliable transferscheme is applied and it achieves very low DSR. The amount

of transferred data is shown in Figure 9. To reach the same

level of reliability EEEC must send 230.2% more data than

RDTS in Case 2. The larger the network is, the more traffic

overhead EEEC generates than RDTS. In this figure, Nonegives the amount of data transferred when there is no data

loss in the communication. By comparing with this value,

we can get how much redundancy is introduced by RDTS

and EEEC. In Case 2, RDTS introduces 129.7% redundancy.

This is much larger than theoretical calculation, because, as

discussed in Section IV-A, we have to send δ more redundantpackets than the theoretical calculation for safety. We adjusted

the value of δ by testing. It is our future work to estimate δ fora concrete channel model. In EEEC a piece of data is divided

into 4 fragments (i.e., m = 4), while in RDTS we also testedthe case that m = 8 to show how the choice of m affects the

network performance.

486

0

50

100

150

200

250

300

350

400

Case 1 Case 2 Case 3

Tran

sfer

red

data

(MB

)

NoneRDTS (m=4)RDTS (m=8)EEEC

Fig. 9. Traffic Load Comparison

0

50

100

150

200

250

0 500 1000 1500 2000 2500 3000Simulation time (s)

Res

idua

l ene

rgy

(J)

RDTS

EEEC

Fig. 10. Residual Energy

In the following, without explicit mention, we discuss about

only the Case 2 and m = 4. To show whether RDTS prolongs

the network lifetime, we recorded the energy consumption of

each node during the simulation. The initial energy of each

node is set to 5 joules, which is much smaller than the real

energy a node has, in order to shorten the simulation time.

Figure 10 shows the change of the total residual energy of

all the nodes in the network with time. The residual energy

decrease is almost proportional to time. In EEEC the residual

energy decreases faster than that in RDTS because of the

higher traffic overhead of EEEC. EEEC has 65.8% more

energy after 3000 seconds simulation time.

0100020003000400050006000700080009000

10000

Case 1 Case 2 Case 3

Net

wor

k lif

etim

e (s

econ

ds) RDTS

EEEC

Fig. 11. Network Lifetime

Figure 11 shows the network lifetime of all the three cases

using RDTS and EEEC. Here, network lifetime is defined as

the time after the first node in the network loses all of its

energy. As we can see, RDTS extends the network lifetime up

to 153.8%, compared with EEEC.

05

10152025303540

Nodes ordered by the amount of sent data

Sent

dat

a of

eac

h no

de (M

B)

050

100150200250300350400450

Nodes ordered by the amount of sent data

Sent

dat

a of

eac

h no

de (M

B)

(a) EEEC

(b) RDTS

Fig. 12. Distribution of Traffic Load

Besides the less traffic overhead, another reason for a longer

network lifetime using RDTS is the better balancing of the

traffic load. As discussed in Section IV-A, in EEEC all the

data fragments are transferred through the first hop, and the

number of sent fragments decreases in each later hop. The

situation becomes worse, when the effect of data routing is

also taken into account. The traffic close to the source and sink

has limited number of routes to choose, while in the middle

of the field there are more choices. Because the source is the

only sender of the large amount data of the first hop in EEEC,

it will drain out its energy very fast, leading to a short network

lifetime. Figure 12 shows the data sent by each node in Case 2

in the descending order. As shown, in EEEC the source node

sends 385.8 MB data, while in RDTS the network load is well

balanced and all the nodes send less than 34.8 MB data.

B. Coding Effort Reduction

Table I presents the number of redundant fragments gener-

ated by encoding and the number fragments reconstructed by

decoding, accumulated through the whole simulation, and also

the average computation delay of a path calculated using the

timing information from [12], where the authors measured the

execution time on MICA2 motes. They got that encoding one

fragment requires 1.7ms and decoding time is roughly linear

to the number of non-original fragments. They set m = 8. Touse the timing information, we also simulated the case m = 8.In EEEC the fragments sent by the source contain much

more redundant fragments than the original fragments, and

therefore, most fragments received by the sink are also redun-

dant fragments. In the worst case all the original fragments

are lost and must be decoded. In our simulation, 2000 pieces

of data are sent, so in the worst case 16000 fragments are

decoded. In contrast, using hop-by-hop coding, the number of

decoded fragments increases as the number of hops increases.

That’s the reason why EEEC has more decoded fragments than

RDTS in Case 1 and has less decoded fragments in Case 2

487

TABLE ICOMPUTATION OVERHEAD OF ERASURE CODING

Number of encoded fragments Number of decoded fragments Average computation delay of a path (ms)Partial coding Full coding EEEC Partial coding Full coding EEEC Partial coding Full coding EEEC

Case 1 33043 39379 76318 8705 9378 12648 42.6 49.1 85.9

Case 2 96936 115158 399185 20744 22126 15792 116.9 134.7 365.6

Case 3 123810 148028 772165 26659 28268 15846 149.6 172.9 682.7

and Case 3. Overall, hop-by-hop full coding saves total coding

time by up to 74.7% compared with EEEC. The coding time

can be further reduced by the partial coding scheme by 13.3%

on average. The saving is less than theoretical calculation is

also because of the additional δ fragments sent on each hop.Figure 13 shows a comparison of average end-to-end packet

delay, which is the sum of computation delay and commu-

nication delay. By using RDTS the end-to-end packet delay

is reduced by 67.9% compared with EEEC and by 8.3%

compared with hop-by-hop full coding, on average.

0.0

500.0

1000.0

1500.0

2000.0

2500.0

Case 1 Case 2 Case 3

End-

to-e

nd p

acke

t del

ay (m

s) Partial codingFull codingEEEC

Fig. 13. Average End-to-End Packet Delay

VI. CONCLUSIONS

This paper introduced a novel reliable data transfer scheme

RDTS for WSNs. Compared with the traditional end-to-end

coding scheme EEEC, RDTS has many advantages. RDTS

introduces less redundant fragments and reduces the traffic

overhead, while achieving the same level of reliability. In

WSNs, communication is the main source of energy con-

sumption. This advantage leads to better energy conservation.

RDTS achieves better load balancing. The communication

load is evenly distributed over the hops in a path. Better energy

conservation and load balancing results in a longer lifetime.

In addition, by using partial coding, the coding overhead is

also significantly reduced. In the paper these advantages were

verified by both mathematical analysis and simulation based

experiments.

REFERENCES

[1] ns-2 home papge, http://www.isi.edu/nsnam/ns/.[2] I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci. Wireless

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

[3] S. Ali, A. Fakoorian, and H. Taheri. Optimum reed-solomon erasurecoding in fault tolerant sensor networks. In Proceedings of InternationalSymposium on Wireless Communication Systems (ISWCS), pages 6–10,2007.

[4] H. Alwan and A. Agarwal. A survey on fault tolerant routing techniquesin wireless sensor networks. In Proceedings of the Third InternationalConference on Sensor Technologies and Applications, pages 366–371,Washington, DC, USA, 2009. IEEE Computer Society.

[5] H. Balakrishnan, V. N. Padmanabhan, S. Seshan, and R. H. Katz. Acomparison of mechanisms for improving tcp performance over wirelesslinks. IEEE/ACM Trans. Netw., 5:756–769, December 1997.

[6] J. W. Byers, M. Lubyt, M. Mitzenmacher, and A. Rege. A digitalfountain approach to reliable distribution of bulk data. In ACM Proceed-ings of the conference on Applications, technologies, architectures, andprotocols for computer communication (SIGCOMM ’98), Vancouver,Canada, 1998.

[7] P. Djukic and S. Valaee. Minimum energy fault tolerant sensor networks.In Proceedings of Global Telecommunications Conference Workshops,pages 22–26, 2004.

[8] P. Djukic and S. Valaee. Maximum network lifetime in fault tolerantsensor networks. In Proceedings of IEEE Global TelecommunicationsConference (GLOBECOM), 2005.

[9] P. Djukic and S. Valaee. Reliable packet transmissions in multipathrouted wireless networks. IEEE Transactions on Mobile Computing,5(5):548–559, 2005.

[10] S. Dulman, T. Nieberg, J. Wu, and P. Havinga. Trade-off betweentraffic overhead and reliability in multipath routing for wireless sensornetworks. In IEEE Wireless Communications and Networking (WCNC),pages 1918–1922, 2003.

[11] X. Huang, H. Zhai, and Y. Fang. Robust cooperative routing protocolin mobile wireless sensor networks. IEEE Transactions on WirelessCommunications, 7(12):5278–5285, 2008.

[12] S. Kim, R. Fonseca, and D. Culler. Reliable transfer on wireless sensornetworks. In Proceedings of the 1st Annual IEEE CommunicationsSociety Conference on Sensor Ad-Hoc Communications and Networks(IEEE SECON 2004), pages 449–459, Santa Clara, CA, USA, October2004.

[13] T. Le, W. Hu, P. Corke, and S. Jha. ERTP: Energy-Efficient and ReliableTransport Protocol for Data Streaming in Wireless Sensor Networks.ACM Computer Communications, 32(7-10):1154–1171, 2009.

[14] B. Marchi, A. Grilo, and M. Nunes. DTSN: Distributed transport forsensor networks. In Proceedings of IEEE Symposium on Computers andCommunications (ISCC’07), Aveiro, Portugal, 2007.

[15] I. S. Reed and G. Solomon. Polynomial codes over certain finite fields.SIAM Journal on Applied Mathematics (SIAP), 8:300–304, 1960.

[16] A. Shokrollahi. Raptor codes. IEEE/ACM Transactions on Networking(TON) - Special issue on networking and information theory, 14:2551–2567, 2006.

[17] F. Stann and J. Heidemann. RMST: Reliable Data Transport in SensorNetworks. In Proceedings of the First International Workshop on SensorNet Protocols and Applications, pages 102–112, Anchorage, Alaska,USA, April 2003.

[18] H. Wen, C. Lin, F. Ren, Y. Yue, and X. Huang. Retransmission orredundancy: transmission reliability in wireless sensor networks. InProceedings of IEEE Internatonal Conference on Mobile Adhoc andSensor Systems (MASS), pages 1–7, 2007.

[19] P. Xie and J. hong Cui. Sdrt: A reliable data transport protocol forunderwater sensor networks. Journal of Ad Hoc Networks, 8(7):708–722, 2010.

[20] Z. Xiong, Z. Yang, W. Liu, and Z. Feng. A Lightweight FEC Algorithmfor Fault Tolerant Routing in Wireless Sensor Networks. In Proceedingsof International Conference on Wireless Communications, Networkingand Mobile Computing (WiCOM), pages 1–4, 2006.

[21] J. Yick, B. Mukherjee, and D. Ghosal. Wireless sensor network survey.Computer Networks, 52(12):2292–2330, Aug. 2008.

[22] C. yih Wan, S. B. Eisenman, and A. T. Campbell. PSFQ: A ReliableTransport Protocol For Wireless Sensor Networks. In Proceedings ofthe 1st ACM international workshop on Wireless sensor networks andapplications (WSNA’02), pages 1–11, Atlanta, Georgia, USA, 2002.

488