Sunteți pe pagina 1din 17

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/220201476

Fault-tolerant de-Bruijn graph based multipurpose architecture and routing


protocol for wireless sensor networks

Article  in  International Journal of Sensor Networks · August 2011


DOI: 10.1504/IJSNET.2011.042199 · Source: DBLP

CITATIONS READS

10 62

3 authors, including:

Jimson Mathew Dhiraj K. Pradhan


University of Bristol University of Bristol
205 PUBLICATIONS   839 CITATIONS    198 PUBLICATIONS   3,501 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Memory Chips View project

All content following this page was uploaded by Dhiraj K. Pradhan on 12 May 2016.

The user has requested enhancement of the downloaded file.


160 Int. J. Sensor Networks, Vol. 10, No. 3, 2011

Fault-tolerant de-Bruijn graph based multipurpose


architecture and routing protocol for wireless
sensor networks

Vishram Mishra*, Jimson Mathew and


Dhiraj K. Pradhan
Department of Computer Science,
University of Bristol,
Merchant Venturers Building,
Woodland Road, Bristol, BS8 1UB, UK
Email: vishrammishra@gmail.com
Email: jimson@compsci.bristol.ac.uk
Email: pradhan@cs.bris.ac.uk
*Corresponding author

Abstract: As dense Wireless Sensor Networks (WSNs) are increasingly vulnerable to fault,
network must continue processing data without affecting the faulty node. Fault aware routing is
an effective way to mitigate such a scenario. To this end, we present a de-Bruijn graph based
Multipurpose Architecture and Routing Protocol (MARP) which has all the properties of
an efficient WSN. The MARP supports multicast routing, broadcasting, fault detection and
efficient fault-tolerance. Its unique architecture makes it easily scalable and provides easy three-
dimensional to two-dimensional mapping. Furthermore, we show that, depending on the fault-
tolerance capability one wants, design requires higher redundancy. A small experiment of
de-Bruijn graph based routing protocol is also presented with mica2 motes to check its feasibility
in a real-life scenario.

Keywords: fault-tolerance; sensor network; multicast routing; broadcast routing; de-Bruijn


graph; routing protocol; scalable.

Reference to this paper should be made as follows: Mishra, V., Mathew, J. and Pradhan, D.K.
(2011) ‘Fault-tolerant de-Bruijn graph based multipurpose architecture and routing protocol for
wireless sensor networks’, Int. J. Sensor Networks, Vol. 10, No. 3, pp.160–175.

Biographical notes: Vishram Mishra received his BTech degree in Computer Science and
Engineering from Cochin University of Science and Technology in 2010. Currently he is a PhD
fellow at Emerging Research Labs, Nanyang Technological University, Singapore. His research
interest includes QoS provisioning, cognitive radio and wireless sensor networks.

Jimson Mathew received the PhD degree in Computer Science from University of Bristol. He has
held positions with NUS Singapore, Lucent Technologies Australia and Royal Institute of
Technology, Stockholm. Since 2005 he has been with University of Bristol, UK. His research
interest includes cognitive radio, wireless sensor networks, fault-tolerance and logic synthesis.

Dhiraj K. Pradhan currently holds a Chair in Computer Science at the University of Bristol, UK.
Previous to this, he had held the Endowed Chair Professorship in Computer Science at Texas
A&M University. His research interest includes wireless sensor networks, computer architecture,
logic synthesis and computer architecture.

1 Introduction messages originated from other nodes in the sensor network


(Kim et al., 2003; Virk et al., 2005). As the name implies,
Wireless sensor networks (WSNs) are a collection of wireless channels will be used by the sensor nodes in order
sensor nodes that are densely deployed in order to form a to communicate, bearing in mind that they have a limited
collaborative network, and can be considered as a special energy source battery power (Kim et al., 2003). Because
case of a broader type of wireless networks known as nodes in this type of networks are expected to operate in
ad-hoc wireless networks (Bae and Yoon, 2005). The role of environments such as non-intrusive and non-disruptive
sensor nodes is to collect useful information about the monitoring of microclimates in remote areas (Mainwaring
environment in which they are deployed and to route et al., 2002), monitoring landfills, inventory tracking and

Copyright © 2011 Inderscience Enterprises Ltd.


Fault-tolerant de-Bruijn graph based MARP for WSNs 161

control in warehouses and monitoring containers at ports, it The rest of this paper is organised as follows. Some of
will be difficult to replace the energy source when the the previous works are reviewed in Section 2. In Section 3,
energy depletes; hence they should be able to tolerate faults we present some of the basic definitions and notations. In
for longer network lifetime (Manjeshwar and Agrawal, Section 4, we present the de-Brujn graph based energy
2001). efficient routing scheme in multi-layered architecture.
As the energy depletes, sensor nodes will die and this Section 5 presents the experimental results and conclusions
may result in the network to be unconnected and unable to are drawn in Section 7.
accomplish its mission. In addition there is a tremendous
need for fault-tolerant WSNs that are capable of providing
maximum coverage for sensing while consuming minimum 2 Related work
power. Also, the correctness of the sensed data must be
taken into account, as a node might be faulty but has enough Energy management is very important for WSNs, because
energy to stay active which results in providing erroneous sensor nodes are driven by batteries and are severely energy
data. As wireless communication is considered to be the constrained. To make sensor networks energy efficient, many
major source that consumes a sensor nodes energy (Gedik techniques have been proposed such as those by Bhardwaj
et al., 2007), mobile sinks have been introduced in order to et al. (2001). In addition, many issues that differ from the
reduce the distance to which the sensor node needs to send well-studied centralised scenarios have been raised by the
data as a result reducing the amount of energy consumed to distributed collaborative sensing mentioned by Brooks et al.
accomplish such a task. In addition to communication, there (2002). The problem of finding an energy efficient way which
are other sources that consume energy such as processing, a sensor network can use in order to prolong the lifetime of
storage and sensing (Karl and Willig, 2005). Although the the sensor network in a fault-tolerant manner has been the
amount of the energy consumed by these three sources is subject of a lot of studies and research (Xu et al., 2001). A lot
small if compared to communication, finding a mechanism
of the previous researches have focused on grouping the
to reduce the amount of energy they consume will help in
sensor nodes into different clusters using different clustering
prolonging the network lifetime. Hsi-Lu and Chen-Lung
algorithms and different ways to choose cluster heads, while
(2007) proposed a fault-tolerant routing protocol, called
taking the energy efficiency into account. The research
Sensor On-demand Multi-path Distance Vector Reliable
(SOMDV-R) routing protocol, for WSNs to support reliable proposed by Manjeshwar and Agrawal (2001) is based on
data delivery. Instead of selecting a shortest path, SOMDV-R hierarchical clustering to group nodes. Moreover, it uses two
takes into account both reliability demand and link quality parameters (hard and soft thresholds) to control the energy
to determine the number of desired paths. Demand routing consumed in communication by each node.
protocol, Reliable Fault-Tolerant Multi-path (RFTM), to Heinzelman et al. (2000) proposed a Low-Energy
improve the reliability of data routing in WSNs is presented Adaptive Clustering Hierarchy (LEACH) protocol. As the
by Alwan and Agarwal (2010). name implies, this protocol uses a randomised rotation of the
cluster heads in order to distribute the energy consumption,
1.1 Contributions of this paper resulting from being a cluster head, between the sensor nodes
in the sensor network, because when a node becomes a
In this paper, we propose a de-Bruijn graph based cluster head it will consume much more energy than the other
Multipurpose Architecture and Routing Protocol (MARP) nodes (Heinzelman et al., 2000). Another research has taken
which has all the properties of an efficient WSN. It gains fault-tolerance into account, so that to achieve fault-tolerance
advantage over the previously developed architecture and the sensor network is partitioned into distinct clusters and the
routing protocols by providing all the features of a WSN node that has a high energy is selected to be the cluster head
such as multicast routing, broadcasting, fault detection and (Gupta and Younis, 2003). In addition, only the cluster
efficient fault-tolerance. Its unique architecture makes it
heads are allowed to communicate with the base station. To
easily scalable and provides easy three-dimensional mapping
achieve fault-tolerance, the cluster heads are capable of
to two-dimensional mapping. Thus, the architecture can be
communicating with each other and using a status update
used in any type of static environment. By static we mean that
messages, cluster heads can decide on whether a cluster head
the network is deployed statically with a known architecture
and the architecture does not change much with time. We is faulty or not, if they do not receive any status update
have proposed an energy efficient routing algorithm for the message form it for a period of time. Worth mentioning, the
multi-layered structure. The same algorithm can be used decision whether a cluster head is faulty or not is taken
in both three-dimensional and two-dimensional deployed through consensus between cluster heads. To achieve this,
network. Our simulation results show that the latency and every cluster head has to send a periodic status updates
energy consumption of the network are much less with via the inter-gateway communication, in which the network
respect to the other structures. A small experiment of de- consisting of cluster heads (gateways) only. To reach
Bruijn graph based routing protocol is also presented with consensus, every cluster head has to broadcast every periodic
mica2 motes to check its feasibility in a real-life scenario. status update message it receives to all the other cluster heads
162 V. Mishra, J. Mathew and D.K. Pradhan

in its range. As a result, all cluster heads will have the same source to destination node in the network. This graph also has
information regarding the status of the system. Therefore, if good properties such as small diameter and high connectivity.
none of the cluster heads received a status update from a The de-Bruijn graph denoted by DB(r, k) has N = rk
particular cluster head, it can be concluded that it has failed. nodes with diameter k and degree 2r. This corresponds to the
After that, the type of the fault will be identified by parsing state graph of a shift register of length k using r-ary digits. A
the status update messages to identify the sensor nodes that shift register changes a state by shifting in a digit in the state
are not able to communicate with the cluster head because of number in one side, and then shifting out one digit from the
range faults in the cluster head. Finally, recovery will take other side. If we represent a node by I = (ik−1ik−2, …, i1i0),
place reallocating the sensor nodes belonging to the faulty where i, j in {0, 1, … (r – 1)}, 0 ≤ j ≤ (k − 1), then its
cluster head to new clusters, if the original cluster head neighbours are represented by ik−2ik−3, …, i0p and pik−1ik−2,…, i1,
was considered to be in a complete failure state (Gupta and where p in {0, 1, … (r–1)}. The DB(2, k), which is called
Younis, 2003). binary de-Bruijn graph, can be obtained as follows. If we
represent a node I by a k-bit binary number, say, I = Ik−1 Ik−2,
…, I1I0, then its neighbours can be represented as Ik−2, …,
3 Preliminaries I1I00, Ik−2, …, I1I01, 0Ik−1Ik−2, …, I1 and 1Ik−1Ik−2, …, I1. Since a
binary de-Bruijn requires representation of the nodes with
values 0 and 1 only, it simplifies the network architecture and
The network topology has a great impact on the
routing algorithm. Our network architecture is therefore based
system performance and reliability. There are well-defined
on the binary de-Bruijn graph. Figure 1 shows the DB(2, 3)
relationships between the topology and the packet delay,
binary de-Bruijn graph.
the routing algorithms, fault-tolerance and fault-diagnosis in
a network. For example, the packet delay may be directly In this paper, we consider WSN as a multi-layer de-Bruijn
proportional to the inter-nodal distance; and the complexity of structure, in which each edge represents a communication
the routing algorithm may be determined by the regularity link of the network. A network topology should allow each
of the topology. The motivation behind this paper is to node to send packets to every other node. A routing algorithm
investigate new topology for reliable and energy efficient determines the path through which a packet is delivered to the
sensor network design. We need a topology in which the destination node. The distance between two nodes is the
routing protocol requires less routing information and thus shortest length between nodes. The diameter of the network is
conserves energy and resources. A way to reduce the routing the largest distance between any two nodes in the network.
information is to implement the network in the form of a The degree of a node is the number of communication links
well-connected graph, which has a well-known path from (edges) associated with that node. The degree of the network
source to destination. The binary de-Bruijn graph (Pradhan is the largest degree of any node in the given network.
and Reddy, 1982; Samatham and Pradhan, 1989) exhibits this Consider a single layer of the de-Bruijn graph as shown
property along with fault-tolerance and hence is considered in in Figure 1. Let the source node be S = sk−1sk–2, …, s1s0 and
this paper. The degree of a vertex is defined as the number of the destination node be D = dk−1dk−2, …, d1d0. A packet
edges incident on the vertex; while the degree of a graph is header is attached to each ongoing packet from the source.
defined as the maximum degree of any vertex in the graph. The packet header consists of graph counter ‘c’. The counter
The degree of this graph is bounded (i.e. the degree of the ‘c’ is used to record the number of packets hops from the
network does not change with an increase in the size of source node to the current node. This is used to generate the
network). Thus, it allows an easy calculation of the path from address of the next node.
Figure 1 DB(2, 3) simple binary de Bruijn graph (see online version for colours)
Fault-tolerant de-Bruijn graph based MARP for WSNs 163

From the property of de-Bruijn graph the two paths are 011 or 110 (in case of node 111). Similarly, it is also
defined as: possible that due to physical location set-up the node 001
PATH1: and 011 may be very far (same for nodes 100 and 110) and
therefore may not be able to communicate with each other.
( c = 0 ) sk −1 sk − 2 , … , s1 s0 (source address) Thus, if the data need to communicated from 001 to 011 it is
( c = 1) d0 sk −1 sk − 2 ,… , s1 routed via cluster head. Thus, this architecture has property
of having de-Bruijn graph and cluster head all together. This
( c = 2 ) d1 d 0 , sk −1 ,… , s2 whole architecture acts as one layer for our multi-layered
architecture. In the following we describe our multi-layered
( c = k ) d k −1d k − 2 ,… , d0 (destination address) architecture.

PATH2: 4.1 Multi-layered structure


( c = 0 ) sk −1 sk − 2 , … , s1 s0 (source address) Here, each layer is connected in parallel fashion. Figure 3
( c = 1) sk − 2 sk −3 ,… , s0 d k −1 shows the multi-layered architecture. Each node is
connected to other nodes just above and below to it (except
for top and bottommost layers, for which there is no layer
( c = k ) d k −1 d k − 2 ,… , d0 (destination address) above and below to it, respectively). The node above to a
given node is called as parent node while the node below to
a give node is called as child node. Similarly, cluster heads
4 Proposed architecture are also connected, i.e. each cluster head is connected
to cluster heads above and below to it. There is an extra
In this section, we present multi-layered architecture and
connection from each cluster head to the base station. Thus,
new routing schemes.
after collecting all the data from the nodes the cluster head
De-Bruijn graph with cluster head: Before we can discuss passes this information to the base station. The cluster head
the actual architecture we will describe the concept of above to a given cluster head is called as parent cluster head
cluster head in a de-Bruijn graph. Figure 2 shows a typical while the cluster head below to a give cluster head is called
binary de-Bruijn graph DB(2, k) having diameter (k) = 3 and as child cluster head. To check whether a given node is in
degree (2r) = 4, having total numbers of node, N = rk = 8. At vicinity of a node or not, the node periodically sends a
the centre there is an extra node called as cluster head. The ‘hello’ packet. The recipient node replies with ‘hello-reply’
function of the cluster head is to gather data from all other packet which tells that it is in neighbourhood. If a node
nodes and pass it to the base station. Depending upon the receives ‘hello-reply’ packet then it places the node-id
energy and physical location constraint, a cluster head may (address) of the sender in its table which maintains node
have coverage area of region 1, i.e. all the nodes within reachable information. If according to de-Bruijn graph a
region 1 can directly communicate to and from cluster head. node should be in neighbourhood, but is not (no ‘hello-
In Figure 2 it is clear that node 000 and node 111 are not reply’ packet received) then that node is considered as
connected to the cluster head. Thus, the data from these unreachable. This information is used for multicasting and
nodes are routed via 001 or 100 (in case of node 000) and broadcasting.

Figure 2 DB(2, 3) binary de-Bruijn graph based sensor network with cluster head (see online version for colours)
164 V. Mishra, J. Mathew and D.K. Pradhan

Figure 3 Multi-layered de-Bruijn graph based network structure (see online version for colours)

Addressing mechanism: Addressing in this multi-layered Routing packet header: For routing of packets within the
architecture plays a crucial role for routing the nodes, to and from base station, each packet is attached with a
packet efficiently. Here, we use two level addressing packet header. The format of the packet header is shown in
mechanisms. The first level tells the layer number of the Figure 4. The routing packet header consists of 3-bit flag,
designated node while the second level tells the particular previous address, 5-bit graph counter, 8-bit hop counter and
designated node within that layer. The second level is option field. It also has the two level addressing fields whose
further divided into two parts, one for addressing cluster size depends upon the size of the network. Here, we consider
head while other part for addressing rest of the nodes in that Level 1 and Level 2 addresses each of 8 bits. Thus, this network
layer. We will discuss these in details in packet header has the capacity of 28 – 1 = 255 layers, each having 2(8−1) =
format. 128 nodes. The different values of Flags are explained here.

Figure 4 Packet format (see online version for colours)


Fault-tolerant de-Bruijn graph based MARP for WSNs 165

• 000: Indicates that the packet is to be routed within the hop counter field, which is used to drop the packets if
same layer and has to use Path I if required. their values exceed a certain threshold. The hop counter is
initially set to 0 and is incremented by a value of 1 through
• 001: Indicates that the packet is to be routed within the
each hop.
same layer and has to use Path II if required.
Graph counter is the counter maintained within a
• 010: It means that the packet is to be routed from a particular layer so as to perform proper Path I and Path II
layer to a layer below to it. routing. This value is set to 0 when path changes from I to II
or vice versa. Also the value is set to 0 whenever the packet
• 011: It means that the packet is to be routed from a
performs inter-layer routing.
layer to a layer above it.
Option field is the field which exists only when flag
• 110: When this value is set, the cluster head understand value is set to 101. It contains the values node fault, head
that this is multicast packet and is needed to be sent to fault and base fault.
all the nodes in a particular layer. The Level 1 address
Intra-layer routing: The routing within the same layer is
tells the layer to which all nodes should receive that
simple. All the packets generated by a node are sent to the
packet.
cluster head which in turn route the packet to the destination
• 111: This is broadcast flag. If this value is set, it means node. If the cluster head is not reachable from a node, then
that the packet should be received by all the nodes in the packet is routed using the Path I or Path II to the
the whole network. destination node. If a node is not reachable from cluster
head, then the packet is sent to the neighbour of the
• 100: This flag is generated by base station for fault
destination node. Figure 5 shows the algorithm for the intra-
request. When this packet is received by nodes it means
layer routing.
that the node has to generate packets having flag = 101.
Inter-layer routing: When the source node lies above the
• 101: This flag is set by nodes when they receive packet
destination node, the flag is set to 010 and the packet is first
with flag = 100. When flag = 101, it means that the
routed to the cluster head of that layer. After this the cluster
packet will have three extra fields (option fields) called
head send this packet to the cluster head of the destination
as node fault, head fault and base fault. These fields
node layer. This is done by incrementing the Level 1
consist of the address of the nodes that are not reachable.
address field of the current node by a value 1, and sending
The values of Level 1 address are: the packet to the resultant two-level address. When the
00000000: Indicates that the packet is destined for base packet is in the layer containing the destination node, intra-
station. layer routing is performed. Similarly when the source node
lies below the destination node, the flag is set to 011 and a
00000001: Indicates that that the packet is destined for node
similar process is performed except that here Level 1
in Layer 1.
address of the current node is decremented by a value of 1.
When the cluster head is not reachable from the source
node, the packet is directly routed to the nodes above or
11111111: Indicates that the packet is destined for node in
below to it when the flag value is 011 and 010, respectively.
layer 255.
In worst case, if these nodes are also not reachable then the
Similarly the values of Level 2 address are: packet is routed to any neighbour node within the same
00000000: indicates the packet is destined for node ID layer. Now this node performs the whole processing again.
0000000 (7 bits) Figure 6 shows inter-layer routing performed when the
cluster head is not reachable by the source node.
Multicast addressing: If the flag value is set to 110, it means
01111111: It means that the packet is destined for node ID that the packet is meant for all the nodes in the layer having
1111111 (7 bits) same Level 1 address as that of the packet. Here, there is no
significance of level 2 address. When a cluster head receives
1xxxxxxx: Denotes the packet is destined for cluster head.
a packet with flag value 110, it broadcast the packet. All the
The field previous address contains the address of the last nodes compare the flag value and the Level 1 address to
node from which the packet was sent. This is used to avoid check whether the packet is meant for them, if Level 1
the packets going into simple loop. Our routing protocol is address matches then the packet is received by the nodes.
designed in such a way that a packet will go into loop only There might be some nodes which would not be in the
if the network suffers from catastrophic failure (i.e. nodes communicable region of the cluster head but belong to the
become faulty and an alternative route is to be used). A loop same layer. Since the cluster head maintains the list of all
in our architecture mainly follows 1-2-1 loop. In that the nodes in the communicable region, it can predict which
condition ‘previous address’ field is helpful. It is very rare nodes have not received the packet. Therefore, it can now
that a loop like 1-2-3-1 occurs. Even if this occurs we use a send the packet to these nodes using intra-layer routing.
166 V. Mishra, J. Mathew and D.K. Pradhan

Figure 5 Proposed multi-layered intra-layer routing in sensor network (see online version for colours)

Figure 6 Proposed multi-layered inter-layer routing in sensor network (see online version for colours)
Fault-tolerant de-Bruijn graph based MARP for WSNs 167

Broadcast addressing: If the flag value is set to 111, then layers below ‘x’ have incremented their Level 1 address by
the packet is meant to be received by each and every node in a value of 1.
the network. When a cluster head receives the packet with
Three-dimensions to two-dimension mapping: Our
flag = 111, it not only perform multicast addressing in its
architecture is mainly suitable for infrastructure-based
own layer but also send the packet to the cluster head above
deterministic deployment. For random deployment a de-
and below to it. Here, a copy of the packet is maintained by
Bruijn formation protocol should be implemented, so that
the cluster head so that when it receives the same packet
all nodes are automatically assigned the node-ids. We left
again it drops it.
the de-Bruijn formation protocol as future work. Also,
Zhang and Hou (2006) proved that a deterministic
4.2 Simple fault detection mechanism deployment requires fewer nodes to cover the same area in
During certain fixed interval of time, the base station comparison to random deployment. Our architecture can be
generates a packet named as fault request packet with directly applied in three-dimensional space. For example, in
RF = 100, which is similar to the broadcast packet. The only a building each floor can have a layer of the proposed
difference between the simple broadcast packet and the fault architecture. Thus, all the nodes in a single floor will have
request packet is that the fault request packet asks the nodes the same Level 1 address and forms the de-Bruijn graph
to send a packet with flag = 101 to the base station, also along with a cluster head. The routing perform within a
the generated packet has three extra fields (optional field) floor is intra-layer routing and between the floors is inter-
node fault, head fault and base fault. Initially, the values layer routing. Another application could be in pillars of a
contained in these fields are 0. Suppose a node x receives bridge. Nodes can be deployed layer-wise, and hence
a packet with flag = 100, it will generate a packet with covering the whole pillar from all the sides. Our architecture
flag = 101 destined to base station. Now on the way to the is not limited only to three-dimensional space. If the
destination if this packet has to be routed through y, and y is application requires that the sensor nodes are to be used in
not in communicable range, then the packet is routed a two-dimensional array/grid pattern rather than three-
through any other path z. The value of y is entered to any of dimensional pattern (e.g. in a land field), the same
the three fields: node fault, head fault and base fault architecture can be used with little modification. Figure 7
depending upon whether y was a simple node, cluster head shows the conversion of three-dimensional network (with
or base station, respectively. If the base station receives a
diameter = 3 in one sub graph) into a two-dimensional
packet with flag = 101, it will check for the values in these
network (with diameter = 3 in one sub graph). There is no
extra fields and can predict the places where fault has
change in routing protocol, addressing mechanism or the
occurred. These faults can be either due to failure of the
cluster head property. Thus, all the features of multi-layer
nodes or due to the failure of the communication between
network are utilised here.
two nodes due to interference. It is also possible that a noise
For a (2, 3) de-Bruijn graph we have the total number of
could have hampered the communication for a while, in
such cases we can take multiple reading of the packets with interconnections within a single layer as 21 (13 within
flag = 101 so as to make sure that the fault has occurred nodes + 8 with cluster head). The total number of
or not. interconnection between two layers is 9 (8 between nodes +
1 between cluster head). Let n be the number of layers, then
Scalability: The described architecture is highly scalable total number of interconnections is given by 21n + 9
and can support additional layers until all the values of (n – 1).For a two-dimensionally mapped de-Bruijn network,
Level 1 address are used. If a layer is to be added, it can be the total number of interconnection within a single layer
added to the layer below the last layer of the network. Also is 21 (13 within nodes + 8 with cluster head). The total
if we want to insert a layer in between the network it can number of interconnection between two layers is 3
be done with very less amount of work. Suppose a network (2 between nodes + 1 between cluster head). Therefore, the
consist of four layers: a, b, c and d, and we want to insert total number of interconnections is given by 21n + 3(n – 1).
a layer ‘x’ in between ‘b’ and ‘c’, it can be done by The total number of decrease in connection equals 6(n – 1).
modifying the Level 1 address of all the nodes in the layer Therefore, the percentage fault is given by [(6(n–1)]/
‘c’ and the layers below to it. For this purpose, a data [21n + 9(n – 1)] The plotted graph in Figure 8 shows that as
packet is sent by each node of the layer ‘x’ to the node just the number of layers increases the two-dimensional mapped
below to it, i.e. of layer ‘c’. The data in the packet contain network can be assumed to be three-dimensional networks
the instruction for the node to add a value 1 to their present with some fault introduced. The percentage fault tends to
Level 1 address. Again this node passes the same packet to become constant for a large number of layers in the network
the layer below to it and this process continues until all the around 20%.
168 V. Mishra, J. Mathew and D.K. Pradhan

Figure 7 Three-dimensional to two-dimensional mapping of sensor network (see online version for colours)
Fault-tolerant de-Bruijn graph based MARP for WSNs 169

Figure 8 Fault analysis of three-dimensional to two-dimensional our architecture to other broadcasting, multicasting routing
mapping (see online version for colours) protocols because our proposed architecture differs in many
20 ways. A comparison table with other retransmission based
(Alwan and Agarwal, 2009) and relay node-based fault-
19
tolerant sensor networks is shown in Table 1. To illustrate
18 the performance with different configuration of our
protocol, comparison is shown with different configuration
17 having different number of nodes in each layer.
Percentage Fault

16
The simulation uses MAC IEEE 802.15.4 based
ZIGBEE which is implemented over SENSE. The de-Bruijn
15 graph based routing protocol is the heart of the network
layer. We use a simple transport protocol of best effort
14
service. The application layer implements Constant Bit
13 Rate (CBR). To compare the performance of the protocol,
we choose random pairs of source and destination which
12 communicate with each other. The simulation time is
11
2000 seconds.
2 4 6 8 10 12
No. of Layers
14 16 18 20 Figure 9 shows the comparison of our algorithm with
Huynh and Hong (2005) and Mishra et al. (2009) in terms of
end-to-end delay in the network. The delay taken is in ms.
We use 32 nodes per layer in the network architecture. It is
5 Simulation results
clear from the graph that as the number of layers increases,
the delay in our network increases linearly, while in other
The techniques presented in this paper have been
implemented in C++ based on SENSE simulation tool architecture it increases exponentially. This is because in
(Chen et al., 2004) to evaluate the performance. We other architecture the number of nodes doubles with each
compare the proposed routing protocol to Huynh and Hong increment in number of layers. Similarly, Figure 10 shows
(2005) and Mishra et al. (2009) as these are the other the comparison in terms of energy consumed in the network.
de-Bruijn graph based WSN architectures. We use similar The initial energy is 106 units and the dissipation rate is
network design choices such as network topology, node 10−5 units per packet transfer. Here also we can see that our
addressing and packet routing as shown by Huynh and architecture has better energy performance by about 50%
Hong (2005) and Mishra et al. (2009) implementation. than Mishra et al. (2009). Figure 11 shows the comparison
Since these architectures do not implement features like in terms of success ratio. Here, we can see that our
broadcasting, multicasting, fault detection and cluster head, architecture has high success ratio and as the number of
these properties are not compared. Also we cannot compare layers increases our architecture performs better.

Table 1 Fault-tolerant routing protocols performance metrics

Disjoint multipath
based retransmission Braided multipath Energy aware multipath
Performance Relay node based (Intanagonwiwat et al., based retransmission based retransmission
metrics (Han et al., 2010) 2000) (Ganesan et al., 2001) (Hassanein and Luo, 2006) Proposed protocol
Energy High; Requires High; requires periodic Medium; requires High; requires periodic No periodic broadcast
consumption exchange of routing broadcast for disjoint periodic broadcast broadcast to maintain a needed
information at paths to maintains the backup path for each path
periodic intervals. braided path
Memory Requires routing Routing table + Caching Routing table + Routing table + Caching of Caching of packet at
Usage table + Caching of of packet at each node Caching of packet at packet at each node single node only
packet at nodes each node
Scaling Increases the routing Routing table size Routing table size + Routing table size increases No such effects
Effects table size and the increases + Fault increases + Fault + Fault recovery time
time to calculate recovery time recovery time increases
disjoint path increases increases
Overhead Extra k relay nodes Flooding overhead Flooding overhead Maintains alternate path Overhead only during
for each n sensor Fault detection phase
nodes
Fault None None None None Provide 3 levels of
Detection simple fault detection
Recovery Immediate Time for sink to detect Time for sink to detect Time to send the error Immediate
time an absence of event and an absence of event and message to the sink and
reinitiate another path reinforce another path source.
170 V. Mishra, J. Mathew and D.K. Pradhan

Now we compare our architecture with different configurations. Figure 10 Energy consumed as a function of number of
When source and destination are within network, Figure 12 layers (see online version for colours)
shows the delay taken by the packets to be received at the 450
destination nodes with respect to the number of layers in the
Our Protocol
network. Blue graph shows the network with eight nodes in 400
Ref[18]
each layer. While green graph shows the network with Ref[8]
350
32 nodes in each layer and red graph shows the network with
64 nodes in each layer. Figures 13 and 14 show the total energy 300
consumed and success ratio of the whole network, respectively.

Energy Consumed
The success ratio of the graph is important for a given network. 250
For example if we want to have 64 nodes in a network it is
possible to have eight layers of eight nodes each, or four layers 200
of 16 nodes in each, or two layers of 32 nodes in each. If we
150
choose eight layers of eight nodes in each we have delay =
0.024, energy consumed = 12 and success ratio= 0.987, while if 100
we choose four layers of 16 nodes in each we have delay =
0.016, energy consumed = 8 and success ratio = 0.993; and if 50
we choose two layers of 32 nodes in each we have delay =
0.009, energy consumed = 7 and success ratio = 0.997. 0
2 4 6 8 10 12 14 16 18 20
Therefore, from the above analysis, it is better to have No. of Layers
maximum number of nodes in each layer.
Figure 15 shows the graph of total energy consumed in Figure 11 Success ratio as a function of number of layers
the whole network as a function of the number of layers in (see online version for colours)
the network. This shows the case when destination is base
station. Figure 16 shows the delay taken by the packets to be
received by the base station. Our analysis shows that the
success ratio of the packets received by the base station as a
function of the number of layers is almost constant. It is
clear that the energy consumed and success ratio is almost
same for each type of configuration. The delay for network
having less number of nodes in each layer is less in
comparison to the networks having more number of nodes
in each layer. Figure 17 shows the graph of delay taken for
broadcasting the packet in the whole network as a function
of the number of layers in the network. As the number of
layers increases the delay taken for broadcasting a packet
also increases rapidly. Figure 18 shows, for multicast packet
routing, the graph of the delay taken by a packet when
routed by multicast to all the nodes in a particular layer.
From the graph it is clear that there is not much difference
Figure 12 End-to-end delay with different configurations as a
in the delay taken as the number of layers increases. function of number of layers (see online version for
colours)
Figure 9 Delay in the network as a function of number of layers
(see online version for colours) 0.07

8 nodes/layer 1280 nodes


0.25
0.06 32 nodes/layer
Our Protocol 640 nodes
64 nodes/layer
Ref[8] 160 nodes
0.2 Ref[8] 0.05

640 nodes
0.04
320 nodes
Delay

0.15
Delay

80 nodes
0.03

0.1
0.02

0.05
0.01

0
0
2 4 6 8 10 12 14 16 18 20 2 4 6 8 10 12 14 16 18 20
No. of Layers No. of Layers
Fault-tolerant de-Bruijn graph based MARP for WSNs 171

Figure 13 Energy consumed with different configurations as a function 100] in the network. The network consumes more energy
of number of layers (see online version for colours) when it suffers with severe fault. Figure 20 shows the delay
120 taken by a packet to be reached within a network as a
8 nodes/layer
1280 nodes
function of the fault percentage in the network. From the
100
32 nodes/layer
640 nodes graph it is clear that networks having less number of nodes in
64 nodes/layer
160 nodes each layer have less delay in comparison to with the same
80
fault percentage to a network having more number of nodes
Energy Consumed

in each layer. Figure 21 shows the success ratio of the packet


routing within the network. A network having less number of
60 640 nodes
320 nodes
nodes in each layer suffers less from fault.
80 nodes
40 Figure 16 Delay when destination is base station (see online
version for colours)
20 0.012
640 nodes 640 nodes
1280 nodes
320 nodes 160 nodes
0 0.01 80 nodes
2 4 6 8 10 12 14 16 18 20
No. of Layers

0.008
Figure 14 Success ratio with different configurations as a function
of number of layers (see online version for colours)

Delay
0.006

0.004
8 nodes/layer
32 nodes/layer
0.002 64 nodes/layer

0
2 4 6 8 10 12 14 16 18 20
No. of Layers

Figure 17 Delay taken for broadcasting into the whole network


(see online version for colours)
0.14
8 nodes/layer 1280 nodes
32 nodes/layer 640 nodes
0.12
64 nodes/layer 160 nodes

0.1
640 nodes
Figure 15 Energy consumed when destination is base station 0.08
320 node
(see online version for colours) 80 nodes
Delay

120
1280 nodes 0.06
8 nodes/layer 640 nodes
160 nodes
32 nodes/layer
100 64 nodes/layer
0.04

80 640 nodes 0.02


320 nodes
Energy Consumed

80 nodes

0
60 2 4 6 8 10 12 14 16 18 20
No. of Layers

40
Figure 22 shows the success ratio (total packets received/total
packets sent) of the packet routing within the network as
20
a function of simulation time. This simulation was run for
2000 seconds. After 1000 seconds it shows a steep decrease
0
2 4 6 8 10 12 14 16 18 20 in the success ratio due to the depletion of the batteries of
No. of Layers
each node. All three configurations, eight nodes, 16 nodes
and 32 nodes, in each layer have almost same performance
When the network has some faults (node fault or with very little difference. The three-dimensional to two-
communication fault), Figure 19 shows the graph of energy dimensional mapping can be interpreted as network having
consumed in a faulty network as a function of the fault 20% fault. Thus, simulation result with 20% fault will have
percentage [(number of faulty nodes/total number of nodes)* same results for two-dimensional mapped networks.
172 V. Mishra, J. Mathew and D.K. Pradhan

Figure 18 Delay taken when multicasting to a group is performed Figure 21 Success ratio as a function of percentage faults in the
(see online version for colours) network (see online version for colours)
0.019 1

8 nodes/layer 1280 nodes


0.95 160 nodes
32 nodes/layer
0.018 640 nodes 640 nodes
64 nodes/layer
160 nodes 1280 nodes
0.9
0.017
0.85

Success Ratio
0.016 640 nodes
Delay

320 nodes 0.8


80 nodes
0.015
0.75

0.014 0.7

0.013 0.65

0.012 0 10 20 30 40 50
2 4 6 8 10 12 14 16 18 20 Pecentage Fault
No. of Layers

Figure 22 Success ratio as a function of the simulation time


Figure 19 Energy consumed as a function of the percentage
(see online version for colours)
faults in the network (see online version for colours)
100

90 160 node
640 nodes
80 1280 nodes

70
Energy Consumed

60

50

40

30

20

10
0 10 20 30 40 50
Percentage Fault

6 Experimental results
Figure 20 Delay in the network as a function of the fault percentage
in the network (see online version for colours)
A small experiment of de-Bruijn graph based routing
0.046
protocol is done with mica2 motes to check its feasibility in
160 nodes
0.044
640 nodes
real-life scenario. Mica2 mote is one of the commercially
0.042 1280 nodes available sensor nodes developed by Crossbow technology
incorporation; a typical mica2 mote is shown in Figure 23.
0.04
The mica2 motes runs TinyOS, which is a component-based
0.038 operating system developed for low-powered wireless
Delay

0.036 communication devices developed by UC Berkeley. The


network consists of eight nodes forming a single layer of
0.034
de-Bruijn graph without the cluster head (Figure 1) as
0.032 shown in Figure 24. Out of eight nodes three nodes are
0.03 attached with the sensor board mts310 to measure the light
intensity falling on the nodes and one node with id = 0 is
0.028
connected to the serial gateway mib510, which passes all
0.026
0 10 20 30 40 50 packets received to a computer through serial port as shown
Percentage Fault in Figure 25. Rest of the nodes is used for routing the
Fault-tolerant de-Bruijn graph based MARP for WSNs 173

packets. The measured light intensity value is displayed Figure 24 Test bed of mica2 motes with left most as node id = 0
using a Java-based Oscilloscope application provided by (see online version for colours)
TinyOS (Figure 26).
A constantly random moving white light source was
used to illuminate the photo sensors. The variation in the light
intensity can be seen in the oscilloscope graph. As light
source moves away from the sensor there is a decrease in the
graph value. Artificial faults were introduced by turning off
nodes. When the faults are introduced the packets travel
through another path with negligible delay. The continuity in
the oscilloscope graph depicts this behaviour.

Figure 23 A typical mica2 mote (see online version for colours)


Figure 25 Mica2 mote on top of mib510 serial gateway board
(see online version for colours)

Figure 26 Oscilloscope displaying the value of the packets received (see online version for colours)
174 V. Mishra, J. Mathew and D.K. Pradhan

7 Conclusions Gedik, B., Liu, L. and Yu, P.S. (2007) ‘ASAP: an adaptive
sampling approach to data collection in sensor networks’,
IEEE Transactions on Parallel and Distributed Systems,
In this paper, we presented an efficient de-Bruijn multi- Vol. 18, pp.1766–1783.
layered architecture for WSN called as Multipurpose
Gupta, G. and Younis, M. (2003) ‘Fault-tolerant clustering of
Architecture and Routing Protocol (MARP). The MARP
wireless sensor networks’, IEEE Wireless Communications
supports multicast routing, broadcasting, fault detection and and Networking, Vol. 3, pp.1579–1584.
efficient fault-tolerance. Its unique architecture makes it
Han, X., Cao, X., Lloyd, E.L. and Shen, C. (2010) ‘Fault-tolerant
easily scalable and provides easy three-dimensional and two- relay node placement in heterogenous wireless sensor
dimensional implementation. On average, we have about 40% networks’, IEEE Transactions on Mobile Computing, Vol. 9,
improvement in end-to-end delay. Our simulation results No. 5, pp.643–656.
show that as the number of layers increases our algorithm Hassanein, H. and Luo, J. (2006) ‘Reliable energy aware routing in
performs better. We also analyse the energy and average wireless sensor networks’, Proceedings of the 2nd IEEE
transmission ratio of the randomly generated traffic. We show Workshop on Dependability and Security in Sensor Networks
that, depending on the fault-tolerance capability one wants, and Systems, pp.54–64.
design requires higher redundancy. We also demonstrated the Heinzelman, W.R., Chandrakasan, A. and Balakrishan, H.
feasibility of the de-Bruijn graph based routing protocol in (2000) ‘Energy-efficient communication protocol for
real-life scenario by a simple experiment using eight mica2 wireless microsensor networks’, Proceedings of the 33rd
Annual Hawaii International Conference on System
motes. Sciences, IEEE Computer Society, Washington, DC, USA,
pp.3005–3014.
Hsi-Lu, C. and Chen-Lung, C. (2007) ‘A a routing protocol in
Acknowledgements wireless sensor networks’, International Journal of Sensor
Networks, Vol. 3, No. 1, pp.66–73.
The work was partially funded by the Engineering and Huynh, T.T. and Hong, C.S. (2005) ‘A novel hierarchical routing
Physical Science Research Council (EPSRC), UK, under protocol for wireless sensor networks’, Lecture Notes in
Grant No. EP/F030991/1. Computer Science (LNCS), Springer, pp.339–347.
Intanagonwiwat, C., Govindan, R. and Estrin, D. (2000) ‘Directed
diffusion: a scalable and robust communication paradigm for
References sensor networks’, ACM International Conference on Mobile
Computing and Networking, pp.56–67.
Alwan, H. and Agarwal, A. (2009) ‘A survey on fault tolerant
Karl, H. and Willig, A. (2005) Protocols and Architectures
routing techniques in wireless sensor networks’, Proceedings
for Wireless Sensor Networks, Wiley, Chichester,
of the 3rd International Conference on Sensor Technologies
West Sussex.
and Applications, IEEE, Washington, DC, pp.366–371.
Alwan, H. and Agarwal, A. (2010) ‘Reliable fault-tolerant Kim, H.S., Abdelzaher, T.F. and Kwon, W.H. (2003) ‘Minimum-
multipath routing protocol for wireless sensor networks’, 25th energy asynchronous dissemination to mobile sinks in wireless
Biennial Symposium on Communications (QBSC), 12–14 May sensor networks’, Proceedings of the 1st International
2010, pp.323–326. Conference on Embedded Networked Sensor Systems,
Los Angles, CA, pp.193–204.
Bae, K. and Yoon, H. (2005) ‘Autonomous clustering scheme for
wireless sensor networks using coverage estimation-based Mainwaring, A.M., Polastre, J. and Szewczyk, R. (2002) ‘Wireless
self-pruning’, IEICE Transactions on Communications, sensor networks for habitat monitoring’, Proceedings of
Vol. E88-B, No. 3, pp.973–980. 1st ACM Workshop on Wireless Sensor Networks and
Bhardwaj, M., Garnett, T. and Chandrakasan, A.P. (2001) ‘Upper Applications, pp.88–97.
bounds on the lifetime of sensor networks’, Proceedings of Manjeshwar, A. and Agrawal, D.P. (2001) ‘TEEN: a routing protocol
IEEE International Conference on Communications, Vol. 3, for enhanced efficiency in wireless sensor networks’,
11–14 June 2001, Helsinki, Finland, pp.785–790. Proceedings of the 15th International on Parallel and Distributed
Brooks, R.R., Griffin, C. and Friedlander, D. (2002) ‘Self- Processing Symposium, 23–27 April, San Francisco, CA,
organized distributed sensor network entity tracking’, pp.2009–2015.
International Journal of High Performance Computing Mishra, V., Mathew, J., Rahaman, H. and Pradhan, D.K. (2009)
Applications, Vol. 16, No. 3, pp.207–219. ‘De-Bruijn graph based energy efficient routing in multi-
Chen, G., Branch, J., Pflug, M.J., Zhu, L. and Szymanski, B. layered architecture for wireless sensor networks’,
(2004) SENSE – A Sensor Network Simulator. Available International Conference in Information Technology, Vol. 12,
online at: http://www.ita.cs.rpi.edu/sense/index.html pp.295–300.
Ganesan, D., Govindan, R., Shenker, S. and Estrin, D. (2001) ‘Highly- Pradhan, D.K. and Reddy, S.M. (1982) ‘A fault-tolerant
resilient, energy-efficient multipath routing in wireless sensor communication architecture for distributed systems’,
networks’, ACM SIGMOBILE Mobile Computing and IEEE Transactions on Computers, Vol. 30, No. 9,
Communications Review,Vol. 5, No. 4, pp.11–25. pp.863–870.
Fault-tolerant de-Bruijn graph based MARP for WSNs 175

Samatham, M.R. and Pradhan, D.K. (1989) ‘The de Bruijn multi- Xu, Y., Heidemann, J. and Estrin, D. (2001) ‘Geography-informed
processor network: a versatile parallel processing and sorting energy conservation for ad hoc routing’, Proceedings of the
network for VLSI’, IEEE Transactions on Computers, ACM/IEEE Annual International Conference on Mobile
Vol. 38, No. 4, pp.567–581. Computing and Networking (MOBICOM), Italy, pp.70–84.
Virk, K., Madsen, J., Lorentzen, A.V., Leopold, M. and Bonnet, P. Zhang, H. and Hou, J.C. (2006, April) ‘Is deterministic
(2005) ‘Design of a development platform for HW/SW codesign deployment worse than random deployment for wireless
of wireless integrated sensor nodes’, Eighth Euromicro sensor networks?’, Proceedings of the 25th IEEE
Conference on Digital System Design, 30 August–3 September, International Conference on Computer Communications,
Porto, Portugal, pp.254–260. INFOCOM, Barcelona, Spain, pp.1–13.

View publication stats

S-ar putea să vă placă și