Distributed Dynamic Clustering Algorithm in ... - Semantic Scholar

Report 3 Downloads 242 Views
Distributed Dynamic Clustering Algorithm in Uneven Distributed Wireless Sensor Network Arun K. Somani, Shubha Kher, Paul Speck, and Jinran Chen Dependable Computing and Networking Lab Iowa State University Ames, Iowa 50010 Email: {arun, shubha, pauls, jrchen}@iastate.edu

Abstract— We propose a distributed, light weight, scalable clustering algorithm for clustering in wireless sensor networks (WSN). The clustering algorithm is suitable in an environment where sensors are deployed randomly. The clusters are distributed over the deployment and are not necessarily of the same size in terms of the number of nodes in a cluster. The actual sizes are governed by the radius of the radio signal range. Cluster formation allows each node to join only one cluster. Each cluster head can either communicate with other cluster head directly or through an intermediate member node. Each cluster thus formed can communicate with the base station through an overlay network of cluster heads and intermediate nodes in between. We show that the clustering algorithm converges fast independent of the number of nodes deployed. We analyze the performance of clustering algorithm using simulation. Results show that very few nodes (less than 5%) are not able to join a cluster (or remain orphan); many are isolated due to random deployment and communication range limitation. Keywords: Wireless sensor networks, clustering, coverage, distributed algorithm

I. I NTRODUCTION Lifetime of sensor nodes determines lifetime of a network, which is important for sensing applications [1][2]. Among the important techniques proposed for prolonging a sensor network lifetime is by using a hierarchical architecture or clustering. It is well known that use of clustering and hierarchical communication make the sensor networks energy efficient [3][4][5]. This helps to increase the lifetime of the sensor nodes. However, the primary drawback of hierarchical control is the control overhead; it is essential that the overhead does not dominate the network operations cost [6][7]. The clustering algorithm should also scale to the network sizes and the nodes that are awake at any point in time must preserve the desired sensing coverage of the entire network utilizing redundant deployment. Related work on sensor deployment, cluster formation and energy efficient routing has been presented in recent research literature [1]-[16]. In [1] an intelligent energy efficient deployment algorithm for cluster based WSNs is described, in which the sensor node decides to join a cluster or remain a peer to peer model based on the sensor density and present energy level. However, this work does not consider the cost involved in forming such clusters. The work proposed by Guo in [2] discusses a cost efficient cluster formation method, which includes classification of cluster objects. However, the

method employs deploying sentries (CH) in the center of each cluster. It essentially assumes that topology of deployment is known and as to how many clusters will exist. The HEED protocol given in [3] is a distributed protocol that primarily elects cluster heads according to their residual energy which is independent of node distribution. HEED considers uniform distribution of nodes. Further since cluster head selection is based on residual energy, it is possible that nodes with high residual energy are clustered in one region in the network. In [12] the cluster formation algorithm discusses about cluster operation time for, scheduling, and data collection. Here the focus is on communication aspects. It also includes communication issues in single hop and multi-hop networks. CH selection in [16] limits the selection to the node having high residual energy in comparison to other nodes. However it does not discuss if it would be effective in a topology where communication between cluster heads is required. Most of the existing algorithms are well suited for uniformly deployed sensors in the field. We present a dynamic distributed clustering algorithm next. The paper is organized as follows: The paper is organized as follows. Section II highlights the cluster formation mechanisms; Section III discusses distributed dynamic algorithm. Section IV gives the analysis of the algorithm and simulation results. Section V highlights performance evaluation. Section VI includes the conclusion and future work. II. C LUSTER F ORMATIONS The most power consuming activity of a sensor node is typically radio communication. Hence, radio communication must be kept to an absolute minimum; this means that the amount of network traffic should be minimized. In order to reduce the amount of traffic in the network, we build clusters of sensor nodes. Some sensor nodes are selected to become cluster heads. Cluster head collect all traffic from the nodes in their respective clusters. Each cluster head aggregates the collected data and then sends them to its base station. This minimizes the total energy consumption by each node in comparison to a scheme in which all nodes are required to directly send their information to base station either in one hop or using a point-to-point route. However, such a collection, aggregation and transmission of the information, increases the work load of the cluster head in comparison to the other

members of the cluster (non-cluster heads or member nodes). As a result the energy consumed by the cluster head is much higher than the other nodes. In order to equalize the energy consumption among nodes, it is imperative that the cluster formation and cluster heads are changed several times during the lifetime of the sensor network. This allows for distribution of the extra workload and the total energy consumption among many nodes. The design of clustering schemes faces two essential challenges, namely. 1) How many clusters are required to be created? 2) How should the clusters be formed? To answer the first question, some effort has been made to prove the existence of an optimal number of CHs in various scenarios and derive the optimal value. In [4], Heinzelman et. al. have proposed a distributed algorithm for micro sensor networks in which the sensor elect themselves as cluster heads with some probability and broadcasts their decisions. This algorithm allows only 1-hop clusters to be formed, which might lead to a large number of clusters. They have not discussed how to compute the optimal number of cluster heads. They analyzed the single hop case and presented an analytical model to obtain optimal number of CHs as a function of several parameters including the dimension of the sensing field, number of sensing nodes and the computation and communication energy models. In [5], Bandopadhyay built a mathematical model for calculating the optimal number of CHs in multi-hop Wireless Sensor Network. Their results show that for hierarchical clustering power requirement of each level of clusters will be different. They also show that clusters heads would run out of energy faster than the other nodes. Although not analyzed in the paper, they propose to run the algorithm periodically for load balancing. This is also the focus of work in [6][7][8][9]. The second question includes two aspects: how to select the CHs and how to associate a non-CH node to a particular cluster. Depending upon the design objectives and application scenarios, existing clustering schemes can be classified into various different categories. For instance, a clustering scheme may work either in a centralized or distributed fashion. A scheme can be applied to either homogeneous or heterogeneous networks. The CHs selection can be weight dependent or weight independent (randomized) where a weight represent a figure of merit for the importance of a particular sensor or a group of sensors. Procedure for CHs selection may be completed within one step or iteratively. The hierarchical structure of the cluster can be single tier or multi-tier. The communication mode within the cluster can be single hop, multi-hop or hybrid. Each of the categories has advantages and disadvantages. In general schemes with more complicated control can lead to near optimal energy efficient solutions. However it will introduce higher overhead for the co-ordination and control mechanism which is time and energy consuming. Consideration of this question is thus based on some observations. Firstly, in general it is not practical or economical to use a centralized controller for CH selection and cluster formation in large scale WSN. Secondly, a CH consumes

more energy than its MNs (member node). For the sake of fairness, dynamic CH selection is preferable over a static CH assignment. Thirdly, CHs are expected to be distributed evenly in the network. Therefore a practical WSN scheme would be a distributed algorithm and employ dynamic clustering mechanism apart from CH selection. The class of distributed, dynamic and randomized (DDR) clustering schemes are interesting due to their simplicity, feasibility and effectiveness in providing energy efficient utilization, load balancing and scalability simultaneously. In this paper we develop a distributed dynamic clustering algorithm which is suitable to any sensor network application where deployment of sensors is random. The principle contributions of this paper are as follows. 1) The clustering algorithm is distributed in real sense, and covers maximum number of nodes in the deployed area. 2) The heuristic for cluster formation and cluster head election accounts for residual energy of all sensors nodes and the number of sparse nodes in the neighborhood of a node. 3) The algorithm has message complexity of O(k) where k is the number of neighbors (in the transmission range of a node) for a network of size n such that k Eth at all times, where Eth , is the minimum threshold energy level required for operation. • Each node belongs to only one cluster at a time and may change its cluster affiliation at the cluster head selection cycle. • Clusters remain defined at all times, but cluster head is selected periodically. • Each cluster is identified by the ID of the selected cluster head’s node ID. • Each CH schedules the communication for its member nodes (MN) in the cluster. C. Definitions and Notations Definitions: Cluster formation time TF : This refers to the time required for cluster formation. This time is spent only once initially when the clusters are being formed as shown in Figure 2.

Fig. 2.

Cluster formation and cycle time depiction

Each node is initially assumed to be synchronized. This can be achieved by assuming that power is turned on almost simultaneously and then nodes wait for a sufficient time after broadcasting their initial message for cluster formation to allow for late entering nodes. Alternately, a base station may broadcast a strong signal to initialize all nodes and start the process. Thus all nodes have the information on the beginning of a cluster formation time (TF ) and the cycle time (TC ). TF and TC are the same for all nodes. Within a cluster, TCH may vary slightly, resulting into different TCO . Notations: • ui or uj denotes a node. • S = {u1 , u2 , ..., un } denotes the set of n nodes. • N (ui ) denotes the neighbors of node ui . • A node is an ORPHAN if N (ui ) = φ. • A node is defined as a relatively SPARSE (SP) if it has only one neighbor. • N N (ui ) denotes the of neighbors of neighbors of ui and is computed using N N (ui ) = Uuj ∈N (ui ) N (uj ). • dij = Distance measure from node ui to uj . • E(ui ) = Energy level of node ui . • r(ui ) denotes the readiness, yes (1) or no (0) of node ui to become a CH. • N R(ui ) = List of readiness values of all neighbors of ui = r(uj |uj ∈ N (ui ). • w(ui ) = Weight of Node ui . • N w(uj ) = Weights of neighbors of ui , i.e = w(uj )|uj ∈ N (ui ). • C = {C1 , ..., Cm } represents a set of m clusters. • Ci = (ui0 , ui1 , ..., uiI ) is cluster Ci with I + 1 MNs. • CHi = Cluster head of cluster Ci . • IN (ui ) = Invitation from a cluster initiator ui to all neighbors to join.

D. Clustering Algorithm Description Our clustering algorithm comprises of five main steps: 1) Initialization; 2) Information exchange and neighborhood detection; 3) Cluster formulation; 4) Cluster reduction; and 5) Cluster head selection. During the initialization step, each node broadcasts a ”Hello” messages with its own ID to all neighbors within its listening range. At these points nodes may wait to synchronize for sufficient time to receive response before proceeding further. The nodes in a node’s neighborhood receive the Hello message and respond by sending their own ID back. Each node ui computes its distance dij from each of the responding node uj using the energy level of the received signal as a measure of distance. We assume that all nodes communicate using a fixed energy level. Each node prepares a list of its neighbors N (ui ). Each node also computes its readiness r(ui ) to become cluster head based on its own energy level by comparing it with energy threshold, Eth . Each nodes then sends its distance dij , its neighbors list N (ui ), and its readiness status r(ui ) to each of its neighbor uj . Each node ui upon receiving such information from all of its neighbors can compute its distance 2 neighbor sets N N (ui ), and a vector containing readiness status, N R(ui ), for each of its neighbor in set N (ui ). Using this information each node assigns a weight to itself w(ui ), which is simply the number of sparse neighbors in N (ui ) and transmits it to all of its neighbors. Each node thus has weights of all of its neighbors. In the next steps cluster formation begins. Each node checks the weights of all its neighbors and initiates a cluster with its own ID if it has a non-zero maximum weight in its neighborhood. Otherwise it simply plans to join a cluster initiated by one of its neighbors. If all nodes in the neighbor list of ui have ”0” weights, then cluster initiation is governed by number of neighbors a node has. If node ui has the maximum number of neighbors in its neighborhood then it initiates a cluster with its own ID and sends a message to its neighbors. Otherwise, it plans to join a cluster initiated by one of its neighbors. Nodes that receive such invitations join one of the initiators. If more than one neighbors of a node send a cluster joining message, the node may break the tie using the distance (minimum) criteria to choose a cluster to join. If a node does not receive any invitation and it did not initiate a cluster, then it is an isolated node, which should happen rarely. After going through this process, a cluster Ci = ui0 , ui1 , ..., uiI is formed where ui0 = ui . If i < 2 then it is not considered a valid cluster. The next step is cluster reduction. The purpose of the reduction is to identify if the number of clusters being formed can be reduced. The members of a reduced cluster are first checked and then asked to join other neighboring clusters. An initiator ui seeks reduction only if the cluster contains no sparse members and only of a small fraction fs (typically fs < 0.5) of its neighbors are members of the cluster. This is to ensure that no node is left as an orphan and the reduction

is going to be beneficial. If the conditions are met, then ui sends a message to enquire from each of its members if they can join other clusters. If the number of positive responses exceeds certain fraction, fr , of the membership of Ci , then it is removed. In our experiments we chose fr = 0.85. We suggest two rounds of cluster reduction. In our simulations we observed that that is sufficient. The final step of the algorithm is cluster head confirmation. This is based on the fact that the initiator node 1) is able to communicate with all members in the cluster; 2) has high energy level; and 3) has connectivity (through at least one node) to a neighboring cluster head. A cluster initiator will generally meet the first two conditions automatically through the process. The third one needs to be verified and if not met, either a member who can join another cluster and can provide connectivity is asked to join the other cluster is chosen to be cluster head. Otherwise this cluster will be isolated. E. Algorithm Algorithm in Pseudo Code: Step 1. Initialization: Node ui broadcasts “Hello” message with its ID (Figure 3 depicts some such nodes); Step 2. Node ui receives messages from neighbors, IF no message received THEN ui is ORPHAN; ELSE ui receives messages (with ID) and do: Collect: node IDs for received messages; Form: the neighbor set N (ui ); Compute: dij , for all neighbors uj ∈ N (ui ); IF # of messages ≤ 2 THEN ui is Sparse node; Compute: r(ui ) for node to become CH; Send: (dij , N (ui ), r(ui )) to all uj ∈ N (ui ); Form: Distance 2 neighbor set N N (ui ) and readiness of distance 1 nodes N R(ui ); Compute: weight w(ui ); Send: w(ui ) to all neighbors uj ∈ N (ui ); Collect: N w(uj ) weights of distance 1 nodes; // with the information each node either proposes a cluster or merges with a cluster// Step 3. Cluster Formulation: Select an initiator node: IF (r(ui ) = 1) and (N w(ui) 6= 0) THEN IF (w(ui ) ≥ w(uj )) for all uj ∈ N (ui ) THEN ui initiates a cluster; ELSE ui joins a cluster formed by uj ∈ N (ui ); ELSE each node computes |N (uj )| for all uj ∈ N (ui ); IF |N (uj )| ≥ |N (u))| for all uj ∈ N (ui ) THEN ui initiates a cluster; ELSE it joins a cluster to be formed by node uj ; // In the above step initiator node is ui or uj // Broadcast: Invitation IN (ui ), Receive: node ui receive the responses to form Ci where Ci = (ui0 , ui1 , ..., uiI ) and ui0 = ui , Sends: node ui sends Ci to all neighbors, //This is a proposed set for clusters. At this time there may

be nodes that join a cluster but they are also in the neighbor list of other clusters.// Step.4. Cluster Reduction: All initiators ui do two rounds of IF (w(ui ) = 0) and (fs · |Ci | ≤ |N (ui )|) THEN Enquire: ui asks members of Ci of their alternate cluster choices and receive responses; Reduce: If > (fr · |Ci |) members have choice to join other cluster then send message to accept invitation; Step.5 Cluster Head Selection: If |Ci ||N (uj )| THEN ui is confirmed as a CHi ELSE IF a node uij ∈ Ci can be reduced (see Step 4) THEN Create connectivity by reducing uij ; ELSE IF r(uij ) = 1 and (Ci − uij ) ⊂ N (uij ) THEN uij is confirmed as CHi ; ELSE Ci is Isolated; End of algorithm u7

Random deployment of 70 nodes over a field size 20 × 20

u8 u9

u4

u6 u

Fig. 4.

u3 u5

u0 u2 u1

Fig. 5. Fig. 3.

Cluster formation after Step 3

Node broadcasts to all neighbors

IV. A N EXAMPLE SIMULATION RUN AND OBSERVATIONS We developed a simulator to study the effectiveness and performance of our algorithm. We ran simulations for various deployments of sizes 70, 100, 150, 200, and 250 nodes over a 20 × 20 field. We present two cases in detail and summarize the others. Case I. Figure 4 shows a random deployment of 70 nodes for a grid size 20*20. Radius of communication for each node is 3 units on the grid. We depict the output of the algorithms after cluster formulation in Figure 5. It also shows the initiator cluster heads for each cluster. There are 20 clusters. The clusters initiators are shown with stars around them in Figure 4. The members of a cluster are shown within their respective boundaries. There are three orphan nodes marked by ’X’. This happens because due to random deployment they are outside of the communication range of all other nodes.

Case II: To study the scalability issues, we deploy 100, 150, 200, and 250 nodes over the same grid size. The goal is to see how the clustering algorithm performs when the number of nodes increases. As our second example, we present the results of a case deploying 200 nodes. Figure 6 depicts a 200 nodes random deployment over a 20x20 grid assuming that each node has a communication distance of 3. We also show the initial 32 cluster formulation after Step 3 in Figure 7. Due to high density, there are no orphan nodes after initial cluster formulation. V. P ERFORMANCE E VALUATION In this section we present the results of study on the analysis of the algorithm and the performance we observed with respect to various parameters for various systems. The algorithm described above meets the goal of the model we set for ourselves. We first make a few observations. The algorithm

A. Cluster Reduction and Orphan Nodes Figure 8 and Figure 9 show the effects of the two cluster reduction steps in case of the 70-node example system with fs=0.5 and fr=0.85. As described earlier, in the reduction step a cluster head dissolves a cluster if most of its members can join other clusters.

Fig. 6.

Random deployment of 200 nodes over a field size 20 × 20

Fig. 8.

Fig. 7.

Clusters after first reduction (70 nodes)

Initial clustering with 200 nodes

is completely distributed. A node can either be a cluster head or join a cluster according to its own and its neighbor energy level and the number of nodes in its neighborhood. However, in a random deployment nodes may be isolated or may be sparsely connected. No algorithm can account for isolated nodes and they may not operate as part of the network even if they are active. The only possible solution for such nodes is that the base station may monitor and suggest some manual correction. We also present some simple proofs for some of the requirements of the model Lemma 1. A node belongs to only one cluster. Proof: During cluster formulation, a node joins one cluster. During cluster reduction step a cluster may be reduced. In this case each member node chooses to some other, but only one cluster. In CH confirmation step, at most one node may switch a cluster on demand from current CH. Thus at all times, a node belongs to only one cluster. Lemma 2. A node is either a CH or a member of a cluster or an ORPHAN at any time. Proof: Obvious.

Fig. 9.

Clusters after second reduction (70 nodes)

As a result of reduction steps, the number of clusters is reduced. However, it may result in some nodes in the original clusters becoming orphans. In Figure 8 we note that the number of clusters reduces from 20 to 17 while the number of orphan nodes goes up from 3 to 4. This is because we have an additional constraint in implementation of our algorithm that a cluster has to consist of at least three nodes. Otherwise the isolated node 12 (in Figure 4) could become a cluster by itself. In the second reduction step, in Figure 9, we observe a further reduction in the number of clusters from 17 to 16 while the number of orphans goes up from 4 to 5.

# of clusters before and after cluster reduction (100 simulations) Number of Clusters

Since the number of clusters has a large impact on the overall energy consumption, it is important to reduce the number of clusters. It allows for an efficient data collection and aggregation within a cluster. A CH schedules communication within a cluster to achieve efficiency. After that it aggregates the information and transmits it to the base station. In a smaller network, number of hops will be smaller. An observation we make here is that the factors fr and fs are tunable parameters in our algorithm. One must be able to adjust them to achieve tolerable performance with respect to the number of orphans. For example smaller fs and larger fr will yield smaller reduction in the number of clusters, but will also keep the number of orphan nodes to be smaller. Figure 10 shows the results after the cluster reduction step in a 200-node system. It results in 16 clusters while increasing the number of members in each cluster. The obvious effect of a dense deployment is that the cluster head is more panelized in energy consumption. This suggests that in a dense deployment, the data aggregation function within a cluster may require special attention for efficiency.

30 25 20 15 10 5 0

Before Reduction After Reduction

70

150

250

Number of Nodes Deployed

Fig. 11.

Reduction summary for 70, 150, and 250 node systems

C. Number of Orphan Summary Figure 12 shows the number of orphans with the proposed clustering algorithm is independent of the number of nodes deployed and reduces with increase in the number of nodes. For example, in a 70 node system, number of orphans is 7%. It is 2%, for 150, and 1% for 250 node systems.

Percent of nodes that are orphans

% of nodes that are orphans before and after cluster reduction (100 simulations)

Fig. 10.

20.00% 15.00%

Before Reduction

10.00%

After Reduction

5.00% 0.00% 70

Clusters after reduction step (200 nodes)

150

250

Number of Nodes Deployed

A possible refinement in our algorithm may be to include partitioning of a cluster into two to accommodate further reduction in additional orphans created during cluster reduction. However, tearing a cluster is complicated in a distributed environment as it is not possible to identify easily which cluster is most beneficial to partition further. It is also apparent that changing the radius of communication will yield larger/smaller sized clusters also affecting number of clusters. B. Cluster Reduction Summary Figure 11 depicts the average reduction achieved in various size systems over the 100 runs in simulations. The figure shows the average number of clusters before and after cluster reduction for 70, 150, and 250 node deployments. It is a significant reduction. For example in the case of 250 node system, the average number of clusters goes down from 28 to 20.

Fig. 12.

Number of orphan nodes for various deployments

D. Cluster Convergence and Communication The objectives of the distributed dynamic clustering algorithm are: 1) to cover maximum number of sensors deployed randomly over the field; 2) to achieve convergence faster i.e. to keep TF small; 3) to form cluster and elect cluster head with minimum exchange of messages; and 4) to achieve optimal number of clusters by merging while maintaining connectivity between clusters. During our simulation experiments, we found that the cluster formation algorithm converges fast and is independent of size of the field and number of nodes. The algorithm is

powerful as it tries to capture almost all of the sparsely connected nodes. However, there may be some nodes in random deployment, which are not in the communication range of any node. Such nodes will remain ORPHAN irrespective of what algorithm is used. During our experiments, we noticed that overall we are able to cover more than 95% of the nodes. The percentage of ORPHAN nodes is mostly dependent on the randomness of deployment and not on how well the clusters are distributed. For cluster convergence, it is interesting to note that, between cluster formulation and cluster reduction, a cluster may break apart because only one node joined the proposed cluster (size of cluster must be > 2). As noted earlier, in this work, we do not promote the idea of breaking clusters apart to accommodate clusters of size 2. However, this idea could be explored further to see its effect on merging. In the beginning of the clustering process, if a node has any sparse neighbor, it would propose a cluster invite nodes within its range to join it. In such a case, the node is also the candidate to get confirmed as a cluster head. However, it may not be able to communicate with any other cluster if all of its neighbors (within its communication range) are part of its cluster. In this case, the cluster would be an isolated cluster. Since our design requirement is that each cluster head must be able to communicate with the other clusters heads either directly or through some intermediate nodes, the outcome is not acceptable. Such a scenario is shown in Figure 9. Observe cluster 2 and cluster 4 in the figure for the 70 node deployment simulation. Each of the heads of these clusters (nodes 2 and 4, respectively) had a sparse neighbor and thus proposed a cluster. All nodes within the range of cluster heads joined these two clusters, and as cluster heads they are not able to communicate with clusters. Fortunately, in the last step of the algorithm, Step 5, we propose to check for this condition. If such a condition exists, we either ask a member of this cluster to join another cluster and provide connectivity or ask another node that has a neighbor who can provide connectivity and meet the other requirements to become the CH. E. Cluster Connectivity In this section, we summarize the cluster connectivity that is achieved after the clustering algorithm is completed. We demonstrate the connectivity through the two examples discussed above in the paper. For case I, the dynamic clustering results in 16 clusters for 70 nodes deployed randomly. The size of the cluster is limited by the range of communication. Except clusters 1, 2, and 4, all other clusters are directly connected to other clusters. The CHs of these unconnected clusters do not have a direct connectivity with other clusters heads. However; these clusters establish connectivity via member nodes. These intermediate member nodes contribute to receiving and relaying the data from one cluster head to another cluster head along with sensing and transmitting their own data. Notice that in this paper, we do not carry out the actual work load on the CH or any other node as it is out of the scope of paper. The actual nodes providing

connectivity for the two cases are is shown in Figure 13 and Figure 14, respectively.

Fig. 13.

Cluster connectivity for 70 nodes

Fig. 14.

Cluster connectivity for 200 nodes

Figure 15 shows the cluster connectivity of the network for 70, 150, and 250 nodes. This gives a comparison in the connectivity profile of the clusters before and after reduction. It can be seen that almost 95% connectivity is achieved between the clusters with 150, and 250 nodes. Lemma 3. For a given size of field, the number of clusters generated is relatively independent of number of nodes deployed. Proof: Step 3 of the algorithm initiates cluster forming. Nodes either choose to initiate a new cluster to merge in an initiated cluster when they are within a distance of dij of a initiator node. Although the initiators are randomly located, if two clusters are too close, their neighbors will split between the two and one of them will most likely end up reducing itself with high probability (we do not provide probability of reduction due to space limitation here). Qualitatively, clusters head locations are bounded by the distance measure. In the event of sparse/dense deployment, more or less member will join a cluster, but relative number of clusters will be almost constant. This is also shown in Figure 11. It can be seen that number of clusters after reduction in case of 150, 200 and 250

% of clusters with CH Connectivity

% of clusters with CH Connectivity before and after cluster reduction (100 simulations) 100.00% 80.00% 60.00%

Before Reduction

40.00%

After Reduction

20.00% 0.00% 70

150

250

Number of Nodes Deployed

Fig. 15.

Cluster head connectivity profile

Number of Clusters

Cluster Head Connectivity 20 15 10 5 0

Direct CH Connectivity 1-Hop

70

150

250

ACKNOWLEDGEMENTS The work is funded by an NSF project ECS 0428040, Jerry R. Junkins Chair Endowment at ISU, and ICUBE at Iowa State University. R EFERENCES

nodes remains the same. This provides an empirical proof for Lemma 3. There may be 100% connectivity between the cluster heads in cases where deployment is dense. Otherwise clusters connect through intermediate nodes to achieve full connectivity between the clusters. Figure 16 depicts the number of hops between clusters for various deployments. We have not investigated the overhead in using intermediate nodes for information.

2-Hops

Number of Nodes Deployed

Fig. 16.

sleep, sensing, transmitting and receiving) over the cluster operation time TCO ; 4) data collection and aggregation issues in uneven clusters; 5) communication overhead for cluster heads with cluster head connectivity.

Cluster heads connected directly or via hops to other cluster heads

VI. C ONCLUSION AND FUTURE WORK A distributed dynamic clustering algorithm for wireless sensor networks is developed and analyzed. It is shown that we achieve the number of clusters that primarily depends on the size of grid. The algorithm converges fast. The algorithm scales well to any size of the network and is completely distributed. The simulation results show that for a very sparse deployment of nodes over a region, there may be some nodes that remain not connected due to inherent limitation of sparse nature of nodes. However, with increase in the number of nodes the number of unconnected nodes decreases achieving clustering of around more than 95% of the nodes. We would further extend our algorithm to 1) evaluate effect of fs and fr on the cluster size and cluster connectivity; 1) evaluate the energy issues of the cluster heads for uneven cluster sizes; 2) number of orphans generated by cluster reduction and their possible connectivity with a cluster; 3) include the cluster head scheduling (the cluster members for

[1] Malka Halgamuge, Siddeswara Mayura Guru and Andrew Jennings; Energy efficient Cluster Formation in wireless sensor networks, International conference on telecommunications ICT 2003, IEEE Press. [2] Yuon Guo, Janise Mcnair, Cost Efficient Cluster Formation for wireless sensor networks, Proc. of CITSA 2004, Orlando, FL, July 2004. [3] Ossama Younis and Sonia Fahmy, HEED: A hybrid energy efficient, distributed clustering apparoach for Ad-hoc sensor networks, IEEE Transactions on Mobile Computing, Oct.-Dec. 2004, Volume: 3, Issue: 4, p.p. 366 - 379. [4] W.Heinzelman, A. Chandrakasan, and H. Balakrishnan, Energy efficient Communication Protocol for wireless microsensor networks, Proc of Hawaii conference on System Science, Jan 2000. [5] Seema Bandopadhyay, Edward J.Coyle, An Energy efficient hierarchical clustering algorithm for wireless sensor networks, Proc. of IEEE INFOCOM 2003, San Francisco, CA. [6] Srejan Raghuwanshi and Amitabh Mishra, A Self adpative clustering based algorithm for increased energy efficiency and scalability in WSN, Proc. IEEE VTC 2000. [7] Gaurav Gupta, Mohammed Younis, Load balanced clustering in wireless sensor networks, proc of IEEE ICC 2003. [8] Li Chunwang, Chung Wei Wang, A cross layer design of clustering architecture for WSN, Proc. of IEEE ICNSC, 2004 Taipei, Taiwan. [9] Ewa Hansen, Jonas Neander, Mikael Nolin, Mats Bjorkman; Efficient Cluster Formation for Sensor Networks, MRTC report ISSN 14043041 ISRN MDH-MRTC-199/2006-1-SE, M?lardalen Real-Time Research Centre, M?lardalen University. [10] Quan hong Wang, Hossam Hassanein, Glen Takahara, Stochastic modeling of Distributed, Dynamic, randomized clustering protocols for wireless sensor networks, Proc of IEEE international conference on Parallel processing workshops ICPPW 2004. [11] T. T. Huynh and C. S Hong, An Energy* Delay Efficient Multi-Hop Routing Scheme for Wireless Sensor Networks*, IEICE Transactions on Information and Systems 2006, vol. E89-D(5):1654-1661. [12] C. Buratti, A. Giorgetti, R. Verdone, Cross-Layer Design Of An EnergyEfficient Cluster Formation Algorithm With Carrier-Sensing Multiple Access For Wireless Sensor Networks, EURASIP Journal on Wireless Communications and Networking, Vol. 2005, Issue 5, Pages 672-685. [13] Wang, Y., Wang, W., and Li, X. 2005. Distributed low-cost backbone formation for wireless ad hoc networks. In Proceedings of the 6th ACM international Symposium on Mobile Ad Hoc Networking and Computing (Urbana-Champaign, IL, USA, May 25 - 27, 2005). MobiHoc ’05. [14] He, Y., Zhang, Y., Ji, Y., and Shen, X. A new energy efficient approach by separating data collection and data report in wireless sensor networks. In Proceeding of the 2006 international Conference on Communications and Mobile Computing (Vancouver, British Columbia, Canada, July 03 06, 2006). IWCMC ’06. [15] Shu, T., Krunz, M., and Vrudhula, S. 2005. Power balanced coveragetime optimization for clustered wireless sensor networks. In Proceedings of the 6th ACM international Symposium on Mobile Ad Hoc Networking and Computing (Urbana-Champaign, IL, USA, May 25 - 27, 2005). MobiHoc ’05. [16] Wang, W. and Jantsch, A. 2006. An algorithm for electing cluster heads based on maximum residual energy. In Proceeding of the 2006 international Conference on Communications and Mobile Computing (Vancouver, British Columbia, Canada, July 03 - 06, 2006). IWCMC ’06.