40
Topology Control Algorithms Davide Bilò e-mail: [email protected]

Topology Control Algorithms Davide Bilò e-mail: [email protected]

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

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

Topology Control Algorithms

Davide Bilòe-mail: [email protected]

Page 2: 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 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

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

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

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

What is the Directed Communication Graph

G in the Euclidean Model?

max( , ) ( , ) ;( , )

d u v d u v pc u v

if

otherwise.

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

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

The (Directed) Communication Graph G

in the Euclidean Model is a Unit Disk Graph

The transmission range of any node v is the disk centered at v with radius maxp

max 1p

W.l.o.g., we assume that

G has bidirectional symmetric link

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

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

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

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

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

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

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

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

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

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

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

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 neighborsSparsness is not enough as sparse graphs may have high degree

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

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

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

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

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

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)

Example of planar graph Example of non planar graph

red edges intersect

Intersection point

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

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

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

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

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

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.

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

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

vu

u

d(v,u)=d(v,u )

transmission range of v

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

If we add obstacles…

Euclidean Model does not work in realistic environments

v

u

transmission range of v

obstacle

u

d(v,u)=d(v,u )

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

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

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

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)

in UDG’s

correctness

efficiency

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

Algorithm XTC

Three main steps:

1. neighbor ordering

2. neighbor order exchange

3. edge selection (Nu neighborhood of u)

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

Algorithm XTC Algorithm XTC (description for node u)

1. (neighbor ordering) establish total order <u over u’s neighbors in G

v<uw means that u prefers 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))

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

Algorithm XTC Algorithm XTC (description for node u)

1. (neighbor ordering) establish total order <u over u’s neighbors in G

2. (neighbor order exchange) broadcast <u to each neighbor in G and

receive orders <v from all neighbors v’s

3. (edge selection (Nu neighborhood of u)) Nu,Ñu:= while (<u contains unprocessed neighbors)

v:= least unprocessed neighbor in <u if (wNuÑu s.t. w<vu) then

Ñu:=Ñu{v} else

Nu:=Nu{v}

i.e., w<uv

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

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:vNu}

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

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 wNu Ñu with w <uv and w <vu.

When v processes u, wNv Ñv.

Thus, v includes u in Ñv.

From now on, we will tacitly assume that GXTC is symmetric

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

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 weight l(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 (< ))

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

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.

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

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:1. we choose the “right” u and v

2. we show that u and v are connected in GXTC

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

v

u

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 t

w and t are connected in G but not in GXTC

Vw: set of nodes connected to w in GXTC

Vt: set of nodes connected to t in GXTC

VwVt=Vw Vt

G

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

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)

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

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 wNu Ñu with w<uv, i.e.,w<uv AND w<vu

l(u,w) < l(u,v) AND l(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

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

GXTC on UDG’s(remember that (u,v) is in G iff c(u,v)=d(u,v)1)

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

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 uV 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

v

ucontradicts (u,w)EXTC

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

Proof of Claim: If d(u,v)d(u,w) and </3, then

d(v,w)<d(u,w)

u

w

v

A

B

A=|d(u,v)-d(u,w)cos |

B=d(u,w)sin

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)

([0,/3), cos >0.5)

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

v

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, vNuÑu. As v<wu, then u includes w in Ñu.By Theorem (Symmetry) (u,w)EXTC.

u

wt

Q

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

v

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 w

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

Experimental Results

Stretch factor of GXTC w.r.t.

energy metric (solid line).

Mean values are plotted in black,

maximum values in gray.

GXTC is an energy-spanner in random UDG’s

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

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!!!

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

A comparison with the Gabriel Graph