240 likes | 450 Views
A Distributed Clustering Framework for MANETS. Mohit Garg, IIT Bombay RK Shyamasundar School of Tech. & Computer Science Tata Institute of Fundamental Research Mumbai 400 005, India. MANETS.
E N D
A Distributed Clustering Framework for MANETS Mohit Garg, IIT Bombay RK Shyamasundar School of Tech. & Computer Science Tata Institute of Fundamental Research Mumbai 400 005, India
MANETS • Mobile Ad-hoc Networks: no fixed infrastructure, hosts are mobile: Security, power management, bandwidth efficiency, … • Sensor and ad-hoc wireless networks • Several challenges, for routing, data aggregation, query processing etc.
Routing in MANETS • Pro-Active Routing • Keeping routes to all possible destinations • Keep track of link parameters to achieve QoS • Overhead for maintaining & exchanging info. • Reactive Routing • Find paths on demand • Less overhead but large delays • Even Flooding algorithms can be clubbed under this framework
Routing in MANETS: Scalability • Pro-Active Routing: • Not scalable due to the need of large bandwidth required for exchanging network information • Reactive Routing • Not Scalable due to large delays when source and destinations are separated by multiple hops. Clustering Strategies: A Tradeoff
Clustering Algorithms • Pro-active approaches within a cluster • Reactive approaches for inter-cluster routing • Provides a sort of masking with respect to mobility of nodes • Nodes in the respective clusters update their own links and routes when a node moves.
Distributed Clustering Alg. • Use mobility to advantage (in certain non-real-time situations they increase the throughput) • Restrict cascading effect and achieve stability • As MANETS have no central authority, useful to use completely distributed strategies (emergent algorithms)
Distributed Clustering Algorithm • Clustering mechanism is independent of the routing algorithm • It should work on a decomposed (partitioned) network • Note that we don’t maintain any cluster leader
Basic Leader Follower (BLF) Clustering Algorithm (single pass, converges faster and contains no cluster head!) • begininitialise n,t • w1 = x • do accept new x (loop …. • j = arg (mini |x-wi|) (find “nearest cluster”) • if |x-wj| < t (if “distance” less than threshold) • then wj=wj+n.x (join and update the weight of the cluster) • else add new w=x (form a new cluster) • w=w/|w| (normalise weight) • until no more x … until all points are classified) • end
Towards Distributed BLF Alg • On line algorithm (forms new clusters as and when new data points emerge) • Several unsupervised algorithms form a basis • Need to define • Define a measure of closeness to capture mobility • Adapt the algorithm as a distributed alg.
Distributed BLF algorithm • Each node wakes up • Looks around for clusters • If finds one which satisfies a stability threshold, keeps it as a probable candidate • Compares cluster sizes • if suitable, joins, else forms its own cluster
Which one is more stable? • Each cluster has a “stability metric” associated with it which should lie above a suitably chosen threshold for the new node to join it • Stability metric is important: we have currently chosen the ‘cluster-age’ of the node
Cluster Maintenance • New nodes do not join clusters if the cluster size is equal to the maximum allowed • Minimum size also specified and clusters smaller than that tend to disintegrate • Clusters can be dynamically maintained in exactly the same way in which cluster formation takes place
Algorithm for un-clustered Node while(!myself_clustered){ transmit(clus_find); waitforresponses(); parse_responses(); choose_suitable_cluster(); if(suitable_cluster_exists) { send(clus_join_request); waitfor(clus_join_reply); if(clus_join_accept) updatemyclus(); else formownclus(); } else formownclus(); }
Algorithm for Clustered Node while(1){ if (size(myclus)<MIN_CLUS_SIZE && disintegrate_time){ transmit(clus_find); } do_work(); if(received(clus_info) { check_suitability(); if(suitable_cluster_exists) { send(clus_join_request); waitfor(clus_join_reply); if(clus_join_accept) updatemyclus(); } } }
Unknown Parameters in the model • Stability Metric • Stability Threshold • Cluster size upper and lower limits Simulations: shed light on how to choose the parameters
Discussion: Expected Results • Average Cluster Size should increase on increasing MAX_CLUS_SIZE and MIN_CLUS_SIZE • Number of Clustering messages should increase with MIN_CLUS_SIZE • Stability Metric and Threshold should govern the lifetime of clusters
Scenarios… • 100 x 100 units region • 75 nodes • Transmission Range = 15 units • Nodes switched on at random locations in the initial iterations • On an average half of the nodes were imparted mobility at each instant
Variation w.r.t. Cluster Size Limits • Number of clusters decrease when larger clusters are allowed • The MIN_CLUS_SIZE does not play a very major role. Only helps in small increase in avgerage cluster size. • Choice of these should depend on the number of nodes and overheads allowed
…Variations w.r.t. Cluster Size Limits MIN_CLUS_SIZE=3, MAX_CLUS_SIZE=26 MIN_CLUS_SIZE=10, MAX_CLUS_SIZE=26
Clustering Messages vs.MIN_CLUS_SIZE MAX_CLUS_SIZE=20 • Higher MIN_CLUS_SIZE means more clusters tend to disintegrate • Hence, higher cluster overhead
Rate of cluster deletions vs.stability threshold • Number of cluster deletions decrease when stability threshold increases • But higher threshold means larger number of clusters which may not be desirable • Gaussian metric yields lower deletions than Step metric
What does the model achieve? • Adaptive clustering • Completely distributed algorithm • No Cluster Head needed • Can control cluster properties using simple techniques?
Future work • Simulation using real mobility sources • Clustering has a wide role in MANETS & Sensor networks • finding routing algorithm taking into account the limitations • Subdividing sensor networks into non-overlapping sub-divisions of physically close nodes for routing, data aggregation, query processing etc. • Location finding in the context of sensor networks