You are on page 1of 4

Clustering Hierarchy Protocol in Wireless Sensor Networks Using an Improved PSO

Algorithm
Abstract:
Maximizing network lifetime is a major objective for designing and deploying a wireless
sensor network. Clustering sensor nodes is an effective topology control approach helping achieve
this goal. In this paper, we present a new method to prolong the network lifetime based on the
improved particle swarm optimization algorithm, which is an optimization method designed to
select target nodes. The protocol takes into account both energy efficiency and transmission
distance, and relay nodes are used to alleviate the excessive power consumption of the cluster
heads. The proposed protocol results in better distributed sensors and a well-balanced clustering
system enhancing the network's lifetime. We compare the proposed protocol with comparative
protocols by varying a number of parameters, e.g., the number of nodes, the network area size, and
the position of the base station. Simulation results show that the proposed protocol performs well
against other comparative protocols in various scenarios.

Existing system:
SEECH: Scalable energy efficient clustering hierarchy protocol:
They proposed two fitness functions are generated which determine competence of being
cluster head or relay for each node by merely considering their energy consumption. It is simply
done through node degree (order) criterion (number of neighbors in definite radius). Afterwards, in
each round a few nodes are selected from high level energy nodes according to fitness functions,
some of them are selected as cluster head and the others would play the role of relay node. Our
method is different from most of protocols where high level energy nodes are chosen as cluster
head and they are rotationally changed in each round. This is the major contribution of this paper.
There are few publications which assigned cluster head and relay role to different nodes. Even in
those studies each node has equal chance to be relay or cluster head. In fact, in these papers the
authors aimed to only distribute energy consumption between cluster head and its assistant.
Moreover, in this paper a novel distance-based method is proposed to uniformly distribute cluster
heads.

Drawbacks:
1. Two or more CHs may choose the same relay nodes, which will expedite the energy
depletion of the selected relay nodes.
2. extra energy consumption is required when a CH chooses its relay node
3. The location of nodes is not taken into consideration in the selection of relay nodes.

Proposed work:
Although the aforementioned protocols are able to prolong network lifetime to some
extent, there is no guarantee that the selected node is best t as a cluster head. There are two main
reasons. Firstly, some nodes with lower energy are probabilistically determined as the cluster heads,
which will exacerbate the energy consumption of these nodes. Secondly, some nodes are not
suitable to be at the center of a cluster because of their location. If a node near the boundary of the
network is selected as a cluster head, energy consumption will increase because the cluster head is
far from the BS.
We propose a new clustering protocol using an improved particle swarm optimization
(PSO) algorithm. Firstly, we use relay nodes to offload the energy consumption of the CHs. Different
from these protocols, in our paper, every cluster head has a corresponding relay node in our
protocol, which has two benefits: 1) the cluster heads do not need to consume additional energy to
choose their next-hop node; 2) channel contention which arises when choosing relay nodes by the
cluster heads can be avoided. In addition, the selection of the relay nodes is based on not only the
residual energy, but also the distance to the corresponding cluster head and the BS. Then, two
fitness functions are generated which determine whether a node is selected as a cluster head or a
relay node, in consideration of both their location and residual energy. The selection of the cluster
heads and relay nodes as is formulated an NP-hard problem. And an improved PSO algorithm is
proposed to achieve the optimum solution.

Drawbacks:
 They didn’t consider energy and overhead of the network which may increase while
data transmission.

Extension work:
Network coding is a technique which allows the intermediate nodes to encode data packets
received from its neighboring nodes in a network. The encoding and decoding methods of linear
network coding are described below.
Encoding operation:
A node, that wants to transmit encoded packets, chooses a sequence of coefficients
q = (q1, q2, ..., qn), called encoding vector, from GF(2s). A set of n packets Gi(i = 1, 2, 3, 4, ..., n) that
are received at a node are linearly encoded into a single output packet. The output encoded packet
is given by

The coded packets are transmitted with the n coefficients in the network. The encoding
vector is used at the receiver to decode the encoded data packets.
Decoding operation:
A receiver node solves a set of linear equations to retrieve the original packets
from the received coded packets. The encoding vector q is received by the receiver sensor nodes
with the encoded data. Let, a set (q1, Y 1), ..., (qm, Y m) has been received by a node. The symbols Y
j and qj denote the information symbol and the coding vector for the jth received packet
respectively. A node solves the following set of linear equations (2) with m equations and n
unknowns for decoding operation.

At least n linearly independent coded packets must be received by the recipients for proper
decode of the original packets. The only unknown, Gi, contains the original packets that are
transmitted in the network. The n number of original packets can be retrieved by solving the linear
system in equation (2) after getting n linearly independent packets.
The XOR network coding, a special case of linear network coding , has been used in this
work. The coded packets that are transmitted in the network are elements in GF(2) = {0, 1} and
bitwise XOR in GF(2) is used as an operation.

Algorithm1:
ALGORITHM 1: DataPacketProcess(Pi) : DataPacket processing
at a node inside the network coding layer
Require: DataPacket transmission and reception starts, received DataPackets inserted
into the RecvDataQueue()
Ensure: Encoded DataPacket transmitted or discarded
1. Pick a DataPacket Pi from RecvDataQueue(Pi )
2. If DataPacket Pi ∈ ForwardDataPacketSet(Pi ) exit;
3. If Node n ∈ EncoderNodeSet() continue;
4. If native(Pi ) then
5. CN =ExorEncoding();
6. Node n transmits the coded DataPacket CN to Sink
7. Insert the processed DataPacket Pi to ForwardDataPacketSet();
8. else
9 Discard(Pi);
10 endif
10. else
11. Node n acts as relay and transmits the DataPacket Pi to the Sink;
12. endif
13. endif
14. If (RecvDataQueue() = empty)
15. goto step 1;
16. else exit;
17. endif

Algorithm 2:
ALGORITHM 2: ExorEncoding() : Encoding algorithm
Require: A received queue RecvdataQueue() and a sensed queue SenstheQueue()
is maintained at an encoder node
Ensure: Generation of network coded packet CN
1. If SenstheQueue() is not empty then continue;
2. Pick a packet Pi from head of the RecvdataQueue();
3. Pick a packet Pj from head of the SenstheQueue();
4. CN = Pi ⊕ Pj ;
5. else
6. Pick next packet Pi+1 from the RecvdataQueue();
7. CN = Pi ⊕ Pi+1;
10. endif;
11. return CN

Encoding and decoding operation diagram:

You might also like