[IEEE 2011 IEEE 17th International Conference on Parallel and Distributed Systems (ICPADS) - Tainan,...
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