Greedy routing by distributed D l Delaunay triangulation t i l ti - - PowerPoint PPT Presentation

greedy routing by distributed d l delaunay triangulation
SMART_READER_LITE
LIVE PREVIEW

Greedy routing by distributed D l Delaunay triangulation t i l ti - - PowerPoint PPT Presentation

Greedy routing by distributed D l Delaunay triangulation t i l ti 4/4/2017 Greedy Routing (S. S. Lam) 1 Gr Greedy Routing y out ng It is scalable to a large n t network k d (destination) o because each node stores info about its


slide-1
SLIDE 1

Greedy routing by distributed D l t i l ti Delaunay triangulation

Greedy Routing (S. S. Lam) 1 4/4/2017

slide-2
SLIDE 2

Greedy Routing Gr y

  • ut ng

 It is scalable to a large

n t k g d (destination) network

  • because each node

stores info about its f g stores info about its directly-connected neighbors only b g y

But it fails at a local

minimum, where all h c a e neighbors are farther away from the destination than th d its lf

local minimum to d

the node itself

2 4/4/2017 Greedy Routing (S. S. Lam)

slide-3
SLIDE 3

Greedy routing protocols include a recovery method

F i d b GFG d

 Face routing used by GFG

[Bose et al. 99] and GPSR [Karp & Kung 00] d g [Karp & Kung 00]

 for planar graphs (2D) only

 successful planarization of a

f

 successful planarization of a

general graph requires that

i. the graph is a “unit disk” graph and

b e

and ii. node location information is accurate.

h c a e

h f i l d h l l i

Both assumptions are unrealistic

the face includes the local min.

Greedy Routing (S. S. Lam) 3

slide-4
SLIDE 4

Delaunay triangulation (DT)?

A set of points in 2D A set of points in 2D

Greedy Routing (S. S. Lam) 4

slide-5
SLIDE 5

A triangulation of S A triangulation of S

Ci i l f thi t i l i t t Circumcircle of this triangle is not empty

Greedy Routing (S. S. Lam) 5

slide-6
SLIDE 6

Delaunay triangulation of S Delaunay triangulation of S

Circumcircle of every triangle is empty Circumcircle of every triangle is empty

Greedy Routing (S. S. Lam) 6

slide-7
SLIDE 7

Greedy forwarding in a DT always succeeds to find a destination node

 Theorem and proof for

d i 2D

destination

nodes in 2D

[Bose & Morin 2004]  Each node is identified

by its coordinates in 2D

source source

7 Greedy Routing (S. S. Lam)

slide-8
SLIDE 8

DT in d-dimensional Euclidean space m p

 DT definition generalized to 3D or higher

di i dimension 2D d-dimensional

triangle simplex empty circumcircle empty circum-hypersphere  In any dimension, the DT of S is a graph,

denoted by DT(S)

 neighbors in the graph are called DT neighbors

Greedy Routing (S. S. Lam) 8

slide-9
SLIDE 9

Greedy forwarding in a DT l f always succeeds to find a node closest to a destination location closest to a destination location

 Theorem and proof for location

p nodes in a d-dimensional Euclidean space, d ≥ 2

location

p ,

[Lee & Lam 2006]  Node coordinates may

be arbitrary

source

be arbitrary

source Idea: When greedy routing is stuck at a local minimum (dead end) forward packet to a DT neighbor

9 Greedy Routing (S. S. Lam)

(dead end), forward packet to a DT neighbor (via a tunnel)

slide-10
SLIDE 10

Distributed system model of DT y

 A set S of nodes in a d-dimensional

Euclidean space Euclidean space

 Each node assigns itself coordinates in the space

to be used as the node’s identifier to be used as the node s identifier

 “ u knows v ” means “ u knows v’s coordinates ”

 Each node is a communicating state machine

 a node’s state is set of nodes it knows  a node s state is set of nodes it knows  protocol messages it sends and receives

No need to think about d-dimensional objects except when proving theorems except when proving theorems

Greedy Routing (S. S. Lam) 10

slide-11
SLIDE 11

A distributed DT

Cu set of nodes u knows DT(Cu ) local DT computed by u Nu neighbors of u in DT(Cu )

 The distributed DT is correct iff, for all u ∈ S,

Nu = set of u’s neighbors in DT(S)

 No broadcast, Nu

Cu and |Cu| << |S|

local info global info

u u u

Greedy Routing (S. S. Lam) 11

slide-12
SLIDE 12

Node u finds nodes and computes its local DT

g i f

How does u search?

e h l f j

How does u search?

a d k

When does u stop?

b

C { b d}

k

u

c

Cu={u, a, b, c, d} DT(Cu) Nu={a, b, c}

12 Greedy Routing (S. S. Lam)

slide-13
SLIDE 13

Application to Layer 2 routing

 Layer 2 network represented by an

arbitrary graph of nodes and physical links arbitrary graph of nodes and physical links (connectivity graph)

 Minimal assumptions:

graph is connected each physical link is bidirectional

p y

 The connectivity graph is not the DT graph Need a protocol for nodes to compute the Need a protocol for nodes to compute the distributed DT

Greedy Routing (S. S. Lam) 13

slide-14
SLIDE 14

Extension - Multi-hop DT p

 Connectivity graph –

nodes and physical links nodes and physical links

 DT graph h i j  DT graph  In a multi hop DT h g  In a multi-hop DT,

neighbors can be

c a b e

 directly connected  multiple hops apart and

c d f communicate via a virtual link (tunnel) a physical link that is not a DT edge

Greedy Routing (S. S. Lam)

4/4/2017

14

slide-15
SLIDE 15

Each node has a forwarding table g

 Each entry in the forwarding

table is a 4-tuple table is a 4 tuple

<source, pred, succ, dest>

i j

 for the DT edge a-d, to

provide the path a-b-c-d

h

g provide the path a b c d, each node stores a tuple, e g

c a b

e e.g.,

 node b stores <a, a, c, d>

c a d

e f

d

The tuple is used by b for forwarding in both directions

Greedy Routing (S. S. Lam)

4/4/2017

15

slide-16
SLIDE 16

In a multi-hop DT, each node u In a multi hop DT, each node u

 maintains tuples in its forwarding table F as  maintains tuples in its forwarding table Fu as

soft state state of node u Cu = set of destination nodes in tuples of Fu Nu = set of neighbors in DT(Cu) Nu set of neighbors in DT(Cu) node u’s local DT node u s local DT

Greedy Routing (S. S. Lam) 16

slide-17
SLIDE 17

A multi-hop DT is correct iff A multi hop DT is correct iff

1.

for all u ∈ S, Nu = set of u’s neighbors in DT(S) (the distributed DT is correct) DT(S)

  • 2. for every DT edge (u, v), there exists a unique

(the distributed DT is correct) y g ( , ), q k-hop path between u and v in the forwarding tables of nodes in S

Greedy Routing (S. S. Lam)

4/4/2017

17

slide-18
SLIDE 18

MDT’s 2-step greedy forwarding MDT s 2-step greedy forwarding

node u receives a packet node u receives a packet with destination d greedy step 1 ∃ a physical neighbor v closest to d ? transmit to v greedy step 1 yes greedy step 2 no ∃ a DT neighbor w closest to d ? forward to w yes (using a tuple in node u is closest to d no (using a tuple in forwarding table)

Greedy Routing (S. S. Lam) 18

slide-19
SLIDE 19

MDT’s 2-step greedy - example MDT s 2 step greedy example

destination

k

 Source c, dest. k  At node c, physical i j

k neighbor closest to k is b

h g

c transmits msg to b

b

g

c

a d e f source d

MSG

4/4/2017 19 Greedy Routing (S. S. Lam)

slide-20
SLIDE 20

2-step greedy example (cont.)

 Node b is a local minimum 

ith m lti h DT i hb

j

destination

k

 with multi-hop DT neighbor j

closest to k

b j

i

j k

 node b forwards msg to j by

transmitting it to e

h

g

 node e forwards msg to j by

transmitting it to h

b

g

MSG

 does not perform greedy step 1

 h transmits msg to j c a d

e

f source g

j

 j finds itself closest to k d f

4/4/2017 20 Greedy Routing (S. S. Lam)

slide-21
SLIDE 21

In a correct multi-hop DT In a correct multi hop DT

 MDT’s 2-step greedy forwarding provides  MDT s 2-step greedy forwarding provides

guaranteed delivery to a node that is closest to the destination location

Theorem and proof [Lam and Qian 2011] Theorem and proof [Lam and Qian 2011]

We next present a join protocol for nodes We next present a join protocol for nodes to construct a correct multi-hop DT

Greedy Routing (S. S. Lam)

4/4/2017

21

slide-22
SLIDE 22

MDT join protocol: initial step MDT join protocol initial step

Given: a correct

multi-hop DT of S

node a boots up

i j

node a boots up

h g

to join S, a needs to

find the closest node

b g

in S

 It must be a neighbor

c d e f

a

 It must be a neighbor

  • f a in the DT of

S∪{a}

d

Greedy Routing (S. S. Lam)

{ }

22

slide-23
SLIDE 23

2-step greedy in existing DT finds node closest to a node closest to a

 a sends JOIN_ req to b

with a’s location as with a s location as destination

i j

 It is greedily forwarded

to node c which is closest

h g

to a

b

g

a

JOIN_req JOIN_req

 Each node along the

path of JOIN_req c

d e f

a p _ q stores a forwarding tuple for the path

d

4/4/2017 Greedy Routing (S. S. Lam) 23

slide-24
SLIDE 24

Closest node c found Closest node c found

 c sends JOIN

rep to a

 c sends JOIN_ rep to a

along the reverse path

i j h g

NB_req

Node a begins an iterative search

b e g

a

 a sends NB_req to c

c

d e f

a

JOIN_rep

d

Greedy Routing (S. S. Lam) 24

slide-25
SLIDE 25

Finding more DT neighbors

 c adds a to its set Cc

j

 c recomputes DT(Cc) h i

j p ( c)

 Set of a’s new neighbors b g  Set of a s new neighbors

in DT(Cc) is Na

c = { j, d }

c

e f

a

 c sends NB_rep(Na

c)

to a d

f

NB_rep

to a

4/4/2017 Greedy Routing (S. S. Lam) 25

slide-26
SLIDE 26

Iterative search by node u

repeat for all x ∈ N new do node x

for a distributed DT [Lee and Lam 2006]

for all x ∈ Nu do remove x from Nu

new

d NB t receive NB_req from u C C { } send NB_req to x receive NB_rep(Nu

x)

Cx = Cx ∪ {u} compute DT(Cx) ; update Nx Cu = Cu ∪ {Nu

x}

compute DT(Cu); update Nu p ( x) p

x

Nu

x = u ’s neighbors in DT(Cx)

d NB (N x) compute D (Cu); update Nu update Nu

new

send NB_rep (Nu

x) to u

until Nu

new is empty (successfully joined)

Greedy Routing (S. S. Lam) 26

Nu

new

new neighbors that have not been sent a NB_req

slide-27
SLIDE 27

Path to a multi-hop DT neighbor m p g

 Node a has learned j

f d from node c

a sends NB_req i

j

a-c path has been

established j: th isti h

g

c-j: the existing

multi-hop DT is correct; a forwarding b

g

correct; a forwarding path exists between c and j c

d

e

f

a

NB_req NB_req

 The virtual link a-j is

s t up

d

27

set up

27 Greedy Routing (S. S. Lam)

slide-28
SLIDE 28

Physical-link shortcut

 j received NB_req and

sends NB rep to a sends NB_rep to a

 At any intermediate

node along the reverse

i

j

NB_rep

node along the reverse path j-h-e-c-b-

 if a node (h in this

h

g f a node (h n th s example) finds that dest.

a is a physical neighbor,

th i t itt d

b

g the msg is transmitted directly to a

h

d t it t l f

a c

d

e

f

a

h updates its tuple for a

and j d Tuples for a and j in nodes b, c, and e will time out

Greedy Routing (S. S. Lam) 28

c, and e will time out

slide-29
SLIDE 29

When join protocol terminates the multi-hop DT of S∪{u} is correct

F l

 For a single join

 Theorem and proof [Lam and Qian 2011]

 Theorem also holds for concurrent joins

j that are independent

 A correct multi-hop DT can be constructed

by nodes joining serially by nodes joining serially

Greedy Routing (S. S. Lam) 29

slide-30
SLIDE 30

Concurrent events

 Two practical problems

1

At t k i iti li ti ll d j i

1.

At network initialization, all nodes join concurrently to construct a correct multi-hop DT DT

2.

Dynamic topology changes occurring at a high ( ) rate (churn)

  • nodes
  • Links

 MDT solution - Each node runs the iterative search

protocol repeatedly and asynchronously (controlled

by a timer)

Greedy Routing (S. S. Lam) 30

slide-31
SLIDE 31

Initialization - Accuracy vs. time

concurrent joins of 300 nodes in 3D, ave. msg delay =15 ms Each node has run iterative search 2 or 3 times accuracy=1 ⇔ correct MDT 10 sec TO y

Greedy Routing (S. S. Lam) 31

slide-32
SLIDE 32

Convergence to a correct multi hop DT multi-hop DT

300 nodes in 3D join concurrently, 50 experiments

  • max. no. = 6

Greedy Routing (S. S. Lam) 32

slide-33
SLIDE 33

Convergence to a correct multi hop DT multi-hop DT

700 nodes in 3D join concurrently, 50 experiments j y p

  • max. no. = 8

Greedy Routing (S. S. Lam) 33

slide-34
SLIDE 34

Achieving 100% routing success rate is faster faster

300 nodes in 3D join concurrently, 50 experiments

Greedy Routing (S. S. Lam) 34

slide-35
SLIDE 35

Achieving 100% routing success rate is faster faster

700 nodes in 3D join concurrently, 50 experiments

  • max. no. = 4

Greedy Routing (S. S. Lam) 35

slide-36
SLIDE 36

 500

i l ti i t

 500 simulation experiments

 300 - 1500 nodes in 3D and 2D, ran on some

diffi lt h difficult graphs

Convergence to a correct multi-hop DT

i i in every experiment

 Conjecture. The iterative search protocol

when run repeatedly by a set of nodes is p y y f self-stabilizing.

 No proof, but no counter example has been found  No proof, but no counter example has been found

in simulations

 What assumptions are needed?

p

Greedy Routing (S. S. Lam) 36

slide-37
SLIDE 37

Churn - Accuracy vs. time

300 nodes in 3D, churn rate = 20 nodes/second from time 0 to 5 sec, ave. msg delay = 15 ms correct l h Each node has run multi-hop DT Each node has run iterative search 2

  • r 3 times

10 sec TO m churn churn stopped

Greedy Routing (S. S. Lam) 37

Graphs for 4 different topologies and location accuracies

slide-38
SLIDE 38

Msg cost/node/sec vs. churn rate

300 nodes in 3D, ave. msg delay =15 ms

  • Control message cost depends more
  • n TO interval than on churn rate

10 sec TO per it ti

  • TO interval should be adaptive

iterative search

Greedy Routing (S. S. Lam) 38

Graphs for 4 different topologies and location accuracies

slide-39
SLIDE 39

Comparison of 5 protocols in 2D

300 nodes ith

Routing stretch vs. e

with inaccurate coordinates

log scale

coordinates, static topologies, p g density = 9.7 l f

  • nly for

packets delivered by delivered by GPSR

Greedy Routing (S. S. Lam) 39

slide-40
SLIDE 40

Initialization msg cost vs. N g

node density

log scale

node density = 12

MDT costs do not do not increase with N w th N

Greedy Routing (S. S. Lam) 40

slide-41
SLIDE 41

Virtual vs. physical coordinates

log scale inaccurate physical inaccurate physical coordinates

VPoD

Greedy Routing (S. S. Lam) 41

slide-42
SLIDE 42

Multi-hop DT - overview p

 Nodes in a d-dimensional Euclidean space

 Each node assigns itself coordinates in the space  Each node assigns itself coordinates in the space  any connectivity graph, bidirectional links

 MDT protocols  MDT protocols

 2-step greedy forwarding

J i t l h d it ti h

 Join protocol – each node runs iterative search once  Leave and failure protocols for repairing node states

after a single leave or failure after a single leave or failure

 Maintenance protocol – each node runs optimized

iterative search periodically to repair node states iterative search periodically to repair node states

 Network initialization by concurrent joins – each

node runs iterative search once followed by optimized node runs iterative search once followed by optimized iterative search repeatedly

Greedy Routing (S. S. Lam) 42

slide-43
SLIDE 43

MDT protocols performance

 An efficient and effective search method

for nodes to construct and maintain a for nodes to construct and maintain a correct multi-hop DT – fast convergence

 2

t d f di id

 2-step greedy forwarding provides

guaranteed delivery to a node closest to a i l ti

b i f DHT

given location – basis for a DHT

 scalable and highly resilient to dynamic

topology changes

 every node runs the same protocols – no

y p special nodes

Greedy Routing (S. S. Lam) 43

slide-44
SLIDE 44

Routing applications in layer 2 g pp y

 Wireless routing for nodes with inaccurate

g coordinates in 2D or 3D

 Lowest routing stretch compared to other

g p geographic routing protocols  Wired or wireless routing using virtual

g g coordinates

 VPoD and GDV provide end-to-end routing cost close

p g to that of shortest path routing [Qian & Lam 2011]  Finding a node closest to a location in a virtual

g space

 Delaunay DHT – highly resilient to churn [Qian

D u y DH g y u [Q and Lam 2012]

44 Greedy Routing (S. S. Lam)

slide-45
SLIDE 45

References

 D.-Y. Lee and S. S. Lam. Protocol design for dynamic

Delaunay triangulation. Technical Report TR-06-48, UTCS, y g p December 2006 (an abbreviated version in Proceedings IEEE ICDCS, June 2007).

 S S Lam and C Qian Geographic Routing in d-dimensional  S. S. Lam and C. Qian. Geographic Routing in d-dimensional

Spaces with Guaranteed Delivery and Low Stretch. In Proceedings of ACM SIGMETRICS, June 2011 (an extended si n in IEEE/ACM T ns N t kin V l 21 N 2 version in IEEE/ACM Trans. Networking , Vol. 21, No. 2, April 2013).

 C. Qian and Simon S. Lam, Greedy Routing by Network

Q y g y Distance Embedding, IEEE/ACM Transactions on Networking, published as IEEE Early Access Article, 2015, Digital Object Identifier: 10.11 09/TNET.2015.2449762; an Digital Object Identifier 10.11 09/TNET.2015.2449762; an early version in Proceedings of IEEE ICDCS, June 2011.

 C. Qian and S. S. Lam. ROME: Routing On Metropolitan-scale

Ethernet In Proceedings of IEEE ICNP 2012

  • Ethernet. In Proceedings of IEEE ICNP, 2012.

Greedy Routing (S. S. Lam) 45

slide-46
SLIDE 46

The end

Greedy Routing (S. S. Lam) 46