• Aucun résultat trouvé

Combined and Additional Approaches

Sensor Networks: A Graph Theory Perspective

7.3 GRAPH-BASED APPROACHES FOR CLUSTERING IN WSN

7.3.4 Combined and Additional Approaches

In this section we present some other clustering mechanisms that combine some of the previously explained approaches and therefore cannot be classified in only one of the categories. We include the Zonal Algorithm, the Max-Min D-Cluster formation, and the Topology Adaptive Spatial Clustering algorithm (TASC).

The Zonal Algorithm proposed in reference 26 aims to find weakly connected dominating sets in the network. The algorithm consist of three phases: (1) An input graph representing the network is partitioned into regions of approximately sizex. (2) The distributed algorithm for weakly connected sets is run in each region. (3) Some additional border vertices are added.

In phase 1, graph partitioning using minimum spanning forests, a sender v of degreed(v) can broadcast to its neighbors in constant time withO(d(v)) messages. A vertex can also send a message to any adjacent vertex in constant time. For finding a Minimum Spanning Tree (MST), all edge weights are distinct, breaking ties using the vertex IDs of the endpoints. The MST is unique for a given graph with distinct edge weights. The algorithm maintains a spanning forest. Initially, the spanning forest is a collection of trees of single vertices. At each step the algorithm merges two trees by including an edge in the spanning forest. During the process of the algorithm, an edge can be in any of the three states: tree edge, rejected edge, or candidate edge.

All edges are candidate edges at the beginning of the algorithm. When an edge is included in the spanning forest, it becomes a tree edge. If the addition of a particular edge would create a cycle in the spanning forest, the edge is called a rejected edge and will not be considered further. In each iteration, the algorithm looks for the

u

Figure 7.7. GHS (Gallager, Humblet, and Spira) algorithm for finding an MST (Minimum Spanning Tree).

candidate edge with minimum weight, and the algorithm changes it to a tree edge merging two trees into one. During the algorithm, the tree edges and all the vertices form a spanning forest. The algorithm terminates when the forest becomes a single spanning tree. This partitioning process is based on the GHS algorithm proposed in reference 27, however, any distributed algorithm for constructing spanning trees can be used. Figure 7.7 shows an example of the zonal division obtained after applying the GHS algorithm.

In phase 2, for computing the weakly connectedDSGof the regions, they use a color-based algorithm. This is a distributed implementation of the centralized greedy algorithm for finding small weakly connectedDSGin graphs. The root of the spanning tree is used as an arbitrator. The root starts an iteration by broadcasting a request through the tree to search for the vertex with the maximum improvement value. Once the root has determined the global maximum, it sends a message to that vertex and colors it. Phase 3 is used to fix the cluster borders by constructing a bipartite graph.

Two regionsRi andRj joined by a dominated edge can comprise a single region with a dominating setSiSj and do not need to have their shared border fixed. If neighboring regionsRiandRjare not joined by a shared dominated edge, the region with the lower subscripts adds a new vertex from the RRi

j border into the dominating set. Figure 7.8 shows an example whereR3andR4share a dominated edge and would be fixed into one only regionR3.

In reference 28, the author presents a polynomial-time approximation algorithm to minimize the number of clusters in the network. First, it uses the concept of vertex cover to create the clusters and then creates a tree inside each cluster to improve the transmission processes in the network. This approach uses the community access network concept to connect static wireless networks with a wired backbone network.

178 CLUSTERING IN WIRELESS SENSOR NETWORKS: A GRAPH THEORY PERSPECTIVE

w

y

v u

R1

R2 R3

R4 R5

Figure 7.8. Border fixing in the zonal clustering algorithm.

It divides the network into clusters and selects a single access point at each cluster.

This access point has a direct link to the wired network and acts as a gateway between the wireless nodes and the wired network.

For its execution, the proposed algorithm assumes that the upstream and down-stream bandwidth requirements of every node in the network are the same. It also assumes that there is a maximal weightW ∈R+for the graph. The algorithm per-forms an initial operation to create the clusters and in the process takes into account the following constraints: (a) The resulting clusters should be disjoint, which means that every node is included in a single tree; (b) they should contain all network nodes;

(c) each cluster must induce a connected graph with fixed boundR, which is the radius for multihop routing with bounded propagation delay and therefore is the maximum value for the depth of every tree; and (d) a spanning tree T is created inside each cluster to simplify the routing process and maximize the network utilization. The delivery trees inside the clusters must cover all the nodes in the network. Each node knows its parent and its descendant nodes in T. The total weight of all the nodes in a tree is at mostW. A graph decomposition that satisfies the previous requirements is called a feasible partition, and every tree in the partition is called a feasible delivery tree.

In the first stage of the clustering algorithm, it looks for the minimal number of cluster heads such that they cover their R-neighbor nodes. The author proposes three different ways to select the CHs: (1) to use the greedy set cover algorithm proposed in reference 29, (2) to use a shifting strategy approach, which is based on the “divide-and-conquer” method and performs a series of shifting operations to subdivide the networks in a progressive manner, finding a near-optimal solution but with the expense of a high running time, or (3) to use a dominating independent set approach, where each iteration of the algorithm selects the node with the maximal number of uncovered nodes in the R-neighborhood of each nodev. The second stage of the algorithm performs a cluster refinement by associating each node with its

closestyiY (the CHs set), and it breaks ties by selecting the CH with the lowest ID. The third stage creates the tree inside the cluster and executes a post-order tour of the tree to calculate its total weight. Finally, the algorithm reduces the relay load of the cluster nodes by selecting as an access point a node that is closer to the tree center. The root of every treeT is the access point to the wired network. This root node coordinates all the transmissions inside the clusters by using slotted channels and polling mechanisms. The delivery mechanism attempts to maximize the clusters’

throughput.

According to the simulations presented in reference 28, this clustering technique yields results close to optimal. Since the weight partitioning algorithm allows the average cluster size to be as small asW/3, it produces clusters that are small in com-parison to other clustering techniques. However, there is a drawback in this proposed technique: The access point constitutes a single point of failure in each cluster. If the access node is a cute node (if its removal leaves the graph disconnected), the system attempts to attach the disconnected nodes to an adjacent cluster. Otherwise, the al-gorithm should send the proper recovery messages to modifyT for reconnecting the detaching nodes, which can be very costly for a WSN. In the Max–Min D-Cluster formation proposed in reference 30, the CHs are selected such that they form a d-hop DSG, whered >1 distance hops form the vertices in theDSGaway from any other vertex inC. Since d is an input value to the heuristic, it enables control over the density of cluster heads in the network.

The Topology Adaptive Spatial Clustering (TASC) algorithm presented in reference 31 is a distributed algorithm that partitions the network into a set of locally isotropic, nonoverlapping clusters without prior knowledge of the number of clusters, cluster size, and node coordinates.

The spatial grouping of nodes with respect to regions of close proximity and simi-lar deployment density does the following: (a) It promotes efficient data aggregation, (b) it allows the use of different data compression rates in each cluster, (c) it im-proves the overall compression rate in the whole network, and (d) as a consequence, it also helps reducing the propagation of redundant data inside the network. Spatial clustering would also assist transmission power control, since intracluster communi-cation requires less transmission power in dense clusters. TASC is useful for proactive networks, where the clusters provide the information needed for the cluster formation process. The nodes in the sensor field are assumed to be stationary. Each node can measure distances to its 1-hop neighbors and has knowledge of its 2-hop neighbor-hood, as shown in Figure 7.9.

TASC operates on a combination of node weights and a dynamic density reacha-bility criterion. The main objective of TASC is to cluster nonuniform sensor networks.

In this type of network, the node density variations are globally large but there exist subgroups of nodes such that density variations are locally small. The idea of TASC is to partition those networks in a way such that relative node density variation in in-dividual clusters is smaller than relative node density variation in the whole network, obtaining a distribution similar to the one shown in Figure 7.10.

For the cluster formation, two different parameters must be previously speci-fied: required minimum cluster size and density reachability parameter. The latter

180 CLUSTERING IN WIRELESS SENSOR NETWORKS: A GRAPH THEORY PERSPECTIVE

Node i N (i)

density in terms of distance is similar}

S = {v ε N(i)

Figure 7.9. TASC neighbor’s information.

parameter allows each node to further limit the number of nodes that it can po-tentially nominate as CH by considering only density reachable nodes as nomi-nation candidates. This effect pulls cluster leaders toward the most dense groups in the cluster, but nomination among density reachable candidates is still based on weights.

Listing 2 shows an outline of the algorithm used by the nodes during TASC’s execution, according to the pseudocode presented in reference 31. Initially, each node in the WSN computes its own weight based on shortest Euclidean paths in its

Figure 7.10. TASC cluster’s nodes distribution.

2-hop environment. In a nonuniform deployment WSN, the node that tends to be the midmost related to all shortest communication paths (in terms of hops) gets the largest weight. Instead of incrementing the weight by one each time a node is used in a path, we increment the weight as a function of the distance a node contributes to the path.

LISTING 2. Pseudocode for the TASC Algorithm public class TASC {

int ID;

double weight;

TASC nominee, leader;

int clusterSize;

ArrayList clusterMembers;

/*

* 2HNeighborhood = Euclidean paths in the 2-hop neighborhood of the node

* internode = Inter-node distance measurements

* minClustSize = Minimum cluster size

* Dr = Density reachability parameter

*/

public TASC(2HNeighborhood,internode,minClustSize,Dr){

//The node computes its own weight based on //2HNeighborhood

weight = computeWeight(2HNeighborhood);

broadcastToNeighborhood(weight);

//all weights received If (receiveWeights()){

//finds the heaviest density reachable node nominee = findHDRNode(Dr);

broadcastToNeighborhood(nominee);

}

//all nominations have been received If (receiveNominations()){

//Selects the closest nominee leader = findClosestNominee();

broadcastToNeighborhood(leader.ID, this.ID);

}

//this node is leader

(Continued)

182 CLUSTERING IN WIRELESS SENSOR NETWORKS: A GRAPH THEORY PERSPECTIVE

(LISTING 2.Continued)

If (leader.ID == this.ID){

//Wait until election timeout while (!electionTimeOut);

broadcastToNeighborhood(clusterMembers, clusterSize);

}

//cluster size is received

If ((clusterSize = receiveClusterSize())!=0){

If (clusterSize < minClustSize){

//Selects the closest neighbor for which //clustersize >= minimum cluster size leader=selectClosestCluster

(2HNeighborhood);

//joins previous node’s cluster;

this.joinCluster(leader);

}

this.broadcastToNeighborhood(leader.ID, clustersize);

} } }

The weight value calculated by the node is broadcasted to its 2-hop neighborhood.

Since this is done by all nodes, each node also receives the weights of its 2-hop neigh-bors. By comparing the weights, each node nominates the node having biggest weight in the density-reachable subset of its 2-hop neighbors and broadcasts its nominee to its 2-hop neighborhood. After receiving all nominees in its 2-hop neighborhood, each node elects the closest nominee to its leader. Each node that ends up in a cluster where the total number of nodes is smaller than a prespecified minimum cluster size joins the closest cluster, where the number of nodes exceeds the required minimum cluster size.

After creating the clusters, TASC uses an “all-pairs-shortest path routing.” Instead of trying to forward traffic to the neighboring node that is closest to the destination, TASC routing is based on distance measurements to extract information about the network topology. More specifically, node weight is a measurement of two key quan-tities: (1) the frequency a node is found on the shortest path between pairs of nodes, and (2) the distance contribution of the edges of that node with respect to the total length of the path.

As mentioned at the beginning of the section, creating balanced clusters is one of the main objectives for WSN. In reference 32, the authors propose an algorithm for clustering the sensor nodes such that each cluster (and its corresponding CH) is balanced and the total distance between sensor nodes and CH is minimized. Balancing the clusters is needed for evenly distributing the load on all master nodes. If there is

no balance constraint, the authors propose the utilization of Voronoi Diagrams [7], by constructing it based on the number of CH deployed previously in the sensor field.

However, each CH can only manage a certain number of communication channels.

In this case, trying to solve thek-clustering problem optimally helps to maintain the network’s operation. Thisk-clustering problem attempts to group the sensor nodes such that each cluster is balanced and has exactly one CH. To solve the problem, the authors transform it into a min-cost flow instance by adding a source nodesand a sink nodet toG, both with infinite capacity. Each edge has a weight equal to the message transmission energy dissipation between the two end vertices. There aren directed edges fromsto all vertices corresponding to sensors nodes. Similarly, there arekdirected edges from vertices corresponding to CH tot. All edges incident tos ort have weight 0. Finally, nodes corresponding to sensors have capacity 1, while nodes corresponding to CH have capacitynk. Each flow solution is corresponding to a k-clustering solution. ConstructingGand the correspondingk-clustering solution can be done inO(n.k) time. Hence, thek-clustering problem can be optimally solved in O((n+k)3) time. However, the major drawback of this proposal is that it assumes that the nodes arenot randomly deployedin the sensor field. This is not a valid assumption for the majority of WSN application.

7.4 CLUSTER’S CONSTRUCTION AND MAINTENANCE