LOCI: Local Clustering Service for Large Scale Wireless Sensor Networks Vineet Mittal Should more be added here Committee Members: Dr. Anish Arora (advisor) Dr. Hakan Ferhatosmanoglu
Challenges in Sensor Networks Self-configuration ad hoc node deployment Self-healing node failures, message loss and corruption Scalability large scale deployment and limited resources
Hierarchical Clustering Advantages Network specific facilitates distribution of control over the network abstracts network state information: insulates changes and failures/joins in one part of the network from other parts Application specific energy efficient
Challenges in Clustering Scalability Local self-healing Similar size clusters Optimum number of overlaps between clusters Minimum number of non-clustered nodes Optimum number of clusters Minimum communication overhead
Problem Statement Design a distributed, local, scalable, and self-stabilizing clustering program, LOCI, that given a cluster radius interval [R, mR], where R is the physical radius and m ≥ 2, constructs network partitions such that a unique node is designated as a leader of the cluster all nodes in the R-neighborhood of each leader belong to that cluster maximum distance of a node from its leader is mR each node belongs to the cluster of the closest clusterhead
Outline Model LOCI Program LOCI Correctness Proof Theoretical Performance Analysis Simulations based Performance Analysis Conclusions
Model Wireless sensor network 2-D coordinate plane Bi-directional links Each node has a unique ID and unit transmission range Distance estimation capability relative to other nodes Density: nodes are distributed as per a homogeneous spatial Poisson process of intensity λ, such that at an average within a unit area circular region there are λ nodes Fault model: nodes and links can fail-stop, new nodes and links can join the system, and state of a node can be arbitrarily corrupted.
Outline Model LOCI Program LOCI Correctness Proof Theoretical Performance Analysis Simulations based Performance Analysis Conclusions
LOCI Program Timeout and elect itself as a clusterhead Legitimate Cluster Wait for a random amount of time Grow the cluster iteratively Valid cluster Network partition constructed R mR R mR mR R R mR
LOCI Program j k Dynamic Priority : <Radius, - #Overlaps> Problem: Neighboring clusters overlap Legitimate cluster constructed R j A B k Radius: maximum distance d, such that all nodes ≤ d from the leader belong to the same cluster as that of the leader Overlaps: # of overlaps of a cluster with neighboring clusters of equal radius
LOCI Abstract Program timeout(can_lead(j)) → start_cluster(j) [] can_join(j, S) → join(j, S) (3) j and k are clusterheads Λ overlapping_clusters(j, k) → resolve_overlap(j, k)
Local Healing using LOCI node join may be subsumed by neighboring clusters if it is within mR distance of a neighboring clusterhead d = 1 ( ) ( ) ( ) ( ) cascading ) ( ) ( ) ( ) ( R = [1, 1] A B new node ( ) ( ) ( ) ( ) R = [1, 2] new node subsumed
Local Healing using LOCI node join may create a new cluster, affecting only neighboring clusters by subsuming nodes contained in them that are farther than R distance from their respective clusterheads d = 2 ( ) ( ) ( ) ( ) R = [1, 2] ( ) ( ) ( ) ( ) ( ) new cluster
Local Healing using LOCI node fail-stops new leader may be found in the original cluster, without affecting neighboring clusters, or remaining nodes in the original cluster may affect neighboring clusters by joining them, or may create new cluster(s), affecting only neighboring clusters by subsuming nodes contained in them
Hierarchical clustering Legitimate cluster at level 0 Legitimate cluster at level 1 Clustering at Level 0 Represent clusters by a single node, the clusterhead R 1 R Neighboring clusters at level 0 → Corresponding clusterheads are neighbors at level 1 Clustering at Level 1 i+1 i [ (2mR) - 1 ) ] R = (2mR) R , ( mR i 2mR – 1
Outline Model LOCI Program LOCI Correctness Proof Theoretical Performance Analysis Simulations based Performance Analysis Conclusions
LOCI correctness proof Variables d.j = distance of node j from the clusterhead r.j = circular radius of the cluster c.j = ID of the cluster to which j belongs o.j = set of tuples that contains ID and radius of the overlapping clusters State predicates Valid Cluster (VC.j) = circular radius of the cluster is r.j and all the nodes in the cluster have correct values Legitimate Cluster (LC.j) = circular radius of the cluster is R and all the nodes in the cluster have correct values
LOCI correctness proof Theorem 1: I is an invariant of LOCI I (Invariant) Ξ if a node belongs to a cluster then that cluster is a valid cluster and the values of all the nodes in that cluster are correct Theorem 2: F is a fixpoint of LOCI F (Fixpoint) Ξ all nodes belong to a legitimate cluster and there is a legitimate path from every node to its clusterhead Theorem 3: Starting from an invariant state I, the system eventually reaches a state in F Theorem 4: Starting at an arbitrary state, every computation of the system reaches a state in I
Outline Model LOCI Program LOCI Correctness Proof Theoretical Performance Analysis Simulations based Performance Analysis Conclusions
Performance Analysis Theorem 5: The convergence time of LOCI from invariant state to fixpoint state is O(R4) rounds Communication complexity Cluster formation O(R3) Individual node O(R3)
Percentage of uncovered nodes For m≥2, LOCI constructs network partitions For m<2, in the worst case the percentage of uncovered nodes using LOCI is m 1.0 1.2 1.5 1.7 2.0 p (%) 69.8 56.5 32.1 12.7 0.0
Number of clusters constructed Overhead in number of clusters constructed is 3 √3R R 2R (√2/3)R Minimum number of clusters = n Maximum number of clusters (LOCI) = 3n
Outline Model LOCI Program LOCI Correctness Proof Theoretical Performance Analysis Simulations based Performance Analysis Conclusions
(unit transmission range) Simulation Results Assumptions Nodes are in a regular grid Nodes are aware of their neighbor set (unit transmission range)
R = 2, m = 2, 10 x 10 Grid
R = 2, m = 2, 10 x 10 Grid
Simulation Results Overhead in the number of clusters (1-D network) 64 1.31 (1.7) 1.29 1.41 1.50 256 1.36 1.32 1.34 1.31 625 1.37 1.35 1.38 1.30 Overhead in the number of clusters (2-D network) N = R=1 R=2 R=4 R=8 64 2.21 2.15 2.00 1.00 256 1.99 625 1.89 2.12 2.20 2.25 N: Number of nodes R: Radius of the cluster
Conclusions A distributed, local, scalable, and self-stabilizing clustering scheme, LOCI, is presented that partitions the network into bounded radius clusters Convergence time and self-healing in LOCI are scalable both in time and space LOCI bounds the overhead in the number of clusters constructed by a constant Clusters constructed by LOCI form a Voronoi tessellation
Future Work Convergence time of O(R2 log(R)) Integrating LOCI in the “Line in the Sand” tracking service to achieve scalability and fault tolerance
Number of clusters constructed R (Radius) ≈ D (Diameter of the network) Overhead in number of clusters constructed is 6 R R 2R R R R
Cluster assignment R 2R+1 Assign clusterheads in surrounding region Priority < n, id > n: [0, 6] R 2R+1
LOCI correctness proof Variables d.j = distance of node j from the clusterhead r.j = circular radius of the cluster c.j = ID of the cluster to which j belongs o.j = set of tuples that contains ID and radius of the overlapping clusters State predicates VC.j = j is the clusterhead of a valid cluster LC.j = j is the clusterhead of a legitimate cluster H.j = variables stored at a node j have correct values LP.j = legitimate path from a node j to its clusterhead