620 likes | 1.05k Views
Lecture 5: Topology Control. Anish Arora CIS788.11J Introduction to Wireless Sensor Networks Material uses slides from Paolo Santi and Alberto Cerpa . Problems affected by link quality. Topology Control Neighborhood Management Routing Time Synchronization Aggregation
E N D
Lecture 5: Topology Control Anish Arora CIS788.11J Introduction to Wireless Sensor Networks Material uses slides from Paolo Santi and Alberto Cerpa
Problems affected by link quality • Topology Control • Neighborhood Management • Routing • Time Synchronization • Aggregation • Application Management
References • Topology Control tutorial, Mobihoc’04, Paolo Santi • SPAN, Benjie Chen, Kyle Jamieson, Robert Morris, Hari Balakrishnan, MIT • GAF/CEC, Y. Xu, S. Bien, Y. Mori, J . Heidemann & D. Estrin, USC/ISI – UCLA • ASCENT, Alberto Cerpa and Deborah Estrin, UCLA • GS3: Scalable Self-configuration and Self-healing in Wireless Networks, PODC 2002, Hongwei Zhang, Anish Arora • M. Demirbas, A.Arora, V.Mittal, FLOC: A Fast Local Clustering Service for Wireless Sensor NetworksDIWANS 2004
Why Control Communications Topology • High density deployment is common • Even with minimal sensor coverage, we get a high density communication network (radio range > typical sensor range) • Energy constraints • When not easily replenished • Power usage • Observation: radios consume about the same power in idle state than Tx and Rx state • Chicken & egg problem: to save energy, radios must be turned off (not simply reduce packet transmissions); but if radios are turned off, nodes cannot receive messages
Problem Statement(s) • Find an MCDS, i.e. a minimum subset of nodes that is both: • Set cover • Connected • Choose a transmit-power level whereby network is connected • per node or same for all nodes • with per node there is the issue of avoiding asymmetric links • cone-based algorithm: • node u transmits with the minimum power ρu s.t. there is at least one neighbor in every cone of angle x centered at u • k-neighbors algorithm: • each node chooses nearest k neighbors for its subgraph • k is chosen s.t. the graph generated is connected w.h.p.
Problem Statement(s) • Find a minimum subset of nodes that provides some density • in each geographic region connectivity • we’ll look at the examples of GAF, SPAN, GS3, ASCENT • Given a connected graph G, find a subgraph G’ which can route messages between nodes in energy-efficient way • both unicast and broadcast spanners • reduces interference as well Sub-problems: • Prune asymmetric links • Tolerate node perturbations • Load balance
Where should TC be positioned in the protocol stack? No clear answer in the literature One view: Routing Layer TC Layer MAC Layer Routing protocol may trigger TC execution (to get better routes) • Routing (structure) involves only active nodes MAC protocol may trigger TC execution (if neighborhood changes) • TC controls coarse-grain duty-cycling, MAC controls fine-grain • Mode changes need to be coordinated to avoid conflicts
Assumptions: Radio/MAC • Circular or Isotropic Models: GS3 • Grid-based connectivity: GAF, GS3 • Radio/MAC dependencies: • 802.11 Power Saving mode: Span • Promiscuous mode: ASCENT, CEC
Assumptions: Neighbor Information • Locality: • 1-hop neighbor: GS3, ASCENT • n-hop neighbor (with various n > 1): GAF, CEC, Span … • Dependency on routing: GS3, Span • Measurement-based: ASCENT, CEC
Properties: Reactivity to dynamics & load balancing • Local re-calculation of state: GS3 • Global re-calculation of state: Span • Local recovery: GS3, GAF, CEC, ASCENT • Explicit load balancing mechanisms: GS3, Span, GAF, CEC
SPAN • Goal: preserve fairness and capacity & still provide energy savings • SPAN elects “coordinators” from all nodes to create backbone topology • Other nodes remain in power-saving mode and periodically check if they should become coordinators • Tries to minimize # of coordinators while preserving network capacity • Depends on an ad-hoc routing protocol to get list of neighbors & the connectivity matrix between them • Runs above the MAC layer and “alongside” routing
Coordinator Election & Announcement • Rule: if 2 neighbors of a non-coordinator node cannot reach each other (either directly or via 1 or 2 coordinators), node becomes coordinator • Announcement contention is resolved by delaying coordinator announcements with a randomized backoff delay • delay = ((1 – Er/Em) + (1 – Ci/(Ni pairs)) + R)*Ni*T Er/Em: energy remaining/max energy Ni: number of neighbors for node i Ci: number of connected nodes through node i R: Random[0,1] T: RTT for small packet over wireless link
Coordinator Withdrawal • Each coordinator periodically checks if it should withdraw as a coordinator • A node withdraws as coordinator if each pair of its neighbors can reach each other directly of via some other coordinators • To ensure fairness, after a node has been a coordinator for some period of time, it withdraws if every pair of nodes can reach each other through other neighbors (even if they are not coordinators) • After sending a withdraw message, the old coordinator remains active for a “grace period” to avoid routing loses until the new coordinator is elected
GAF/CEC: Geographical Adaptive Fidelity • Each node uses location information (provided by some orthogonal mechanism) to associate itself to a virtual grid • All nodes in a virtual grid must be able to communicate to all nodes in an adjacent grid • Assumes a deterministic radio range, a global coordinate system and global starting point for grid layout • GAF is independent of the underlying ad-hoc routing protocol
Virtual Grid Size Determination • r: grid size, R: deterministic radio range • r2 + (2r)2 R2 • r R/sqrt(5)
Parameters settings • enat: estimated node active time • enlt: estimated node lifetime • Td,Ta, Ts: discovery, active, and sleep timers • Ta = enlt/2 • Ts = [enat/2, enat] • Node ranking: • Active > discovery (only one node active per grid) • Same state, higher enlt --> higher rank (longer expected time first) • Node ids to break ties
CEC • Cluster-based Energy Conservation • Nodes are organized into overlapping clusters • A cluster is defined as a subset of nodes that are mutually reachable in at most 2 hops
Cluster Formation • Cluster-head Selection: longest lifetime of all its neighbors (breaking ties by node id) • Gateway Node Selection: • primary gateways have higher priority • gateways with more cluster-head neighbors have higher priority • gateways with longer lifetime have higher priority
( ( ) ( ) ) ( ) cascading ) ( ) ( ) ( ) ( A B new node Challenges for local healing of solid-disc clustering • Equi-radius solid-disc clustering with bounded overlaps is not achievable in a distributed and local manner
FLOC protocol • Solid-disc clustering with bounded overlaps is achievable in a distributed and local manner for approximately equal radius • Stretch factor, m≥2, produces partitioning that respects solid-disc • Each clusterhead has all the nodes within unit radius of itself as members, and is allowed to have nodes up to m away of itself • FLOC is locally self-healing, for m≥2 • Faults and changes are contained within the respective cluster or within the immediate neighboring clusters
FLOC program … • By taking unit distance to be reliable comm. radius & m be maximum comm. radius, FLOC • exploits the double-band nature of wireless radio-model • achieves communication- and energy-efficient clustering • FLOC achieves clustering in O(1) time regardless of the size of the network • Time, T, depends only on the density of nodes & is constant • Through simulations and implementations, we suggest a suitable value for T for achieving fast clustering without compromising the quality of resulting clusters
Model • Geometric network, e.g., 2-D coordinate plane • Radio model is double-band * • Reliable communication within unit distance = in-band • Unreliable communication within 1 < d < m = out-band • Nodes have i-band/ o-band estimation capability • RSSI-based using signal-strength as indicator of distance • Statistics-based using average link quality as an indicator • Fault model • Fail-stop and crash • New nodes can join the network
Problem statement • A distributed, local, scalable, and self-stabilizing clustering program, FLOC, to construct network partitions such that • a unique node is designated as a leader of each cluster • all nodes in the i-band of each leader belong to that cluster • maximum distance of a node from its leader is m • each node belongs to a cluster • no node belongs to multiple clusters
( ( ) ( ) ) ( ) ) ( ) ( ) ( ) new node subsumed Justification for stretch factor > 2 • For m≥2 local healing is achieved: a new node is • either subsumed by one of the existing clusters, • or allowed to form its own cluster without disturbing neighboring clusters ) ( ( ) ( ( ) ) ( ) new cluster
Basic FLOC program • Status variable at each node j: • idle : j is not part of any cluster and j is not a candidate • cand : j wants to be a clusterhead, j is a candidate • c_head : j is a clusterhead, j.cluster_id==j • i_band : j is an inner-band member of a clusterhead j.cluster_id; a clusterhead itself is an i_band member • o_band :j is an outer-band member of j.cluster_id • The effects of the 6 actions on the status variable:
FLOC actions • idle Λ random wait time from [0…T] expired become a cand and bcast cand msg • receiver of cand msg is within in-band Λ its status is i_band receiver sends a conflict msg to the cand • candidate hears a conflict msg candidate becomes o_band for respective cluster • candidacy period Δ expires cand becomes c_head, and bcasts c_head message • idle Λ c_head message is heard become i_band or o_band resp. • receiver of c_head msg is within in-band Λis o_band receiver joins cluster as i_band
FLOC is fast • Assumption: atomicity condition of candidacy is observed by T • Theorem: Regardless of the network size FLOC produces the partitioning in T+Δ time • Proof: • An action is enabled at every node within at most T time • Once an action is enabled at a node, the node is assigned a clusterhead within Δtime • Once a node is assigned to a clusterhead, this property cannot be violated • action 6 makes a node change its clusterhead to become an i-band member, action 2 does not cause clusterhead to change
FLOC is locally-healing • Node failures • inherently robust to failure of non-clusterhead members • clusterhead failure detected via “lease” mechanism, the orphaned nodes execute clustering ---see node additions • Node additions • either join existing cluster, or • form a new cluster without disturbing immediate neighboring clusters
Extensions to basic FLOC algorithm • Extended FLOC algorithm ensures that solid-disc property is satisfied even when atomicity of candidacy is violated occasionally • Insight: Bcast is an atomic operation • Candidate that bcasts first locks the nodes in the vicinity for Δ time • Later candidates become idle again by dropping their candidacy when they find some of the nodes are locked • 4 additional actions to implement this idea
Simulation for determining T • Prowler, realistic wireless sensor network simulator • MAC delay 25ms • Tradeoffs in selection of T • Short T leads to network contention, and hence, message losses • Tradeoff between faster completion time and quality of clustering • Scalability wrt network size • T depends only on the node density • In our experiments, the degree of each node is between 4-12 • a constant T is applicable for arbitrarily large-scale networks
Implementation • Mica2 mote platform, 5-by-5 grid • Confirms simulation
GS3: Scalability via locality • Locality is hard for some graph problems • e.g., self-configuration and self-healing of routing tree • An ideal goal for locality: self-healing should be a function of the size of perturbation (in time, space, and energy) • Locality depends on model
System model • System • multiple “small” nodes and one “big” node, on a plane • node distribution • density: ( Rts.t. with high probability, there are multiple nodes in any circular area of radius Rt) • localization: relative location between nodes can be estimated • Perturbations • dynamic nodes • joins, leaves (deaths), state corruptions • mobile nodes
Problem: Geography-aware self-configuration • Geographic radius of clusters is crucial • for communication quality, energy dissipation, data aggregations & applications • Problem statement • Given R: ideal cell radius (R > Rt) • Construct a set of cells , connected via a “head” node in each cell s.t. • radius of each cell is in [ R-c , R+c ] , where c = f (Rt) • each node belongs to only one cell • cells and the connectivity graph over head nodes self-heal locally
Static networks • An ideal case: • In reality: no node may exist at some geometric centers (ILs), but, with high probability there are nodes no more than Rt away from any IL (IL = Ideal Location)
How to find the set of cell heads • Bottom-up ? • hard to guarantee the placement and size of clusters • Top-down w.r.t. big node • use diffusing computation • but, accumulation in deviation of head location from IL is a problem i
Organizing neighboring clusters & heads Deviation problem is handled locally • instead of using real locations, node i uses its and its parent’s ILs • i calculates the ILs of next band cells in its search region < LD , RD > • big node: <0o , 360o> • other nodes: <-60o-a , 60o+a> , where a Sin-1(Rt / R) • for each IL, i ranks nodes within Rt radius of the IL (by <D, A>), and selects the highest ranked node as the corresponding cluster head
Summary: static networks • Cell structure is hexagonal • cell radius: • Time taken to form the structure is (Db), where Db = the maximum distance between the big node and the small nodes • Scalability in self-configuration: • local coordination: only with nodes within range • local knowledge: each node maintains info about a constant number of nearby nodes
Dynamic networks • Dynamics include: • node join, leave (death), state corruption • Common vs. rare • common perturbations: node density is preserved • rare perturbations: node density is destroyed • Scalable self-healing is achieved via locality in: • intra-cell healing • inter-cell healing • sanity checking of state (invariants)
Local intra-cell healing • Head shift • upon head leaving (death) • local in a radius of Rt • Cell shift • upon the death of all the nodes in an area of radius Rt • local in a radius of R • independent but consistent shift at individual cells sliding of the global head level structure
Local inter-cell healing & sanity checking • Local inter-cell healing : upon failure of intra-cell healing at head j, • first, the parent of j tries to find a new head j’ • if that fails, the children of j find new parents • Local sanity checking of state invariants : upon detecting violation of the hexagonality property, • node corrects itself after checking with its neighbors • when state perturbation includes several nodes, the perturbed region corrects itself from the outside going in, and all nodes are corrected within time proportional to size of perturbed region
Summary: dynamic networks • Cell radius • for cells not adjoining any gap: • for cells adjoining a gap: • Head tree is now minimum distance tree rooted at the big node • Stabilization time from perturbed state: (Dp), where Dp = diameter of the continuously perturbed area
Summary: dynamic networks (contd.) • Scalability in self-healing: • local fault-containment and healing • local knowledge • Local healing and fault-containment enables • stable cell structure • lengthened lifetime: (nc) , where nc = the number of nodes in a cell
Related work • Cellular hexagon structure (Mac Donald ’79) • Preconfigured & not considering self-healing • LEACH (Heinzelman et al’00) • No guarantee about the placement and size of clusters • Perturbations dealt with by globally repeating the whole clustering process • Logical-radius based clustering (in Banerjee ’01) • non-local cluster maintenance, and no consideration of state corruption • only logical radius long links and link asymmetry are possible • multiple rounds of diffusion