
cluster, the nodes in the network will exchange a set of messages. These messages are 
invitation message, response message, confirmation message, negotiation message 
and acknowledgement. Invitation message is a broadcast message used by the cluster 
heads to invite other nodes in its communication range to create clusters. This 
message contains the ID of the cluster head. Response message is send by the nodes 
who receives invitation message. This is an indication that the node is reachable from 
the cluster head and it is ready to join the cluster. The message includes the node ID, 
number of invitations, and the IDs of inviting nodes and corresponding signal 
strengths. Negotiation message is transferred between the cluster heads to 
compromise the number of cluster members and link nodes in each cluster. This 
maintains a minimum and maximum limit in the number of nodes in the cluster. 
Confirmation message is send by the cluster heads to confirm the membership in the 
cluster by specifying the ID of the cluster head. After receiving confirmation 
message, the cluster members will send an acknowledgement to the cluster head. 
In the cluster generation process, cluster heads will broadcast an invitation 
message to all the neighboring nodes. The nodes receiving invitation will send a 
response message to all the inviting nodes. If the signal strength of any of the 
invitation message is less then it will ignore the invitation otherwise send a response. 
The cluster head will store the details of response messages in a table. The nodes 
receiving invitation from more than one cluster head are the candidate of a connection 
node which is a bridge between the communications of two cluster heads. Using any 
one of the connection nodes, the neighboring cluster heads will communicate with 
each other to make an agreement between numbers of cluster members and 
connection nodes. The network design supports only at most two connection nodes 
between two clusters in order to avoid energy wastage of these nodes. Depending on 
the total number of cluster members of neighboring cluster heads, the extra 
connection nodes will be changed to cluster members of any one of the cluster head 
and update the cluster table. The cluster heads will send a confirmation message to all 
nodes in its cluster table. By receiving this confirmation message, the member nodes 
will store the ID of cluster head and send an acknowledgement to the cluster head. If 
the cluster head is not receiving the acknowledgement after the timeout period, it will 
retransmit the confirmation message. All cluster heads in the network knows the 
number of hops to the sink node from that node. These cluster heads have to forward 
the aggregated data to the sink node. For fast and effective forwarding, the number of 
hops travelled by the packet should be less. We used Dijkstra’s shortest path 
algorithm [11] to find the shortest path from each cluster head to sink node. It uses 
number of hops to the sink as metric of the algorithm. The shortest path information is 
added to the routing table of each cluster head and connection node. 
Communication Phase 
In this phase, the actual communication between nodes takes place. The cluster 
members will send the sensed the data periodically to the cluster head. The sampling 
rate can be changed by the sink node in case of any suspect in that particular area. 
Cluster heads aggregates the data coming from different sensors and forwards it to the 
sink. The sink will receive the aggregated message from all cluster heads and analyze 
the data. The messages exchanged in this phase are synchronization message, data 
message containing sensed data from cluster members and aggregated data message 
that is to be forwarded to the sink node.The cluster members will send the data 
66