Tuesday, February 23, 2016

Chapter 4. Performance Analysis


In previous chapter we have explained our proposed protocol for data aggregation in cluster-based wireless sensor networks, called E-BINA. Now in this chapter we are going to analyses the performance of our protocol. We will show how our protocol outperforms in terms of energy efficiency in comparison to conventional protocol for data aggregation in cluster-based wireless sensor networks by presenting simulation analysis with different simulation parameters taken and results obtained.

4.1 Simulation Analysis

Though many simulation tools are available for wireless sensor networks as discussed in chapter 2, we have chosen Network Simualtor-2 (NS-2) [20], in particular NS-2.29.3, as our tool to simulate the proposed protocol.

4.1.1 Simulation Setup

  • A square field of 160m X 160m is taken where 11 nodes are randomly deployed. One node is designated as cluster-head (CH) and one node is designated data source.

Command:

set val(sc) "/root/Desktop/mov1"
set val(cp) ""

#setdest is found in "/root/ns-allinone-2.29/ns-2.29/indep-utils/cmu-#scen-gen/setdest"

exec ./setdest -n 10 -M 0.1 -p 21 -x 160 -y 160 -t 20 > mov1 &

puts "loadin RANDom sceanrio"
source $val(sc)

The snapshot of node scenario in NAM is shown below. The three colors of node show the energy levels of nodes. The initial color of nodes is green. When energy drop to first threshold level the color turns to yellow and when drop to second threshold level the color turns to red. After this level a node is dead and color is red.
                                        
Figure 4.1 Random nodes scenario in NAM.
  • Energy model is ON. Transmit power, Receive power, Idle power, Sleep power, Transition power, and Initial Energy of nodes is set accordingly. Also transmission range is set by controlling the transmit power and receiving threshold of antenna of nodes. All other parameters are taken default values.

Command:

set val(energymodel) EnergyModel ;# energy model is on
set val(initialenergy) 1 ;# Initial energy in Joules
set val(sleeppower) 0.0 ;# sleep power in Watt
set val(tp) 0.002 ;# transition power consumption(Watt)in state transition from sleep to idle (active)
set val(tt) 0.005 ;# transition time(second) use instate transition from sleep to idle (active)
set val(ip) 0.035 ;# idle power

Transmit power, Receive power, transmit power & receiving threshold of antenna of nodes are set with different values to use different transmission range of nodes and show the comparison between E-BINA and conventional protocol.

Case 1: E-BINA

set val(rxPower) 0.395 ;# receive power in Watt
set val(txPower) 0.66 ;# transmit power in Watt
Phy/WirelessPhy set Pt_ 8.5872e-4 ;# 40m
Phy/WirelessPhy set RXThresh_ 3.66152e-10


Case 2: Conventional protocol

set val(rxPower) 1.0 ;# receieve power in Watt
set val(txPower) 2.0 ;# transmit power in Watt
Phy/WirelessPhy set Pt_ 7.214e-3 ;# 100m
Phy/WirelessPhy set RXThresh_ 3.65209e-10


Other values that could be used are:

#Phy/WirelessPhy set Pt_ 1.33826e-3 ;# Transmission range 50m,
#Phy/WirelessPhy set Pt_ 0.281838 ;# 250m


The value of RXThresh_ is obtained by executing threshold.cc defined in "/root/ns-allinone-2.29/ns-2.29/indep-utils/propogation”. Snapshot is given below:

                                       
Figure 4.2 Snapshot of console

  • Some other parameters used are:

Channel Type Wireless channel
Propagation Model Two Ray Ground
MAC Type 802.11
Network Interface Type Phy/WirelessPhy
Interface Queue Type Queue/DropTail/PriQueue
Antenna Model Antenna/OmniAntenna
Routing Protocol AODV
Simulation Time 20 sec

Parameters set for data transfer are:

Cluster-head node 10 with UDP agent attached
Source node node 0 with UDP agent attached
Traffic Type CBR with a rate of 5 packets / second
             Packet Size 136 bytes

4.1.2 Simulation Run

Case 1: E-BINA

For E-BINA we set transmission range of 40m such that a node sends its data to its single-hop neighbor and data is forwarded in a multi-hop fashion. Figure 4.3 shows the data transfer between node 0 and node 10. Node 1 and 2 are relay nodes. Since the transmission range is set to 40m, node 0 can only send its data to node 1 and so other nodes.

       
Figure 4.3 Data transfer between node 0 and 10 through node 1 & 2.


Figure 4.4 shows that after some time energy level of node 2, 1, 0, and 10 dropped to first threshold level and hence the color of nodes turns to yellow.

                                      
Figure 4.4 Energy level of nodes drop to first threshold.

Figure 4.5 shows that after some more time energy level of node 1, 2, 0, and 10 dropped to second threshold level and hence the color of nodes turns to red.

                                       
Figure 4.5 Energy level of nodes drop to second threshold.


Case 2: Conventional Protocol

In conventional method, all nodes in a cluster send their data directly to cluster-head. For this reason we set transmission range of nodes to be 100m so that source node 0 can send data directly to node 10. To able to have a large transmission range the transmitting and receiving power of nodes are more than double of as in case 1.

The data transfer start between node 0 and node 10 directly. As happened in last case, again after some time energy level of node 0 and node 10 decreased to first threshold level and color of nodes change from green to yellow and then energy level of both nodes go down to second threshold level and nodes turn to red.

4.1.3 Simulation Results

A. Conserving Energy

We determine residual energy of the source node which is defined as the remaining energy of a node and considered that as the metric to prove energy efficiency of our proposed protocol. We used this metric to show the impact of transmission power on energy reduction. Figure 4.9 shows the significant reduction in energy consumption by using E-BINA when compared with conventional protocol. This shows the benefit of sending data in a multi-hop fashion towards cluster-head.




Figure 4.6 Residual energy of source as a function of time.

B. Throughput

We have also measured the throughput of the receiving node i.e. cluster-head node 10 in our scenario for both the cases. Throughput of a node is defined as the average rate of successful message delivery over a communication channel. Figure 4.10 show that E-BINA achieves high throughput in comparison with conventional protocol.



Figure 4.7 Throughput as function of time.


C. Network Density

By considering the changes in the network density, we also study the relationship between the network lifetime and network density. In our experiment we have considered the change in the residual energy of source node i.e. node 0 in the end of simulation. The density of network is calculated via equation [9]:
λ = NπR2 / A2
Where, N is sensor number,
R is sensor range,
A is sensor area.
By keeping network area constant and increasing the number of nodes, we have increased network density. Due to increase in the network density, the hop count between source node and sink node also increases. When hop count increases node now transmit data to nearer node with less transmit power and hence consume less energy. Figure 4.8 shows the increase in the residual energy when we increase the hop count. We have taken N as 11, 21, 31, 41, and 51.
                                           
Figure 4.8 Effect of network density

D. Packet Delivery Ratio

Besides examining the network lifetime extension roughly via energy saving, we also evaluate the network efficiency influenced by E-BINA. Here, we measure the efficiency in term of data delivery ratio which is defined as the number of received packets divided by the number of sent packets for a certain time period. From our simulation results illustrated in figure 4.9, we find that this ratio does not change much while the network is alive. It shows the stable performance of our protocol. When the network energy is running out, the data delivery ratio collapses rapidly. This phenomenon probably can be taken as a sign of the network death.
                                          
Figure 4.9 Packet delivery ratio of the network.




Tuesday, February 9, 2016

Chapter 3. Energy-aware Balanced In-Network Aggregation

After the detailed description of wireless sensor networks, problem of data aggregation for maximizing network lifetime, and existing aggregation techniques in chapter 1 and 2, we now present our proposed protocol for solving data aggregation problem. This chapter first gives you an introduction of our protocol “Energy-aware Balanced In-Network Aggregation (E-BINA)” and then briefly describes the system and energy model that has been considered for designed protocol. After this a detailed description of the algorithm will be presented. As there are some issues involved with every protocol, so with our proposed protocol also. These issues will be presented in brief and finally we summarize this chapter.

3.1 Introduction

The three broad categories of data aggregation techniques that we have described in previous chapter are: tree-based approach, multi-path approach, and cluster-based approach. Focusing on cluster-based approach, we found that the existing protocols assume a sensor network which is divided in to several clusters. Depending upon the protocol operation, each cluster-head receives the data packets from some cluster-member or from all cluster-member nodes directly and then cluster-head perform aggregation operation.
Taking the advantageous features of tree-based approach, we have designed our protocol which takes the merits of both cluster-based and tree-based approach. E-BINA assumes a cluster-based wireless sensor network and applies tree-based approach inside each cluster. When a cluster is formed and cluster-head selected, it consider cluster-head as root and construct an aggregation tree over cluster-member nodes. The process of aggregation tree construction requires the sensor nodes to reduce their transmission power as sensor nodes now have to send their data packets to the neighbor node which is selected as parent. Energy consumed in wireless transmission is directly proportional to the square of the distance between nodes in communication [13]. Since cluster-member node now sends their data packets to the neighbor node instead of cluster-head, the transmission distance is reduced and hence the energy consumption of the sensor node. Likewise, overall energy consumption of sensor nodes in a cluster is reduced and so for the whole sensor network. Hence overall network lifetime will be increased.
Energy-aware Balanced In-Network Aggregation (E-BINA) protocol is energy-aware as it has taken the residual energy of sensor node in to consideration while constructing the aggregation tree. The protocol also balances the network load by selecting different parent for a node according to the energy level remain in the sensor node during the aggregation tree construction process. Each parent node performs aggregation of data packet that it receives from its child nodes and hence the protocol justifies the in-network aggregation concept.

3.2 System & Energy Model

Consider a homogeneous network of n sensor nodes and a base station or sink node distributed over a region. The location of the sensors and the base station are fixed and known priori. Each sensor produces some information as it monitors its vicinity. We assume that the whole network is divided in to several clusters; each cluster has a cluster-head (CH). The clustering and the selection of cluster-head (CH) can be done by using any existing protocol like LEACH, such that cluster-head (CH) is maximum k-hop away from any node in cluster. We also assume that after the formation of cluster the transmission power of all nodes is adjusted in such a way that they can perform single hop broadcast. Single hop broadcast refers to the operation of sending a packet to all single-hop neighbors [8].
Our energy model for the sensors is based on the first order radio model described in [17]. A sensor consumes Eelec = 50nJ/bit to run the transmitter or receiver circuitry and Eamp = 100pJ/bit/m2 for the transmitter amplifier. Thus, the energy consumed by a sensor i in receiving a l-bit data packet is given by,
ERxi = Eelec . l (1)
while the energy consumed in transmitting a data packet to sensor j is given by,
ETxi,j = Eelec . l + Eamp . di,j2 . l (2)
where di,j is the distance between nodes i and j.

3.3 Protocol Description

In a cluster-based wireless sensor network, our algorithm is designed to provide energy-aware in-network data aggregation in a cluster. Each cluster uses this algorithm independently. In a cluster, the nodes can be categorized as: one cluster-head (CH) and other cluster member node.

Function of cluster-head (CH)
  1. Receive a query from base station.
  2. Cluster-head (CH) sends configuration packets to all single-hop neighbors.
  3. Receive data packets from all single hop neighbors.
  4. Finally aggregate the data packets received and route it to base station.

Function of cluster member
  1. Receive configuration packets from neighbor nodes.
  2. Update and forward configuration packets to all single-hop neighbors.
  3. Receive data packets from neighbor nodes.
  4. Aggregate all data packets by applying redundancy factor and send it to selected parent node.

The algorithm works in two phases: Configuration packet flow and Data packet flow that are described below.
                                  

Figure 3.1 A typical scenario of data aggregation in a cluster.

3.3.1 Configuration Packet Flow

Initially cluster-head broadcast configuration packet to all its neighbors. Configuration packet contains the following fields:

Node Id location of node that each node know in prior
Hop Distance distance from cluster-head in terms of hop count (set zero for CH)
Residual Energy current energy in node

Each node upon receiving the broadcast configuration packet that is originated from cluster-head adds the sender of the packet in the list of its possible parents with its node id, hop distance, residual energy. After this the node again broadcast the configuration packet to all its neighbors by updating node id to its own id, incrementing hop distance by one and its own residual energy. This process continues until all the nodes in cluster receive configuration packet. All nodes that broadcast the configuration packet do so by predefined and common signal strength that is know to all the nodes.

3.3.2 Data Packet Flow

When all nodes receives configuration packets, each node now select the parent to which it can forward the data packet. The parent selection procedure is shown in fig. 3.2.
Each node looks in to the list of all its possible parents. The neighbor node which has least hop distance, ie closest to cluster-head, is selected as parent by a node. In case when two neighbor nodes have the least but equal hop distance, the node checks the residual energy of two neighbor nodes. The neighbor node that has greater residual energy is now selected as parent. In both the cases, node also calculate the difference of residual energy of two neighbor nodes, which have least hop distance, and checks whether this difference is less than the threshold or not. If it is then the node selects the parent as usual. But if it is not then the node selects other neighbor node as its parent.


Figure 3.2 Parent selection procedure.


This allows a node that has more available resources to be selected as a parent node. This also balances the consumption of energy of nodes in the cluster and leads to die out of nodes nearly at same time.
After selecting the parent node, each node now forwards its data to its parent. When a parent node receives multiple data packets from its neighbor nodes, it performs aggregation operation by eliminating redundancy in the data. Each parent node checks the equation below:

| VNi – VNj | < K (3)

                                      where, VNi data value of node i
VNj data value of node j
K redundancy factor

If this equation satisfies, the parent node perform aggregation by applying any aggregation functions like MIN, MAX, and AVG on the values of data packet and send only one packet while discarding other packets. But if this equation do not satisfies, the parent performs aggregation by simply concatenating two data packet in to one keeping value of both packets intact.
The selection of value for redundancy factor (K) has a trade-off between precision and energy consumption. If the application wants more precision, it should select a low value for redundancy factor otherwise a high value. Selecting high value for K means sending only one value thus less number of bits needs to be transmitted and hence low energy consumption.

3.4 Issues

E-BINA significantly reduces the energy consumption of all nodes in the cluster by reducing the transmission power of all nodes. The one issue that arises in our designed protocol is that after the formation of cluster and selection of cluster-head, all nodes have to reduce their transmission power. All nodes have to reduce their transmission power in such a way that they could only reach their single-hop distance neighbors. This operation requires some kind of synchronization among all nodes. The nodes have to program before to perform the above task. For this, the programming task needs little extra effort. Now when cluster-head received all data packets and aggregated them, it has to now increase its transmission power so that it can transmit the final aggregated data up in the cluster-head hierarchy towards the sink. Another issue that remains with any tree based approach is robustness of the system. In case of failure of any intermediate node in the tree hierarchy during operation will lead to the loss of data.
Though E-BINA requires all nodes to adjust their transmission power after the deployment and requires extra effort for programming before, it conserves a significant amount of energy. So in the presence of the above issue, E-BINA outperforms when we try to maximize the network lifetime.

3.5 Summary

  • E-BINA takes the advantageous features of cluster-based and tree-based approaches.
  • Instead of sending data directly to cluster-head, nodes form an aggregation tree in each cluster.
  • In aggregation tree, the selection of parent is based on two factors: hop distance and residual energy of node.
  • Energy model is based on first order radio model.
  • Protocol requires all nodes to adjust their transmission power.
  • Protocol defines two types of packets: configuration packet and data packet.
  • Each node eliminates redundancy in the data by satisfying equation (3).
  • In-network aggregation is performed during data flow towards cluster-head.
  • Issue: Adjustment of transmission power after deployment requires extra programming effort.