Approximate Single-Source Fault Tolerant Shortest Path

Let G = (V, E) be an n-vertices m-edges directed graph with edge weights in the range [1, W] and L = log(W). Let s ∈ V be a designated source. In this paper we address several variants of the problem of maintaining the (1 + ∈)-approximate shortest path from s to each v ∈ V \ {s} in the presence of a failure of an edge or a vertex. From the graph theory perspective we show that G has a subgraph H with O(nL/∈) edges such that for any x, v ∈ V, the graph H \ x contains a path whose length is a (1 + ∈)-approximation of the length of the shortest path from s to v in G \ x. We show that the size of the subgraph H is optimal (up to logarithmic factors) by proving a lower bound of Ω(nL/∈) edges. Demetrescu, Thorup, Chowdhury and Ramachandran [12] showed that the size of a fault tolerant exact shortest path subgraph in weighted directed/undirected graphs is Ω(m). Parter and Peleg [18] showed that even in the restricted case of unweighted undirected graphs the size of any subgraph for the exact shortest path is at least Ω(n1.5). Therefore, a (1 + ∈)-approximation is the best one can hope for. We consider also the data structure problem and show that there exists an O(nL/∈) size oracle that for any v ∈ V reports a (1 + ∈)-approximate distance of v from s on a failure of any x ∈ V in O(log log1+∈(n W)) time. We show that the size of the oracle is optimal (up to logarithmic factors) by proving a lower bound of Ω(nL/∈ log n). Finally, we present two distributed algorithms. We present a single source routing scheme that can route on a (1 + ∈)-approximation of the shortest path from a fixed source s to any destination t in the presence of a fault. Each vertex has a label and a routing table of O(L/∈) bits. We present also a labeling scheme that assigns each vertex a label of O(L/∈) bits. For any two vertices x, v ∈ V the labeling scheme outputs a (1 + ∈)-approximation of the distance from s to v in G \ x using only the labels of x and v.

[1]  Michael Langberg,et al.  Fault-tolerant spanners for general graphs , 2009, STOC '09.

[2]  Stephen Alstrup,et al.  Near-optimal labeling schemes for nearest common ancestors , 2013, SODA.

[3]  Shiri Chechik Fault-tolerant compact routing schemes for general graphs , 2013, Inf. Comput..

[4]  Stefano Leucci,et al.  Fault-Tolerant Approximate Shortest-Path Trees , 2017, Algorithmica.

[5]  David R. Karger,et al.  A nearly optimal oracle for avoiding failed vertices and edges , 2009, STOC '09.

[6]  Surender Baswana,et al.  Approximate Shortest Paths Avoiding a Failed Vertex: Near Optimal Data Structures for Undirected Unweighted Graphs , 2012, Algorithmica.

[7]  Michael Langberg,et al.  f-Sensitivity Distance Oracles and Routing Schemes , 2010, ESA.

[8]  Ran Duan,et al.  Dual-failure distance and connectivity oracles , 2009, SODA.

[9]  Gad M. Landau,et al.  On Cartesian Trees and Range Minimum Queries , 2009, ICALP.

[10]  Mikkel Thorup,et al.  Compact routing schemes , 2001, SPAA '01.

[11]  Michael Langberg,et al.  f-Sensitivity Distance Oracles and Routing Schemes , 2010, Algorithmica.

[12]  Michael Dinitz,et al.  Fault-tolerant spanners: better and simpler , 2011, PODC '11.

[13]  Jose Augusto Ramos Soares,et al.  Graph Spanners: a Survey , 1992 .

[14]  David R. Karger,et al.  Improved distance sensitivity oracles via random sampling , 2008, SODA '08.

[15]  Manoj Gupta,et al.  Multiple Source Dual Fault Tolerant BFS Trees , 2017, ICALP.

[16]  Fabrizio Grandoni,et al.  Preserving Distances in Very Faulty Graphs , 2017, ICALP.

[17]  Merav Parter,et al.  Dual Failure Resilient BFS Structure , 2015, PODC.

[18]  J. Moy,et al.  OSPF: Anatomy of an Internet Routing Protocol , 1998 .

[19]  Stefano Leucci,et al.  Multiple-Edge-Fault-Tolerant Approximate Shortest-Path Trees , 2016, STACS.

[20]  David Peleg,et al.  Fault Tolerant Approximate BFS Structures , 2014, SODA.

[21]  David Peleg,et al.  Sparse Fault-Tolerant BFS Trees , 2013, ESA.

[22]  Mikkel Thorup,et al.  Oracles for Distances Avoiding a Failed Node or Link , 2008, SIAM J. Comput..