reliable, low-delay communication in wireless sensor networks

76
Degree project in Reliable, Low-delay Communication in Wireless Sensor Networks MAHESH BOGADI SHANKAR PRASAD Stockholm, Sweden, Nov 2011 XR-EE-RT 2011:023 Automatic Control Master's thesis

Upload: others

Post on 03-Feb-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Degree project in

Reliable, Low-delay Communication in Wireless Sensor Networks

MAHESH BOGADI SHANKAR PRASAD

Stockholm, Sweden, Nov 2011

XR-EE-RT 2011:023

Automatic ControlMaster's thesis

Abstract

Wireless sensor networks consist of tiny computers embedded into an envi-

ronment which can monitor almost anything - such as light, motion, proximity,

temperature, biometrics and chemical substances. Actuators conjoined to sensor

networks can be used not only to sense the environment, but also to interact with

it. Such a design is used to develop automatic control systems, ex. a production

line in a factory. These systems are delay critical and demand high reliability.

Hence wireless sensor networks incorporated into such systems must provide

su�cient reliability as well as low delay communication. However, wireless sen-

sors possess power-constrained radios. Furthermore, wireless communication is

expensive in terms of power consumption. Wireless link conditions are often

harsh, unpredictable and vary considerably in both space, and time. Wireless

sensor networks are formed by multi-hop wireless meshes. Consequently, the

communication in wireless sensor networks lacks the required reliability, and

often exhibits long communication delays.

This Master's thesis investigates about the development of a reliable, and

low end-to-end delay data collection scheme for wireless sensor networks. The

approach is to decrease the number of retransmissions for a packet at the data

link layer in order to decrease the end-to-end delay. However, a decrease in the

number of retransmissions for a packet leads to lower reliability. In order to

compensate for the reliability su�ered, an erasure coding scheme, and a multi-

path routing paradigm are investigated. Accordingly, the thesis focuses on an

implementation, and evaluation of an e�cient combination of fountain coding,

braided multi-path routing, and proportionally fair packet scheduling.

The thesis concludes that fountain coding in combination with braided multi-

path routing and proportionally fair packet scheduling is an e�cient solution

for a wireless sensor network with high loss rates.

Contents

1 Introduction 5

1.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.2 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4 Scienti�c Contributions . . . . . . . . . . . . . . . . . . . . . . . 7

1.5 Report Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Background 8

2.1 Wireless Sensor Network (WSN) . . . . . . . . . . . . . . . . . . 8

2.2 Network stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3 Data-link layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4 Network layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4.1 Routing in WSN . . . . . . . . . . . . . . . . . . . . . . . 11

2.4.2 Multi-path routing . . . . . . . . . . . . . . . . . . . . . 12

2.4.3 Proportionally fair packet scheduling . . . . . . . . . . . . 15

2.5 Transport layer . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.5.1 Fountain codes . . . . . . . . . . . . . . . . . . . . . . . . 17

2.6 Contiki operating system . . . . . . . . . . . . . . . . . . . . . . 18

2.6.1 Rime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.6.2 Contiki collect . . . . . . . . . . . . . . . . . . . . . . . . 19

2.6.3 Neighbor discovery . . . . . . . . . . . . . . . . . . . . . . 19

2.6.4 Contiki MAC . . . . . . . . . . . . . . . . . . . . . . . . . 19

3 Design and

Implementation 20

3.1 System design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2 Contiki collect . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.3 Fountain coding . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.3.1 Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.3.2 Decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.3.3 Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4 Braided multi-path

routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.5 Proportionally fair

packet scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.6 Design choices

and alternatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 Evaluation 30

4.1 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.2 Network topology . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.3 Reliability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.4 Retransmissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.5 End-to-end delay . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.6 Power consumption . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5 Conclusions and future work 36

Bibliography 37

6 Appendix 40

6.1 Reliability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

6.1.1 Summary graph about reliability . . . . . . . . . . . . . . 45

6.2 Retransmissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6.2.1 Summary graph about retransmissions . . . . . . . . . . 50

6.3 End-to-end delay . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

6.3.1 End-to-end delay distribution . . . . . . . . . . . . . . . 58

6.3.2 Minimum and maximum end-to-end delay . . . . . . . . . 63

6.3.3 Summary graph about end-to-end delay . . . . . . . . . . 68

6.4 Power consumption . . . . . . . . . . . . . . . . . . . . . . . . . . 68

List of Tables

4.1 Experiments for the evaluation . . . . . . . . . . . . . . . . . . . 30

4

List of Figures

2.1 Network stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Collection Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.3 Braided multi-path routing . . . . . . . . . . . . . . . . . . . . . 15

2.4 Proportionally fair packet scheduling . . . . . . . . . . . . . . . . 16

2.5 Neighbor discovery . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.1 System design of the nodes . . . . . . . . . . . . . . . . . . . . . 21

3.2 System design of the sink . . . . . . . . . . . . . . . . . . . . . . 22

3.3 Contiki Collect . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4 Overview of fountain coding . . . . . . . . . . . . . . . . . . . . . 24

3.5 Encoding and decoding of fountain coding . . . . . . . . . . . . . 25

3.6 The series of packets . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.7 Fountain coding for two packets . . . . . . . . . . . . . . . . . . . 27

3.8 Braided multi-path routing . . . . . . . . . . . . . . . . . . . . . 28

3.9 Proportionally fair packet scheduling . . . . . . . . . . . . . . . . 29

4.1 Network topology . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.2 Reliability at di�erent transmission and reception success rates . 32

4.3 Maximum retransmissions at di�erent transmission and reception

success rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.4 Average end-to-end delay at di�erent transmission and reception

success rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.5 Power consumption at 60% transmission and reception success rate 35

6.1 Reliability per node 60% transmission and reception success rate 40

6.2 Reliability per node 65% transmission and reception success rate 41

6.3 Reliability per node 70% transmission and reception success rate 41

6.4 Reliability per node 75% transmission and reception success rate 42

6.5 Reliability per node 80% transmission and reception success rate 42

6.6 Reliability per node 85% transmission and reception success rate 43

6.7 Reliability per node 90% transmission and reception success rate 43

5

6.8 Reliability per node 95% transmission and reception success rate 44

6.9 Reliability at di�erent transmission and reception success rates . 45

6.10 Retransmissions 60% transmission and reception success rate . . 46

6.11 Retransmissions 65% transmission and reception success rate . . 46

6.12 Retransmissions 70% transmission and reception success rate . . 47

6.13 Retransmissions 75% transmission and reception success rate . . 47

6.14 Retransmissions 80% transmission and reception success rate . . 48

6.15 Retransmissions 85% transmission and reception success rate . . 48

6.16 Retransmissions 95% transmission and reception success rate . . 49

6.17 Retransmissions 95% transmission and reception success rate . . 49

6.18 Maximum retransmissions at di�erent transmission and reception

success rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

6.19 Average end-to-end delay per node at 60% transmission and re-

ception success rate . . . . . . . . . . . . . . . . . . . . . . . . . . 51

6.20 Average end-to-end delay per node at 65% transmission and re-

ception success rate . . . . . . . . . . . . . . . . . . . . . . . . . . 52

6.21 Average end-to-end delay per node at 70% transmission and re-

ception success rate . . . . . . . . . . . . . . . . . . . . . . . . . . 53

6.22 Average end-to-end delay per node at 75% transmission and re-

ception success rate . . . . . . . . . . . . . . . . . . . . . . . . . . 54

6.23 Average end-to-end delay per node at 80% transmission and re-

ception success rate . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6.24 Average end-to-end delay per node at 85% transmission and re-

ception success rate . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6.25 Average end-to-end delay per node at 90% transmission and re-

ception success rate . . . . . . . . . . . . . . . . . . . . . . . . . . 57

6.26 Average end-to-end delay per node at 95% transmission and re-

ception success rate . . . . . . . . . . . . . . . . . . . . . . . . . . 58

6.27 Delay distribution 60% transmission and reception success rate . 59

6.28 Delay distribution 65% transmission and reception success rate . 59

6.29 Delay distribution 70% transmission and reception success rate . 60

6.30 Delay distribution 75% transmission and reception success rate . 60

6.31 Delay distribution 80% transmission and reception success rate . 61

6.32 Delay distribution 85% transmission and reception success rate . 61

6.33 Delay distribution 90% transmission and reception success rate . 62

6.34 Delay distribution 95% transmission and reception success rate . 62

6.35 Delay range at 60% transmission and reception success rate . . . 63

6.36 Delay range at 65% transmission and reception success rate . . . 64

6.37 Delay range at 70% transmission and reception success rate . . . 64

6.38 Delay range at 75% transmission and reception success rate . . . 65

6.39 Delay range at 80% transmission and reception success rate . . . 65

6.40 Delay range at 85% transmission and reception success rate . . . 66

6.41 Delay range at 90% transmission and reception success rate . . . 66

6.42 Delay range at 95% transmission and reception success rate . . . 67

6.43 Average end-to-end delay at di�erent transmission and reception

success rates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

6.44 Power consumption at 60% transmission and reception success rate 69

6.45 Power consumption at 65% transmission and reception success rate 69

6.46 Power consumption at 70% transmission and reception success rate 70

6.47 Power consumption at 75% transmission and reception success rate 70

6.48 Power consumption at 80% transmission and reception success rate 71

6.49 Power consumption at 85% transmission and reception success rate 71

6.50 Power consumption at 90% transmission and reception success rate 72

6.51 Power consumption at 95% transmission and reception success rate 72

Chapter 1

Introduction

Wireless Sensor Networks (WSN) consist of tiny computers embedded into the

environment that can monitor almost anything - such as light, motion, proxim-

ity, temperature, biometrics and chemical substances. It has become a vision to

deploy sensor networks not only to sense the environment, but also to interact

with it, by means of networked actuators conjoined to the networked sensors.

Many such WSNs require de�nite reliability, and delay guarantees.

In order to provide high reliability and low delay, this thesis mainly explores

incorporation of fountain codes and multi-path routing into WSNs. Fountain

coding is a type of network coding. It is used to transfer broadcast or multi-cast

data reliably[1]. Multi-path routing brings path-redundancy into the network

and increases reliability in WSNs. Some of the multi-path routings are proven

to be energy e�cient, adaptive to topology changes, and disseminates the net-

work load well [2].

Fountain coding is an an e�cient erasure coding scheme[3], in which the

transmitter disperses coded fragments towards the receiver [1]. Once the re-

ceiver has received any N fragments in any order, where N is greater than the

original number of data fragments, the whole data can be recovered. Incorpo-

ration of this coding scheme increases reliability by sending redundant encoded

packets. The computational costs of the fountain codes are small, scaling lin-

early with the number of data fragments [1].

Multi-path routing constructs multiple paths for the transmission of sensor

information in order to increase redundancy. Thus, it increases the probabil-

ity of successful packet delivery to the sink [2]. In large sensor networks, it

also mitigates network congestion. Thus it may reduce the end-to-end delay

5

1.1. PROBLEM STATEMENT CHAPTER 1. INTRODUCTION

[2]. It conserves energy, and enables spectrum reuse[2]. In braided multi-path

routing, there is a primary path that is mainly used for routing, and several

alternate braided paths are maintained [2]. Braided paths may share nodes. In

other words, node disjointedness (no node is present in multiple paths) is not a

requirement. Braided multi-path routing is an e�cient localized enforcement-

based scheme for collection tree [2]. Proportionally fair scheduling improves the

multi-path routing [4]. It dynamically determines the number of packets to be

sent to the parent nodes (primary and secondary) of the multi-path, inversely

proportional to the routing metric of the parents. [4].

1.1 Problem Statement

A wireless sensor network comprises of wireless sensors as its nodes. The

wireless sensors possess power-constrained radios. They are networked by form-

ing multi-hop wireless meshes. Furthermore, wireless communication is expen-

sive in terms of power consumption. Also, wireless link conditions are often

harsh, unpredictable and vary considerably in both space, and time. Conse-

quently, the communication in wireless sensor networks lacks the required reli-

ability. In addition, it often exhibits long communication delays. This does not

be�t for applications such as a production line in a factory, which requires reli-

able, and e�cient control. Hence, there is a need for a solution which provides

low delay as well as high reliability.

1.2 Method

The method used in the thesis is that of experimentation [5]. I implemented

a fountain coding scheme and a braided multi-path with proportionally fair

packet scheduling combination as a proposed solution to enhance reliability and

reduce end-to-end delay. Then I ran the experiments (with and without the

solution) with di�erent packet transmission and reception success rates using

the Cooja network simulator[6]. I measured reliability (percentage of the total

packet loss), end-to-end delay (average time taken by a packet to reach the sink

from a source), maximum link-to-link retransmissions (average of maximum

data-link layer retransmissions su�ered by a packet whilst traveling from the

source to the sink) and power consumption of each node. Priorly, I had studied

wireless sensor network architecture[7], reprogramming wireless sensor networks

on Contiki platform, network coding, multi-path routing techniques and Cooja

6

1.3. LIMITATIONS CHAPTER 1. INTRODUCTION

simulator [6]. The results from the experiments are plotted as graphs using

gnuplot [8]and compared. This comparative analysis is used in the evaluation

of the results and is the basis for the conclusion of the thesis.

1.3 Limitations

Energy e�ciency is one of the prominent considerations in designing a WSN.

But, the thesis does not design the solution with respect to energy e�ciency.

However, the e�orts of the thesis to reduce number of retransmissions at the

link layer, and the usage of a braided multi-path routing have been proven to be

energy e�cient. The thesis does not explore the other considerations of WSNs,

such as mobility, multi-sink, etc.

1.4 Scienti�c Contributions

WSNs are formed by multi-hop wireless meshes. Consequently, the com-

munication in wireless sensor networks lacks the required reliability, and often

exhibits long communication delays. The thesis contributes mainly at providing

a WSN with de�nite delay and reliability guarantees. This is the �rst known

e�ort about evaluating fountain coding in WSN, with combination of braided

multi-path, and proportionally fair packet scheduling. The thesis shows promis-

ing results regarding reliability, and low-delay that can be achieved by using

fountain coding and multi-path routing in a WSN. In short, the scienti�c con-

tribution of the thesis is a solution towards building a robust WSN with respect

to reliability and low-delay.

1.5 Report Structure

The layout of the succeeding parts of this report is as follows. In the next

chapter, the background studies are summarized. The design, and implementa-

tion details are covered in the consecutive chapter, followed by the chapter on

evaluation of the results. The last chapter provides the conclusion of the thesis

study, and the future works that can be performed using it as a basis.

7

Chapter 2

Background

This chapter introduces the required background to the thesis. The thesis

requires background knowledge of WSN architecture, network stack for WSN,

collection tree paradigm, reliability factors in WSN, delay factors in WSN, net-

work coding, multi-path routing, packet scheduling, and the Contiki operating

system.

2.1 Wireless Sensor Network (WSN)

A WSN consists of tiny sensing computers called sensor nodes[7]. These sen-

sors communicate through radio communication (wireless) to form a network.

WSNs can monitor by sensing almost anything - such as light, motion, prox-

imity, temperature, biometrics and chemical substances. Actuators are devices,

such as valves or switches, that perform actions such as turning things on or o�

or making adjustments in an operational system. Actuators conjoined to sensor

networks can be used not only to sense the environment, but also to interact

with it. Such a design is used to develop automatic control systems, ex. a pro-

duction line in a factory [9]. These systems are delay critical and demand high

reliability. Hence wireless sensor networks incorporated into such systems must

provide su�cient reliability as well as low delay communication.

However, wireless sensors possess power-constrained radios. Furthermore,

wireless communication is expensive in terms of power consumption. Wireless

link conditions are often harsh, unpredictable and vary considerably in both

space and time. Wireless sensor networks are formed by multi-hop wireless

meshes. Consequently, the communication in wireless sensor networks lacks the

required reliability, and often exhibits long communication delays.

8

2.2. NETWORK STACK CHAPTER 2. BACKGROUND

2.2 Network stack

The unpredictable wireless link conditions and resource constrains cause adver-

sity in ensuring reliability in WSNs. The wireless communication between the

sensor nodes is often prone to errors which can degrade the overall quality of a

network. In addition, the multi-hop communication in WSNs ampli�es the unre-

liability of data transmissions to the sink. Ensuring the required low delay along

with su�cient reliability compounds the problem. Hence, an e�cient commu-

nication providing low delay and reliability in a WSN depends on the link-level

transmissions between sensor nodes [10], and the end-to-end transmissions from

sensors to the sink. The sensor to sensor or the node to node communication

is ensured and controlled at the data link layer of the network stack, where as,

end-to-end communication is facilitated by the network as well as the transport

layers [11]. Therefore, the thesis explores the data-link, network, and transport

layers of WSNs from the perspective of increasing reliability and lowering delay.

This section briefs the background about di�erent layers of the network stack

of a WSN.

Figure 2.1: Network stack

9

2.3. DATA-LINK LAYER CHAPTER 2. BACKGROUND

2.3 Data-link layer

The data-link layer is responsible for reliability of the packet transfer from one

sensor node to another in a multi-hop data-path from the source to the sink in a

WSN. Retransmissions between two nodes are used to achieve reliability at the

data-link layer. Traditionally, a sensor node in a WSN transmits a data frame

to the next neighbor node on the data path, and waits for an acknowledgment

for that frame. If the acknowledgement does not arrive within a give timeout

period, the node retransmits the frame. The node retries to send the frame to

the neighbor node until it receives an acknowledgement for the frame, or the

maximum number of allowed retries is reached. However, retransmissions have

drawbacks too. In some cases, they increase delay, cause congestion and clog

bu�ers of the network nodes. Hence, decreasing the number of retransmissions

mitigates delay, congestion and bu�er usage concerns. It also conserves energy.

The number of retransmissions allowed at the data-link layer may be con�gured

to a lower value, when other reliability measures such as redundant data trans-

mission, error correcting or/and data encoding techniques are incorporated into

the system.

2.4 Network layer

The network layer is responsible for determining routes from every sensor node

to the sink in a WSN for end-to-end delivery of sensor data. The routes tra-

versed by the packets from the sensors to the sink are computed, and established

by network layer routing algorithms. Routing in WSNs is very di�erent from

normal networks, because of the unique qualities and limitations of WSNs. The

unpredictable wireless link dynamics causes the topology of WSNs to change

continuously and erratically [11]. This necessitates that data �ow routes in a

WSN to be formed dynamically in order to provide reliable data delivery in

WSNs. Hence, reliability should also be guaranteed at this layer in terms of

dynamic route determination and management [11].

The routing scheme in a WSN plays a vital role regarding reliability, and

delay of the end-to-end data transmission. An e�cient routing in a network

leads to smart distribution of the tra�c across the network. However, several

e�cient routing paradigms such as OSPF, require each node to gather infor-

mation of the whole network topology, which can lead to high delay in network

topology convergence and signi�cant amount of routing data exchange. Such

a routing paradigm is not suited for a WSN. Therefore, a WSN necessitates

10

2.4. NETWORK LAYER CHAPTER 2. BACKGROUND

a routing method which can use localized information which avoids delay in

topology convergence and routing data exchange expenses[11].

Routing in a WSN involves two basic activities :

� Path determination - determining and designating routes from a source to

the sink.

� Packet switching - transporting packets through designated routes [11].

2.4.1 Routing in WSN

Routing protocols in a WSN use metrics to evaluate the best paths for a packet

to travel from a source to the sink. A routing metric is a standard of measure-

ment, such as path bandwidth, that is used by routing algorithms to determine

the best path to a destination. The metric value of a route indicates the proxim-

ity of the node to the sink or the total cost of all links in a path from the node to

the sink. Expected transmission count (ETX) metric is a metric for multi-hop

wireless networks [12]. Route selection using ETX accounts for link loss ratios,

the asymmetry of the loss ratios in the two directions of each link, and the reduc-

tion of throughput due to interference among the successive hops of a route [12].

A basic notion for path determination at a node is to �nd routes with lowest

metric values from the node to the sink. These routes or shortest paths de�ne

a connectivity graph (a tree) describing which nodes can communicate directly

over a single hop. However, generally, WSNs are data-gathering networks in-

volving a many-to-one communication model. Hence, in WSNs routes tra�c for

the data are not bidirectional, they are unidirectional towards the sink. Thus

the graph formed by the routes is a directed tree with the sink as its root. This

tree based routing is also known as collection tree.

WSNs are multi-hop wireless meshes. Wireless communication links found

in WSNs are prone to signi�cant loss rates, and the loss rate varies dynamically

with environmental factors. Routing protocols must take into account such un-

derlying factors. Hence it must encompass connectivity analysis, neighborhood

management with limited storage, and routing on dense WSNs with simple,

low-power radios.

11

2.4. NETWORK LAYER CHAPTER 2. BACKGROUND

Figure 2.2: Collection Tree

For these reasons, the design goals for a routing protocol in WSN include

selection of reliable and low-delay routes, simplicity, low operational overhead,

robustness and stability in the face of unusual and unforeseen circumstances,

rapid convergence or agreement on routes, and �exibility in quickly and accu-

rately adapting to a wide variety of network circumstances. In addition, WSNs

cannot a�ord to abstract all the details of lower-layer protocols and, thus, mo-

tivate cross-layer design and optimizations in routing. These factors motivate

di�erentiated approaches to routing in WSNs.

2.4.2 Multi-path routing

Reliability of a route in a WSN established by a routing protocol may decrease

because of the wireless link conditions, network congestion and energy deple-

tion at the sensor nodes. In such a scenario, an obvious approach to better the

reliability is through redundancy. Multiple copies of a packet is sent through

a single path, which increases the probability that the sink receives the packet.

However, such a single path approach does not address issues such as node fail-

ure, congestion, issues with topology changes and long delays. In certain cases,

a single path approach may worsen the network with several negative e�ects,

12

2.4. NETWORK LAYER CHAPTER 2. BACKGROUND

such as increase in congestion, heavy usage of certain paths and fast depletion

of energy of the nodes in those paths, and thus resulting in low reliability. In

order to address these negative e�ects, routing solutions based on a multi-path

approach are put forth for WSNs [11].

Multi-path routing determines and assigns multiple routes from a given sen-

sor node to the sink. The transmission of data among the multi-path brings

path redundancy and increased reliability by ampli�cation of the probability of

the sink successfully receiving the data through anyone of the multiple paths.

Multi-path routing decreases network congestion, provides proof against node

failures and helps to distribute and share network tra�c among multiple paths

which may avoid heavy usage of certain paths, hence nodes. Multi-path routing

is apt when redundant data transmission is used to increase reliability.

The two important metrics in evaluating the performance of a multi-path

routing scheme are resilience and maintenance overhead. There is an inherent

trade-o� between these two quantities. Becoming more resilient typically con-

sumes more energy, and incurs more maintenance overhead. Typically, multi-

path routing has been deployed for two reasons: load balancing and robustness.

Load-balancing is essential to conserve energy in sensor networks[2].

There are two types of paths generally constructed in multi-path routing:

� A primary path which is the most optimal path with least cost or metric

from a node to the sink.

� A set of alternate paths. An alternate path is a sub-optimal path with

cost or metric slightly higher than the primary path.

A desirable goal in multi-path routing is to deliver data along the primary (best

available) path. However, for a scalable recovery from failure of the primary

path as well as distributing the load, a small number of alternative paths are

constructed. Maintaining the alternate paths must incur low computational

overhead and memory. Also it is demonstrated that multi-path routing can be

used for energy e�cient recovery from failure in wireless sensor networks [2].

The multi-paths classi�ed generally into two types based on the exclusivity

of the nodes among the alternate paths :

� Disjointed multi-paths - These multi-path do not share any node among

di�erent paths. Thus the paths are disjointed by nodes of the network.

13

2.4. NETWORK LAYER CHAPTER 2. BACKGROUND

In this formation failure of one path does not a�ect the performance of

the other paths. However, it results in increase in the overall latency of

the alternate paths. Moreover, in order to establish disjointed paths, each

node of the network needs to be aware of the whole topology of network or

the information about the other paths, which brings the issues of routing

convergence and routing data exchange expenses. Therefore, disjointed

multi-paths are computational expensive to construct and maintain with-

out providing signi�cant bene�ts of reliability and delay [2].

� Braided multi-paths - In this case, paths may have overlapping portions

and hence can share nodes. As a result, all the paths are not indepen-

dent of each other which facilitates usage of mere localized information

to construct routing information base, which results in faster convergence

and lesser routing data exchange [2]. Generally the alternate paths over-

lap the portions of the primary path. Hence, it appears as if the alternate

paths are braided around the primary path. Thus, the latency incurred by

the alternate paths may be lower than the alternate paths constructed in

disjointed multi-paths. Disjoint multi-path and braided multi-path have

similar patterned failure resilience. However the braided multi-paths have

higher resilience to isolated failures and lesser overhead for maintenance

of alternate paths. Also braided multi-path is more energy e�cient [2].

14

2.4. NETWORK LAYER CHAPTER 2. BACKGROUND

Figure 2.3: Braided multi-path routing

2.4.3 Proportionally fair packet scheduling

This section investigates scheduling techniques appropriate for multi-path

routing. A compromise-based solution is required in order to maintain a balance

among con�icting, and competing interests. For example, in order to increase

reliability of end to end data transmission in a WSN, one may think about

sending certain packets on non-shortest paths. Similarly, in order to reduce

network congestion of routing paths, one may o�oad the data tra�c to other

high-cost paths. Proportionally fair packet scheduling is a compromise-based

algorithm. It tries to maximize total wireless network throughput at the cost of

scheduling packets onto sub-optimal paths. This is done by assigning each data

path a scheduling priority (depending on the implementation) that is inversely

15

2.5. TRANSPORT LAYER CHAPTER 2. BACKGROUND

Figure 2.4: Proportionally fair packet scheduling

proportional to its anticipated resource consumption [4].

Weighted fair queuing (WFQ) is used to achieve proportionally fair schedul-

ing. The scheduling weights for data paths i are set to wi = 1 / ci, where the

cost ci is the amount of consumed resources. In case of WSN, the cost ci can

be the routing metric of the path. In other words, lesser number of packets are

scheduled onto paths with higher routing metric [13].

2.5 Transport layer

The objective of transport layer protocols is to provide reliability and QoS

services for data transfer over inherently unreliable, and resource-constrained

WSNs. The following are the interrelated guarantees and services that may be

needed in WSNs at this layer [14]:

� Reliable delivery guarantee - It should ensure that the data arrive from

origin to destination without loss.

� Priority delivery - The data generated within the WSN may be of di�er-

ent priorities; e.g., the data corresponding to an unusual event detection

may have much higher priority than periodic background readings. If the

network is congested, it is important to ensure that at least the high pri-

ority data get through, even if the low-priority data have to be dropped

or suppressed.

16

2.5. TRANSPORT LAYER CHAPTER 2. BACKGROUND

� Delay guarantee - In time-critical applications, particularly those where

the sensor data are used to initiate some form of actuation or response,

the data packets generated by sensor sources may have strict requirements

for delivery to the destination within a speci�ed time.

� Energy-e�cient delivery - Energy wastage during times of network con-

gestion must be minimized, for instance by forcing any necessary packet

drops to occur as close to the source as possible.

� Fairness - Depending on the nature of the application, varying notions

of fairness may be relevant. These notions range from ensuring that all

nodes in the network provide equal amounts of data (e.g. in a simple data-

gathering application), to max�min fairness, to proportional fairness.

� Application-speci�c, data-centric quality of service - In general, given the

bandwidth/energy resource constraints, a data-centric QoS goal requires

that the network as a whole provides a picture of the sensed environment

as accurate as possible.

The thesis concentrates on providing certain reliable delivery guarantee, delay

guarantee, and fairness in a WSN. Therefore, it investigates on fountain coding,

and redundant packet transmission.

2.5.1 Fountain codes

Fountain codes are a type of network codes. Fountain codes are sparse-graph

erasure codes. Erasure code is a forward error correction code [3]. They are

suitable for communications with data loss and unreliable data channels, such

as a WSN. Typically in a WSN, the receiver (the sink) is not aware of the pres-

ence of the sender. Nor does it send any acknowledgment back to the sender

notifying that the data is being received fully as well as correctly. Traditional

approach to provide su�cient reliability from data loss in WSN is to simply

transmit each packet multiple times, anticipating that one of them will reach

the receiver. In contrast, fountain codes make encoded packets that are random

functions of a set of packets (data units). The transmitter sprays packets at the

receiver without concerning about which packets may be successfully received.

Once the receiver has received any N packets, where N is just slightly greater

than the original number of packets sent K, all the packets in the set can be

recovered. The encoded packets need not be received or sent in any order. The

computational costs of the best fountain codes are small and they scale linearly

17

2.6. CONTIKI OPERATING SYSTEM CHAPTER 2. BACKGROUND

with the number of packets in the set.

As D. J. C. MacKay describes in his paper [1]:-

The encoder of a fountain code is a metaphorical fountain that pro-

duces an endless supply of water drops (encoded packets); let us say

the original source �le has a size of Kl bits, and each drop contains

l encoded bits. Now, anyone who wishes to receive the encoded �le

holds a bucket under the fountain and collects drops until the num-

ber of drops in the bucket is a little larger than K. They can then

recover the original �le.

Fountain codes are rateless. In rateless codes, the number of encoded packets

that can be generated from the plain data is potentially in�nite. Hence, one

can increase or decrease the number of encoded packets sent, depending upon

the degree of reliability required and/or the degree of erasure. In other words,

if one can calculate how lossy the communication is, then the number of en-

coded packets to be generated and sprayed at the receiver can be determined.

If the link dynamics of the channel changes constantly and unpredictably, the

determination of the number of encoded packets to be sent can be performed

dynamically, and adaptively. This �exibility makes fountain codes an apt choice

for a WSN.

2.6 Contiki operating system

Contiki is an open source multi-tasking operating system[15]. It is designed

for memory-e�cient networked embedded systems and wireless sensor networks

[15]. Contiki has been used is a variety of projects, such as road tunnel �re mon-

itoring, intrusion detection, wildlife monitoring, and in surveillance networks

[15]. Contiki contains two communication stacks, namely uIP and Rime[15].

2.6.1 Rime

Rime is a lightweight communication stack designed for low-power radios [16].

Protocols or applications running on top of the Rime stack can implement ad-

ditional protocols that are not in the Rime stack.[17].

18

2.6. CONTIKI OPERATING SYSTEM CHAPTER 2. BACKGROUND

2.6.2 Contiki collect

Contiki collect is a collection tree protocol (CTP) [18]-like address-free data

collection protocol implemented in the Contiki operation system [15].

2.6.3 Neighbor discovery

I have used the neighbor discovery already present in the Contiki collect im-

plementation. It discovers the neighbors surrounding a node. The neighbor

discovery provides the address and the metric from the sink of a neighboring

node [15]. Beacon frames are used for neighbor discovery [19].

Figure 2.5: Neighbor discovery

2.6.4 Contiki MAC

Radio Duty Cycling (RDC) and Medium Access Control (MAC) protocols are

important parts of the Contiki network stack. They play vital role to determine

the power consumption of the nodes. They also determine the behavior of the

WSN nodes to handle network congestion [19]. .

19

Chapter 3

Design and

Implementation

This Master's thesis aims at development of a reliable, and low end-to-end delay

communication scheme for wireless sensor networks based on a collection tree.

The thesis explores options in transport, network and data-link layers of the

network stack. The approach is to decrease the number of retransmissions for a

packet at the data link layer in order to decrease the end-to-end delay. However,

a decrease in the number of retransmissions for a packet leads to lower reliability.

Hence the approach needs to compensate for the reliability su�ered. Accord-

ingly, the thesis focuses on an implementation, and evaluation of an e�cient

combination of fountain coding, braided multi-path routing, and proportionally

fair packet scheduling.

In this chapter, I describe the design and implementation of a fountain cod-

ing, braided multi-path routing, and proportionally fair packet scheduling.

3.1 System design

The Contiki operating system [15] is the implementation platform. I made

modi�cations, and additions into the Contiki collect code to achieve the solu-

tion proposed by the thesis. Diagrammatic representations of the system design

for a node and the sink of the WSN are provided subsequently.

Each node of the WSN is a data source. The data generated by the appli-

cation running on the node is encoded into packets using fountain coding. The

20

3.1. SYSTEM DESIGN

CHAPTER 3. DESIGN AND

IMPLEMENTATION

encoded packets are queued into the packet queue. The incoming packets from

the neighbors are also queued into the same packet queue. The queued pack-

ets are transmitted (sent out) to the neighboring nodes based on the braided

multi-path routing and the proportionally fair packet scheduling.

Multi-path routing and proportionally fair packet scheduling decisions are

made based on the routing table. The routing table is updated according to

the beacons received from the neighbors by the neighbor discovery module. A

beacon of a node comprises of the address of the node which is broadcasting it

and the metric value of the node to the sink. The neighbor discovery module

also broadcasts the beacons informing the neighbors of its own address and the

metric value to the sink. The routing tables on each node de�ne the multi-path

collection tree implemented in the thesis.

Figure 3.1: System design of the nodes

21

3.1. SYSTEM DESIGN

CHAPTER 3. DESIGN AND

IMPLEMENTATION

The following �gure explains the system design of the sink of the WSN. The

sink is the collector of the data from all the nodes in the WSN. The neighbor

discovery module of the sink behaves similar to any other node in the WSN.

All incoming encoded packets from di�erent nodes are decoded using fountain

coding at the sink.

Figure 3.2: System design of the sink

22

3.2. CONTIKI COLLECT

CHAPTER 3. DESIGN AND

IMPLEMENTATION

3.2 Contiki collect

Figure 3.3: Contiki Collect

The Contiki collect is a collection tree implementation on the Contiki platform[15].

It implements neighbor discovery as well as the collection tree building with the

sink as the root of the tree. The implementation by default assigns the address

01 to the sink. I have used the Contiki collect and incorporated multi-path

routing and proportionally fair packet scheduling into it.

23

3.3. FOUNTAIN CODING

CHAPTER 3. DESIGN AND

IMPLEMENTATION

3.3 Fountain coding

Figure 3.4: Overview of fountain coding

The above �gure provides an overview of the fountain coding implemented in

the thesis. Three packets in a series are used to generate a set of seven encoded

packets at each node of the WSN. The three packets involved are identi�ed by

the �ag-values 1(0001), 2(0010) and 4(0100) respectively. The three packets are

in a series and have consecutive sequence numbers. For example, if packet 1 has

sequence number 10, then packet 2 has sequence number 11 and packet 3 has

the sequence number 12. When a subset of encoded packets reaches the sink,

it is used to decode the plain packets. The below diagram explains both the

encoding and decoding.

24

3.3. FOUNTAIN CODING

CHAPTER 3. DESIGN AND

IMPLEMENTATION

Figure 3.5: Encoding and decoding of fountain coding

3.3.1 Encoding

The encoding operation is a simple XOR(⊕) of di�erent combination of the threepackets (P1, P2 and P3) to generate seven encoded packets. The resulting en-

coded packets are shown in the �gure below. The series involves the three plain

packets(P1, P2 and P3), three packets(P1⊕P2, P2⊕P3 and P1⊕P3) resultingfrom XOR of two packets, and a packet (P1⊕P2⊕P3) resulting from XOR of

all the three packets. In this case, fountain coding is applied on a set of three

packets.

25

3.3. FOUNTAIN CODING

CHAPTER 3. DESIGN AND

IMPLEMENTATION

Figure 3.6: The series of packets

3.3.2 Decoding

The decoding operation is similar to encoding. It also involves simple XOR of

the packets received as shown in the �gure above. Out of the seven encoded

packets sent, the sink can decode all the three plain packets if it receives at least

four of the encoded packets. Hence the WSN can su�er up-to 42.86% ( 3 x 100

÷ 7 ) of encoded packet loss.

3.3.3 Variation

I also tried with another variation of the fountain code. If we know that the

WSN su�ers lesser amount of packet loss, then we can apply fountain coding on

only a set of two consecutive packets. The two packets involved are identi�ed

by the �ag-values 1(001), and 2(010) respectively. This would result in a set of

three encoded packets, comprising of the two (P1 and P2) plain packets and a

packet (P1⊕P2) resulting from the XOR of the two plain packets. In this case

the sink can decode all the two plain packets, even if an encoded packet is lost.

Hence the WSN can su�er up-to 33.33% (1 x 100 ÷ 3) packet loss. The below

26

3.4. BRAIDED MULTI-PATH

ROUTING

CHAPTER 3. DESIGN AND

IMPLEMENTATION

�gure describes the variation.

Figure 3.7: Fountain coding for two packets

3.4 Braided multi-path

routing

This section details about the implementation of braided multi-path routing in

the thesis. The below �gure describes the braided multi-path routing. Each

node selects two types of routing parent nodes to forward or send the encoded

packets. A primary and a secondary parent are the two types of routing parent

nodes. The primary parent is the neighboring node with the lowest routing

metric value. The secondary parent is a neighboring node which has routing

metric value greater than the routing metric value of the primary parent and

lesser than the routing metric value of the forwarding node. The di�erence of

the routing metric values between the primary and the secondary parent is lim-

ited to lesser than or equal to eight. If a node could not �nd any secondary

node, then it would not run braided multi-path routing. Multi-path routing is

applied to a packet at each hop along its path from its source till the sink.

27

3.5. PROPORTIONALLY FAIR

PACKET SCHEDULING

CHAPTER 3. DESIGN AND

IMPLEMENTATION

Figure 3.8: Braided multi-path routing

3.5 Proportionally fair

packet scheduling

This section describes about the implementation of proportionally fair packet

scheduling in the thesis. The below �gure describes the scheduling. This

scheduling determines the number of packets to be sent to the primary and

the secondary parents. The number of packets send to these parent nodes is

proportional to the di�erence of their metric values. In this case for every two

packets sent to the primary parent, a packet is sent to the secondary parent.

Thus the primary parent receives twice the number of packets compared to the

secondary nodes.

28

3.6. DESIGN CHOICES

AND ALTERNATIVES

CHAPTER 3. DESIGN AND

IMPLEMENTATION

Figure 3.9: Proportionally fair packet scheduling

3.6 Design choices

and alternatives

There are two design alternatives to chosen from with respect to braided multi-

path routing implementation in the thesis. One alternative is to perform the

braided multi-path routing and proportionally fair packet scheduling only at the

source of a packet, and the other alternative is to perform the braided multi-path

routing and proportionally fair packet scheduling at each hop along the path

of a packet from its source till the sink. The latter alternative is chosen since

it provides lesser congestion, and more reliability, which is determined through

comparing the results by running both the alternatives.

The Contiki MAC is chosen because it is designed for low power consumption

[19].

29

Chapter 4

Evaluation

4.1 Experiments

This section evaluates the results of the experiments. The methodology of the

evaluation is to compare the results from experiments at di�erent transmission

and reception success rates. The experiments are as shown in the table below.

Number Fountain Braided Proportionally Color Typecoding multi-path fair packet of line of line

routing scheduling

1 No No No Green Dotted2 Yes Yes Yes Red Solid

Table 4.1: Experiments for the evaluation

Experiment 1 is the setup with neither fountain coding, nor redundancy, nor

braided multi-path routing. In experiment number 2, reliability of the network

is increased by sending three redundant packets using fountain coding. More-

over a braided multi-path routing is incorporated into this. All the experiment

runs are conducted using the Cooja simulator[6]. Rime stack and the contiki

MAC (CSMA) at channel check rate of 8 Hz is used [19].

The experiments are run at the transmission and reception success rates of

60%, 65%, 70%, 75%, 80%, 85%, 90% and 95%. The results are shown as graphs

and analyzed. The number of packets in the set of plain packets for fountain

coding in all the cases of transmission and reception success rates is three.

30

4.2. NETWORK TOPOLOGY CHAPTER 4. EVALUATION

In this section, I only summarizes the results and provide high level graphs.

Further, at the end of the report, I present more detailed graphs in appendix 5.

4.2 Network topology

Figure 4.1: Network topology

The network topology used for the evaluation is a mesh grid of twenty nodes.

Node 1 is the sink node of the WSN.

4.3 Reliability

The summary graph shows how reliability increases in di�erent experiments at

di�erent transmission and reception success rates. The experiment 2 provided

100% reliability in all the test runs, whereas the experiment 1 su�ered a mini-

mum of 2% total packet loss. Hence I deduce that experiment 2 with fountain

coding and braided multi-path has enhanced the reliability of the WSN.

31

4.4. RETRANSMISSIONS CHAPTER 4. EVALUATION

0

1

2

3

4

5

6

60 65 70 75 80 85 90 95

Tot

al p

acke

t los

s pe

r no

de(%

)

Transmission and reception success rates(%)

Packet loss versus success rates

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 4.2: Reliability at di�erent transmission and reception success rates

4.4 Retransmissions

The summary graph shows how the number of retransmissions decreased in dif-

ferent experiments at di�erent transmission and reception success rates. The

experiment 2 experienced lower number of retransmissions in all the scenar-

ios except one, but still provided 100% reliability. Hence I infer that one can

decrease the maximum number of link-to-link retransmissions to be set when

measures like fountain coding (data redundancy) and braided multi-path rout-

ing (path redundancy) are incorporated into the WSN.

32

4.5. END-TO-END DELAY CHAPTER 4. EVALUATION

0

2

4

6

8

10

12

14

16

18

60 65 70 75 80 85 90 95

Ave

rage

of m

axim

um n

umbe

r of

link

-to-

link

retr

ansm

issi

ons

Transmission and reception success rates(%)

Retransmissions versus success rates

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 4.3: Maximum retransmissions at di�erent transmission and receptionsuccess rates

4.5 End-to-end delay

The summary graph shows how the end-to-end delay decreased in di�erent ex-

periments at di�erent transmission and reception success rates. I have also

provided graphs showing delay distribution and delay range (maximum and

minimum delay) for each transmission and reception rates in the appendix.

After analyzing all the graphs related to the end-to-end delay, I deduce that

experiment 2 did not su�er considerably high delay compared to experiment 1,

even though it has provided 100% reliability in all scenarios.

33

4.6. POWER CONSUMPTION CHAPTER 4. EVALUATION

0

2000

4000

6000

8000

10000

12000

14000

16000

60 65 70 75 80 85 90 95

Ave

rage

end

-to-

end

dela

y in

mill

isec

onds

Transmission and reception success rates(%)

End-to-end delay versus success rates

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 4.4: Average end-to-end delay at di�erent transmission and receptionsuccess rates

4.6 Power consumption

From the below graph and the graphs in the appendix related to the power

consumption, I infer that the power consumption in the experiment 2 is higher

than the experiment 1. As I expected, the power consumption is more in case

of the experiment 2. That is because of the redundant packet transmission. For

each data packet transmitted from a source in the experiment 1, three additional

redundant packets are transmitted from the source in the experiment 2, which

causes the observed higher power consumption.

34

4.7. SUMMARY CHAPTER 4. EVALUATION

0

0.2

0.4

0.6

0.8

1

1.2

1.4

5 10 15 20

Pow

er in

mW

Node number

Power consumption per node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 4.5: Power consumption at 60% transmission and reception success rate

4.7 Summary

I summarize the evaluation section, that the experiment 2 performed better

than the experiment 1 in all di�erent transmission and reception rates. It not

only provided higher reliability, but also reduced the number of retransmissions.

Also, it did not show considerably high end-to-end delay per packet than the

experiment 1.

35

Chapter 5

Conclusions and future work

The thesis concludes that fountain coding in combination with braided multi-

path routing, and proportionally fair packet scheduling is an e�cient solution

for a wireless sensor network with high loss rates. Hence the combination can be

used to develop a reliable, and low end-to-end delay data collection scheme for

wireless sensor networks. The thesis shows that end-to-end delay for a packet

can be decreased by decreasing the number of retransmissions su�ered at the

data link layer. However, a decrease in the number of retransmissions for a

packet leads to lower reliability. The thesis shows that a combination of an era-

sure coding scheme such as fountain coding, and a multi-path routing paradigm

can be used, in order to increase the reliability. Proportionally fair packet

scheduling facilitates an e�cient use of multi-path routing.

However, the solution is not appropriate for a wireless sensor network which

have considerably very low loss rates. It also consumes more energy than the

traditional approach.

Future works on the topic may involve:

1. Investigation on advanced fountain coding techniques, such as Raptor

codes.

2. Investigation on multi-path routing metrics.

3. Investigation on advanced packet scheduling algorithms.

4. Investigation on the dynamic determination of the degree of reliability of

fountain coding and multi-path routing.

36

Bibliography

[1] D.J.C. MacKay. Fountain codes. volume 152, pages 1062�1068. IEE Pro-

ceedings online no. 20050237, May 2005. [Online; accessed 03-September-

2011]. (document), 2.5.1

[2] Deepak Ganesan, Ramesh Govindan, Scott Shenker, and Deborah Estrin.

Highly-resilient, energy-e�cient multipath routing in wireless sensor net-

works. Mobile Computing and Communications Review, Volume 1, Number

2, October 2001. [Online; accessed 03-September-2011]. (document), 2.4.2

[3] Alexandros G. Dimakis, P. Brighten Godfrey, YunnanWu, Martin O. Wain-

wright, and Kannan Ramchandran. Network coding for distributed storage

systems. March 2008. [Online; accessed 28-October-2011]. (document),

2.5.1

[4] Harold J.Kushner and Philip A.Whiting. Convergence of proportional-

fair sharing algorithms under general conditions. IEEE Communications

Society and IEEE Signal Processing Society, July 2004. [Online; accessed

03-September-2011]. (document), 2.4.3

[5] R. A. Bailey. Design of Comparative Experiements. Cambridge University

Press, April 2008. [Online; accessed 28-October-2011]. (document)

[6] Fredrik Österlind, Adam Dunkels, Joakim Eriksson, Niclas Finne, and

Thiemo Voigt. Cross-level sensor network simulation with cooja. In Pro-

ceedings of the First IEEE International Workshop on Practical Issues in

Building Sensor Network Applications (SenseApp 2006), Tampa, Florida,

USA, November 2006. (document), 4.1

[7] Adam Dunkels, Thiemo Voigt, and Juan Alonso. Connecting wireless sensor

networks with the internet. ERCIM News, April 2004. (document), 2.1

[8] Gnuplot homepage. http://www.gnuplot.info/. [Online; accessed 28-

October-2011]. (document)

37

BIBLIOGRAPHY BIBLIOGRAPHY

[9] F.L. Lewis, D.J.Cook, S.K.Das, and John Wile. Smart Environments:

Technologies, Protocols, and Applications, chapter 'Wireless Sensor Net-

works'. Wiley Series on Parallel and Distributed Computing, January 2005.

[Online; accessed 03-September-2011]. 2.1

[10] Jose Araujo, Euhanna Ghadimi, and O. Landsiedel. Random-access

medium access control in wireless sensor networks: What's the best choice?

In ADHOC 11: Proceedings of the 10th Scandinavian Workshop on Wire-

less Ad-hocNetworks, 2011. 2.2

[11] Nirupama Bulusu and Sanjay Jha. Wireless Sensor Networks: A Systems

Perspective. Artech House, Inc., 2005. [Online; accessed 03-September-

2011]. 2.2, 2.4, 2.4.2

[12] Douglas S.J.De Couto, Daniel Aguayo, John Bicket, and Robert Morris. A

high-throughput path metric for multi-hop wireless routing. Proceedings of

the 9th ACM International Conference on Mobile Computing and Network-

ing (MobiCom '03), September 2003. [Online; accessed 03-September-2011].

2.4.1

[13] Lijun Qian, Ning Song, Dhadesugoor R.Vaman, Xiangfang Li, and Zo-

ran Gajic. Power control and proportional fair scheduling with minimum

rate constraints in clustered multihop td/cdma wireless ad hoc networks.

proceedings of IEEE Wireless Communication and Networking Conference

(WCNC), April 2006. [Online; accessed 03-September-2011]. 2.4.3

[14] Bhaskar Krishnamachari. Networking Wireless Sensors, chapter 'Transport

Reliability and Congestion Control Networking Wireless Sensor'. Cam-

bridge University Press, January 2006. 2.5

[15] Adam Dunkels, Björn Grönvall, and Thiemo Voigt. Contiki - a lightweight

and �exible operating system for tiny networked sensors. In Proceedings

of the First IEEE Workshop on Embedded Networked Sensors (Emnets-I),

Tampa, Florida, USA, November 2004. 2.6, 2.6.2, 2.6.3, 3.1, 3.2

[16] Adam Dunkels. Rime - a lightweight layered communication stack for sensor

networks. In Proceedings of the European Conference on Wireless Sensor

Networks (EWSN), Poster/Demo session, Delft, The Netherlands, January

2007. 2.6.1

[17] Adam Dunkels, Fredrik Österlind, and Zhitao He. An adaptive communi-

cation architecture for wireless sensor networks. In Proceedings of the Fifth

ACM Conference on Networked Embedded Sensor Systems (SenSys 2007),

Sydney, Australia, November 2007. 2.6.1

38

BIBLIOGRAPHY BIBLIOGRAPHY

[18] Omprakash Gnawali, Rodrigo Fonseca, Kyle Jamieson, David Moss, and

Philip Levis. Collection Tree Protocol. [Online; accessed 03-September-

2011]. 2.6.2

[19] Adam Dunkels, Luca Mottola, Nicolas Tsiftes, Fredrik Österlind, Joakim

Eriksson, and Niclas Finne. The Announcement Layer: Beacon Coordina-

tion for the Sensornet Stack. In Proceedings of EWSN 2011, Bonn, Ger-

many, February 2011. 2.6.3, 2.6.4, 3.6, 4.1

39

Chapter 6

Appendix

6.1 Reliability

This section provides the comparison of the reliability among the experiments

at di�erent transmission and reception success rate.

0

5

10

15

20

25

5 10 15 20

Tot

al p

acke

t los

s pe

r no

de %

Node number

Reliability versus node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.1: Reliability per node 60% transmission and reception success rate

40

6.1. RELIABILITY CHAPTER 6. APPENDIX

0

5

10

15

20

25

30

5 10 15 20

Tot

al p

acke

t los

s pe

r no

de %

Node number

Reliability versus node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.2: Reliability per node 65% transmission and reception success rate

0

2

4

6

8

10

12

14

16

18

20

5 10 15 20

Tot

al p

acke

t los

s pe

r no

de %

Node number

Reliability versus node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.3: Reliability per node 70% transmission and reception success rate

41

6.1. RELIABILITY CHAPTER 6. APPENDIX

0

2

4

6

8

10

5 10 15 20

Tot

al p

acke

t los

s pe

r no

de %

Node number

Reliability versus node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.4: Reliability per node 75% transmission and reception success rate

0

2

4

6

8

10

12

14

16

18

20

5 10 15 20

Tot

al p

acke

t los

s pe

r no

de %

Node number

Reliability versus node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.5: Reliability per node 80% transmission and reception success rate

42

6.1. RELIABILITY CHAPTER 6. APPENDIX

0

5

10

15

20

25

5 10 15 20

Tot

al p

acke

t los

s pe

r no

de %

Node number

Reliability versus node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.6: Reliability per node 85% transmission and reception success rate

0

2

4

6

8

10

12

14

16

5 10 15 20

Tot

al p

acke

t los

s pe

r no

de %

Node number

Reliability versus node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.7: Reliability per node 90% transmission and reception success rate

43

6.1. RELIABILITY CHAPTER 6. APPENDIX

0

2

4

6

8

10

12

14

16

5 10 15 20

Tot

al p

acke

t los

s pe

r no

de %

Node number

Reliability versus node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.8: Reliability per node 95% transmission and reception success rate

44

6.2. RETRANSMISSIONS CHAPTER 6. APPENDIX

6.1.1 Summary graph about reliability

0

1

2

3

4

5

6

60 65 70 75 80 85 90 95

Tot

al p

acke

t los

s pe

r no

de(%

)

Transmission and reception success rates(%)

Packet loss versus success rates

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.9: Reliability at di�erent transmission and reception success rates

6.2 Retransmissions

This section provides the comparison of the retransmissions among the experi-

ments are di�erent transmission and reception success rate.

45

6.2. RETRANSMISSIONS CHAPTER 6. APPENDIX

0

2

4

6

8

10

12

14

16

18

5 10 15 20

Ave

rage

of m

axim

um li

nk-t

o-lin

k re

tran

smis

sion

s

Node number

Average of maximum link-to-link retransmissions versus node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.10: Retransmissions 60% transmission and reception success rate

0

2

4

6

8

10

12

5 10 15 20

Ave

rage

of m

axim

um li

nk-t

o-lin

k re

tran

smis

sion

s

Node number

Average of maximum link-to-link retransmissions versus node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.11: Retransmissions 65% transmission and reception success rate

46

6.2. RETRANSMISSIONS CHAPTER 6. APPENDIX

0

2

4

6

8

10

5 10 15 20

Ave

rage

of m

axim

um li

nk-t

o-lin

k re

tran

smis

sion

s

Node number

Average of maximum link-to-link retransmissions versus node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.12: Retransmissions 70% transmission and reception success rate

0

1

2

3

4

5

6

7

8

5 10 15 20

Ave

rage

of m

axim

um li

nk-t

o-lin

k re

tran

smis

sion

s

Node number

Average of maximum link-to-link retransmissions versus node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.13: Retransmissions 75% transmission and reception success rate

47

6.2. RETRANSMISSIONS CHAPTER 6. APPENDIX

0

1

2

3

4

5

6

7

8

5 10 15 20

Ave

rage

of m

axim

um li

nk-t

o-lin

k re

tran

smis

sion

s

Node number

Average of maximum link-to-link retransmissions versus node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.14: Retransmissions 80% transmission and reception success rate

0

2

4

6

8

10

5 10 15 20

Ave

rage

of m

axim

um li

nk-t

o-lin

k re

tran

smis

sion

s

Node number

Average of maximum link-to-link retransmissions versus node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.15: Retransmissions 85% transmission and reception success rate

48

6.2. RETRANSMISSIONS CHAPTER 6. APPENDIX

0

1

2

3

4

5

6

5 10 15 20

Ave

rage

of m

axim

um li

nk-t

o-lin

k re

tran

smis

sion

s

Node number

Average of maximum link-to-link retransmissions versus node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.16: Retransmissions 95% transmission and reception success rate

0

1

2

3

4

5

6

5 10 15 20

Ave

rage

of m

axim

um li

nk-t

o-lin

k re

tran

smis

sion

s

Node number

Average of maximum link-to-link retransmissions versus node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.17: Retransmissions 95% transmission and reception success rate

49

6.3. END-TO-END DELAY CHAPTER 6. APPENDIX

6.2.1 Summary graph about retransmissions

0

2

4

6

8

10

12

14

16

18

60 65 70 75 80 85 90 95

Ave

rage

of m

axim

um n

umbe

r of

link

-to-

link

retr

ansm

issi

ons

Transmission and reception success rates(%)

Retransmissions versus success rates

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.18: Maximum retransmissions at di�erent transmission and receptionsuccess rates

6.3 End-to-end delay

This section provides the comparison of the average end-to-end delays among

the experiments are di�erent transmission and reception success rate.

50

6.3. END-TO-END DELAY CHAPTER 6. APPENDIX

0

5000

10000

15000

20000

25000

30000

5 10 15 20

Ave

rage

end

-to-

end

dela

y in

mill

isec

onds

Node number

Average end-to-end delay per node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.19: Average end-to-end delay per node at 60% transmission and recep-tion success rate

51

6.3. END-TO-END DELAY CHAPTER 6. APPENDIX

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

5 10 15 20

Ave

rage

end

-to-

end

dela

y in

mill

isec

onds

Node number

Average end-to-end delay per node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.20: Average end-to-end delay per node at 65% transmission and recep-tion success rate

52

6.3. END-TO-END DELAY CHAPTER 6. APPENDIX

0

2000

4000

6000

8000

10000

12000

14000

16000

5 10 15 20

Ave

rage

end

-to-

end

dela

y in

mill

isec

onds

Node number

Average end-to-end delay per node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.21: Average end-to-end delay per node at 70% transmission and recep-tion success rate

53

6.3. END-TO-END DELAY CHAPTER 6. APPENDIX

0

2000

4000

6000

8000

10000

12000

5 10 15 20

Ave

rage

end

-to-

end

dela

y in

mill

isec

onds

Node number

Average end-to-end delay per node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.22: Average end-to-end delay per node at 75% transmission and recep-tion success rate

54

6.3. END-TO-END DELAY CHAPTER 6. APPENDIX

0

1000

2000

3000

4000

5000

6000

7000

8000

5 10 15 20

Ave

rage

end

-to-

end

dela

y in

mill

isec

onds

Node number

Average end-to-end delay per node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.23: Average end-to-end delay per node at 80% transmission and recep-tion success rate

55

6.3. END-TO-END DELAY CHAPTER 6. APPENDIX

0

1000

2000

3000

4000

5000

6000

7000

8000

5 10 15 20

Ave

rage

end

-to-

end

dela

y in

mill

isec

onds

Node number

Average end-to-end delay per node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.24: Average end-to-end delay per node at 85% transmission and recep-tion success rate

56

6.3. END-TO-END DELAY CHAPTER 6. APPENDIX

0

500

1000

1500

2000

2500

3000

3500

4000

4500

5000

5 10 15 20

Ave

rage

end

-to-

end

dela

y in

mill

isec

onds

Node number

Average end-to-end delay per node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.25: Average end-to-end delay per node at 90% transmission and recep-tion success rate

57

6.3. END-TO-END DELAY CHAPTER 6. APPENDIX

0

500

1000

1500

2000

2500

3000

3500

4000

5 10 15 20

Ave

rage

end

-to-

end

dela

y in

mill

isec

onds

Node number

Average end-to-end delay per node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.26: Average end-to-end delay per node at 95% transmission and recep-tion success rate

6.3.1 End-to-end delay distribution

This section provides the comparison of the end-to-end delay distributions among

the experiments are di�erent transmission and reception success rate.

58

6.3. END-TO-END DELAY CHAPTER 6. APPENDIX

0

5

10

15

20

25

30

35

0 10000 20000 30000 40000 50000 60000 70000

Per

cent

age

of p

acke

ts(%

)

End-to-end delay in milliseconds

End-to-end delay distribution of packets

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.27: Delay distribution 60% transmission and reception success rate

0

5

10

15

20

25

30

35

40

45

50

0 10000 20000 30000 40000 50000 60000

Per

cent

age

of p

acke

ts(%

)

End-to-end delay in milliseconds

End-to-end delay distribution of packets

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.28: Delay distribution 65% transmission and reception success rate

59

6.3. END-TO-END DELAY CHAPTER 6. APPENDIX

0

5

10

15

20

25

30

35

40

45

0 5000 10000 15000 20000 25000 30000 35000 40000 45000 50000

Per

cent

age

of p

acke

ts(%

)

End-to-end delay in milliseconds

End-to-end delay distribution of packets

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.29: Delay distribution 70% transmission and reception success rate

0

5

10

15

20

25

30

35

40

45

0 5000 10000 15000 20000 25000 30000 35000

Per

cent

age

of p

acke

ts(%

)

End-to-end delay in milliseconds

End-to-end delay distribution of packets

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.30: Delay distribution 75% transmission and reception success rate

60

6.3. END-TO-END DELAY CHAPTER 6. APPENDIX

0

10

20

30

40

50

60

0 5000 10000 15000 20000 25000 30000

Per

cent

age

of p

acke

ts(%

)

End-to-end delay in milliseconds

End-to-end delay distribution of packets

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.31: Delay distribution 80% transmission and reception success rate

0

10

20

30

40

50

60

0 5000 10000 15000 20000 25000 30000

Per

cent

age

of p

acke

ts(%

)

End-to-end delay in milliseconds

End-to-end delay distribution of packets

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.32: Delay distribution 85% transmission and reception success rate

61

6.3. END-TO-END DELAY CHAPTER 6. APPENDIX

0

10

20

30

40

50

60

70

80

90

0 5000 10000 15000 20000 25000

Per

cent

age

of p

acke

ts(%

)

End-to-end delay in milliseconds

End-to-end delay distribution of packets

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.33: Delay distribution 90% transmission and reception success rate

0

10

20

30

40

50

60

70

80

90

100

0 2000 4000 6000 8000 10000 12000 14000 16000 18000 20000

Per

cent

age

of p

acke

ts(%

)

End-to-end delay in milliseconds

End-to-end delay distribution of packets

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.34: Delay distribution 95% transmission and reception success rate

62

6.3. END-TO-END DELAY CHAPTER 6. APPENDIX

6.3.2 Minimum and maximum end-to-end delay

This section provides the comparison of the minimum and maximum end-to-end

delay among the experiments are di�erent transmission and reception success

rate.

0

10000

20000

30000

40000

50000

60000

70000

5 10 15 20

End

-to-

end

dela

y in

mill

isec

onds

Node number

Delay range per node (Minimum and Maximum delay)

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.35: Delay range at 60% transmission and reception success rate

63

6.3. END-TO-END DELAY CHAPTER 6. APPENDIX

0

10000

20000

30000

40000

50000

60000

5 10 15 20

End

-to-

end

dela

y in

mill

isec

onds

Node number

Delay range per node (Minimum and Maximum delay)

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.36: Delay range at 65% transmission and reception success rate

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

5 10 15 20

End

-to-

end

dela

y in

mill

isec

onds

Node number

Delay range per node (Minimum and Maximum delay)

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.37: Delay range at 70% transmission and reception success rate

64

6.3. END-TO-END DELAY CHAPTER 6. APPENDIX

0

5000

10000

15000

20000

25000

30000

5 10 15 20

End

-to-

end

dela

y in

mill

isec

onds

Node number

Delay range per node (Minimum and Maximum delay)

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.38: Delay range at 75% transmission and reception success rate

0

5000

10000

15000

20000

25000

5 10 15 20

End

-to-

end

dela

y in

mill

isec

onds

Node number

Delay range per node (Minimum and Maximum delay)

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.39: Delay range at 80% transmission and reception success rate

65

6.3. END-TO-END DELAY CHAPTER 6. APPENDIX

0

5000

10000

15000

20000

25000

5 10 15 20

End

-to-

end

dela

y in

mill

isec

onds

Node number

Delay range per node (Minimum and Maximum delay)

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.40: Delay range at 85% transmission and reception success rate

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

5 10 15 20

End

-to-

end

dela

y in

mill

isec

onds

Node number

Delay range per node (Minimum and Maximum delay)

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.41: Delay range at 90% transmission and reception success rate

66

6.3. END-TO-END DELAY CHAPTER 6. APPENDIX

0

2000

4000

6000

8000

10000

12000

14000

16000

5 10 15 20

End

-to-

end

dela

y in

mill

isec

onds

Node number

Delay range per node (Minimum and Maximum delay)

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.42: Delay range at 95% transmission and reception success rate

67

6.4. POWER CONSUMPTION CHAPTER 6. APPENDIX

6.3.3 Summary graph about end-to-end delay

0

2000

4000

6000

8000

10000

12000

14000

16000

60 65 70 75 80 85 90 95

Ave

rage

end

-to-

end

dela

y in

mill

isec

onds

Transmission and reception success rates(%)

End-to-end delay versus success rates

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.43: Average end-to-end delay at di�erent transmission and receptionsuccess rates

6.4 Power consumption

This section provides the comparison of the power consumptions among the

experiments are di�erent transmission and reception success rate.

68

6.4. POWER CONSUMPTION CHAPTER 6. APPENDIX

0

0.2

0.4

0.6

0.8

1

1.2

1.4

5 10 15 20

Pow

er in

mW

Node number

Power consumption per node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.44: Power consumption at 60% transmission and reception success rate

0

0.2

0.4

0.6

0.8

1

1.2

1.4

5 10 15 20

Pow

er in

mW

Node number

Power consumption per node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.45: Power consumption at 65% transmission and reception success rate

69

6.4. POWER CONSUMPTION CHAPTER 6. APPENDIX

0

0.2

0.4

0.6

0.8

1

1.2

5 10 15 20

Pow

er in

mW

Node number

Power consumption per node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.46: Power consumption at 70% transmission and reception success rate

0

0.2

0.4

0.6

0.8

1

1.2

5 10 15 20

Pow

er in

mW

Node number

Power consumption per node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.47: Power consumption at 75% transmission and reception success rate

70

6.4. POWER CONSUMPTION CHAPTER 6. APPENDIX

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

5 10 15 20

Pow

er in

mW

Node number

Power consumption per node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.48: Power consumption at 80% transmission and reception success rate

0

0.2

0.4

0.6

0.8

1

1.2

5 10 15 20

Pow

er in

mW

Node number

Power consumption per node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.49: Power consumption at 85% transmission and reception success rate

71

6.4. POWER CONSUMPTION CHAPTER 6. APPENDIX

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

5 10 15 20

Pow

er in

mW

Node number

Power consumption per node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.50: Power consumption at 90% transmission and reception success rate

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

5 10 15 20

Pow

er in

mW

Node number

Power consumption per node

With fountain code and multi-path routingWithout fountain code and multi-path routing

Figure 6.51: Power consumption at 95% transmission and reception success rate

72