1 / 40

Topology Control Algorithms

Topology Control Algorithms. Davide Bilò e-mail: davide.bilo@univaq.it. What is Topology Control ?. Mechanisms and algorithms to conserve energy in ad-hoc radio and sensor networks Primary targets of a topology control algorithm abandon long-distance communication links

jholtz
Download Presentation

Topology Control Algorithms

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Topology Control Algorithms Davide Bilò e-mail: davide.bilo@univaq.it

  2. What is Topology Control? • Mechanisms and algorithms to conserve energy in ad-hoc radio and sensor networks • Primary targets of a topology control algorithm • abandon long-distance communication links • prevent the network from being partitioned • Secondary targets • each node has “few” neighbors • routing path does not have to become non-competitively long topology control algorithms should find a good tradeoff between connectivity and sparsness

  3. What does a TC Algorihm do? Let G=(V,E) be an (undirected*) communication graph where • V is the set of devices with |V|=n • E contains edge (u,v) iff u and v can communicate directly • c(u,v) minimum transmission power at which u has to transmit if it wants to send a msg to v directly (we assume c(u,v)=c(v,u) and c(u,v)pmax) * As devices are homogeneous, i.e., they have the same characteristics, we can assume that if u can communicate with v directly if u transmits at power p(u), then also v can communicate with u directly if v transmits at power p(v)p(u). This implies that the devices all have the same maximum transmission power pmax. Running the TC algorithm A on all the nodes yields a graph GA=(V,EA) which is a subgraph of G

  4. What is the Directed Communication Graph Gin the Euclidean Model? Observe: for every 1,d(u,v)d(u,v) iff d(u,v)d(u,v ). For simplicity, we will assume that =1 even though everything we will see can be generalized to every 1

  5. The (Directed) Communication Graph Gin the Euclidean Model is a Unit Disk Graph G has bidirectional symmetric link The transmission range of any node v is the disk centered at v with radius

  6. Formal Definition of Unit Disk Graph (UDG) Given a set V of points in the Euclidean plane, the Unit Disk Graph induced by V is the (undirected) graph G=(V,E) where E contains edge (u,v) iff d(u,v)1

  7. What does a TC Algorihm do? Let G=(V,E) be an (undirected*) communication graph where • V is the set of devices with |V|=n • E contains edge (u,v) iff u and v can communicate directly • c(u,v) minimum transmission power at which u has to transmit if it wants to send a msg to v directly (we assume c(u,v)=c(v,u) and c(u,v)pmax) * As devices are homogeneous, i.e., they have the same characteristics, we can assume that if u can communicate with v directly if u transmits at power p(u), then also v can communicate with u directly if v transmits at power p(v)p(u). This implies that the devices all have the same maximum transmission power pmax. Running the TC algorithm A on all the nodes yields a graph GA=(V,EA) which is a subgraph of G

  8. Properties GA should have • Symmetry:GA is symmetric, i.e., u is a neighbor of v in GA iff v is a neighbor of u in GA Reason: Asymmetric communications are unpractical

  9. Properties GA should have • Symmetry:GA is symmetric, i.e., u is a neighbor of v in GA iff v is a neighbor of u in GA • Connectivity: there is a (direct) path from node u to node v in GA iff there is a (direct) path from u to v in G Connectivity is not enough A minimum spanning tree algorithm yields a connected subgraph GMST Not a good topology because close-by nodes in G might end too far in GMST

  10. Properties GA should have • Symmetry:GA is symmetric, i.e., u is a neighbor of v in GA iff v is a neighbor of u in GA • Connectivity: there is a (direct) path from node u to node v in GA iff there is a (direct) path from u to v in G • Spanner: if the shortest path from u to v in G w.r.t. some criteria has cost , then the shortest path from u to v in GA w.r.t. the same criteria has cost f(). If f() is bounded from above by a linear function of , then GA is called a spanner Spanner  Connectivity

  11. Properties GA should have • Symmetry:GA is symmetric, i.e., u is a neighbor of v in GA iff v is a neighbor of u in GA • Connectivity: there is a (direct) path from node u to node v in GA iff there is a (direct) path from u to v in G • Spanner: if the shortest path from u to v in G w.r.t. some criteria has cost , then the shortest path from u to v in GA w.r.t. the same criteria has cost f(). If f() is bounded from above by a linear function of , then GA is called a spanner Spanner  Connectivity • Sparsness:GA is sparse, i.e., |EA|=O(n) Reason: Primary target of a topology control algorithm is to abandon long-distance neighbors Sparsness is not enough as sparse graphs may have high degree

  12. Properties GA should have • Symmetry:GA is symmetric, i.e., u is a neighbor of v in GA iff v is a neighbor of u in GA • Connectivity: there is a (direct) path from node u to node v in GA iff there is a (direct) path from u to v in G • Spanner: if the shortest path from u to v in G w.r.t. some criteria has cost , then the shortest path from u to v in GA w.r.t. the same criteria has cost f(). If f() is bounded from above by a linear function of , then GA is called a spanner • Sparsness:GA is sparse, i.e., |EA|=O(n) • Low Degree: Each node in GA has a constant number of neighbors Spanner  Connectivity Low Degree  Sparsness

  13. Properties GA should have • Symmetry:GA is symmetric, i.e., u is a neighbor of v in GA iff v is a neighbor of u in GA • Connectivity: there is a (direct) path from node u to node v in GA iff there is a (direct) path from u to v in G • Spanner: if the shortest path from u to v in G w.r.t. some criteria has cost , then the shortest path from u to v in GA w.r.t. the same criteria has cost f(). If f() is bounded from above by a linear function of , then GA is called a spanner • Sparsness:GA is sparse, i.e., |EA|=O(n) • Low Degree: Each node in GA has a constant number of neighbors • Planarity: GA is planar, i.e., it does not have intersecting edges Reason: we can use geometric routing algorithms on planar graphs Spanner  Connectivity Low Degree  Sparsness

  14. Planar Graphs A (geometric) graph is planar if it has no intersecting edges (geometric graphs we consider are graphs whose set of vertices are points on the Euclidean plane, and edges are straight line segments) Intersection point Example of planar graph Example of non planar graph red edges intersect

  15. Properties GA should have • Symmetry:GA is symmetric, i.e., u is a neighbor of v in GA iff v is a neighbor of u in GA • Connectivity: there is a (direct) path from node u to node v in GA iff there is a (direct) path from u to v in G • Spanner: if the shortest path from u to v in G w.r.t. some criteria has cost , then the shortest path from u to v in GA w.r.t. the same criteria has cost f(). If f() is bounded from above by a linear function of , then GA is called a spanner • Sparsness:GA is sparse, i.e., |EA|=O(n) • Low Degree: Each node in GA has a constant number of neighbors • Planarity: GA is planar, i.e., it does not have intersecting edges Spanner  Connectivity Low Degree  Sparsness

  16. Which TC Algorihm do we need? • We do not need a global centralized algorithm for sure • no central authority in ad-hoc radio and sensor networks • What about a distributed algorithm? • better than the centralized one • not of practical use in case of mobile devices • We do need a local algorithm • each node is allowed to exchange msg’s with its neighbors a few times and then must decide which links it wants to keep

  17. Topology Control Algorithms for UDG • nodes know their coordinates (for instance, nodes use GPS) • Minimum Spanning Tree • distributed but not local • symmetry, connectivity, low degree, and planarity • Delaunay Triangulation • distributed but not local • symmetry, energy-spanner, low degree, and planarity • Gabriel Graph • local • symmetry, energy-spanner, sparsness, and planarity • nodes can sense signal strength and can perceive from which direction a signal arrives • Cone-based • local • symmetry, energy-spanner, sparsness, and planarity (an optional distributed (but not local) second phase) satisfies low degree.

  18. Limitations of the Euclidean Model • signal attenuation is uniform, that is, the Euclidean plane is flat and free of blocking objects • Radio propagation is as in vacuum transmission range of v u d(v,u)=d(v,u ) v u

  19. If we add obstacles… Euclidean Model does not work in realistic environments transmission range of v u d(v,u)=d(v,u ) v u obstacle

  20. Algorithm XTC R. Wattenhofer and A. Zollinger, XTC: A Practical Topology Control Algorithm for Ad-Hoc Networks, 4th International Workshop on Algorithms for Wireless, Mobile, Ad Hoc and Sensor Networks, 2004 download link: http://www.dcg.ethz.ch/members/roger.html

  21. Algorithm XTC • works in every environment (i.e., every undirected graph G) • nodes do not need to know their coordinates • nodes do not need to perceive which direction a signal comes from • it is local • and fast (every node communicates with its neighborhood twice) • the system can be • asynchronous • uniform • non-anonymous • satisfies • symmetry • connectivity • low degree • planarity • energy-spanner (in random UDG’s) correctness in UDG’s efficiency

  22. Algorithm XTC Three main steps: • neighbor ordering • neighbor order exchange • edge selection (Nu neighborhood of u)

  23. Algorithm XTC • Algorithm XTC (description for node u) • (neighbor ordering) • establish total order <u over u’s neighbors in G v<uw means that uprefers link (u,v) more than link (u,w), i.e., link (u,v) is of higher quality than link (u,w) (for instance, v<uw c(u,v)c(u,w))

  24. Algorithm XTC • Algorithm XTC (description for node u) • (neighbor ordering) • establish total order <u over u’s neighbors in G • (neighbor order exchange) • broadcast <uto each neighbor in G and receive orders <v from all neighbors v’s • (edge selection (Nu neighborhood of u)) • Nu,Ñu:= • while (<u contains unprocessed neighbors) • v:= least unprocessed neighbor in <u • if (wNuÑu s.t.w<vu) then • Ñu:=Ñu{v} • else • Nu:=Nu{v} i.e., w<uv

  25. Graph Yielded After Execution of Algorithm XTC Nu is the set of neighbors of u computed by algorithm XTC GXTC=(V,EXTC) where EXTC={(u,v)|u:vNu}

  26. GXTC is Symmetric • Theorem (Symmetry):GXTC is symmetric, i.e., a node u includes v in Nu iff v includes u in Nv. Proof: Assume u includes v in Ñu. We show that v includes u in Ñv. u includes v in Ñu because wNu Ñu with w <uv and w <vu. When v processes u, wNv Ñv. Thus, v includes u in Ñv. From now on, we will tacitly assume that GXTC is symmetric

  27. Some Assumptions • Weak Assumption (WA): Neighbor orders are based on function c, i.e., u,w<uv c(u,w)c(u,v) • Strong Assumption (SA): Every edge (u,v) has a weightl(u,v)=(c(u,v),min{id(u)*,id(v)},max{id(u),id(v)}). Neighbor orders are based on the lexicographic order** of edge weights, i.e., u,w<uv l(u,w)< l(u,v) * id(w) is the identifier of node w. Nodes have distinct identifiers. **(,,)<(,,)  (<) or ((=) and (<)) or ((=) and (=) and (< ))

  28. GXTC Satisfies Connectivity • Theorem (Connectivity): Under SA, two nodes u and v are connected in GXTC iff they are connected in G. • Corollary: Under SA, GXTC is connected iff G is connected.

  29. GXTC Satisfies Connectivity • Theorem (Connectivity): Under SA, two nodes u and v are connected in GXTC iff they are connected in G. Proof: If u and v are connected in GXTC, then they are connected in G. (because GXTC is a subgraph of G) So we have to prove that Claim: if u and v are connected in G, then they are connected in GXTC. We prove Claim by contradiction, i.e., we assume that there exist u and v which are connected in G but not in GXTC. We use the following scheme: • we choose the “right” u and v • we show that u and v are connected in GXTC

  30. GXTC Satisfies ConnectivityHow to choose the “right” u and v • Theorem (Connectivity): Under SA, two nodes u and v are connected in GXTC iff they are connected in G. Proof: … Let Z be the set of all the pair of nodes u and v which are not connected in GXTC but they are connected in G via a direct edge. Is Z? YES w and t are connected in G but not in GXTC v Vw: set of nodes connected to w in GXTC u Vt: set of nodes connected to t in GXTC t w VwVt= G Vw Vt

  31. GXTC Satisfies ConnectivityHow to choose the “right” u and v • Theorem (Connectivity): Under SA, two nodes u and v are connected in GXTC iff they are connected in G. Proof: … Let Z be the set of all the pair of nodes u and v which are not connected in GXTC but they are connected in G via a direct edge. Is Z? YES u and v is the pair of nodes in Z of minimum value l(u,v)

  32. GXTC Satisfies ConnectivityHow to prove that u and v are connected in GXTC • Theorem (Connectivity): Under SA, two nodes u and v are connected in GXTC iff they are connected in G. Proof: … What we have shown so far: u and v is the pair of nodes of minimum value l(u,v)among those pair of nodes which are not connected in GXTC but connected in G via a direct edge. u includes v in Ñu because wNu Ñu with w<uv, i.e., w<uv AND w<vu l(u,w) < l(u,v) ANDl(v,w)< l(u,v) u and w are connected in GXTC AND v and w are connected in GXTC u and v are connected in GXTC

  33. GXTC on UDG’s (remember that (u,v) is in G iffc(u,v)=d(u,v)1)

  34. GXTC on UDG’s has Low Degree • Theorem (Low Degree): Under WA, if G is a UDG, then GXTC has degree at most 6. Proof: Let uV s.t. (u,v),(u,w)EXTC, i.e., d(u,v),d(u,w)1. We prove that the angle /3 by contradiction. So, assume for contradiction that </3. W.l.o.g., assume v<uw, i.e., d(u,v)d(u,w). Claim: If d(u,v)d(u,w) and </3, then d(v,w)<d(u,w).  d(v,w)1  (v,w) is in G. Moreover, v<wu. Thus, u includes w in Ñu. By Theorem (Symmetry)(u,w)EXTC. w  contradicts (u,w)EXTC v u

  35. Proof of Claim: If d(u,v)d(u,w) and </3, then d(v,w)<d(u,w) d(v,w)2=A2+B2 =d(u,v)2-2d(u,v)d(u,w)cos  +d(u,w)2 (1-2cos )d(u,v)2+d(u,w)2 <d(u,w)2 (use sin2 +cos2 =1) w A=|d(u,v)-d(u,w)cos | B=d(u,w)sin  ([0,/3), cos >0.5) B  v u A

  36. GXTC on UDG’s is Planar • Theorem (Planarity): Under WA, if G is UDG, then GXTC is planar. Proof: Let u,v,w,t be any 4-tuple of distinct nodes forming a quadrangle Q as in figure s.t. d(u,w),d(v,t)1. The only two intersecting edges of Q may be (u,w) and (v,t). We prove that (u,w)EXTC or (v,t)EXTC. (This is almost enough as almost every pair of intersecting edges defines a quadrangle) As the sum of the interior 4 angles of Q is 2, one of them is /2. W.l.o.g., assume /2.  d(u,v),d(w,v)<d(u,w). As d(u,w)1, then (u,v),(w,v) are in G. Moreover, v<uw and v<wu. When u considers w, vNuÑu. As v<wu, then u includes w in Ñu. By Theorem (Symmetry)(u,w)EXTC. Q t w  v u

  37. GXTC on UDG’s is Planar • Theorem (Planarity): Under WA, if G is UDG, then GXTC is planar. Proof: … to complete the proof, we should consider the case of three aligned points as in figure. Exercise: Show that (u,w)EXTC. u v w

  38. Experimental Results Stretch factor of GXTC w.r.t. energy metric (solid line). Mean values are plotted in black, maximum values in gray. GXTCis an energy-spanner in random UDG’s

  39. Experimental Results Node degree of GXTC (solid line). Node degree of G (dotted line). Mean values are plotted in black, maximum values in gray. GXTC has very low degree in random UDG’s … but we already knew it!!!

  40. A comparison with the Gabriel Graph

More Related