A Distributed Clustering

coachkentuckyΤεχνίτη Νοημοσύνη και Ρομποτική

25 Νοε 2013 (πριν από 3 χρόνια και 6 μήνες)

62 εμφανίσεις

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.

w
1

= x

3.

do

accept new x (loop ….

4.

j = arg (min
i

|x
-
w
i
|) (find “nearest cluster”)

5.

if

|x
-
w
j
| < t


(if “distance” less than threshold)

6.

then

w
j
=w
j
+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