Original article
Approximation algorithm for estimating failure probability of multipath transmission

https://doi.org/10.1016/j.matcom.2011.01.006Get rights and content

Abstract

In a computer network where nodes can fail, multipath transmission can be used to increase the probability of successful transmission. However, even multipath transmission has a probability of failure, which depends on the selected paths. Hence, estimating this probability of failure is of great importance for designing good multipath routing algorithms. In this paper, we show that it is NP-hard to compute the failure probability of multipath transmission. Therefore, we design a polynomial-time approximation algorithm for estimating this failure probability and give analysis of its error bounds. We also compare the results of our approximation algorithm with the results of Matlab simulations.

Introduction

Multipath transmission [2], [4], [1] is an important technique in computer networks. Unlike traditional single-path transmission, multipath transmission uses multiple paths in a session for sending data from the source to the destination. An advantage of multipath transmission is that it can tolerate node failure, because even if some of the paths were blocked due to node failure, other paths may still be able to carry the traffic.

However, even multipath transmission has a probability of failure, because the set of paths used for transmission may become blocked simultaneously. When one designs a routing algorithm for multipath routing, it is important to make this failure probability as small as possible. Consequently, it is crucial to have an algorithm for computing this failure probability.

Formally, we can describe the above problem as follows. Suppose that G = (V, E) is a simple graph. Let P ={P1, P2, …, Pn} be a set of paths. Suppose that each node vV fails with a probability p. Compute the probability pf that for all Pi (i = 1, …, n), at least one node in Pi fails.

The problem of computing pf seems simple, but it turns out to be NP-hard.

Proposition 1

Given the graph G and the path set P, computing pf is NP-hard.

Proof

We construct a Karp reduction to this problem from the problem of network reliability. Because the network reliability problem is shown to be NP-hard [3], our problem is also NP-hard.

In the network reliability problem, we are given a graph G = (V′, E′), and a probability p′ with which each edge in G′ fails. We are supposed to compute the probability pc that the graph is still connected after removing the failed nodes. Since the min-cuts of G′ can be enumerated in polynomial time, we first establish the set C′ of min-cuts in G′. We define EC to be the set of edges in min-cuts, i.e., EC={e|CiC,eCi}.

For each eEC, we construct a node v, which will be used to construct a new graph G and a path set P in G. Then, for each CiC, we construct a node set Pi by selecting all nodes corresponding to the edges in Ci. Next, we make Pi a path by giving the nodes an arbitrary order and adding an edge between each pair of immediate neighbor nodes in the order. Finally, we define P as the set of Pi, and G as the graph formed by the nodes and edges in P. 

Now let each node in G fail with probability p = p. Then, the probability pf we need to compute is equal to the failure probability pf of the multipath transmission using P.

The above proposition implies that we cannot have a polynomial time algorithm for computing pf precisely, unless P = NP. Therefore, in the next section, we propose a polynomial-time approximation algorithm for estimating pf, and show that its approximation error is small. After that, we compare the results of our approximation algorithm with the results of Matlab simulations.

Section snippets

Approximation algorithm for estimating pf

It is challenging to design an approximation algorithm for estimating pf. Our proposed algorithm is based on the following idea: define pi as the probability that Pi is not blocked due to node failure. Hence,pi=(1p)ni,where ni is the number of nodes in Pi. Also definer=1pfPiPpi.Because we can calculate each pi using (1), to estimate pf, it suffices to have an estimate for r.

Note that we can rewrite the definition of r as:r=PiPPr[Piis the first unblocked path inP]PjPpj=PiPpiPjPp

Experimental evaluation

To illustrate the correctness and effectiveness of our approximation algorithm in an intuitive way, we compare the results of our algorithm with the results of Matlab simulations. Specifically, we conduct three experiments, with node failure probability p = 0.1, 0.5 and 0.9, respectively. In each of these experiments, 1000 networks are randomly constructed, where each network has 20 nodes and 50 different paths. For each network, we let nodes fail according to their failure probabilities, and

Conclusion

To design better multipath routing algorithms, it is very useful to compute the failure probability of multipath transmission. In this short paper, we show that computing this failure probability precisely is NP-hard. Thus, we propose an approximation algorithm for estimating this failure probability. Our analysis and experiments show that the error of our algorithm is small.

Acknowledgements

We thank the editor and the anonymous reviewers for their insightful comments, which help us to greatly improve the quality of this paper.

References (4)

  • P. Papadimitratos, Z. Haas, E. Sirer, Path-set selection in mobile ad hoc networks, in: Proceedings of the Third ACM...
  • V.D. Park et al.

    A highly adaptive distributed routing algorithm for mobile wireless networks

There are more references available in the full text version of this article.

Cited by (0)

This work was supported in part by NSF CNS-0845149 and NSF CCF-0915374.

View full text