Compact routing schemes with improved stretch

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

The Capacity of Wireless Networks Danss Course, Sunday, 23/11/03.
Routing and Congestion Problems in General Networks Presented by Jun Zou CAS 744.
On Complexity, Sampling, and -Nets and -Samples. Range Spaces A range space is a pair, where is a ground set, it’s elements called points and is a family.
all-pairs shortest paths in undirected graphs
WSPD Applications.
Size-estimation framework with applications to transitive closure and reachability Presented by Maxim Kalaev Edith Cohen AT&T Bell Labs 1996.
Compact Routing in Theory and Practice Lenore J. Cowen Tufts University.
QuickSort Average Case Analysis An Incompressibility Approach Brendan Lucier August 2, 2005.
Types of Algorithms.
Approximation, Chance and Networks Lecture Notes BISS 2005, Bertinoro March Alessandro Panconesi University La Sapienza of Rome.
Study Group Randomized Algorithms 21 st June 03. Topics Covered Game Tree Evaluation –its expected run time is better than the worst- case complexity.
Bounds on Code Length Theorem: Let l ∗ 1, l ∗ 2,..., l ∗ m be optimal codeword lengths for a source distribution p and a D-ary alphabet, and let L ∗ be.
Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.
A Randomized Linear-Time Algorithm to Find Minimum Spanning Trees David R. Karger David R. Karger Philip N. Klein Philip N. Klein Robert E. Tarjan.
Advanced Topics in Algorithms and Data Structures Lecture pg 1 Recursion.
SIA: Secure Information Aggregation in Sensor Networks Bartosz Przydatek, Dawn Song, Adrian Perrig Carnegie Mellon University Carl Hartung CSCI 7143: Secure.
Routing, Anycast, and Multicast for Mesh and Sensor Networks Roland Flury Roger Wattenhofer RAM Distributed Computing Group.
Tirgul 10 Rehearsal about Universal Hashing Solving two problems from theoretical exercises: –T2 q. 1 –T3 q. 2.
1 Algorithms for Large Data Sets Ziv Bar-Yossef Lecture 8 May 4, 2005
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
CPSC 668Set 10: Consensus with Byzantine Failures1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
Parallel Routing Bruce, Chiu-Wing Sham. Overview Background Routing in parallel computers Routing in hypercube network –Bit-fixing routing algorithm –Randomized.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Tirgul 8 Universal Hashing Remarks on Programming Exercise 1 Solution to question 2 in theoretical homework 2.
Submitted by : Estrella Eisenberg Yair Kaufman Ohad Lipsky Riva Gonen Shalom.
Compact Routing Schemes Mikkel Thorup Uri Zwick AT&T Labs – Research Tel Aviv University.
LPT for Data Aggregation in Wireless Sensor networks Marc Lee and Vincent W.S Wong Department of Electrical and Computer Engineering, University of British.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
DAST 2005 Week 4 – Some Helpful Material Randomized Quick Sort & Lower bound & General remarks…
Introduction to compact routing Dmitri Krioukov UCSD/CAIDA IDRWS 2004.
Interval Routing Presented by: Marc Segal. Motivation(1) In a computer network a routing method is required so that nodes can communicate with each other.
Randomized Algorithms - Treaps
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
Computing and Communicating Functions over Sensor Networks A.Giridhar and P. R. Kumar Presented by Srikanth Hariharan.
CCAN: Cache-based CAN Using the Small World Model Shanghai Jiaotong University Internet Computing R&D Center.
Expanders via Random Spanning Trees R 許榮財 R 黃佳婷 R 黃怡嘉.
Approximate Distance Oracles Mikkel Thorup and Uri Zwick Presented By Shiri Chechik.
Efficient Labeling Scheme for Scale-Free Networks The scheme in detailsPerformance of the scheme First we fix the number of hubs (to O(log(N))) and show.
Types of Algorithms. 2 Algorithm classification Algorithms that use a similar problem-solving approach can be grouped together We’ll talk about a classification.
Vertex Coloring Distributed Algorithms for Multi-Agent Networks
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Fast.
Clustering Data Streams A presentation by George Toderici.
Introduction Wireless Ad-Hoc Network  Set of transceivers communicating by radio.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
Theory of Computational Complexity Probability and Computing Chapter Hikaru Inada Iwama and Ito lab M1.
Algorithms for Big Data: Streaming and Sublinear Time Algorithms
Khaled M. Alzoubi, Peng-Jun Wan, Ophir Frieder
Greedy Algorithms – Chapter 5
Paweł Gawrychowski, Nadav Krasnopolsky, Shay Mozes, Oren Weimann
Ariel Rosenfeld Bar-Ilan Uni.
Lecture 18: Uniformity Testing Monotonicity Testing
Digital Signature Schemes and the Random Oracle Model
Types of Algorithms.
Hash Table.
James B. Orlin Presented by Tal Kaminker
Randomized Algorithms CS648
Enumerating Distances Using Spanners of Bounded Degree
Randomized Algorithms CS648
Types of Algorithms.
Introduction Wireless Ad-Hoc Network
Searching CLRS, Sections 9.1 – 9.3.
Artificial Intelligence
Types of Algorithms.
Switching Lemmas and Proof Complexity
Analysis of Algorithms CS 477/677
Locality In Distributed Graph Algorithms
Minimum Spanning Trees
Routing in Networks with Low Doubling Dimension
Forbidden-set labelling in graphs
Presentation transcript:

Compact routing schemes with improved stretch Shiri Chechik Doctoral Dissertation Award for Principles Of Distributed Computing (PODC) 2013

Compact routing schemes with improved stretch This paper is an improvement on the work of TZ. Where?

Intuition S T Close enough

Intuition S T Far enough

Intuition S T Questionable

TZ compact routing Every node holds a routing table with 𝑂( 𝑛 1/𝑘 ) information Stretch on routing is 4𝑘−5

We will talk about the case where 𝑘=4 TZ compact routing Every node holds a routing table with 𝑂( 𝑛 1/𝑘 ) information Stretch on routing is 4𝑘−5 We will talk about the case where 𝑘=4 𝑘=4 : 𝑠𝑡𝑟𝑒𝑡𝑐ℎ=10.52 𝑘>4 : 𝑠𝑡𝑟𝑒𝑡𝑐ℎ=3.68𝑘

𝑠𝑡𝑟𝑒𝑡𝑐ℎ= 𝑙𝑒𝑛𝑔𝑡ℎ_𝑜𝑓_𝑟𝑜𝑢𝑡𝑖𝑛𝑔_𝑝𝑎𝑡ℎ(𝑠,𝑡) 𝑑(𝑠,𝑡)

Model – definitions Graph 𝐺=(𝑉,𝐸). Each node 𝑣 is a processor. 𝑉 =𝑛 Each node 𝑣∈𝑉 is assigned with a unique key 𝑘𝑒𝑦 𝑣 ∈[1,..𝑛].

Something we’ll need later on…

Search Mechanism Problem: Given a graph with arbitrary node Ids, how can we quickly route to any given node when given its Id? Solution: Use a shortest path spanning tree 𝑇 to route to any node 𝑣 at cost of 2∙𝑟𝑎𝑑𝑖𝑢𝑠(𝑇)

Search Mechanism Problem: Where do we store the routing information? (the tree 𝑇 is not sorted, for even has sequential Ids…) Solution: Distribute the routing information among a selected subset of nodes (the 𝑐𝑜𝑟𝑒 nodes…)

Search scheme How can we build a search mechanism on a tree without keeping too much information in any given node?

Search scheme (query) For some node 𝑡, does 𝑘𝑒𝑦(𝑡) belong to T? If so, how can we route to it?

Search scheme (definitions) Given tree 𝑇=(𝑉(𝑇),𝐸(𝑇)) where: 𝑇⊂𝐺 𝑑 ′ is the depth of the tree 𝐾={𝐾𝑒𝑦(𝑣)|𝑣∈𝑉(𝑇)} |𝑉 𝑇 |≤ 𝑛 2/𝑘

Search scheme (definitions) 𝑐𝑜𝑟𝑒 𝑇 ⊆𝑉(𝑇) is a set of nodes chosen to store the information s.t. |𝑐𝑜𝑟𝑒 𝑇 |≥ |𝑉 𝑇 | 𝑛 1/𝑘 Each node will store information for 𝑛 1/𝑘 nodes

Search scheme (requirements) In every node c∈𝑐𝑜𝑟𝑒(𝑇) the scheme stores 𝑂( 𝑛 1/𝑘 𝑙𝑜𝑔 2 𝑛) information. Given a key 𝑘𝑒𝑦(𝑡) the algorithm can find 𝑘𝑒𝑦 𝑡 or determine that 𝑘𝑒𝑦(𝑡)∉𝑉 𝑇 . This is to be done on a path from 𝑟(𝑇) no longer than 𝑟𝑎𝑑𝑖𝑢𝑠(𝑇).

Search scheme (construction) 𝑐 1 ,.., 𝑐 𝑙 is the set of nodes in 𝑐𝑜𝑟𝑒(𝑇) where 𝑟(𝑇) has ordered them in a certain way. The interval [1,𝑛] is divided into 𝑙 intervals 𝑛 𝑖−1 , 𝑛 𝑖 | ∀𝑖∈[1,𝑙] s.t. 𝑣∈𝑉 𝑇 | 𝑛 𝑖−1 <𝑘𝑒𝑦(𝑣)≤ 𝑛 𝑖 ≤ 𝑛 1/𝑘 Each interval is assigned to the proper node 𝑐 𝑖 .

Search scheme (construction) 𝑜, 𝑛 1 𝑛 1 , 𝑛 2 … ( 𝑛 𝑙−1 , 𝑛 𝑙 ] 𝑐𝑜𝑟𝑒 𝑇 ={ 𝑐 1 , 𝑐 2 , …, 𝑐 𝑙 }

Search scheme (construction) 𝑜, 𝑛 1 𝑛 1 , 𝑛 2 … ( 𝑛 𝑙−1 , 𝑛 𝑙 ] 𝑐𝑜𝑟𝑒 𝑇 ={ 𝑐 1 , 𝑐 2 , …, 𝑐 𝑙 }

Search scheme (construction) 𝑜, 𝑛 1 𝑛 1 , 𝑛 2 … ( 𝑛 𝑙−1 , 𝑛 𝑙 ] 𝑐𝑜𝑟𝑒 𝑇 ={ 𝑐 1 , 𝑐 2 , …, 𝑐 𝑙 }

Search scheme (construction) 𝑜, 𝑛 1 𝑛 1 , 𝑛 2 … ( 𝑛 𝑙−1 , 𝑛 𝑙 ] 𝑐𝑜𝑟𝑒 𝑇 ={ 𝑐 1 , 𝑐 2 , …, 𝑐 𝑙 }

Search scheme (routing) Step 1: Route the query to 𝑟(𝑇). Step 2: Find the interval 𝑘𝑒𝑦(𝑡) ∈( 𝑛 𝑖 , 𝑛 𝑖+1 ] and node 𝑐 𝑖 ∈𝑐𝑜𝑟𝑒(𝑇) associated with it. Step 3: Route the message to 𝑐 𝑖 via T. Step 4: node 𝑐 𝑖 determines if key(𝑡)∈𝑉 𝑇 or not.

Search scheme (proof) Each 𝑐 𝑖 ∈𝑐𝑜𝑟𝑒 𝑇 holds information for 𝑛 1/𝑘 nodes. The information itself (taken from TZ) for each node is of size O( 𝑙𝑜𝑔 2 𝑛). So 𝑐 𝑖 holds O( 𝑛 1/𝑘 𝑙𝑜𝑔 2 𝑛) information. The distance the query has to travels is exactly 𝑑 𝑟 𝑇 , 𝑐 𝑖 . Since 𝑐 𝑖 ∈𝑐𝑜𝑟𝑒(𝑇), 𝑑 𝑟 𝑇 , 𝑐 𝑖 ≤𝑟𝑎𝑑𝑖𝑢𝑠(𝑇)

We now move to construction

Construction - definitions We start off with constructing the Thorup-Zwick routing tables and labels. ( 𝐴 𝑇𝑍 𝑣 and 𝐿 𝑇𝑍 (𝑣) ) The routing tables and labels we use are based on those of TZ, but with some additions.

𝐴’s, clusters & bunches v

𝐴’s, clusters & bunches v w 𝐵 𝐴 𝑣 = 𝑤∈𝑉|𝑑 𝑣,𝑤 <𝑑(𝐴,𝑣)

𝐶 𝐴 𝑤 = 𝑣∈𝑉|𝑑 𝑤,𝑣 <𝑑(𝐴,𝑣) 𝐴’s, clusters & bunches cluster v w 𝐶 𝐴 𝑤 = 𝑣∈𝑉|𝑑 𝑤,𝑣 <𝑑(𝐴,𝑣)

Construction – definitions Reminder: ∅= 𝐴 𝑘 ⊆…⊆ 𝐴 1 ⊆ 𝐴 0 =𝑉 Definition: 𝑑(𝑣, 𝐴 𝑖 ) is the distance between 𝑣 and the closest node 𝑎∈ 𝐴 𝑖 . (the pivot of 𝑣)

Construction – definitions 𝐿(𝑣) (The label of 𝑣) is a concatenation of: 𝑘𝑒𝑦 𝑣 𝐿 𝑇𝑍 (𝑣) 𝑑 𝑣, 𝐴 1 ,..,𝑑 𝑣, 𝐴 𝑘−1 Notice that because we know 𝑘=4, the label is key(t)_ 𝐿 𝑇𝑍 (𝑡)_𝑑 𝑣, 𝐴 1 _𝑑 𝑣, 𝐴 2 _𝑑 𝑣, 𝐴 3

Construction – definitions 𝑤 : A node in G. 𝐶 𝑤 : The cluster of 𝑤. 𝑇(𝑤) : The shortest path spanning tree of 𝐶(𝑤) 𝑇(𝑤,𝑑) : 𝑇(𝑤), trimmed at a distance of 𝑑 from the root.

Construction – search mechanism For every node 𝑤∈𝑉 and for every 1≤𝑗≤𝑙𝑜𝑔 𝑟𝑎𝑑𝑖𝑢𝑠 𝑇(𝑤) we calculate 𝑑 𝑗 = (1+𝜖) 𝑗 (denoted: 𝑑′) and do: We sample every node 𝑣∈𝑇(𝑤) independently with probability of 𝑝= 4 log 𝑛 𝑛 1/𝑘 . These chosen nodes are then part of 𝑐𝑜𝑟𝑒(𝑤,𝑑′).

Construction – search mechanism We then construct the search mechanism we defined earlier for each node 𝑤∈𝑉. The information is stored in 𝑐𝑜𝑟𝑒 𝑤,𝑑′ ∪{𝑤}. Every node 𝑤∈ 𝐴 1 \ 𝐴 2 holds the routing information to 𝑐𝑜𝑟𝑒(𝑤, 𝑑 ′ ) This is the additional information to 𝐴(𝑣) we mentioned earlier.

Construction – analysis Lemma 4.2: For every node 𝑤∈ 𝐴 1 \ 𝐴 2 : 𝑐𝑜𝑟𝑒 𝑤, 𝑑 ′ ≥ |𝐶(𝑤)|/ 𝑛 1/𝑘 For every node 𝑣∈𝑉 there at most 𝑂( 𝑙𝑜𝑔 2 𝑛) nodes 𝑤∈𝑉 s.t. 𝑣∈𝑐𝑜𝑟𝑒(𝑤, 𝑑 ′ )

Lemma 4.2 – proof Reminder – Chernoff’s bound: For a binomial random variable X, where 𝐸 𝑋 =𝜇, then 𝑃𝑟 𝑋<(1+𝛿)𝜇 ≤ 𝑒 𝜇 𝛿 2 /2

Lemma 4.2 – proof 𝑤∈ 𝐴 1 \ 𝐴 2 : 𝑐𝑜𝑟𝑒 𝑤, 𝑑 ′ ≥ |𝐶(𝑤)|/ 𝑛 1/𝑘 The expected size of 𝑐𝑜𝑟𝑒(𝑤, 𝑑 ′ ) is 4 log 𝑛 𝑉 𝑇 / 𝑛 1/𝑘 . Since 𝐶 𝑤 = log 𝑛|𝑉 𝑇 | , we can say that: 𝑃𝑟 |𝑐𝑜𝑟𝑒(𝑤, 𝑑 ′ )|< log 𝑛 𝑉 𝑇 / 𝑛 1/𝑘 ≤ 𝑒 −0.75 log 𝑛 <1/ 𝑛 2 . So with high probability, claim a holds.

Lemma 4.2 – proof At most 𝑂( 𝑙𝑜𝑔 2 𝑛) nodes 𝑤∈𝑉 s.t. 𝑣∈𝑐𝑜𝑟𝑒(𝑤, 𝑑 ′ ) We know from TZ that node 𝑣 belongs to 𝑂( 𝑛 1/𝑘 log 𝑛 ) clusters. 𝑃 𝑣∈𝑐𝑜𝑟𝑒 𝑤, 𝑑 ′ =4 log 𝑛/ 𝑛 1/𝑘 . So the expected number of nodes 𝑤 s.t. 𝑣∈𝑐𝑜𝑟𝑒(𝑤, 𝑑 ′ ) is 𝑂( 𝑙𝑜𝑔 2 𝑛 ).

Lemma 4.2 – proof At most 𝑂( 𝑙𝑜𝑔 2 𝑛) nodes 𝑤∈𝑉 s.t. 𝑣∈𝑐𝑜𝑟𝑒(𝑤, 𝑑 ′ ) By Chernoff’s law we get that with high probability there at most 𝑂( 𝑙𝑜𝑔 2 𝑛) nodes 𝑤 s.t. 𝑣∈𝑐𝑜𝑟𝑒(𝑤, 𝑑 ′ )

Construction Lemma 4.3: ∀𝑣∈𝑉 the expected size of 𝐴 𝑣 is 𝑂( 𝑛 1/𝑘 𝑙𝑜𝑔 4 𝑛) Proof: Our routing table is constructed from 𝐴 𝑇𝑍 (𝑣) and our additions. From TZ, we know the size of 𝐴 𝑇𝑍 (𝑣) is 𝑂( 𝑛 1/𝑘 𝑙𝑜𝑔 3 𝑛).

Lemma 4.3 – proof Lemma 4.3: Our addition stores 𝑂( 𝑛 1/𝑘 𝑙𝑜𝑔 2 𝑛) information (requirement of the search scheme) in every node in any 𝑐𝑜𝑟𝑒(𝑤) for any 𝑤. From Lemma 4.2 we know that 𝑣 belongs at most to 𝑂( 𝑙𝑜𝑔 2 𝑛).

We now move to routing

Routing – definitions Reminder: ∅= 𝐴 𝑘 ⊆…⊆ 𝐴 1 ⊆ 𝐴 0 =𝑉 Definition: 𝑑(𝑣, 𝐴 𝑖 ) is the distance between 𝑣 and the closest node 𝑎∈ 𝐴 𝑖 . (the pivot of 𝑣)

Routing – definitions Definition: Δ 𝑖 𝑣 =𝑑 𝑣, 𝐴 𝑖+1 −𝑑 𝑣, 𝐴 𝑖 𝐴 3 𝑑(𝑣, 𝐴 3 ) 𝐴 2 𝑑(𝑣, 𝐴 2 ) 𝐴 1 v 𝑑(𝑣, 𝐴 1 )

Routing – definitions Δ 𝑖 𝑣 =𝑑 𝑣, 𝐴 𝑖+1 −𝑑 𝑣, 𝐴 𝑖 Δ 2 (𝑣) Δ 1 (𝑣) Δ 𝑖 𝑣 =𝑑 𝑣, 𝐴 𝑖+1 −𝑑 𝑣, 𝐴 𝑖 Δ 2 (𝑣) Δ 1 (𝑣) Δ 0 (𝑣) 𝑑(𝑣, 𝐴 1 ) 𝑑(𝑣, 𝐴 2 ) 𝑑(𝑣, 𝐴 3 ) 𝑣 𝑎 1 ∈ 𝐴 1 𝑎 2 ∈ 𝐴 2 𝑎 3 ∈ 𝐴 3

Routing – definitions Let 𝑘′ be the minimal index s.t. 𝑝 𝑘 ′ −1 𝑡 ∈𝐵 𝑠 . If 𝑡∈𝐵 𝑠 or 𝑠∈𝐵(𝑡), then 𝑘 ′ =1. Remember, 𝑘 ′ −1≤3 ⇒ 𝑘 ′ −2≤2

Routing – definitions 𝑀=𝑚𝑎𝑥 Δ 𝑗 (𝑠)/2, Δ 𝑗 (𝑡)/2| 1≤𝑗≤ 𝑘 ′ −2 ∪ Δ 0 (𝑠), Δ 0 (𝑡) ∪ 𝑑 𝑠, 𝐴 𝑗+1 −𝑑 𝑡, 𝐴 𝑗 | 1≤𝑗≤ 𝑘 ′ −2 ∪ Δ 0 (𝑠), Δ 0 (𝑡) Δ 𝑗 (𝑠)/2, Δ 𝑗 (𝑡)/2| 1≤𝑗≤ 𝑘 ′ −2 ∪ Δ 0 (𝑠), Δ 0 (𝑡) ∪ 𝑑 𝑠, 𝐴 𝑗+1 −𝑑 𝑡, 𝐴 𝑗 | 1≤𝑗≤ 𝑘 ′ −2 How can we calculate this? How does 𝑠 know Δ 1 (𝑡)/2 or 𝑑 𝑡, 𝐴 1 ?

Routing – definitions Reminder: When we route to 𝑡, we have 𝐿(𝑡) made of key(t)_ 𝐿 𝑇𝑍 (𝑡)_𝑑 𝑣, 𝐴 1 _𝑑 𝑣, 𝐴 2 _𝑑 𝑣, 𝐴 3 Lemma 4.4: If 𝑘 ′ >1 then 𝑑 𝑠,𝑡 ≥𝑀

Routing – algorithm Node 𝑠 wants to send a message 𝑚 to node 𝑡. If 𝑠∈ 𝐴 0 \ 𝐴 1 and 𝑠∈𝐵(𝑡) route the message to 𝑡 on 𝑇 𝑠 (from TZ). If 𝑝 1 𝑡 ∈𝐵(𝑠) route the message on 𝑇( 𝑝 1 𝑡 ). If 𝑝 2 𝑡 ∈𝐵(𝑠) route the message on 𝑇( 𝑝 2 𝑡 ).

Routing – algorithm If Δ 1 𝑡 ≤𝑐∙𝑀 invoke TZ. (1≤𝑐≤2) Else, Define 𝑑 ′ = (1+𝜖) 𝑖 for the smallest 𝑖 s.t. 𝑑 ′ ≥(1+𝑐)∙𝑀. Check if 𝑝 1 𝑠 ∈𝐵(𝑡). This is done by routing the message to 𝑝 1 (𝑠) on 𝑇 𝑝 1 𝑠 and searching for 𝑘𝑒𝑦(𝑡) in 𝑇( 𝑝 1 𝑠 ,𝑑′). 1. If it exists – route to it and quit. 2. Otherwise, return the message to 𝑠 and run TZ.

Routing – analysis 𝑑=𝑑(𝑠,𝑡) We know from TZ: Δ 0 𝑠 >𝑑 ⇒𝑑 𝑠, 𝐴 1 −𝑑 𝑠, 𝐴 0 >𝑑(𝑠,𝑡)⇒ 𝑑 𝑠, 𝐴 1 >𝑑(𝑠,𝑡) and so 𝑡∈𝐵 𝑠 ⇒s∈𝐶(𝑡) and we can route directly from 𝑠 to 𝑡. The claim works the same for Δ 0 𝑡 >𝑑

Routing – analysis So we assume this is not the case. Namely, 𝑘 ′ >1. Reminder: 𝑘′ is the minimal index s.t. 𝑝 𝑘 ′ −1 𝑡 ∈𝐵 𝑠 . In other words, Δ 0 𝑠 ≤𝑑 and Δ 0 𝑡 ≤𝑑 (We now have a lower bound on 𝑑)

Routing – analysis From the analysis of TZ, the worst stretch (4𝑘−5) is achieved when Δ 𝑗 (𝑠) and Δ 𝑗 (𝑡) are roughly 𝑀 (∀𝑗>0) and 𝑀<𝑑. Lemma 4.5: The stretch of the routing process is at most 𝑚𝑎𝑥 7+2𝑐,9, 15 𝑐 +2+ 2𝜖 𝑐+1

Lemma 4.5 – proof The algorithm has the following cases: 𝑠∈ 𝐴 0 \ 𝐴 1 and 𝑠∈𝐵(𝑡). 𝑝 1 𝑡 ∈𝐵(𝑠). 𝑝 2 𝑡 ∈𝐵 𝑠 . Δ 1 𝑡 ≤𝑐∙𝑀 Δ 1 𝑡 >𝑐∙𝑀 𝑘𝑒𝑦 𝑡 ∈𝑇 𝑝 1 𝑠 , 𝑑 ′ 𝑘𝑒𝑦 𝑡 ∉𝑇( 𝑝 1 𝑠 ,𝑑′)

Lemma 4.5 – proof We look at the first 3 cases: 𝑠∈ 𝐴 0 \ 𝐴 1 and 𝑠∈𝐵(𝑡). 𝑝 1 𝑡 ∈𝐵(𝑠). 𝑝 2 𝑡 ∈𝐵 𝑠 . In one of these cases, by the analysis of TZ, the stretch is at most 7 (instead of 11 in TZ).

Lemma 4.5 – proof We look at the first 3 cases: 𝑠∈ 𝐴 0 \ 𝐴 1 and 𝑠∈𝐵(𝑡). 𝑝 1 𝑡 ∈𝐵(𝑠). 𝑝 2 𝑡 ∈𝐵 𝑠 . In one of these cases, by the analysis of TZ, the stretch is at most 7 (instead of 11 in TZ). So we assume it is not one of these cases.

Lemma 4.5 – proof Case 4: Δ 1 𝑡 ≤𝑐∙𝑀 In this case the message is routed on 𝑇 𝑝 3 𝑡 so the length of the path is 𝑑 𝑠, 𝑝 3 𝑡 +𝑑 𝑡, 𝑝 3 𝑡 . We know that: 𝑑 𝑡, 𝑝 2 𝑡 ≤ Δ 0 𝑡 + Δ 1 𝑡 ≤𝑀+𝑐∙𝑀= 1+𝑐 ∙𝑀≤(1+𝑐)∙𝑑(𝑠,𝑡)

Lemma 4.5 – proof And so: 𝑑 𝑡, 𝑝 3 𝑡 ≤ Δ 0 𝑡 + Δ 1 𝑡 + Δ 2 𝑡 ≤ 1+𝑐 ∙𝑀+2𝑀≤(3+𝑐)∙𝑑(𝑠,𝑡) We also know that: 𝑑 𝑠, 𝑝 3 𝑡 ≤𝑑 𝑠,𝑡 +𝑑 𝑠, 𝑝 3 𝑡 ≤ 4+𝑐 ∙𝑑(𝑠,𝑡) 𝑑 𝑠, 𝑝 3 𝑡 +𝑑 𝑡, 𝑝 3 𝑡 ≤ 7+2𝑐 ∙𝑑(𝑠,𝑡)

Stretch for case 4 𝑠𝑡𝑟𝑒𝑡𝑐ℎ≤ 7+2𝑐 ∙𝑑 𝑠,𝑡 𝑑 𝑠,𝑡 ≤7+2𝑐 Lemma 4.5 – proof Stretch for case 4 𝑠𝑡𝑟𝑒𝑡𝑐ℎ≤ 7+2𝑐 ∙𝑑 𝑠,𝑡 𝑑 𝑠,𝑡 ≤7+2𝑐

Lemma 4.5 – proof Case 5: Δ 1 𝑡 >𝑐∙𝑀 In this case the message is routed to 𝑝 1 𝑠 on 𝑇( 𝑝 1 𝑠 , 𝑑 ′ ) and then 𝑘𝑒𝑦(𝑡) is searched in the tree on a path of at most 𝑑′. The length so far is 𝑑 𝑠, 𝑝 1 𝑠 +𝑟𝑎𝑑𝑖𝑢𝑠(𝑡). Since 𝑑 𝑠, 𝑝 1 𝑠 ≤𝑀 and 𝑟𝑎𝑑𝑖𝑢𝑠 𝑡 ≤𝑑′, 𝑑 𝑠, 𝑝 1 𝑠 +𝑟𝑎𝑑𝑖𝑢𝑠 𝑡 ≤𝑀+𝑑′.

Lemma 4.5 – proof Case 5.1: 𝑘𝑒𝑦 𝑡 ∈𝑇( 𝑝 1 𝑠 ,𝑑′) The message will be routed to 𝑡 on 𝑇( 𝑝 1 𝑠 ,𝑑′) with an additional length of 𝑑 ′ +𝑑( 𝑝 1 𝑠 ,𝑡). The total length of the route will be 𝑀+ 𝑑 ′ + 𝑑 ′ +𝑑 𝑝 1 𝑠 ,𝑡 ≤3𝑑 𝑠,𝑡 +2 1+𝜖 1+𝑐 ∙𝑀 ≤9∙𝑑(𝑠,𝑡)

Stretch for case 5.1 𝑠𝑡𝑟𝑒𝑡𝑐ℎ≤ 9∙𝑑 𝑠,𝑡 𝑑 𝑠,𝑡 ≤9 Lemma 4.5 – proof Stretch for case 5.1 𝑠𝑡𝑟𝑒𝑡𝑐ℎ≤ 9∙𝑑 𝑠,𝑡 𝑑 𝑠,𝑡 ≤9

Lemma 4.5 – proof Case 5.2: 𝑘𝑒𝑦 𝑡 ∉𝑇( 𝑝 1 𝑠 ,𝑑′) The message will be routed back to 𝑠 and then using TZ with an additional length of 𝑑 ′ +𝑀+11𝑀. The total length of the route will be M+ 𝑑 ′ + 𝑑 ′ +𝑀+11𝑀=2 𝑑 ′ +13𝑀

Lemma 4.5 – proof Case 5.2: 𝑘𝑒𝑦 𝑡 ∉𝑇( 𝑝 1 𝑠 ,𝑑′) The message will be routed back to 𝑠 and then using TZ with an additional length of 𝑑 ′ +𝑀+11𝑀. The total length of the route will be M+ 𝑑 ′ + 𝑑 ′ +𝑀+11𝑀=2 𝑑 ′ +13𝑀 Note that this case can only occur if 𝑑 𝑠,𝑡 ≥𝑐∙𝑀.

Lemma 4.5 – proof Stretch for case 5.2 𝑠𝑡𝑟𝑒𝑡𝑐ℎ≤ (2 𝑑 ′ +13𝑀) 𝑑 𝑠,𝑡 ≤ (2 𝑑 ′ +13𝑀) 𝑐∙𝑀 ≤ (2 1+𝜖 1+𝑐 𝑀+13𝑀) 𝑐∙𝑀 ≤ 15 𝑐 +2+ 2𝜖 𝑐+1

Routing – conclusion we found that the upper bound on the stretch is 𝑚𝑎𝑥 7+2𝑐,9, 15 𝑐 +2+ 2𝜖 𝑐+1 By choosing 𝑐= 145 −5 4 we minimize the stretch down to 10.52

The case for 𝑘>4 The algorithm is very similar. Changes are mainly in the condition for steps 4 & 5 and a more complicated search mechanism.

Thank you