The multi-tree approach to reliability in distributed networks
Abstract
Consider a network of asynchronous processors communicating by sending messages over unreliable lines. There are many advantages to restricting all communications to a spanning tree. To overcome the possible failure of k '<k edges, we describe a communication protocol which uses k rooted spanning trees having the property that for every vertex v the paths from v to the root are edge-disjoint. An algorithm to find two such trees in a 2 edge-connected graph is described that runs in time proportional to the number of edges in the graph. This algorithm has a distributed version which finds the two trees even when a single edge fails during their construction. The two trees them may be used to transform certain centralized algorithms to distributed, reliable and efficient ones.