Dynamic Clustering Methods for MANETs Kyriakos Manousakis and John S. Baras Simulated Simulated Annealing Annealing Algorithm Algorithm For Clustering For Clustering Proximity Proximity Based Based Clustering Clustering cluster B cluster B cluster A 1 11 8 4 3 9 cluster A 11 8 4 10 1 3 5 9 10 5 6 6 2 7 No (uphill move) Geometric or logarithmic Speed Speed of of Simulated Simulated Annealing Annealing Stop function Minimum temperature (e.g., T=0.1); “Stop repeat” criteria Speed of SA (Uniform vs. Non Uniform Transition Probabilities vs. Memory of Previous Runs) Reclustering function Random move of one node 600 T0 Initial Temperature 500 K Number of clusters yes (downhill move) E’ < E* no r= random[0,1] C* = C’ ; E* = E’ 200 T C C’ C* E E’ E* j t equilibrium function (T, j) Lower Temperature T = Cooling function (T, T0, t) t++ yes Frozen? stop function (T) Done Return (C*) 10 00 90 0 80 0 70 0 60 0 50 0 40 0 10 0 Current Temperature Current Cluser map (e.g., {1,2},{3,6},{4,5}) New cluser map to test (eg. {1,2},{3,5,6},{4}) Champion cluster map (eg. {1,6},{3,5},{2,4}) Current cost Cost of new cluster map Champion cost Inner loop counter Outer loop counter 30 0 0 Variable Definition yes no 300 r < e–(∆E /T) no no 400 100 yes C = C’ ; E = E’ Number of Nodes Uniform Transition Probs Non Uniform Transition Probs Memory Clustering Clustering Efficiency Efficiency Percentage of Erroneous Clustering Decisions when Detecting Mobility Groups (Comparison of Cost(1) with Cost(2)) 50 Relative Direction 7 Relative Velocity K K N (Ci ) : Number of Nodes 10 5 DCi : Diameter (hops) E = Var ( DC21 ,..., DC2K ) ⎛ Var ( N 22 (C11 ) , N 22 (C22 ) ,...., N 22 (CKK )) + ⎞ ⎜ ⎟ E = min ⎜ ⎛ KK ⎟ ⎞ ⎜ ⎜ ∑ B(Cii ) ⎟ ⎟ ⎠ ⎝ ⎝ ii−−11 ⎠ 2 ⎡ K ⎛ Cz ⎞ ⎤ E = min ⎢ ∑ ⎜ ∑ θ ri , j ⎟⎟ ⎥ (1) ⎢ z =1 ⎜⎝ i , j =1 ⎠ ⎥ ⎣ ⎦ B (Ci ) : Number of Border Routers in Cluster Ci θii : Direction of node i θ rr : Relative Direction of nodes i, j ( ) θ rr = min θii − θ jj ,360 , 360 − θ ii − θ jj , ii,,jj U ri , j = U x2i , j + U y2i , j (2) Cost (1) OptSize : Optimal Number of Nodes per Cluster ii,,jj U xi , j = U cos θ i − U cos θ j U yi , j = U sin θ i − U sin θ j 36 0 33 0 30 0 27 0 24 0 21 0 Relative Direction (degrees) in cluster Ci KK ⎛ KK 44 ⎞ E = min ⎜ ∑ N (Cii ) 22 + ∑ ( N (Cii ) − OptSize ) ⎟ ii−−11 ⎝ ii−−11 ⎠ 2 ⎛ K ⎡ Cz ⎤ ⎞ E = min ⎜ ∑ ⎢ ∑ U r2z ⎥ ⎟ ⎜ z =1 ⎣ i , j =1 i , j ⎦ ⎟ ⎝ ⎠ 15 0 in cluster Ci )) 20 18 0 ( ( E = min (Var (N 2 (C1 ), N 2 (C 2 ),...., N 2 (C K ))) 25 15 0 ii−−11 30 90 Balanced Cluster Size Balanced Cluster Diameter Optimal Cluster Size Number of Border Routers E = min ∑ N (Cii ) 22 Metrics Required 35 60 Cost Function 40 30 Description Erroneous Decisions (%) 45 Metrics Metrics // Cost Cost Functions Functions 2 : mobile nodes relatively static (same speed, same direction) : static nodes (sensor nodes) Cooling function 12 0 If we do not Cluster based on the Mobility Characteristics of the nodes, the ReClustering Overhead will Harm the Network Performance Constant (j = 5000); “Stop repeats” (function of K T);… ∑ Diameter (C i ) 0 Motivation Motivation Example: Example: Proximity Proximity vs. vs. Mobility Mobility Examples Equilibrium function i −1 Try New Clustering C’ = reclusering function (C) E’ = Cost function (C’) ∆E = E’ – E; j++ yes (new best) ¾Most of the Existing Clustering Algorithms for Ad Hoc Networks aim on the construction of hierarchy without taking into consideration the various aspects of the network environment – Instead of helping the network, they may harm it because of the clustering overhead ¾Our work on cluster generation differs from the existing ones on the fact that the network characteristics are taken into consideration a priori from the clustering methods. Those methods along with the appropriate metrics or combination of metrics can generate clusters that have the ability to boost the various performance aspects of the network. Inputs Cost function Start with new temperature j=0 Cost is lower? ∆E < 0 Novel Novel Approach Approach Mobility Mobility Based Based Clustering Clustering Initialization T = T0 Generate K Clusters C Calculate the cost E=Cost(C) E*=E; C*=C; t=0 ¾ SA Annealing: Optimal Clustering Decisions but Slow ¾ Adjust State Transition Probabilities (Non(Non-Uniform) ¾ Subsequent Runs of SA start from the Previous Clustering Decision (Memory) 20 0 ¾ Enhance scalability, robustness ¾ Reduce communication information ¾ Favor spatial reuse ¾ Minimize control information ¾ InterInter-cluster communication allow the creation of backbonebackbone-based architectures (“virtual architectures,” “private networks,” etc.) ¾ Improve the performance of the network Optimizations Optimizations to to Improve Improve SA SA Speed Speed Time (secs) Clustering: Clustering: General General Motivation Motivation Cost(2) - rSp=0 Cost(2) - rSp=1 Cost(2) - rSp=4 Conclusions Conclusions ¾ Novel Approach: Takes Into Consideration the Network Dynamics ¾ The Modified SA Annealing Produces Good Clustering Decisions Much Faster so it can be Applied in a Dynamic Environment ¾ The Cost Functions Result in Very Efficient Clustering Decisions (Satisfy our Objectives)