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