2/19/09 Jie Gao, CSE595-spring09 1
PapersPapers
• [Papadimitriou04] David Ratajczak, Christos Papadimitriou, On a conjecture related to geometric routing, ALGOSENSOR, 2004. Initiates the study of greedy embedding.
• [Leighton08] T. Leighton and A. Moitra. Some results on greedy embeddings in metric spaces. FOCS08. The Ratajczak-Papadimitriou conjecture is proved.
• [Newsome03] James Newsome, Dawn Song, GEM: Graph EMbedding for Routing and Data-Centric Storage in Sensor Networks Without Geographic Information, Sensys'03. Virtual coordinates constructed by using a spanning tree.
• [Caesar06] M. Caesar, M. Castro, E. B. Nightingale, G. O'Shea, A. Rowstron, Virtual Ring Routing: Network Routing Inspired by DHTs, Sigcomm’06. Routing with 1D coordinates.
2/19/09 Jie Gao, CSE595-spring09 2
Greedy embedding of a graphGreedy embedding of a graph
Given a graph, find an embedding s.t. greedy routing works
2/19/09 Jie Gao, CSE595-spring09 3
Greedy embeddingGreedy embedding
• Given a graph G, find an embedding of the vertices
in Rd, s.t. for each pair of nodes s, t, there is a neighbor of s closer to t than s itself.
s
t
2/19/09 Jie Gao, CSE595-spring09 4
Questions to askQuestions to ask
• We want to find a virtual coordinates such that
greedy routing always works.
• Does there exist such a greedy embedding in R2?
• in R3?
• in Euclidean metric? Hyperbolic space?
• If it exists, how to compute?
2/19/09 Jie Gao, CSE595-spring09 5
Greedy embedding does not always existGreedy embedding does not always exist
• K1,6 does not have a greedy embedding in R2
2/19/09 Jie Gao, CSE595-spring09 6
A lemmaA lemma
• Lemma: each node t must have an edge to its
closest (in terms of Euclidean distance) node u.
• Otherwise, u has no neighbor that is closer to t than
itself.
2/19/09 Jie Gao, CSE595-spring09 7
ProofProof
• K1,6 does not have a
greedy embedding in R2
Proof:
1. One of the angles is
less than π/3.
2. One of ab2 and ab3, say,
ab2, is longer than b2b3.
3. Then b2 does not have edge with its closest
point b3.
2/19/09 Jie Gao, CSE595-spring09 8
A conjectureA conjecture
• Corollary: Kk, 5k+1 does not have a greedy
embedding in R2.
• Conjecture: Any planar 3-connected graph has a
greedy embedding R2.
• Hint: this is tight.
• K2,11 is planar but not 3-connected.
• K3.16 is 3-connected but not planar. (it has K3.3
minor).
• Planar 3-connected graph has a greedy embedding
in R3
2/19/09 Jie Gao, CSE595-spring09 9
Polyhedral routingPolyhedral routing
Proof:
1. Any 3-connected planar
graph is the edge graph of a 3D convex polytope, with
edges tangent to a sphere.
[Steinitz 1922].
2. Each vertex has a supporting
hyperplane with the normal being the 3D coordinate of
the vertex.
Theorem: Any 3-connected planar graph has a greedy
embedding e in R3, where the distance function is
defined as d(u, v) = - e(u)⋅e(v).
2/19/09 Jie Gao, CSE595-spring09 10
Polyhedral routingPolyhedral routing
Proof: For any s, t, there is a
neighbor v of s, d(v,t)<d(s,t).
1. d(s,t)-d(v,t)=[e(v)-e(s)]⋅e(t)>0.
2. Now suppose such neighbor v does not exist, then s is a
reflex vertex, with all the
neighbors pointing away from t.
3. This contradicts with the
convexity of the polytope.
t
s
v
2/19/09 Jie Gao, CSE595-spring09 11
DiscussionsDiscussions
• Papadimitriou’s conjecture: Any planar 3-connected graph has a greedy embedding R2. has been proved!
• The theorem only gives a sufficient condition, not necessary.
– K3.3 has a greedy embedding.
– A graph with a Hamiltonian cycle has a greedy embedding on a line.
• Given a graph, can we tell whether it has a greedy embedding in R2? Is this problem hard? (Recall that many such embedding problems are hard…)
• More understanding of greedy embedding in R2, R3…
2/19/09 Jie Gao, CSE595-spring09 12
FollowFollow--up workup work
• Dhandapani proved that any triangulation admits a
greedy embedding (SODA’08).
• Leighton and Moitra proved the conjecture (FOCS’08).
• Independently, Angelini et al. also proved it (Graph
Drawing’08).
• Goodrich and D. Strash improved the coordinates to be
of size O(log n) (under submission).
• We briefly introduce the main idea.
2/19/09 Jie Gao, CSE595-spring09 13
Leighton and Leighton and MoitraMoitra
• All 3-connected planar graph contain a spanning
Christmas Cactus graph.
• All Christmas Cactus graphs admit a greedy embedding
in the plane.
2/19/09 Jie Gao, CSE595-spring09 14
Leighton and Leighton and MoitraMoitra
• A cactus graph is connected, each edge is in at most
one simple cycle.
• A Christmas Cactus graph is a cactus graph for which
the removal of any node disconnects into at most 2
pieces.
2/19/09 Jie Gao, CSE595-spring09 15
A Christmas CactusA Christmas Cactus
2/19/09 Jie Gao, CSE595-spring09 16
ExampleExample
Example I
1a
2a
3a
4a
5a
6a
7aR+e
7a
6a
5a
4a3a
2a
1a
R
1b
2b
3b
4b
5b
6b
7b
1b
2b
3b4b
5b
6b
7b
Ankur Moitra () Geometric Graph Theory October 26, 2008 36 / 82
Example I
1a
2a
3a
4a
5a
6a
7aR+e
7a
6a
5a
4a3a
2a
1a
R
1b
2b
3b
4b
5b
6b
7b
1b
2b
3b4b
5b
6b
7b
Ankur Moitra () Geometric Graph Theory October 26, 2008 37 / 82
Example I
1a
2a
3a
4a
5a
6a
7aR+e
7a
6a
5a
4a3a
2a
1a
R
1b
2b
3b
4b
5b
6b
7b
1b
2b
3b4b
5b
6b
7b
s
t
Ankur Moitra () Geometric Graph Theory October 26, 2008 38 / 82
Example I
1a
2a
3a
4a
5a
6a
7aR+e
7a
6a
5a
4a3a
2a
1a
R
1b
2b
3b
4b
5b
6b
7b
1b
2b
3b4b
5b
6b
7b
s
t
Ankur Moitra () Geometric Graph Theory October 26, 2008 39 / 82
Example I
1a
2a
3a
4a
5a
6a
7aR+e
7a
6a
5a
4a3a
2a
1a
R
1b
2b
3b
4b
5b
6b
7b
1b
2b
3b4b
5b
6b
7b
s
t
Ankur Moitra () Geometric Graph Theory October 26, 2008 40 / 82
Example I
1a
2a
3a
4a
5a
6a
7aR+e
7a
6a
5a
4a3a
2a
1a
R
1b
2b
3b
4b
5b
6b
7b
1b
2b
3b4b
5b
6b
7b
s
t
Ankur Moitra () Geometric Graph Theory October 26, 2008 41 / 82
Example I
1a
2a
3a
4a
5a
6a
7aR+e
7a
6a
5a
4a3a
2a
1a
R
1b
2b
3b
4b
5b
6b
7b
1b
2b
3b4b
5b
6b
7b
s
t
Ankur Moitra () Geometric Graph Theory October 26, 2008 42 / 82
Example I
1a
2a
3a
4a
5a
6a
7aR+e
7a
6a
5a
4a3a
2a
1a
R
1b
2b
3b
4b
5b
6b
7b
1b
2b
3b4b
5b
6b
7b
s
t
Ankur Moitra () Geometric Graph Theory October 26, 2008 43 / 82
Example I
1a
2a
3a
4a
5a
6a
7aR+e
7a
6a
5a
4a3a
2a
1a
R
1b
2b
3b
4b
5b
6b
7b
1b
2b
3b4b
5b
6b
7b
s
t
Ankur Moitra () Geometric Graph Theory October 26, 2008 44 / 82
Example I
1a
2a
3a
4a
5a
6a
7aR+e
7a
6a
5a
4a3a
2a
1a
R
1b
2b
3b
4b
5b
6b
7b
1b
2b
3b4b
5b
6b
7b
s
t
Ankur Moitra () Geometric Graph Theory October 26, 2008 45 / 82
Example I
1a
2a
3a
4a
5a
6a
7aR+e
7a
6a
5a
4a3a
2a
1a
R
1b
2b
3b
4b
5b
6b
7b
1b
2b
3b4b
5b
6b
7b
s
t
Ankur Moitra () Geometric Graph Theory October 26, 2008 46 / 82
Example I
1a
2a
3a
4a
5a
6a
7aR+e
7a
6a
5a
4a3a
2a
1a
R
1b
2b
3b
4b
5b
6b
7b
1b
2b
3b4b
5b
6b
7b
s
t
Ankur Moitra () Geometric Graph Theory October 26, 2008 47 / 82
Example I
1a
2a
3a
4a
5a
6a
7aR+e
7a
6a
5a
4a3a
2a
1a
R
1b
2b
3b
4b
5b
6b
7b
1b
2b
3b4b
5b
6b
7b
s
t
Ankur Moitra () Geometric Graph Theory October 26, 2008 48 / 82
Example II
4a
1a
2a
3a
R+eR
1b
2b
2c
3b
2d
3c
3d
4b
4c
4d
1a
2a
2b2c 2d
1b1c1d
3a
3b3c
3d
4a
4b4c4d
1d
1c
Ankur Moitra () Geometric Graph Theory October 26, 2008 49 / 82
Example II
4d
3c
3d
4c
R+eR
1b
2b
2c
3b
2d
3c
3d
4b
4c
4d
1a
2a
2b
1b
3a
3b
4a
4b
1d
1c1a
2a
3a
4a
1c1d
2c
2d
Ankur Moitra () Geometric Graph Theory October 26, 2008 50 / 82
Example II
4d
3c
3d
4c
R+eR
1b
2b
2c
3b
2d
3c
3d
4b
4c
4d
1a
2a
2b
1b
3a
3b
4a
4b
1d
1c1a
2a
3a
4a
1c1d
2c
2d
Ankur Moitra () Geometric Graph Theory October 26, 2008 51 / 82
Example II
2a
2b 2d
3b
Ankur Moitra () Geometric Graph Theory October 26, 2008 52 / 82
Example II
3b
2a
2b 2d
Ankur Moitra () Geometric Graph Theory October 26, 2008 53 / 82
Example II
3b
2a
2b 2d
Ankur Moitra () Geometric Graph Theory October 26, 2008 54 / 82
Example II
4a
1a
2a
3a
R+eR
1b
2b
2c
3b
2d
3c
3d
4b
4c
4d
1a
2a
2b2c 2d
1b1c1d
3a
3b3c
3d
4a
4b4c4d
1d
1c
Ankur Moitra () Geometric Graph Theory October 26, 2008 55 / 82
Example II
t
3a
4a
s
R+eR
1b
2b
2c
3b
2d
3c
3d
4b
4c
4d
1a
2a
2b2c 2d
1b1c1d
3a
3b3c
3d
4a
4b4c4d
1d
1c1a
2a
Ankur Moitra () Geometric Graph Theory October 26, 2008 56 / 82
Example II
t
3a
4a
s
R+eR
1b
2b
2c
3b
2d
3c
3d
4b
4c
4d
1a
2a
2b2c 2d
1b1c1d
3a
3b3c
3d
4a
4b4c4d
1d
1c1a
2a
Ankur Moitra () Geometric Graph Theory October 26, 2008 57 / 82
Example II
2dt
s2b
2a
Ankur Moitra () Geometric Graph Theory October 26, 2008 58 / 82
Example II
2dt
s2b
2a
Ankur Moitra () Geometric Graph Theory October 26, 2008 59 / 82
Example II
t
3a
4a
s
R+eR
1b
2b
2c
3b
2d
3c
3d
4b
4c
4d
1a
2a
2b2c 2d
1b1c1d
3a
3b3c
3d
4a
4b4c4d
1d
1c1a
2a
Ankur Moitra () Geometric Graph Theory October 26, 2008 60 / 82
Example II
3c
2a
2b 2d
Ankur Moitra () Geometric Graph Theory October 26, 2008 61 / 82
Example II
3c
2a
2b 2d
Ankur Moitra () Geometric Graph Theory October 26, 2008 62 / 82
Example II
t
3a
4a
s
R+eR
1b
2b
2c
3b
2d
3c
3d
4b
4c
4d
1a
2a
2b2c 2d
1b1c1d
3a
3b3c
3d
4a
4b4c4d
1d
1c1a
2a
Ankur Moitra () Geometric Graph Theory October 26, 2008 63 / 82
Example II
t
3a
4a
s
R+eR
1b
2b
2c
3b
2d
3c
3d
4b
4c
4d
1a
2a
2b2c 2d
1b1c1d
3a
3b3c
3d
4a
4b4c4d
1d
1c1a
2a
Ankur Moitra () Geometric Graph Theory October 26, 2008 64 / 82
Example II
t
3a
4a
s
R+eR
1b
2b
2c
3b
2d
3c
3d
4b
4c
4d
1a
2a
2b2c 2d
1b1c1d
3a
3b3c
3d
4a
4b4c4d
1d
1c1a
2a
Ankur Moitra () Geometric Graph Theory October 26, 2008 65 / 82
Example II
t
3a
4a
s
R+eR
1b
2b
2c
3b
2d
3c
3d
4b
4c
4d
1a
2a
2b2c 2d
1b1c1d
3a
3b3c
3d
4a
4b4c4d
1d
1c1a
2a
Ankur Moitra () Geometric Graph Theory October 26, 2008 66 / 82
Example II
t
3a
4a
s
R+eR
1b
2b
2c
3b
2d
3c
3d
4b
4c
4d
1a
2a
2b2c 2d
1b1c1d
3a
3b3c
3d
4a
4b4c4d
1d
1c1a
2a
Ankur Moitra () Geometric Graph Theory October 26, 2008 67 / 82
Example II
t
3a
4a
s
R+eR
1b
2b
2c
3b
2d
3c
3d
4b
4c
4d
1a
2a
2b2c 2d
1b1c1d
3a
3b3c
3d
4a
4b4c4d
1d
1c1a
2a
Ankur Moitra () Geometric Graph Theory October 26, 2008 68 / 82
General Christmas Cactus Graphs
G
Ankur Moitra () Geometric Graph Theory October 26, 2008 69 / 82
General Christmas Cactus Graphs
G
Ankur Moitra () Geometric Graph Theory October 26, 2008 70 / 82
General Christmas Cactus Graphs
G
Ankur Moitra () Geometric Graph Theory October 26, 2008 71 / 82
General Christmas Cactus Graphs
G
Ankur Moitra () Geometric Graph Theory October 26, 2008 72 / 82
General Christmas Cactus Graphs
G
Ankur Moitra () Geometric Graph Theory October 26, 2008 73 / 82
General Christmas Cactus Graphs
G
Ankur Moitra () Geometric Graph Theory October 26, 2008 74 / 82
General Christmas Cactus Graphs
G
Ankur Moitra () Geometric Graph Theory October 26, 2008 75 / 82
General Christmas Cactus Graphs
G
Ankur Moitra () Geometric Graph Theory October 26, 2008 76 / 82
General Christmas Cactus Graphs
G
Ankur Moitra () Geometric Graph Theory October 26, 2008 77 / 82
2/19/09 Jie Gao, CSE595-spring09 17
Connection to graph labelingConnection to graph labeling
• Given a graph, find a labeling of the nodes such
that one can compute the (approximate) shortest path distance between any two vertices from their
labels only.
• Tradeoff between approximation ratio and the label
size.
• For shortest path distance, the maximum label size
is Θ(n) for general graph, O(n1/2) (Ω(n1/3)) for planar
graphs, and Θ(log2n) for trees.
• General graph: ∃ a scheme with label size O(kn1/k) and approximation ratio 2k-1.
• Google “distance labeling” for the literature.
2/19/09 Jie Gao, CSE595-spring09 18
Approach II:Approach II:
Embed a spanning tree in polar coordinate Embed a spanning tree in polar coordinate
systemsystem
2/19/09 Jie Gao, CSE595-spring09 19
Embed a tree in polar coordinate systemEmbed a tree in polar coordinate system
• Start from any node as root,
flood to find the shortest path tree.
• Assign polar ranges to each
node in the tree.
– The range of a node is divided
among its children.
– The size of the range is
proportional to the size of its
subtree.
• Order the subtrees that align
with the sensor connectivity.
2/19/09 Jie Gao, CSE595-spring09 20
Embed a tree in polar coordinate systemEmbed a tree in polar coordinate system
• Order the subtrees that align
with the sensor connectivity. – Three reference nodes flood the
network. Each node knows the hop
count to each reference.
– Each node embed itself with
respect to the references.
(trilateration with hop counts)
– A node’s position is defined as the
center of mass of all the nodes in
its subtree.
– This will provide an angular
ordering of all the children.
2/19/09 Jie Gao, CSE595-spring09 21
Routing on a treeRouting on a tree
• Route to the common ancestor of the source and
destination.
– Check whether the destination range is included in the
range of the current node.
– If not, go to the parent.
– Otherwise go to the corresponding child.
• Root is the bottleneck.
• Path may be long.
2/19/09 Jie Gao, CSE595-spring09 22
Routing on a treeRouting on a tree
• Be a little smarter: store a local routing table that keeps the
ranges of up to k-hop neighbors. find shortcuts.
• Virtual Polar Coordinate Routing: check the neighborhood, find
the node that is closer to the destination. greedy forwarding in
polar coordinates.
If the upper/lower bound is closer to the destination.
2/19/09 Jie Gao, CSE595-spring09 23
Load balancingLoad balancing
• Root is still the bottleneck even for smart routing.
Shortest path routing, still not
the most load balanced routing
2/19/09 Jie Gao, CSE595-spring09 24
Routing on spanning trees Routing on spanning trees –– in theory and in in theory and in
practicepractice
• For any graph G there is a spanning tree T, s.t. the
average stretch of the shortest paths on T, compared with G, is O((lognloglogn)2).
2/19/09 Jie Gao, CSE595-spring09 25
General frameworkGeneral framework
• Find a substructure such that we can define virtual
coordinates.
– The virtual coordinates guarantee delivery.
– Greedy routing in the connectivity graph.
2/19/09 Jie Gao, CSE595-spring09 26
Virtual ring routingVirtual ring routing
Some slides from http://research.microsoft.com/en-us/um/people/antr/vrr-
sigcomm06.ppt
2/19/09 Jie Gao, CSE595-spring09 27
VRR: the virtual ringVRR: the virtual ring
8F690E
910
8F08E2
0FFFtopology-independentnode identifiers, e.g.,
MAC address
nodes organized into virtual ringby increasing identifier value
each node maintainsa virtual neighbor set (vset)
2/19/09 Jie Gao, CSE595-spring09 28
VRR: routing pathsVRR: routing paths
physical network topology
8F6
8F6
nodes only maintain paths to virtual neighbors:
• vset-paths are typically multi-hop
• vset-paths are maintained proactively
2/19/09 Jie Gao, CSE595-spring09 29
VRR: forwarding tableVRR: forwarding table
• vset-paths recorded in forwarding tables along path • forwarding table contains
• vset-paths between node and vset members
• vset-paths between other nodes that go through node• paths to physical neighbors
endpointB pathIdnextA nextBendpointA
10E 10
ME F42 318F6 90E910
forwarding table for node 8F6
8F6 ME
14A 140 F42 10E 2
8F6 F42 ME F42 FF
14A
140
F42
10E
8F6
2/19/09 Jie Gao, CSE595-spring09 30
VRR: forwardingVRR: forwarding
• forward message destined to x by
– picking endpoint e numerically closest to x
– forwarding message to next hop towards e
• deliver message to node with id closest to x
• how does this work ?
– can find x because nodes are connected in a ring
– low stretch because of additional forwarding state
– many alternate paths to route around failures
2/19/09 Jie Gao, CSE595-spring09 31
VRR: example routingVRR: example routing
physical network Topology
2/19/09 Jie Gao, CSE595-spring09 32
VRR: example routingVRR: example routing
physical network Topology
there may be
some stretch
2/19/09 Jie Gao, CSE595-spring09 33
Node joiningNode joining
Network Topology
19A
164
8F6
16E
broadcast hellos
to find physical neighbors
send setup request to 16E
(itself) through proxy (19A)
2/19/09 Jie Gao, CSE595-spring09 34
Node joiningNode joining
Network Topology
19A
164
8F6
16E
171
164 sends setup to 16E
with its vset
16E sends setup requests
to nodes in received vset
16E adds node to vset
when it receives setup
2/19/09 Jie Gao, CSE595-spring09 35
Size of routing tableSize of routing table
• Assume the nodes are randomly placed,
each vpath
2/19/09 Jie Gao, CSE595-spring09 36
Simulation experiments in nsSimulation experiments in ns--22
• ran experiments with 802.11b MAC
• varied network size, mobility, session lifetime
• compared with DSDV, DSR, and AODV
• VRR performed well in all experiments
– high delivery ratios even with fast movement
– significantly lower delays with route instability
2/19/09 Jie Gao, CSE595-spring09 37
Delivery ratio: fast movementDelivery ratio: fast movement
0
10
20
30
40
50
60
70
80
90
100
0 50 100 150 200
Number of nodes
Deli
very
rati
o
DSDVDSRAODVVRR
2/19/09 Jie Gao, CSE595-spring09 38
Delay: fast movementDelay: fast movement
0
2
4
6
8
10
12
14
0 50 100 150 200
Number of nodes
De
lay (
sec
on
ds
)
DSDV
DSR
AODV
VRR
2/19/09 Jie Gao, CSE595-spring09 39
Sensor networkSensor network
• sensor network testbed
– 67 mica2dot motes in UCB building
• comparison with BVR
• delivery ratio with mote failures
2/19/09 Jie Gao, CSE595-spring09 40
Sensor network: mote failuresSensor network: mote failures
50
60
70
80
90
100
110
120
130
0 1 2 3 4 5 6 7 8 9 101112131415Time (mins)
Nu
mb
er
of
no
des
80
82
84
86
88
90
92
94
96
98
100
Number of nodes
VRR delivery ratio
BVR delivery ratio
Pe
rce
nta
ge
of
pa
ck
ets
de
liv
ere
d
2/19/09 Jie Gao, CSE595-spring09 41
Wireless office Wireless office testbedtestbed
• 30 machines running windows
• communicate using 802.11a
• throughput comparison with LQSR using ttcp
2/19/09 Jie Gao, CSE595-spring09 42
Wireless office Wireless office testbedtestbed: throughput: throughput
0
2
4
6
8
10
12
Machine
Ba
nd
wid
th (
Mb
ps
)
MR-LQSR
VRR
2/19/09 Jie Gao, CSE595-spring09 43
Why a virtual ring?Why a virtual ring?
• Alternatively, use an Euler tour to define coordinates on
the sensor nodes.
– An Euler tour is a cycle that visits every vertex.
– Can be constructed by a depth-first tour on a spanning tree.
– Also use shortcuts for greedy routing.