Optimal Path Selection for Ethernet Over SONET

0 downloads 0 Views 234KB Size Report
Abstract— Ethernet over SONET (EoS) is a popular approach for interconnecting ..... calculate D1[u] and D2[u], and then w.r.t. σ2 to calculate E1[u] and E2[u].
Optimal Path Selection for Ethernet Over SONET Under Inaccurate Link-State Information Satyajeet Ahuja and Marwan Krunz Dept. of ECE University of Arizona {ahuja,krunz}@ece.arizona.edu

Abstract— Ethernet over SONET (EoS) is a popular approach for interconnecting geographically distant Ethernet segments using a SONET transport infrastructure. It typically uses virtual concatenation (VC) for dynamic bandwidth management. The aggregate SONET bandwidth that supports a given EoS system is obtained by “concatenating” a number of virtual channels (VCs), which together form a virtually concatenated group (VCG). This aggregate bandwidth can be increased on demand by adding one or more VCs to the existing VCG. The new VC (route) must be selected such that its end-to-end delay is within a certain range that reflects the delays of all existing VCs in the VCG and the available memory buffer of the EoS system. Algorithmically, the problem of selecting such a VC becomes that of finding a path in a graph network that is bounded by an upper and lower bounds (the lower bound being a positive number). This problem, known as the two-sided constrained path (TSCP), was first formulated in [2] assuming exactly known link delays, and a heuristic solution known as the MLW-KSP algorithm was proposed for solving it. In this paper, we first prove that the TSCP problem is NPcomplete. We then propose a new solution for it based on the “backward-forward” search approach. We show that this solution is much more efficient than the previously proposed MLW-KSP algorithm. We then consider the TSCP problem under inaccurate link information, in which the delay and available bandwidth for each link are taken as random variables. The problem is now formulated as that of finding the most probable path that satisfies the upper and lower delay constraints. We consider two cases. In the first case, we assume that the link delays are random but the link bandwidths are exact. We then consider the more general case where both the link delays and bandwidths are random. Heuristic solutions are presented for both cases. Simulations are conducted to evaluate the performance of the proposed algorithms and to demonstrate the advantages of the probabilistic path selection approach over the classic triggerbased approach. Index Terms— Ethernet over SONET/SDH, virtual concatenation, differential delay, path selection.

I. I NTRODUCTION The existing optical infrastructure in place today is largely based on the SONET/SDH technology [6], [17]. This technology uses a bandwidth hierarchy indicated by STS-n, where n = 1, 3, 12, 48, . . .. The basic unit in this hierarchy is This work was supported by NSF under grants ANI-0095626, ANI0313234, and ANI-0325979, and by the Center for Low Power Electronics (CLPE) at the University of Arizona. CLPE is supported by NSF (grant # EEC-9523338), the State of Arizona, and a consortium of industrial partners. Any opinions, findings, conclusions, and recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the NSF.

Turgay Korkmaz Dept. of Computer Science University of Texas at San Antonio [email protected]

the STS-1 channel, which corresponds to 51.84 Mbps of bandwidth. SONET was originally developed to support voice traffic. As the demand for “data” services (IP and Ethernet traffic) continues to rise, it became imperative to provide cost-effective solutions for supporting such services over the SONET/SDH infrastructure. Ethernet-over-SONET (EoS) is a popular approach for interconnecting Ethernet LANs over regional and even transcontinental distances [14]. It enables network providers to use their existing SONET infrastructure to provide new data services, including Ethernet-private-leasedline services that provide dedicated point-to-point bandwidth and Ethernet-virtual-private-line services that use statistical multiplexing to share bandwidth among various streams. EoS with virtual concatenation [6] utilizes the existing SONET infrastructure with only edge nodes (source and destination) being required to support such concatenation. By using the LCAS (Link Capacity Adjustment Scheme) [5], virtual concatenation facilitates dynamic link upgrade and on-demand bandwidth adjustment without requiring additional hardware. In virtual concatenation, the aggregate bandwidth used for interconnecting two Ethernet segments is obtained by concatenating several STS-n channels that possibly belong to different Optical Carriers (see Figure 1). These channels, which we will simply refer to as virtual channels (VCs), form a virtually concatenated group (VCG). For a VCG of k VCs, the source node splits the traffic among the k VCs and the sink node reconstructs the data stream back. The VCG members are allowed to be on noncontiguous time slots and they can be independently routed. Data are byte-interleaved over the various VCs of the VCG, i.e., if the first byte is transmitted on the rth VC, then the next byte is transmitted on the (r+1)th VC, and so on. Control information is embedded in the path overhead of individual VC. This information includes the sequence order of the VC and a frame number that is used as a time-stamp [6]. The receiving endpoint is responsible for re-assembling the original byte stream and compensating for the differential delay between the different paths taken by the VCs. The compensation for such delay is done using a very high-speed memory, which stores the payload bytes of VCs from successive frames. When the frames of all the VCs with the same frame number (i.e., time-stamp) arrive at the receiving node, the Ethernet packets can be extracted from them. It is obvious that the higher the differential delay, the

larger the high-speed memory requirement. If more bandwidth 1xSTS−n TIME SEQ No PAYLOAD STAMP =0 DATA =T1

10/100BT Ethernet

Corporate LAN

SONET End Node

SONET Network

TIME SEQ No PAYLOAD STAMP DATA =1 =T1 new STS−n

Fig. 1.

PATH1 (D1 )

PATH2 (D2 )

1xSTS−n TIME SEQ No PAYLOAD STAMP =0 DATA =T2

SONET End Node

10/100BT Ethernet

TIME SEQ No PAYLOAD STAMP = 1 DATA =T3 Corporate LAN new STS−n

EoS setup with virtual concatenation.

is needed, a new VC can be added on demand. This VC must be established over a path whose delay differs by no more than some upper bound ∆ from the delay of each existing VC in the VCG. The parameter ∆ is determined by the amount of high-speed memory available at the destination node. The problem of finding the set of paths which satisfy the differential delay requirement and have the required bandwidth was studied in [16]. The problem was modeled as a flow maximization problem and was solved using a sliding window approach over a pre-computed set of paths. In [2], the problem of selecting the new feasible VC was considered. Algorithmically, this problem can be reduced to a two-sided constrained path (TSCP) problem, where the goal is to compute a feasible path whose delay lies between two strictly positive bounds, C1 and C2 . As explained later, the two constraints C1 and C2 can be expressed in terms of ∆ and the delays of the existing paths in the VCG. A heuristic solution called the MLW-KSP algorithm was proposed in [2] for solving the TSCP problem under the assumption of exact link-state (delay and available bandwidth) information. In practice, link-state information available at the source node may be inaccurate for several reasons, including information staleness due to the periodic nature of state updates in commonly used link-state protocols (e.g., OSPF) and sampling errors [15], [11], [8]. Also, there may be cases where some of the link delays are not available because the participating nodes are managed by different Network Management Systems (NMS) that do not share link information between each other for policy reasons (in these cases, the physical distance between any two nodes can be used as a coarse estimate of the link delay). As demonstrated in [8], relying on outdated information and considering it as exact can significantly degrade the performance of a path selection algorithm. The contributions of this paper are as follows. First, we prove that the TSCP problem under exact state information is NP-complete (Section II). The implication of such a proof is that it formally establishes the nonexistence of an exact polynomial-time solution to the problem. We then propose a new heuristic solution for the TSCP problem based on the “backward-forward” search approach (Section II-B). This solution is later shown to be much more efficient than the previously proposed MLW-KSP algorithm . We then consider the TSCP problem under imprecise link-delay information (Section III). In this case, link delays are modeled probabilistically, giving rise to the most-probable two-sided constrained path

(MP-TSCP) problem. For this problem, we develop highly efficient heuristic for finding the most probable “feasible” VC subject to the constraints C1 and C2 . We then consider a more general scenario in which both link delays and available bandwidth are uncertain (Section IV), and the goal is to find the most-probable bandwidth-delay two-sided constrained path (MP-BD-TSCP). A heuristic based on the backwardforward approach is developed for this problem. Simulations are conducted in Section V to evaluate the performance of the proposed algorithms and to demonstrate the advantages of the probabilistic path selection approach over the classic trigger-based approach. II. T WO -S IDED C ONSTRAINED PATH S ELECTION U NDER E XACT S TATE I NFORMATION A. TSCP Problem Consider a SONET network with each multiplexer having a fully nonblocking cross-connect. Suppose that a new VC is to be added to an existing VCG that already contains m VCs with respective path delays D1 , D2 , . . . , Dm . The delay associated with the newly added VC (Dnew ) should satisfy: max |Di − Dnew | ≤ ∆.

1≤i≤m

(1)

Figure 2 shows two examples for m = 1 and m = 2. In (a) m = 1 0

C1

C2 D1

(b) m = 2 

0





























C1







C2 D1

D2

Fig. 2. Differential delay problem for a VCG that already contains: (a) one path, and (b) two paths.

general, Dnew should satisfy C1 ≤ Dnew ≤ C2 for some positive constants C1 and C2 that depend on D1 , D2 ,...,Dm , and ∆. To determine an appropriate path for the new VC, we start by removing from the network graph all the links whose available bandwidth is less than the bandwidth of the prospective VC. In the pruned graph, each link (i, j) is associated with a delay parameter w(i, j). For now, we assume that the w(i, j)’s are exactly known at the source node. Our goal is to find a feasible path; one that satisfies the delay bound in (1). Problem 1: Two-Sided Constrained Path (TSCP) Problem: Consider a network G(V, E), where V is the set of nodes and E is the set of links. Each link (u, v) ∈ E is associated with an additive parameter w(u, v) ≥ 0. Let C1 and C2 be any two positive numbers, with 0 < C1 < C2 . The problem is to find a path P from s to t such that X def C1 ≤ W (P (s, t)) = w(u, v) ≤ C2 . (2) (u,v)∈P (s,t)

This problem is actually a mixture of both the shortest path problem and the longest path problem. If only the upper bound is considered, then the problem is solved by using Dijkstra’s shortest path algorithm. If only the lower bound is considered, then the problem is equivalent to finding the longest path in the network, which is known to be NP-complete. We now prove that the TSCP problem belongs to the class of NP-complete problems. Theorem 1: TSCP problem is NP-complete. Proof: Consider the corresponding decision problem for TSCP, where the goal is to decide whether or not there exists a path P from s to t that satisfies (2). First, we show that TSCP belongs to the class of NP problems. The certificate for the verification algorithm is chosen as the path P (s, t) itself. The verification algorithm affirms that C1 ≤ W (P (s, t)) ≤ C2 and that P (s, t) is indeed a valid path in the network. This verification can be performed in polynomial time. We prove that TSCP is NP-hard by showing that the NPcomplete hamiltonian path problem (HAM-PATH) [7] can be reduced in polynomial time to the TSCP problem. The reduction approach takes as input an instance {G(V, E), s, t} of the HAM-PATH problem. For a graph G(V, E), let C1 = n − 1, C2 = n, and w(i, j) = 1 ∀ (i, j) ∈ E, where n = |V |. The output of the reduction algorithm {G(V, E), s, t, C1 = n − 1, C2 = n, w(i, j) = 1} is an instance of the TSCP problem. We now show that the output of this instance is yes (positive), if and only if the output of HAMPATH on {G(V, E), s, t} is also yes (positive). The output of the TSCP problem will be a path P with n − 1 ≤ W (P ) ≤ n. Since we fixed w(i, j) = 1 ∀ (i, j) ∈ E, then P will traverse every node exactly once and hence is a hamiltonian path. On the other hand, suppose that G has a HAM-PATH Q from s to t. Then, P Q will have exactly n − 1 hops. Accordingly, W (Q) = (i,j)∈Q w(i, j) = n − 1, which also satisfies n − 1 ≤ W (Q) ≤ n and is thus a solution to the TSCP problem. The reduction only requires fixing the values of w(i, j) ∀(i, j) ∈ E, C1 , and C2 , and thus can be performed in polynomial time. B. Backward-Forward (BF) Algorithm In [2], the TSCP problem was addressed using the modifiedlink-weight K-shortest-path (MLW-KSP) algorithm. This algorithm is essentially a variant of the K-shortest-path (KSP) algorithm, but with link costs being appropriated selected to reduce the likelihood of returning infeasible paths. However, similar to the KSP algorithm, MLW-KSP may require a large value of K before returning a feasible path, rendering it impractical for real-time operation (note that the complexity of the KSP algorithm is O(Kmlog(Kn)+ K 2 m), where n is the number of nodes and m is the number of links [3]). Let be the set of all paths from s to t. For any path p ∈ , define the following path-cost function: 1 def (3) r(p) = αW (p) + W (p) 



minimizes r(p) over all paths p ∈ is also TSCP-feasible. We use this result to develop a highly efficient heuristic for the TSCP problem based on “backward-forward” approach. The basic idea of the BF algorithm is inspired by the H MCOP algorithm [9] for the multiconstraint path selection problem. A feasible s → t path is heuristically determined at any node u based on the already traversed segment s → u and the estimated remaining segment u → t. The estimated remaining segment u → t is taken as the shortest path from u to t w.r.t. w(., .). Since the algorithm considers complete paths, it can foresee several paths before reaching the destination. If one of the foreseen paths is feasible, the algorithm terminates. The BF algorithm operates in two phases: A backward phase from t to all other nodes, which is used to estimate the cost of the remaining segment, and a forward phase, which is used to find the most promising path in terms of the nonlinear cost function (3). Figure 3 shows the basic operation of the algorithm. In the backward phase, every node is pre-labelled with the shortestpath distance from itself to node t. The forward step starts from the source s and tries to determine a path that is most likely to be feasible. 

S[u]

u

w(u,v)

D[v]

v

t

s

Already explored nodes Unexplored nodes

Fig. 3.

Exploring the graph in the BF algorithm.

A pseudocode for the algorithm is shown in Figure 4. For each node u, the algorithm maintains the following labels: the cost of the shortest path from u to t (D[u]), the predecessor of u on the shortest path from u to t (πr [u]), cost of the already travelled segment from s to u (S[u]), and the predecessor of u on this already travelled segment (πs [u]).

BF algorithm(G(V, E), s, t, w(.), C1 , C2 ) 1. D=Reverse Dijkstra(G, t, w(E)) 2. if D[s] > C2 3. return: NULL (no feasible path exists) 4. else 5. T = Forward Heuristic(G, s, t, w(E), C1 , C2 , D) end if 6. if T > C1 and T < C2 7. return: T is feasible path 8. else 9. return: T is infeasible path end if

def

where α = 1/(C1 C2 ). It was shown in [2] that if the network graph contains a TSCP-feasible path, then a path p∗ that

Fig. 4.

Pseudocode for the BF algorithm.

In the backward direction, the algorithm uses Reverse Dijkstra’s algorithm (RDA) [1] to find the shortest path to t w.r.t. w(., .) from every node u. Initially, we set D[u] = ∞ and πr [u] = NIL ∀ u ∈ V . The algorithm then starts from t by setting D[t] = 0. It explores the graph and eventually finds the shortest path from u to t ∀ u ∈ V . The algorithm returns an array D that contains the weights of the shortest paths from u to t ∀ u ∈ V . Before proceeding further, the algorithm checks whether D[s] > C2 . If so, then there is no feasible path and the algorithm terminates. Otherwise, the algorithm proceeds to the forward phase. A pseudocode for the forward phase is shown in Figure 5. The forward phase is essentially a modified version of Dijkstra’s algorithm. This search uses the information provided by RDA to find the next node for the already travelled path segment. Consider a search that has already traversed from s to u, as shown in Figure 3. The next node v is determined from the unexplored graph by finding the node that minimizes the cost function (3) for the path s → u → v → t. The weight of the path from v to t is taken as the cost of the shortest path w.r.t. w(., .) provided by RDA. To improve the performance,

Forward Heuristic(G(V, E), s, t, w(.), C1 , C2 , D) 1. for all i ∈ V , i 6= s, do S[i] = ∞ πs [i] = NIL end for 1 2. S[s] = 0, α = C1 ∗C 2 3. Insert Heap(s, α(S[s] + D[s]) + 1/(S[s] + D[s]), Q) 4. while Q is not empty, 5. u = ExtractMin(Q) 6. if (u == t) return S[t] end if 7. for each edge (u, v) outgoing from u, do 8. if (C1 < S[u] + w(u, v) + D[v] < C2 ) return S[u] + w(u, v) + D[v] end if 9. if {α(S[v] + D[v]) + 1/(S[v] + D[v])} > {α(S[u] + w(u, v) + D[v]) + 1/(S[u] + w(u, v) + D[v])} 10. S[v] = S[u] + w(u, v) 11. πs [v] = u 12. Insert Heap(v, α(S[v] + D[v]) + 1/(S[v] + D[v]), Q) end if end for Function u = ExtractMin(Q) removes and returns the vertex u in the heap Q with the least key value. Function Insert Heap(v, x, Q) inserts the node v in the heap Q with a key value x. If the node is already present in the heap then this function decreases its key to x.

the forward phase can be used with a KSP implementation of Dijkstra’s algorithm (e.g., [10], [4]). Basically, a KSP algorithm tries to find the K lowest cost paths in the network. It starts from the source node and explores the underlying graph by maintaining (at least) the best K (sub)paths at each node. We can iteratively use KSP algorithm with a sufficiently large K until a path whose cost is between C1 and C2 is found. The algorithm terminates if it finds a feasible path or if all K returned paths are infeasible. A large K renders the algorithm impractical, given the O(Kmlog(Kn)+ K 2 m) complexity of the KSP algorithm [3], where n is the number of nodes and m is the number of links. III. PATH COMPUTATION U NDER I NACCURATE D ELAY I NFORMATION A. Problem Formulation To model the uncertainties in the delay parameter, we follow a probabilistic approach, where we assume that for each link (u, v) the delay parameter w(u, v) is a nonnegative random variable with mean µ(u, v) and variance σ 2 (u, v). We assume that link delays are mutually independent. Each node u computes the parameters µ(u, v) and σ 2 (u, v) associated with its outgoing links and disseminates them throughout the network. For more discussion on the feasibility and effectiveness of capturing and disseminating such delay information, we refer the reader to [8]. We use the same probabilistic model that was used in [8] to deal with the most-probable delay-constrained path (MP-DCP). In our work, however, the problem at hand involves both upper and lower bounds. The problem can be formally stated as follows. Problem 2: Most-Probable Two-Sided Constrained Path (MP-TSCP) Problem: Consider a network G(V, E). Each link (u, v) ∈ E is associated with an additive delay parameter w(u, v). Assume that w(u, v) is a nonnegative random variable with mean µ(u, v) and variance σ 2 (u, v). For a path p ∈ , def P let W (p) = (u,v)∈p w(u, v). Given two constraints C1 and C2 , the problem is to find a path that is most likely to satisfy both constraints. Specifically, the problem is to find a path r∗ such that for any other path p ∈ , 



π(r∗) ≥ π(p) def

where π(p) = Pr[C1 ≤ W (p) ≤ C2 ]. Before presenting our solution to the MP-TSCP problem, we first briefly discuss how to compute the probability measure π. Without loss of generality, we assume that the probability density function (pdf) of w(u, v) is continuous and differentiable over some domain (a, b). The smoothness assumption, which is satisfied by many distributions, enables us to apply the central limit theorem (CLT) approximation (see [12, 376378]), which results in a path delay that is approximately normally distributed. Note that functions with cutoffs, such as the uniform distribution, are also smooth functions. The CLT approximation also holds for heavy-tailed distributions (e.g., lognormal) as long as they have a P finite variance. def For a given path p ∈ , let µ(p) = (u,v)∈p µ(u, v) and def P σ 2 (p) = (u,v)∈p σ 2 (u, v). Then π(p) is approximately given 

Fig. 5.

Pseudocode for the forward phase of the BF algorithm.

(4)

by π(p)



F (C2 , µ(p), σ 2 (p)) − F (C1 , µ(p), σ 2 (p))

def

Φ(C2 , C1 , µ(p), σ 2 (p))

=

where F (x, µ(p), σ 2 (p)) is the cumulative distribution function (CDF) of a Gaussian random variable with mean µ(p) and variance σ 2 (p) evaluated at x. For a path p, µ(p) and σ 2 (p) are exactly known at the source node. The Gaussian CDF can be evaluated with sufficient accuracy using O(1) table lookups [13]. Among all paths from s to t, we need to find a path that maximizes π(p) or, equivalently, minimizes 1 − π(p).

BF Inaccurate(G(V, E), s, t, µ(E), σ 2 (E), C1 , C2 , w∗ (E)) 1a. D=Reverse Dijkstra(G, t, µ(E)) 1b. E=Reverse Dijkstra(G, t, σ 2 (E)) 2. p = Fwd P Inaccurate(G, s, t, µ(E), σ 2 (E), C1 , C2 , D, E) 3. if C1 < (i,j)∈p w∗ (i, j) < C2 4. return: p is feasible 5. else 6. return: p is infeasible else if Fig. 6.

Pseudocode for the main loop of BF Inaccurate.

B. Backward Forward Algorithm Under Inaccurate LinkDelay Information (BF Inaccurate) We now present a heuristic solution for MP-TSCP, which uses the same philosophy of the BF algorithm discussed in Section II. Each node u maintains the following labels: D[u] def = {D1 [u], D2 [u]}, where D1 [u] is the mean and D2 [u] is the def variance of the shortest path from u to t w.r.t. µ; E[u] = {E1 [u], E2 [u]}, where E1 [u] is the mean and E2 [u] is the variance of the shortest path from u to t w.r.t. σ 2 ; πs [u], the predecessor node of u on the already travelled segment s → u; µ(s → u) and σ 2 (s → u); mean and variance of the already travelled segment s → u. The feasible path s → t is heuristically determined at any node u based on the already travelled segment s → u and the estimated remaining segment u → t. This remaining segment is estimated either from the shortest path w.r.t. variance or the shortest path w.r.t. mean from u to t, based on which of these has the smaller 1 − π(p) value. Since the algorithm considers complete paths, it can foresee several paths before reaching the destination. t path w.r.t. µ, i.e., D1 [u] = PLet r be the shortest u → P 2 µ(u, v) and D [u] = v). Let q be the 2 (u,v)∈r (u,v)∈r σ (u, P 2 shortest u → t path w.r.t. σ , i.e., E1 [u] = (u,v)∈q µ(u, v) P and E2 [u] = (u,v)∈q σ 2 (u, v). Similar to the BF algorithm, BF Inaccurate has two phases: (i) a backward phase from t to all other nodes, in which each node u is assigned the labels D1 [u], D2 [u], E1 [u], and E2 [u] using RDA, and (ii) a forward phase to find the most likely path that minimizes 1 − π. A pseudocode for the BF Inaccurate algorithm is presented in Figure 6. RDA is executed first over the graph w.r.t. µ to calculate D1 [u] and D2 [u], and then w.r.t. σ 2 to calculate E1 [u] and E2 [u]. The forward phase (Figure 7) is a modified version of Dijkstra’s algorithm. It uses the information provided by the RDA to find the next node from the already traveled segment. Consider a search that has already traversed from s to u. The next node v is determined from the unexplored graph by finding the node that has the smallest cost function 1 − π for the path s → u → v → t. Note that in this case, for each such node v, there are two possible paths from v to t, as calculated in the backward step. Let the exact weight of the link (u, v) be w ∗ (u, v). w∗ (., .) is input to the BF Inaccurate algorithm just to check if the returned path is feasible. To improve the performance, the forward phase can be used with a KSP implementation of Dijkstra’s algorithm.

Fwd Inaccurate(G, s, t, µ(E), σ 2 (E), C1 , C2 , D, E) 1. for all i ∈ V , i 6= s, S[i] = ∞ πs [i] = NIL end for 2. S[s] = 0, µ(s, s) = 0, σ 2 (s, s) = 0 3. Insert Heap(s, S[s], Q) 4. while Q is not empty, 5. u = ExtractMin(Q) 6. if (u == t) return: The path traversed s → t end if 7. for each edge (u, v) outgoing from u, 8a. µD (v) = µ(s → u) + µ(u, v) + D1 [v] 8b. µE (v) = µ(s → u) + µ(u, v) + E1 [v] 2 (v) = σ 2 (s → u) + σ 2 (u, v) + D2 [v] 9a. σD 2 9b. σE (v) = σ 2 (s → u) + σ 2 (u, v) + E2 [v] 2 10. if {S[v] > 1 − Φ(C2 , C1 , µD (v), σD (v))} 2 S[v] = 1 − Φ(C2 , C1 , µD (v), σD (v)) πs [v] = u, µ(s → v) = µ(s → u) + µ(u, v) σ 2 (s → v) = σ 2 (s → u) + σ 2 (u, v) Insert Heap(v, S[v], Q) end if 2 11. if {S[v] > 1 − Φ(C2 , C1 , µE (v), σE (v))} 2 S[v] = 1 − Φ(C2 , C1 , µE (v), σE (v)) πs [v] = u, µ(s → v) = µ(s → u) + µ(u, v) σ 2 (s → v) = σ 2 (s → u) + σ 2 (u, v) Insert Heap(v, S[v], Q) end if end for end while Function u = ExtractMin(Q) removes and returns the vertex u in the heap Q with the least key value. Function Insert Heap(v, x, Q) inserts the node v in the heap Q with a key value x. If the node is already present in the heap then it decreases its key to x. Fig. 7.

Pseudocode for the forward phase of the BF Inaccurate algorithm.

IV. PATH COMPUTATION U NDER I NACCURATE BANDWIDTH AND D ELAY I NFORMATION A. Problem Formulation We now consider a more general case in which the information about both bandwidth and delay is imprecise. The uncertainty in bandwidth is attributed to the finite delay in the dissemination of the link state information to all the nodes. We assume that the delay of a link is independent of the bandwidth available on that link. To model the uncertainty in the bandwidth parameter, we again follow a probabilistic approach, where we assume that for each link (u, v) the bandwidth parameter b(u, v) is a nonnegative random variable with a given distribution. We assume that the bandwidth values of different links are mutually independent. Problem 3: Most-Probable Bandwidth-Delay Two-Sided Constrained Path (MP-BD-TSCP) Problem: Consider a network G(V, E). Each link (u, v) ∈ E is associated with an additive delay parameter w(u, v) and available-bandwidth b(u, v). Assume that the w(u, v)’s are nonnegative independent random variables with mean µd (u, v) and variance σd2 (u, v). Also assume that b(u, v)’s are nonnegative independent random variables with a given distribution. Let be the setP of all paths from s to t. For a path p ∈ , let def def W (p) = (u,v)∈p w(u, v) and B(p) = min(u,v)∈p b(u, v). Given two constraints C1 and C2 on the delay of that path and a lower constraint C3 on the bandwidth of the path, the problem is to find a path that is most likely to satisfy these constraints. Specifically, the problem is to find a path r∗ such that for any other path p ∈ 





π(r∗)



π(p)

(5)

def

where π(p) = Pr[C1 ≤ W (p) ≤ C2 , B(p) > C3 ] = Pr[C1 ≤ W (p) ≤ C2 ] Pr[B(p) > C3 ]. B. Backward Forward Algorithm Under Inaccurate LinkDelay-Bandwidth Information (BF BD Inaccurate) We now present a heuristic solution for MP-BD-TSCP, called the BF BD Inaccurate algorithm. The basic idea of this algorithm is similar to that of the BF Inaccurate algorithm discussed in Section III. Each node u maintains three sets of labels: D[u] = {Db [u], D1 [u], D2 [u]}, E[u] = {Eb [u], E1 [u], E2 [u]}, and F [u] = {Fb [u], F1 [u], F2 [u]}, where Db [u] is the probability that the bandwidth on the shortest u → t path w.r.t. µd is greater than C3 , D1 [u] is the mean and D2 [u] is the variance of the shortest u → t path w.r.t. µd . Eb [u] is the probability that the bandwidth on the shortest u → t path w.r.t. σd2 is greater than C3 , E1 [u] is the mean and E2 [u] is the variance of the shortest u → t path w.r.t. σd2 . Fb [u] is the probability that the bandwidth on the most probable u → t path w.r.t. b is greater than C3 , F1 [u] is the mean and F2 [u] is the variance of the most probable u → t path w.r.t. b. Since, the distribution of b(i, j) ∀(i, j) ∈ E is known, we can calculate Db [u], Eb [u], and Fb [u]. The algorithm also stores πs [u], which has a similar meaning as in the BF Inaccurate algorithm. PD (B(s → u → v → t) > C3 ) is the probability that the bandwidth along the path s → u → v → t is greater

than C3 , where the path segment v → t is the shortest (v → t) path w.r.t. µd . Similarly, PE (B(s → u → v → t) > C3 ) and PF (B(s → u → v → t) > C3 ) are the probabilities that the bandwidth along the path s → u → v → t is greater than C3 , where the path segment v → t is the shortest (v → t) path w.r.t. σd2 and b respectively. Similar to BF Inaccurate, the feasible s → t path is heuristically determined at any node u based on the already traversed segment s → u and the estimated remaining segment u → t. However, the estimated remaining segment u → t in this case can be one of three possibilities: the shortest path from u to t w.r.t. µd , the shortest path from u to t w.r.t. σd2 , or the most probable path w.r.t. b. The selection is made based on which of these has the smaller 1 − π value. Q Let r be the shortest u → t path w.r.t. P µd , i.e., Db [u] = Pr(b(i, j) > C ), D [u] = 3 1 (i,j)∈r (i,j)∈r µd (i, j) and P 2 be the shortest u → t D2 [u] = (i,j)∈r σd (i, j). Let n Q path w.r.t. σd2 (., .), i.e., Eb [u] = (i,j)∈n Pr(b(i, j) > C3 ), P P 2 E1 [u] = (i,j)∈n σd (i, j). (i,j)∈n µd (i, j) and E2 [u] = Let l be Qthe most probable u → t path w.r.t. P b(., .), i.e., Fb [u] = (i,j)∈l Pr(b(i, j) > C3 ), F1 [u] = (i,j)∈l µd (i, j) P and F2 [u] = (i,j)∈l σd2 (i, j). BF BD Inaccurate has two phases: (i) a backward phase from t to all the nodes to prelabel all the nodes with D[u], E[u] and F [u] using RDA, and (ii) a forward phase to find the most likely path that minimizes 1 − π. RDA is executed first over the graph w.r.t. µd to calculate Db [u], D1 [u] and D2 [u], w.r.t. σd2 to calculate Eb [u], E1 [u] and E2 [u], and then w.r.t, b to calculate Fb [u], F1 [u] and F2 [u]. For F , we use the MP-BCP version of Dijkstra’s algorithm discussed in [8]. A pseudocode for the BF BD Inaccurate algorithm is presented in Figure 8. The forward phase is similar to the forward phase of BF Inaccurate algorithm with a slight difference in the selection of the node u, as described in Figure 9. To improve the performance, the forward phase can be used with a KSP implementation of Dijkstra’s algorithm. Note that w ∗ (., .) and b∗ (., .), the exact delay and bandwidth of the links, are input to the BF BD Inaccurate algorithm just to verify if the path returned by the algorithm is feasible. V. S IMULATION R ESULTS In this section, we describe the simulation model and study the performance of the algorithms proposed in Sections II, III, and IV. In our simulations, a network of N nodes is generated randomly using Waxman’s model [18]. The link weights w(i, j), b(i, j), the source and destination nodes, and the constraints C1 , C2 and C3 are randomly generated. A. TSCP with Exact Link Delay Information We first study the performance of the BF algorithm for various values of supported differential delay. We then compare the KSP and MLW-KSP algorithms proposed in [2] with BF algorithm in terms of average number of iterations required to find the feasible path. For BF algorithm consider the number of iterations required in the forward phase of the algorithm.

BF BD Inaccurate(G, s, t, b(E), µd (E), σd2 (E), C1 , C2 , C3 , w∗ (E), b∗ (E)) 1a. D=Reverse Dijkstra(G, t, µd (E)) 1b. E=Reverse Dijkstra(G, t, σd2 (E)) 1c. F =Reverse Dijkstra(G, t, b(E), C3 ) 2 2. p = Fwd P BD Inaccurate(G, s, t, b(E), µd (E), P σd (E),∗C1 , C2 , C3 , D, E, F ) ∗ 3. if C1 < (i,j)∈p w (i, j) < C2 and C3 < (i,j)∈p b (i, j) 4. return: p is feasible 5. else 6. return: p is infeasible end if Fig. 8.

Pseudocode for the general structure of BF BD Inaccurate algorithm.

For each link (i, j), w(i, j) is sampled from a uniform distribution in the range [0, 50]. The values of C1 and C2 fall into the following three cases: 1) The shortest path between s and t w.r.t w(., .) is greater than C2 . In this case, there is no feasible path. 2) The shortest path between s and t w.r.t w(., .) is greater than C1 but less than C2 . This is a trivial case, as the shortest path w.r.t. w is a feasible solution. 3) The shortest path between s and t w.r.t w(., .) is less than C1 . The third case is the nontrivial case and is the one considered in our simulations. Accordingly, C1 and C2 are generated such that they are always greater than the length of the shortest path between s and t w.r.t. w(., .). Specifically, we let C1 = W (p∗) + A + U (0..50) and C2 = C1 + L, where p∗ is the shortest path between s and t w.r.t. w(., .), and A and L are positive constants. Notice that L reflects the allowable differential delay. Figure 10 depicts the hit probability versus A for the BF algorithm under various values of L and with only one permitted iteration during the forward phase (K = 1). The plot shows that with only one iteration, the algorithm is able of finding a feasible path in more than 99% of the instances. We report the average number of iterations (average value of K) required to find a feasible path in the KSP, MLW-KSP, and BF algorithms. To obtain this average, we execute each algorithm with a very large K and terminate the algorithm once it finds a feasible path. The results are shown in Table I. As A increases, MLW-KSP algorithm performs better than the KSP algorithm in terms of computational cost. This is actually expected because when A is increased (i.e., constraints get far away from the cost of the shortest path), the KSP algorithm needs to consider more paths to reach the feasibility region, while the MLW-KSP algorithm immediately reaches that region via the modified link weights. The BF algorithm performs much better than the other algorithms and requires significantly fewer iterations to find the feasible path under all scenarios. This is attributed to the fact that BF algorithm works on complete paths and directly optimizes the nonlinear cost function in (3).

A 0 20 50

KSP algorithm 34.47 162.15 464.0

MLW-KSP algorithm 22.63 5.56 17.3

BF algorithm 1.004 1.003 1.004

TABLE I AVERAGE NUMBER OF ITERATIONS FOR DIFFERENT VALUES OF A (L = 100, N = 100).

B. TSCP with Inaccurate Link Delay Information Next, we study the performance of the proposed BF Inaccurate algorithm. To demonstrate the effectiveness of this algorithm, we compare its performance with the classic trigger-based approach [8], in which the current delay value of a link is advertised once its absolute difference from the last advertised value exceeds a given threshold T . Notice that, due to maintenance activities in the network, a link can be routed through different fiber ducts which leads to the change in delay of the link. Clearly, the smaller the value of T , the more accurate is the estimate of the link delay and the better is the performance of the path selection algorithm. This performance gain, however, comes at the expense of higher advertisement overhead. For the trigger-based approach, we use the BF algorithm in Section II, executed using the last advertised link delay values (treated as exact from the standpoint of the BF algorithm). For a given topology, each link (i, j) is assigned a random delay w(i, j). We assume that w(i, j) is normally distributed with mean µ(i, j) and variance σ 2 (i, j). To produce heterogeneous link delays, we also randomize the selection of µ(i, j) and σ 2 (i, j) by taking µ(i, j) ∼ uniform[10, 50] and σ 2 (i, j) ∼ uniform[10, 50]. We fix the exact value of the link delay (w ∗ (i, j)) of a link (i, j) by sampling from a Gaussian distribution with mean µ(i, j) and variance σ 2 (i, j). Note that w∗ is provided to the BF Inaccurare algorithm to merely check if the path returned by the algorithm is feasible. We set C1 and C2 as in Section V-A, where p∗ is now the shortest path between s and t w.r.t. w ∗ (., .). BF Inaccurate heuristically attempts to return the most probable feasible path r. Let W (r) be the weight of this path w.r.t. w ∗ (., .). If C1 ≤ W (r) ≤ C2 , then we count this a hit. Using only one permitted iteration

Fwd BD Inaccurate(G, s, t, b(E), µd (E), σd2 (E), C1 , C2 , C3 , D, E, F ) 1. for all i ∈ V , i 6= s, S[i] = ∞ πs [i] = NIL end for 2. S[s] = 0, µd (s, s) = 0, σd2 (s, s) = 0, 3. Insert Heap(s, S[s], Q) 4. while Q is not empty, 5. u =ExtractMin(Q) 6. if (u == t) return: The path traversed s → t end if 7. for each edge (u, v) outgoing from u, 8a. µD (v) = µ(s → u) + µ(u, v) + D1 [v] 8b. µE (v) = µ(s → u) + µ(u, v) + E1 [v] 8c. µF (v) = µ(s → u) + µ(u, v) + F1 [v] 2 9a. σD (v) = σ 2 (s → u) + σ 2 (u, v) + D2 [v] 2 9b. σE (v) = σ 2 (s → u) + σ 2 (u, v) + E2 [v] 9c. σF2 (v) = σ 2 (s → u) + σ 2 (u, v) + F2 [v] 2 10. if {S[v] > 1 − Φ(C2 , C1 , µD (v), σD (v))PD (B(s → u → v → t) > C3 )} 2 S[v] = 1 − Φ(C2 , C1 , µD (v), σD (v))PD (B(s → u → v → t) > C3 ) πs [v] = u, µ(s → v) = µ(s → u) + µd (u, v) σ 2 (s → v) = σ 2 (s → u) + σd2 (u, v) Insert Heap(v, S[v], Q) end if 2 11. if {S[v] > 1 − Φ(C2 , C1 , µE (v), σE (v))PE (B(s → u → v → t) > C3 )} 2 S[v] = 1 − Φ(C2 , C1 , µE (v), σE (v))PE (B(s → u → v → t) > C3 ) πs [v] = u, µ(s → v) = µ(s → u) + µd (u, v) σ 2 (s → v) = σ 2 (s → u) + σd2 (u, v) Insert Heap(v, S[v], Q) end if 12. if {S[v] > 1 − Φ(C2 , C1 , µF (v), σF2 (v))PF (B(s → u → v → t) > C3 )} S[v] = 1 − Φ(C2 , C1 , µF (v), σF2 (v))PF (B(s → u → v → t) > C3 ) πs [v] = u, µ(s → v) = µ(s → u) + µd (u, v) σ 2 (s → v) = σ 2 (s → u) + σd2 (u, v) Insert Heap(v, S[v], Q) end if end for Function u = ExtractMin(Q) removes and returns the vertex u in the heap Q with the least key value. Function Insert Heap(v, x, Q) inserts the node v in the heap Q with a key value x. If the node is already present in the heap then it decreases its key to x. Fig. 9.

Pseudocode for the forward phase of BF BD Inaccurate algorithm.

for the forward phase of the BF Inaccurate algorithm (i.e., K = 1), Figure 11 shows the hit probability for various values of A and L and a network of 100 nodes. Figure 12 shows the average number of iterations needed to find a feasible path when no limit is imposed on K. Notice that as the differential delay increases, the average number of required iterations is reduced. Because the difference between the last advertised link delay wlast (i, j) and the present (exact) link delay cannot be more

than T , we have wlast (i, j) ∼ uniform[w ∗ (i, j) − T, w ∗ (i, j) + T ].

(6)

We vary the value of A and L to show the effectiveness of the BF Inaccurate algorithm compared with a trigger-based approach. For the triggered based approach we use the BF algorithm and assume that the last advertised values are exact. Figure 13 shows the hit probability versus A (T = 5) for a network of 100 nodes. We conducted simulations for other

1

Hit Probability

0.998

1.8

1.7

Average number of Iterations required

values of T and observed similar trends. BF Inaccurate, which uses a one-time advertised statistical information, performs significantly better than the trigger-based approach as A is increased.

0.996

L = 50 L = 45 L = 40 L = 35 L = 30

1.6

1.5

1.4

1.3

1.2

1.1 L = 50 L = 45 L = 40 L = 35 L = 30

0.994

1 10

20

30

40

50

A

60

70

80

90

100

Fig. 12. Average number of iterations vs. A for the BF Inaccurate algorithm (N = 100).

0.992

0.99 20

30

40

50

60 A

70

80

90

T=5

1

100

0.9

Fig. 10.

Hit probability vs. A for the BF algorithm (N = 100).

0.8 0.7

Hit Probability

1

0.98

0.96

0.6 0.5 0.4 0.3

0.94 Hit Probability

0.2 0.92

L = 30 (Threshold based) L = 50 (Threshold based) L = 30 (BF_Inaccurate) L = 50 (BF_Inaccurate)

0.1 0.9

0 20 0.88

L = 50 L = 45 L = 40 L = 35 L = 30

0.86

30

40

50

60 A

70

80

90

100

Fig. 13. Hit probability vs. A for the BF Inaccurate algorithm and BF algorithm using trigger-based approach (T = 5, N = 100).

0.84

0.82 10

Fig. 11.

20

30

40

50

A

60

70

80

90

100

Hit probability vs. A for the BF Inaccurate algorithm (N = 100).

C. TSCP with Inaccurate Link Delay-Bandwidth Information Finally, we study the performance of the proposed BF BD Inaccurate algorithm. For a given topology, each link (i, j) is assigned a random delay w(i, j) as generated in Section V-B. For the link bandwidth b(i, j), we take it to be uniformly distributed in the range [lb(i, j), ub(i, j)]. To produce heterogeneous link bandwidths, we sample lb(i, j) from uniform[10, 100] and ub(i, j) from lb(i, j) + uniform[20, 50]. We fix the value the exact delay as described in Section VB. The exact value of the link bandwidth (b∗ (i, j)) is sampled from Uniform[lb(i, j), ub(i, j)]. Similar to V-B, w ∗ and b∗ are used to determine if the path returned by the algorithm is feasible. We set C1 and C2 as described in Section V-A. Figure

14 shows the performance of BF BD Inaccurate algorithm for various values of A and L in terms of hit probability for only one permitted iteration in the forward phase of the algorithm (C3 = 50, N = 100). We also plot the average number of iterations required to find the feasible path for various values of A and L (C3 = 50, N = 100). Notice that as the differential delay increases, the hit probability increases and average number of iterations required to find the feasible path is reduced. This is due to that fact that when the supported differential delay (L) increases more and more paths in the graph become feasible. VI. C ONCLUSIONS AND S UMMARY In this paper, we investigated the TSCP problem and proved that it belongs to the class of NP-Complete problems. We proposed a heuristic (BF algorithm) based on the “backwardforward” approach to solve it. We compared the performance of the BF algorithm with the KSP and MLW-KSP algorithms

0.9

eled the problem as that of finding the most probable path that maximizes the joint probability of link delay being feasible and bandwidth more than the required value. We proposed BF BD Inaccurate algorithm and verified the performance of it for various problem instances. It was observed that when the supported differential delay is increased, the average number of iterations required to find a feasible path is reduced.

L = 50 L = 40 L = 30

Hit Probability

0.85

0.8

R EFERENCES

0.75

0.7

0.65 10

20

30

40

50

A

60

70

80

90

100

Fig. 14. Hit probability vs. A for the BF BD Inaccurate algorithm (C3 = 50, N = 100).

2.6

L = 50 L = 40 L = 30

Average number of Iterations required

2.4

2.2

2

1.8

1.6

1.4

1.2 10

20

30

40

50

A

60

70

80

90

100

Fig. 15. Average number of iterations vs. A for the BF BD Inaccurate algorithm (C3 = 50, N = 100 ).

proposed in [2]. The BF algorithm was found to be much more efficient than KSP and MLW-KSP, often requiring only one iteration to return a feasible path. We then investigated the TSCP problem under uncertain link delay and bandwidth. We considered two cases First, when link delays are imprecisely known but the available bandwidth is precisely known, Second, when both link delays as well as the available bandwidth is imprecisely known. We modeled these problems algorithmically as that of finding the most probable path whose delay is both upper and lower bounded and that also satisfies the bandwidth constraint. For the first case, we modeled the problem as that of finding the most probable path that satisfies the two bounds. We proposed the BF Inaccurate algorithm for this case and verified its performance by comparing it with the standard trigger-based approach. Simulations indicate that BF Inaccurate achieves significant performance improvements over the trigger-based approach. For the second case, we mod-

[1] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin. Network flows: Theory, Algorithm, and Applications. Prentice Hall Inc., 1993. [2] S. S. Ahuja, T. Korkmaz, and M. Krunz. Minimizing the Differential Delay for Virtually Concatenated Ethernet Over SONET Systems. IEEE 13th International Conference on Computer Communications and Networks, ICCCN, 5:205–210, Oct 2004. [3] E. I. Chong, S. R. S. R. Maddila, and S. T. Morley. On finding single-source single-destination shortest paths. The Seventh International Conference on Computing and Information (ICCI ’95), pages 40–47, July 1995. [4] G. Eppstein. Finding the k shortest paths. Proceedings of the 35th Annual Symposium on Foundations of Computer Science, 1:154–165, Nov 1994. [5] I.-T. S. G.7042. Link capacity adjustment scheme for virtually concatenated signals. 2001. [6] I.-T. S. G.707. Network node interface for the synchronous digital hierarchy, 2000. [7] M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman, 2000. [8] T. Korkmaz and M. Krunz. Bandwidth-delay constrained path selection under inaccurate state information. IEEE/ACM Transactions on Networking, 11(3):384–398, June 2003. [9] T. Korkmaz and M. Krunz. Routing multimedia traffic with Q O S guarantees. IEEE Transactions on Multimedia, 5:429–443, Sep 2003. [10] G. Liu and K. G. Ramakrishnan. A*prune: An algorithm for finding k shortest paths subject to multiple constraints. Proceedings of the IEEE INFOCOM Conference, pages 743–749, 2001. [11] D. H. Lorenz and A. Orda. QoS routing in networks with uncertain parameters. IEEE/ACM Transactions on Networking, 6(6):768 –778, Dec 1998. [12] D. E. McDysan. QoS & traffic management in IP & ATM networks. McGraw-Hill, 2000. [13] A. Papoulis and S. U. Pillai. Probability, Random Variables and Stochastic Processes. McGraw-Hill Higher Education, 2002. [14] V. Ramamurti, J. Siwko, G. Young, and M. Pepe. Initial implementations of point-to-point Ethernet over SONET/SDH transport. IEEE Communications Magazine, 42:64–70, 2004. [15] A. Shaikh, J. Rexford, and K. G. Shin. Evaluating the impact of stale link state on quality-of-service routing. IEEE/ACM Transactions on Networking, 9(2):162–176, April 2001. [16] A. Srivastava, S. Acharya, M. Alicherry, B. Gupta, and P. Risbood. Differential delay aware routing for ethernet over SONET/SDH. Proceedings of the IEEE INFOCOM Conference, March 2005, Miami. [17] A. T1.105-2001. Synchronous optical network (SONET): Basic description including multiplexing structure, rates and formats, 2001. [18] B. M. Waxman. Routing of multipoint connections. IEEE Journal on Selected Areas in Communications, 69:1617–1622, Dec 1988.