• Tidak ada hasil yang ditemukan

Simulation of Clustering Algorithms

8.2 Proposals

Based on the distributed clustering approach proposed in [Bak84], two clus- tering algorithms were described in [Ger95b] for mobile multicluster network architectures. The first is the lowest ID clustering algorithm where the lowest ID node is elected as a clusterhead. The second is the highest connectivity clustering algorithm, where a node with highest connectivity is selected as a clusterhead. The performance of the algorithms were compared in a discrete event simulation. The lowest ID based clustering algorithm was found to be more stable in a highly mobile environment.

All nodes in ad hoc networks may not have the same rate of mobility and signal strength. In fact, some routing algorithms which select routes through the most stable areas of the network have been proposed in [Dub97, Toh96]. Our proposals for clustering includes some stability conditions such as electing the clusterhead not from all nodes but only from relatively stable nodes and better signal strength. A clusterhead will be randomly selected from a subset of nodes based on one of the following criteria: sufficiently low mobility, or sufficiently high signal quality. Toh has proposed choosing only nodes with sufficiently high relaying load as an intermediate node [Toh96].

Below we will discuss three clustering algorithms, namely Lowest ID, Node Mobility-based and Signal Strength-based Clustering algorithms.

Lowest ID Clustering algorithm (LID). This was introduced by Gerla [Ger95a]. In Lowest ID clustering, every node has an Integer ID and a node with the lowest ID is selected between any two nodes that can communicate.

Clusterhead election by node ID can be performed as follows.

1. Reset neighbourhood and clusterhead tables

2. Send HELLO message to all neighbours and get reply 3. Run the clusterhead election algorithm as follows:

IAMCH[id] = true; II Declare that I am a Clusterhead for(i=1;i<id;i++)

if ((IAMCH[i])&&(neighbour[i])) IAMCH[id] = false;

4. Broadcast clustering update information 5. Repeat

Node Mobility-based Clustering algorithm (NMC). In this cluster- ing algorithm, we use information on node mobility for clustering formation.

Each node broadcasts the list of nodes (with ID and mobility frequency) that it can hear from. Mobility frequency shows the number of times a node is disconnected from its neighbour. A node will be considered stable if its move- ment does not exceed a mobility threshold. The mobility threshold is the mean node mobility determined through simulation. A node can be elected as a clusterhead only if the mobility is low and no member of its neighbour- hood is a clusterhead. In case of a tie the one with the lowest ID may be chosen.

Signal Strength-based Clustering algorithm (SSC). In signal based clustering, signal strength of the link is used for clustering. A node can be a clusterhead only if the signal is strong and none of its neighbours is a clusterhead. A node has a highest signal quality if it doesn't experience co- channel interference, multipath fading or physical obstacles that cause link failures. Each node contains a field that records channel quality for each link.

A given node will qualify for clusterhead if it is a lowest ID and has signal strength above a certain threshold value.

Cluster maintenance

A cluster topology change can occur due to node mobility, new node addition or existing node deletion. A new node joins the cluster if it is within a distance of I-hop from any of the existing clusterheads. Otherwise, it forms a new cluster for which it acts as a clusterhead. When an ordinary node is deleted from the cluster, the neighbours of the deleted nodes update their neighbourhood information. If the deleted node is a clusterhead, a new clusterhead is elected as described below.

Clusterhead re-election. A clusterhead may fail to function or its re- placement may be needed due to mobility. Also, it may be completely isolated from its cluster but within reach of communication with other nodes in the network. The clusterhead failure or mobility is detected by members of the cluster through neighbourhood information exchange. Under such circum- stances, a new clusterhead is elected to replace the old one or to coordinate a newly formed cluster. The clusterhead re-election process is carried out as follows. A node that detects the absence of the clusterhead assumes responsi- bility as the clusterhead and initiates the re-election process by sending this information to its neighbours. Based on the neighbour table information, every node runs the clustering algorithm and determines its status. Then a node that meets the election criteria becomes the clusterhead and conveys the result to its neighbours. It then reconstructs the necessary information and continues its role as a clusterhead.

Improving clustering performance. We propose several techniques to improve clustering efficiency and stability. The first is a preventive mecha- nism. A clusterhead is chosen among the most stable nodes in the population of nodes. The second is a risk minimisation mechanism where a designated backup node may be used during clusterhead failure. Either the information is maintained at both clusterhead and backup node or such information will be forwarded by the clusterhead upon request. Finally, one can switch to flooding while the clusterhead is inoperable. To reduce the flooding over- head, limited flooding protocols proposed in chapter 5 can be used.

The size of clusters may be used to improve clustering performance. So if the optimal value of this parameter is known, an appropriate cluster ad- justment can be made. A cluster splits if the number of nodes in the cluster exceeds the split threshold, merges if the number of nodes becomes less than merge threshold. The cluster split and cluster merge thresholds are fixed pa- rameters that are computed based on the cluster size. The larger the cluster size, the greater the value of these thresholds will be.

The merge threshold is chosen in such a manner that when there is a merge the resulting cluster size is as close to the target cluster size as possible.

The cluster merge and cluster split algorithms are run by the clusterhead.

The clusterhead finds the most suitable neighbouring cluster with which a given cluster can merge. It runs the algorithm only if after merge, the size of the new cluster is close to the preferred cluster size and does not exceed the cluster split threshold.A stable clustering algorithm is needed for efficient operation of this mechanism. The split size and merge size are periodically checked to invoke splitting or merging. Cluster splitting and merging are possible optimisation mechanisms and are not considered in our clustering algorithms.