a distributed clustering framework for manets mohit garg, iit bombay rk shyamasundar school of tech....
TRANSCRIPT
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
2
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.
3
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
4
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
5
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.
6
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)
7
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
8
Basic Leader Follower (BLF) Clustering Algorithm
(single pass, converges faster and contains no cluster head!)
1. begin initialise n,t
2. w1 = x
3. do accept new x (loop ….
4. j = arg (mini |x-wi|) (find “nearest cluster”)
5. if |x-wj| < t (if “distance” less than threshold)
6. then wj=wj+n.x (join and update the weight of the cluster)
7. else add new w=x (form a new cluster)
8. w=w/|w| (normalise weight)
9. until no more x … until all points are classified)
10. end
9
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.
10
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
11
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
12
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
13
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();}
14
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();}
}}
15
Unknown Parameters in the model
Stability Metric Stability Threshold Cluster size upper and lower limits
Simulations: shed light on how to choose the parameters
16
Simulation Results
17
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
18
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
19
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
20
…Variations w.r.t. Cluster Size Limits
MIN_CLUS_SIZE=3, MAX_CLUS_SIZE=26 MIN_CLUS_SIZE=10, MAX_CLUS_SIZE=26
21
Clustering Messages vs. MIN_CLUS_SIZE
Higher MIN_CLUS_SIZE means more clusters tend to disintegrate
Hence, higher cluster overhead
MAX_CLUS_SIZE=20
22
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
23
What does the model achieve?
Adaptive clustering Completely distributed algorithm No Cluster Head needed Can control cluster properties using simple
techniques?
24
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