Models and Techniques for Communication in Dynamic Networks Christian Scheideler Dept. of Computer Science Johns Hopkins University Dynamic networks Peer-to-peer Wireless Faulty networks networks networks Communication in Dynamic Networks 2 Overview In this talk: Basic problems Basic assumptions Faulty networks Wireless networks Adversarial networks More can be found in the paper… Communication in Dynamic Networks 3 Basic Problems - Connectivity Communication in Dynamic Networks 4 Basic Problems – Routing Communication in Dynamic Networks 5 Basic Problems – Admission Communication in Dynamic Networks 6 Basic Assumptions All packets are atomic (unsplittable, uncompressable) Time proceeds in synchronous steps Only point-to-point connections (links) Each link can forward one packet per step in each direction Communication in Dynamic Networks 7 Focus of Talk Communication in dynamic networks (connectivity, routing, admission control) Online, distributed algorithms online: no knowledge about future distributed: runs locally at each node Adversarial or random network changes adversary: tries to harm algorithm Adversarial packet injections Communication in Dynamic Networks 8 Faulty Networks Communication in Dynamic Networks 9 Faulty Networks Basic models: Adversarial or random node/edge faults Central questions: What repair rate needed to ensure large connected component similar routing properties How to ensure uninterrupted service How to achieve a high throughput Communication in Dynamic Networks 10 Large Connected Components Information dispersal [Rabin 89]: no information lost Assumption: random edge faults Is there critical survival probability p* s.t. p>(1+e)p* : constant fraction CC p<(1-e)p* : no constant fraction CC Communication in Dynamic Networks 11 Large connected components p*<=[Ajtai, 1/(n-1) [Erdos and Renyi 0.337 p*=1/d < p* 0.436 p*=1/2 Komlos [Karlin, p*=1/d [Kesten and Nelson Szemeredi 80] and 60] Tamaki 82] 94] Communication in Dynamic Networks 12 Large connected components Robustness of graph of ave. degree d: r = d . p* complete graph: r = 1 d-dimensional hypercube: r = 1 random graph of dn/2 edges: r = 1 d-dimensional butterfly: 1.348 < r < 1.744 2-dimensional mesh: r = 2 Communication in Dynamic Networks 13 Structurally robust networks When can faulty network still keep original routing properties? When can faulty network still simulate original network with (amortized) constant slowdown? Constant slowdown: 1 step in original - O(1) steps in faulty network Communication in Dynamic Networks 14 Simulations with O(1) slowdown 1-eworst-case upup tonto n1-e worst-case faults Maggs and Sitaraman 98] up to [Leighton, Maggs and Sitaraman 97] failure with any const.faults? p<1 OK[Leighton, [Hastad, Leighton and Newman 87] n1-e worst-case faults [Cole, Maggs and Sitaraman 97] Communication in Dynamic Networks 15 Open questions Hypercube very robust! What about constant degree networks?? How to exploit knowledge about robustness of networks for the design of efficient routing protocols? Communication in Dynamic Networks 16 Fault-tolerant circuit switching How can uninterrupted service be ensured? Use more than one path. Allocate more bandwidth than needed. A B Communication in Dynamic Networks 17 Fault-tolerant circuit switching k-edge disjoint paths problem (k-EDP): Given a graph G and a set T of pairs of nodes, find a maximum set of pairs s.t. each pair is connected by k disjoint paths and all paths are disjoint. k-disjoint flows problem (k-DFP): Given a network G with edge capacities and a set T of pairs of nodes with demands d i , find a set of pairs of maximum total demand s.t. pair i in set is connected by k disjoint paths with flow d i /k and all capacity constraints are kept. Communication in Dynamic Networks 18 Fault-tolerant circuit switching Bounded greedy algorithm (BGA) For each pair: if k disjoint paths available that use at most L edges: take them [Bagchi & Chaughari & Kolman & Sch. 02] L= O(k 3D a -1 log n): BGA is O(k D a log n) - competitive 3 -1 D: maximum degree, a: expansion, n: number of nodes Communication in Dynamic Networks 19 Wireless ad hoc networks How How to send How to select packets to ensure andalong connectivity? maintain selected routes? routes? Communication in Dynamic Networks 20 Connectivity [Yao 82, Ruppert & Seidel 91,Lukovszki 99]: partition space into sectors connect to nearest neighbor in each sector Communication in Dynamic Networks 21 Route selection Strategy: Always go to neighbor that lies in sector of destination (if possible…) Communication in Dynamic Networks 22 Wireless ad hoc networks Problem with sector-based approach: Nodes have to know location (GPS) Solution when nodes move at random: Just connect to k nearest neighbors What if nodes have limited range?? Communication in Dynamic Networks 23 Adversarial networks Communication in Dynamic Networks 24 Adversarial networks Situation Network and packet injections under adversarial control Problems How to select paths? How to schedule packet movements? How to perform admission control? Communication in Dynamic Networks 25 Adversarial networks “Friendly” adversary All injected packets can be delivered Buffer size for this at most B Only gathering scenario All packets have the same destination Is there online algorithm s.t. number of packets in system finite? Communication in Dynamic Networks 26 Adversarial gathering Balancing algorithm: For every time step t and every edge (v,w) #packets(v) - #packets(w) > T: send packet receive all incoming and injected packets [Awerbuch et al 89, Aiello et al 98,…] v w Communication in Dynamic Networks 27 Adversarial gathering [Awerbuch & Berenbrink & Brinkmann & Sch. 01] For T>2D, number of packets in node at most (B+T)(n-1)+B where D is maximum degree of node. Bound tight up to constant factor. How about more complex communication modes? (unicasting, anycasting, multicasting,…) Communication in Dynamic Networks 28 Communication modes Anycasting Unicasting Multicasting : one optional : multiple destination set destinations of destinations per packet Communication in Dynamic Networks 29 Anycasting and multicasting Approach: Adversary controls topology, injections, now unfriendly Compare number of packet deliveries (throughput) with optimal algorithm Algorithm is (c,s)-competitive: Reaches c-fraction of optimal throughput with s times more buffer space Communication in Dynamic Networks 30 Anycasting Anycasting can be reduced to gathering! Option set Originial model: model: each node buffer: virtual has node buffer for each anycast set each step edge: set of adversary virtual edges offersbetween edges corr. buffers combine all virt. dest. nodes in single dest. v w Communication in Dynamic Networks 31 Gathering in option set model Balancing algorithm: For every time step t and every option set S select edge (v,w) with largest #pack(v)-#pack(w) #pack(v) - #pack(w) > T: send packet receive all incoming and injected packets (if not possible: delete packet) [Awerbuch, Brinkmann and Sch. 02] balancing is (1-e,O(L/e)) – competitive (L: ave. path length used by packets in OPT) Communication in Dynamic Networks 32 Multicasting Major problem: Multicast packets can split Approach: Option set model for anycasting can be generalized to multicasting Balancing algorithm can be extended accordingly Balancing (1-e, O(f(e)))-competitive Communication in Dynamic Networks 33 Adversarial networks Major problem: Solutions show feasibility but FAR from being practical Possible solutions: Use clustering strategies Combine balancing with other methods Communication in Dynamic Networks 34 Conclusion Routing in dynamic networks is interesting (also systems people are searching in dark) Techniques and models are available Many open problems left: Robust, fault-tolerant networks of constant degree Routing in fault-tolerant and wireless networks Communication in Dynamic Networks 35