An Enhanced Algorithm for MANET Clustering Based on Weighted Parameters

Mobile Ad-Hoc network (MANET) is a type of communication network which is used for data communication between a mobile nodes using wireless channels. Clustering has evolved as an important research topic in MANETs as it improves the system performance of large MANETs. Clustering is a process that divides the network into nodes groups, called clusters. Each cluster has a Cluster Head (CH) as coordinator within the substructure. This paper proposes a clustering technique for MANETs, which is weighted clustering algorithm. The performances of this algorithm is evaluated through simulation and the results are encouraging.


Introduction
A Mobile Ad-Hoc Network is a dynamic multihop wireless network that is established by a group of mobile nodes on a shared wireless channel. The nodes are free to move randomly. The network's topology changes rapidly and unpredictably. Due to the limited transmission range of wireless network nodes, multiple network hops may be needed for one node to exchange data with another across the network. Nodes within transmission range can communicate directly with each other. Nodes outside the transmission range must communicate indirectly using a multihop routing protocol. Individual nodes are responsible for dynamically discovering the route. Instead many clustering schemes have been proposed to organize the MANET into a hierarchy with a view to improve the efficiency of routing. The routing protocols can be divided into three categories: proactive, where each node periodically maintains one or more tables to store consistent and up-to-date routing information from one to every other node; reactive where the evaluation of routes are done only when it is necessary and hybrid, which proactively maintains routes to the destination node within only a local network consisting of several neighboring, nodes, generally referred to as a cluster, while reactively acquiring routes beyond the cluster.

Clustering in MANET
Clustering means a way to reconfigure all nodes into small virtual groups according to their regional vicinity and is defined as Cluster Head and cluster member that are determined with the same rule. Every clustering algorithm consist of two mechanisms, cluster formation and cluster maintenance. In cluster formation, cluster heads are selected among the nodes to form clusters, figure 1. Cluster Head is the node which manages the cluster activities like managing cluster process, updating routing table, discovery of new routes. The nodes other than the Cluster Head inside the cluster are called Ordinary Nodes (ON). Nodes having inter cluster links which can communicate with more than one clusters are called Gateway Nodes (GN). If the destination is inside the cluster, ordinary nodes send the packets to their cluster head that distributes the packets inside the cluster, or if to be delivered to other cluster then forward them to a gateway node. In such way, only cluster heads and gateways take part in the propagation of routing update or control Universal Journal of Communications and Network 1 (3): 88-94, 2013   89 messages. This significantly reduces the routing overhead and also solves scalability problem in dense networks. The next phase of cluster maintenance comes into picture when there is the node movement. So, it needs to do re-affiliations among ordinary nodes and cluster heads. To avoid excessive computation in the cluster maintenance, current cluster structure should be preserved as much as possible.

Advantages of Clustering
Clustering in MANET networks has many advantages compared to the traditional networks [1]. They as follow:  It allows the better performance of the protocol for the Medium Access Control (MAC) layer by improving the spatial reuse, throughput, scalability and power consumption,  Efficient handling of mobility management,  Iit helps to improve routing at the network layer by reducing the size of the routing tables,  Iit decreases transmission overhead by updating the routing tables after topological changes occur,  It helps to aggregate topology information as the nodes of a cluster are smaller when compared to the nodes of entire network. Here each node stores only a fraction of the total network routing information,  It saves energy and communication bandwidth in ad-hoc networks,  It has the ability to adapt, depending on the policy management in the cognitive radio networks.

Disadvantages of Clustering
A large number of mobile terminals are managed by a MANET using a cluster topology. The construction and maintenance of a cluster structure requires additional cost comparing with a topology control without cluster. Clustering has some side effects and drawbacks [1].
 The maintenance cost for a large and dynamic mobile network requires explicit message exchange between mobile node pairs. As the network topology changes quickly and concerns many mobile nodes, the number of information message exchange grows to reach a critical point. This information exchange consumes a lot of network bandwidth and energy of mobile nodes,  A ripple effect of re-clustering occurs if any local events take place like the movement or the death of a mobile node, as a result it may lead to the re-election of a new cluster head. When a new cluster head is re-elected it may cause re-elections in the whole of the cluster structure. Thus, the performance of upper layer protocols is affected by the ripple of re-clustering,  One of the major drawbacks of clustering in MANETs is that some nodes consume more power to compare to the others nodes in the same cluster. As special node like a cluster head or a gateway node manage and forward all messages of the local cluster their power consumption will be high compared to ordinary nodes. It may cause untimely shutdown of nodes.

Related Works
Many clustering algorithms based on different optimization objectives have been proposed. In the Lowest ID (LID) clustering algorithm [2] it is proposed the idea of assigning an unique identity address (ID) to each node in the network and then broadcasting the ID to all the neighbour nodes. In the next step, the IDs that were error-freely decoded are compared and the node having the lowest ID is chosen as the cluster-head, while its single-hop neighbours become the cluster members. If a node belongs to multiple clusters, it may be viewed as a gateway between clusters. In this algorithm the construction of clusters may be promptly completed, but the number of cluster-heads may become undesirably high.
The goal of the Highest-Degree algorithm [3] is to minimize the number of clusters, which is achieved as follows. Each node is aware of the number of its neighbour nodes, which acquired by interactively exchanging control messages. The node having the highest number of neighbours, i.e. the highest degree, is elected as the cluster-head. If the degree of several nodes is the same, the lowest-ID node becomes the cluster-head. Then the one-hop neighbour nodes of the cluster-head become ordinary members of the cluster. The above procedure is then repeated until all nodes are form the clusters. The number of cluster-heads is relatively low in this algorithm, hence it potentially reduces the average number of hops between the source node and the destination node.
In the Linked Cluster Algorithm (LCA) [4], a node becomes the CH if it has the highest ID among all nodes. In the Distributed Clustering Algorithm and Distributed Mobility Adaptive Clustering Algorithm [5] weights are assigned to the nodes based on the suitability of node being a CH. The node is chosen to be a CH if its weight is higher than any of its neighbor's weight and any tie is broken by the minimum node IDs. The method works well for "quasi-static" networks where the nodes do not move much or move very slowly.
In Hybrid Cluster Routing (HCR) algorithm [6] each node has an unique cluster head priority. These priorities are used for the selection of CHs. In this method the CH change is more rigidly restricted than in other methods, because the only moment of a CH change may occurs when all member nodes of CH become gateway. But this task may cause two CHs come within direct transmission range of one other and reduced from CH's functionality.
The Efficient Clustering Scheme (ECS) [7] is a quick clustering method. In this method, each node that delivers the message to neighbor nodes sooner than the others would be selected as the CH. Most of the previous works use only a single metric for clustering. Hence, the resultant clustered topology appears good only with respective to one specific metric. However, since MANET is often a complex and dynamic system, a single metric is far from reflecting the whole network situation.
The Weighted Clustering Algorithm (WCA) [8] is a combined weight metric-based clustering approach to form single-hop clusters. In WCA, a node which has the minimum sum of four indices is elected as the Cluster Head.
To determine a Cluster Head, the algorithm considers the ideal number of nodes that a Cluster Head can handle, the sum of distances to other nodes in its radio distance, mobility and the time it becoming a Cluster Head. All nodes in the network need to compute their weights and should know the weights of other nodes before starting the clustering process. This process takes more time and bandwidth, and delays the cluster formation. Moreover, limiting the cluster dimension to a single hop reduces the scalability in a large scale networking environment.
The Efficient Management Algorithm for Clustering (EMAC) [9] utilizes factors like the node degree, remaining battery power, transmission power, and node mobility for the cluster heads' election. It is based on the clusters' capacity and it uses the link lifetime instead of the node mobility for the maintenance procedure. Both EMAC and WCA assume that nodes know their location.
Another efficient weighted distributed clustering algorithm called CBMD [10] uses different weight function which takes into consideration the following parameters: connectivity (C), residual battery power (B), average mobility (M), and distance (D) of the nodes to choose locally optimal Cluster Heads. Advantages of this clustering algorithms are load balancing between the clusters is achieved, and less number of clusters formed by specifying the maximum and minimum number of nodes that a Cluster Head can ideally handle. Furthermore, each mobile node starts to measure its weight after n successive HELLO messages, where the result specifies the accurate value for the mobility and battery power. This algorithm is used to elect optimal Cluster Head and divide optimal number of clusters without degrading the whole network performance, to satisfy the load balancing between clusters, to maximize the cluster stability and to reduce the communication overhead and minimizing the explicit control messages caused by cluster maintenance.
A Distributed Weighted Clustering Algorithm (DWCA) [11] works same as WCA except that power management and distributed cluster set up is done by localizing configuration and reconfiguration of clusters. The consumed battery power is a better measure than the cumulative time during which the node acts as a Cluster Head that is used in WCA because it reflects the actual amount of power usage. If there is insufficient battery power then lifetime of topology can be increase by switching the role of the Cluster Head to an ordinary node.
Service discovery architecture based on clustering is proposed in the Cluster-Based Service Discovery Protocol for Mobile Ad-hoc Networks [12]. It performs the cluster head selection by allotting a combined weight value based on the factors power level, connectivity and stability, intended for wireless mobile ad hoc networks. The proposed method permits switch over of the service discovery messages only among the cluster members. It also considers the capabilities of the nodes for the distribution of workload.

Proposed Clustering Algorithm
In this section we proposed clustering algorithm based on node degree, received power level, stationary factor and remaining time battery. The outline of our whole clustering algorithm is as follows. Each node in a MANET broadcasts its initial ch_info message periodically to declare its existence. The ch_info message of a node carries its address, fitness, address of Cluster Head and node state. Thus, each node can obtain information about its neighbours by its received ch_info message. Next, nodes with the highest fitness will be elected as Cluster Heads. Before describing this clustering algorithm in detail, we make the following assumptions, which are common in designing clustering algorithms for MANETs: 1. The network topology is time-events model. 2. Every message broadcasted by a node can be received correctly by all its one hop neighbours within a radio transmission range. 3. Each node has an unique address and knows its fitness parameter. Next we will define seven different kind of messages and two types of tables used in algorithm. The most important message is the ch_info message, which is broadcasted by each node. The ch_nomination message is used by a node to declare itself or another node as a nominated node. The ch_elected message is used to negotiate between nodes who should be a CH. The ch_selected message is used by a node to declare itself as a cluster head. The start_election message is used to start a new clustering procedure. The find_new_ch message is used to inform a node, that should nominate another node.
The gw_msg is used by a node, which is in a transmission range of two clusters.
Each node uses a local table to record its parameters and internal table to record its neighbours. Each time a message is received, a node will update its tables. The transition of a node are as follows:  Iif node not received any message, it changes its status to SELECTED and becomes a Cluster Head,  If node is a node with the highest fitness parameter (self-nominated) or it received ch_nominated message, it changes its status to NOMINATED.  If node received ch_selected message, it changes its status to ORDINARY.  If node is within transmission range of two clusters, it changes its status to GATEWAY.  If node is a gateway node and not received any message from second CH, it changes its status to ORDINARY. The clustering algorithm is two stages procedure. The first one is the nomination stage and the second one is the election stage. During the nomination stage two kinds of messages are used:  ch_info.  ch_nomination. Each node sending initial message to environment discover and then it is calculating its fitness. The fitness (F) is the weight function of few parameter, like example: degree of the node, received power level, stationarity factor and battery level. This parameter is calculated using the formula: (1) and W1, W2, W3, W4 are weighting factors for the corresponding system parameters where:  Degree of the node (D G ), as a number of edges of a given node,  The received power level (P R ),  Stationarity factor (S F ),  Battery level (B L ), as a remaining work time. This factors should be fulfill the following condition: (2) All values obtained above are normalized in the range (0,1).
The flexibility of changing the weight factors helps us to apply our algorithm to various scenarios.
The cluster is created by the nodes within one-hop distance. Among nodes within transmission range are selected nodes with the highest fitness. These nodes are nominated nodes and they changes its status to NOMINATED. The nomination stage is complete. The next stage is election stage.
During the election stage three kind of message are used:  ch_elected,  find_new_ch,  ch_selected.
In the algorithm they are also two other messages:  gw_msg: the message sent by gateway to inform a nodes about its presence,  start_election: the message sent by a CH to inform a nodes, that clustering procedure is begin.  Proposed algorithm can be simply described in few steps:  Each node broadcast ch_info message to show its presence and receives multiple ch_info message from its neighbours. Each node starts calculate its fitness after n successive ch_info messages, where the results specifies the accurate value for its fitness.  If a node discovers that it has a larger weight than those of the received, then it sets its status to NOMINATED and broadcasts ch_nominated message to declare itself as a cluster head. If there is a node with higher weight, it broadcasts also ch_nominated message with address of nominated node.  When a node does not received any message, declare itself as a cluster head, and ch_selected message is sent. The ch_selected message is sent to the nodes in the number specified in variable clusterCapacity. Cluster capacity is a parameter which specifies the maximum number of nodes in the cluster. For example when cluster capacity is equal 5, it means, that the node which becomes a Cluster Head divide its list of the node into two sets: setA and setB. In setA are the nodes from which power received level is the highest and in setB the others nodes. In this case, the ch_selected message is sent to the five nodes from setA.  When a nominated node received ch_nominated message, its checks in internal table that its weight is the highest among the nodes in NOMINATED state. If yes, it send ch_selected message. If no, it send ch_elected message to the node with higher weight. The node with the highest fitness will be a CH.  When a cluster head finds, that in its cluster is a node with higher weight, the start_election message is sent.  In the figure 3, the example of network structure is presented. For each node is assigned a fitness parameter, calculated using formula (1). Network structure with nominated nodes is shown in the figure 3. As we can see, the highest chance to become a CH, has nodes 3, 5, 7 and 8. In the figure 4 we can observe a network divided on the clusters. Nodes 3, 5, 8 and 10 change its status to SELECTED (violet colour). Node 2 change its status to GATEWAY between CH3 and CH5 and node 7 also change its status to GATEWAY between CH8 and CH10 (green colour).

Simulation Results
The Clustering Algorithm was implemented in OMNeT++, ver. 4.2 for Linux OS. OMNeT++ is a discrete event simulation environment.

Simulation Parameters
In the table the parameters of the simulation are presented. Each node is randomly distributed in 1000x1000m physical area. Number of nodes was change from 10 to 80 in steps of 10. Weight parameter are equal: W 1 = 0.25 for degree of the node, W 2 = 0.35 for received power level, W 3 = 0.20 for the stationarity factor and W 4 = 0.20 for the battery level. The simulation time was the same for all scenarios and equal 170 s.

Performance Metrics
To performance evaluation of the algorithm, four metrics will be observed:  The average number of created clusters versus transmission range,  The average number of created clusters versus number of nodes,  The average number of created clusters versus speed of the node,  The number of nodes that have own CH. All metrics are illustrated in the next section. Figure 6 describes the relationship between average number of created clusters change versus the transmission range. As the transmission range increases, the average number of clusters is decreases. This is due to the node with a high transmission range covers a large area. The average number of created clusters, indicated as number of clusters formed according to the total number of nodes is shown on the figure 7. As we can observe, the curve show the average number of created clusters depend on the total number of nodes. For every groups of nodes we can see minimum and maximum numbers of possibly created clusters. The simulation to this metric was performed for eight different network structure. The transmission range was the same for each node and equal 240 m.  Figure 8 shows the number of created clusters related with moving speed and transmission range of node. The transmission range was the same for each node and equal 240 m. The results of experiment show that role of cluster head increases, according to moving speed of node. When moving speed of node increases, topology change in the entire network also increases, thereby increasing change rate of cluster head. Therefore, it can be seen from this that each cluster maintains similar size and well adapts to dynamic environment in the proposed scheme, even the topology change increases due to move of node. The curve on the figure 9 shows the number of nodes, which knows who is its Cluster Head.

Efficiency of experiment
On the curve we can observe results from simulation. Moreover, the curve shows the difference between the results from simulation (continuous line) and maximum, which shows the expected value. The transmission range was the same for each node and equal 240 m. The differences are due to the values of time intervals adopted during the simulation. Extending the duration time of the simulation, with increasing the number of nodes in the network, improves the obtained results.

Conclusion
In this paper, we have proposed a combined weight clustering algorithm to establish a stable clustering architecture. The proposed algorithm has a hierarchical structure that can maintain topology of MANET as stable as possible, thereby optimizing network performance and making efficient resource allocation for nodes. This makes it possible to maintain efficient and stable topology in MANET environment. In our algorithm, the node with the highest fitness is elected as the Cluster Head.
In the proposed algorithm, due to the weight group, the cluster creation is done very quickly which causes the network services to be more accessible. In the future we would to improve the cluster forming and to develop a set of policies that define the rules for creating clusters according to the surrounding environment.