JOURNAL OF LIGHTWAVE TECHNOLOGY, VOL. 32, NO. 3, FEBRUARY 1, 2014
467
Heuristic Computation Method for All-Optical Monitoring Trails Terminated at Specified Nodes Nagao Ogino and Hidetoshi Yokota, Member, IEEE
Abstract—Detecting degraded optical signal quality solely at the terminal nodes of monitoring trails is a promising approach for reducing the fault management cost in all-optical mesh networks. However, this approach requires that monitoring trails are routed so that all failures can be localized using route information for the monitoring trails where degraded signal quality is detected. Thus, this paper proposes a novel heuristic method to compute the least number of monitoring trails required to localize all link failures in an arbitrary failure scenario. In particular, the proposed method can compute the monitoring trails terminating only at specified nodes to which monitors can be attached. This paper verifies the effectiveness of the proposed method by comparison with the optimum method based on an integer programming model and an existing heuristic method. Using the proposed method, an accurate estimate of the least number of monitoring trails and their routes can be computed quickly, even for practical large-scale networks. Index Terms—All-optical mesh network, failure localization, heuristic optimization method, monitoring trail computation, multiple-link failures, specified terminal nodes.
I. INTRODUCTION LL-OPTICAL networks can avoid electronic bottlenecks and increase data transmission rates. They can also reduce the network costs of optoelectronic regenerators and the operational costs of power consumption [1], [2]. Although fast fault localization is indispensable for reliable all-optical network operation, fault detection and localization are more complex because detecting fault-caused degradation of signal quality is difficult in the optical layer [3]. Clearly, all link failures can be localized by supervising each link. However, this approach increases the required number of monitors to the total number of links in the managed all-optical network. Furthermore, the attachment of monitors to all the nodes for supervising all the links is fundamentally difficult due to various operational constraints [4]. In order to solve the above problems, an investigation was carried out to localize link failures by detecting degraded signal quality solely at the terminal nodes of monitoring trails (m-trails) established through the managed all-optical networks [5], [6]. The required number of monitors, i.e., the required number of m-trails, may be reduced by supervising only the key m-trails, instead of having one monitor for each
A
Manuscript received August 9, 2013; revised October 27, 2013 and December 2, 2013; accepted December 2, 2013. Date of publication December 4, 2013; date of current version December 25, 2013. The authors are with the KDDI R&D Laboratories, Inc., Saitama 356-8502, Japan (e-mail:
[email protected];
[email protected]). Digital Object Identifier 10.1109/JLT.2013.2294015
link. All link failures to be considered may be localized by only the m-trails terminated at the nodes to which monitors can be attached. All-optical m-trails must be routed so that all considered link failures can be localized from the route information on the mtrails where degradation of optical signal quality is detected. Furthermore, they must be terminated at the particular nodes to which monitors can be connected. The optimum route computation for the m-trails that satisfy the above conditions is a difficult problem [7]. Therefore, most of the existing studies only considered m-trails for localizing all single-link failures [8]–[13]. However, the consideration of localizing multiple-link failures is needed for the practical network operation [14], [15]. Although the problem to localize multiple-link failures can be formulated using an integer programming model, solving the integer programming model is time consuming and this approach cannot be applied to practical scale networks [16]. Recently, two heuristic approaches have been proposed to localize shared risk link group (SRLG) failures including multiple-link failures. However, there is a danger in the first approach that the required number of m-trails increases significantly when many SRLG failures must be localized [17]. The second approach cannot compute the mtrails terminated at specified terminal nodes to which monitors can be attached [18]–[21]. Thus, this paper proposes a novel heuristic method for computing the appropriate m-trails to localize all link failures in an arbitrary failure scenario. In particular, the proposed method can compute the least number of m-trails terminating only at specified terminal nodes to which monitors can be attached. The proposed method first reduces the number of m-trails composed of a sequence of adjacent links using an initial code swapping (ICS) algorithm. Next, the proposed method efficiently extends the routes for all the m-trails not terminating at the specified terminal nodes to which monitors can be attached. Since the proposed method starts from the set of combinations of m-trails to localize all considered link failures, an accurate estimate of the least number of m-trails can be obtained quickly, even when many multiple-link failures must be localized in all-optical mesh networks of a practical scale. The rest of this paper is organized as follows. Section II explains the considered fault management architecture and related work on m-trail computation as the background of this paper. Section III formulates the problem considered in this paper using an integer programming model. Section IV explains in detail the proposed heuristic method to compute the m-trails terminated at specified nodes. The effectiveness of the proposed method is verified using a computer simulation in Section V. Finally, Section VI concludes this paper.
0733-8724 © 2013 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications standards/publications/rights/index.html for more information.
468
JOURNAL OF LIGHTWAVE TECHNOLOGY, VOL. 32, NO. 3, FEBRUARY 1, 2014
Fig. 1.
An example of fault management architecture.
II. FAULT MANAGEMENT SCHEME AND RELATED WORKS A. Fault Management Architecture Fig. 1 shows an example of the fault management architecture considered in this paper. The managed all-optical mesh network is comprised of bidirectional optical links. Monitors are connected to several terminal nodes to which they can be attached. Each required monitoring trail (m-trail) is established between a pair of monitors. Each m-trail is bidirectional and separated into two unidirectional monitoring trails (um-trails) traversing an identical route in the opposite direction. The optical signal quality in each m-trail is supervised by a pair of monitors that terminate the m-trail. Thus, the number of m-trails determines the required number of monitors, and is reflected in the monitor cost. Each m-trail traverses an identical link only once, though it may pass through a particular transit node multiple times. Furthermore, each m-trail may terminate at an identical terminal node. The centralized fault management system can compute the optimum routes of m-trails and requests the monitors to set up the m-trails. The monitors notify the fault management system as to which m-trails show degradation of optical signal quality. The fault management system localizes link failures from the route information for the m-trails where signal quality degradation is detected. This means that the m-trails must be routed so that all considered link failures can be localized from their route information. According to Lemma 1 in Appendix A, at least two m-trails must traverse each link to distinguish all pairs of a single-link failure and a dual-link failure from each other. Thus, the bandwidth cost for the m-trails increases compared with supervising each link individually while the monitor cost can be reduced thanks to the m-trails. B. Related Work on Monitoring-Trail Computation The monitoring structure required to localize all single-link failures has been a key concern [7]. The concept of a monitoring cycle (m-cycle), whose source and destination node are identical, has been proposed. The necessary and sufficient conditions for localizing all single-link failures by simple m-cycles from one terminal node have been derived, and the optimum placement for the minimum number of terminal nodes has also been
clarified [8]. An efficient heuristic method to compute simple m-cycles has also been proposed [9]. The optimum computation methods based on an integer linear programming (ILP) model have been proposed for non-simple m-cycles and for monitoring paths involving simple m-cycles [10], [11]. The concept for a more general structure called a monitoring trail (m-trail) has been proposed. An m-trail may have different source and destination nodes and may pass through the same node multiple times. The optimum computation for m-trails was formulated using an ILP model [12]. Since solving a large-scale ILP model is time consuming, a heuristic method to compute sub-optimum m-trails has also been proposed [13]. As described above, most of the existing studies have only considered all single-link failures. Nevertheless, localizing multiple-link failures needs to be considered for practical network operation. Although a performance anomaly localization method in the IP networks and the optimum sequential probing method have been proposed to localize multiple-link failures, these methods cannot be applied to the fault management architecture shown in Fig. 1 [4], [5]. Recently, different fault management architecture without control plane signaling for notification of degraded m-trails has been proposed [22]. In this architecture, each node can localize all considered linkfailures only from on-off status of m-trails passing through the node. This architecture was also applied to fast signaling-free failure restoration for interrupted working lightpaths in the optical layer [23], [24]. However, this architecture assumes that monitors can be attached to every node comprising the managed network. An ILP-based optimum routes selection method has been proposed to deal with a dual-link failure scenario in the fault management architecture shown in Fig. 1 [16]. However, this method cannot be applied to practical scale networks. Two heuristic approaches have also been proposed to localize shared risk link group (SRLG) failures including multiple-link failures. The first approach adds a new shortest m-trail if a new m-trail is required to distinguish between a pair of SRLG failures selected sequentially [17]. The second approach starts from a set of combinations of m-trails to localize SRLG failures [19]–[21]. For example, a method based on the second approach first generates ¯ d-separable combinatorial group testing (CGT) codes to localize SRLG failures with up to d arbitrary links and ensures the adjacency of links traversed by each m-trail using a greedy code swapping algorithm [19]. Recently, heuristic methods based on the second approach have also been proposed for the m-trails to localize adjacent link failures and sparse SRLG failures [20], [21]. Generally, the following three primary constraints must be satisfied in the optimum computation problem for m-trails: CR1: The m-trails must be able to localize all link failures involved in the considered failure scenario; CR2: The m-trails must be composed of a sequence of adjacent links different from each other; CR3: The m-trails must terminate at specified terminal nodes to which monitors can be attached. Although the first heuristic approach can satisfy all the above constraints, there is the danger that the required number of
OGINO AND YOKOTA: HEURISTIC COMPUTATION METHOD FOR ALL-OPTICAL MONITORING TRAILS TERMINATED AT SPECIFIED NODES
469
m-trails may increase significantly when many SRLG failures must be localized [17]. In contrast, the second heuristic approach cannot satisfy constraint CR3 although the required number of m-trails can be reduced [19]–[21]. Although the proposed heuristic method is based on a set of combinations of m-trails to localize all considered link failures, it can satisfy all the above three constraints. Furthermore, the proposed method is expected to reduce the required number of m-trails since it starts from the set of combinations of m-trails to localize link failures as in the second approach. III. PROBLEM STATEMENT Although the proposed heuristic method can deal with arbitrary multiple-link failure scenarios, only two types of dual-link failure scenarios are considered in this section. The first type is all independent dual-link failure scenario, and the second one is all simultaneous dual-link failure scenario [14], [15]. An independent dual-link failure means that the second link failure occurs after the first link failure is localized. In contrast, a simultaneous dual-link failure indicates that the second link failure occurs prior to localization of the first link failure. The above dual-link failures are important in the practical network operation. For example, an independent dual-link failure corresponds to occurrence of a single-link failure during the planned outage of a link. In the all independent dual-link failure scenario, all pairs of single-link failures must be discriminated to localize outage of an arbitrary link. All pairs of a single-link failure and a dual-link failure including a common failed link must also be discriminated to detect occurrence of an arbitrary single-link failure during the outage of an arbitrary link. Furthermore, all pairs of two dual-link failures including a common failed link must also be discriminated to localize all single-link failures during the outage of an arbitrary link. In contrast, all pairs of link failures with up to two arbitrary links must be distinguished from each other in the all simultaneous dual-link failure scenario. The optimum m-trail computation problem to localize multiple-link failures can be formulated using an integer programming model. When an integer programming model is applied for computing the m-trails terminated at specified terminal nodes, the managed network under consideration needs to be extended as shown in Fig. 2. The managed network is expressed as a directed graph and each bidirectional link is separated into two unidirectional links. In the same way, each m-trail is separated into two um-trails traversing an identical route in the opposite direction. First, a pair of virtual source and destination nodes is added to the managed network as shown in Fig. 2(a). The virtual source node is connected to each of the specified terminal nodes using a virtual link, and each of the specified terminal nodes is connected to the virtual destination node using a virtual link. This means that each of the specified terminal nodes accommodates two virtual links as one of the incoming links and one of the outgoing links. Furthermore, each node in the managed network is separated into the same number of incoming and outgoing nodes as shown in Fig. 2(b). An incoming node corresponds to an incoming uni-
Fig. 2. Extended network for the integer programming model. (a) Consideration of specified terminal nodes. (b) Transformation of each node.
directional link and only accommodates the unidirectional incoming link. An outgoing node corresponds to a unidirectional outgoing link and only accommodates the unidirectional outgoing link. Each incoming node is connected to outgoing nodes using internal links. As an exception, a pair of incoming and outgoing nodes accommodating a pair of incoming and outgoing links divided from one bidirectional link is not connected to each other. The symbols used in the integer programming model are defined as follows: l Bidirectional link; ul Unidirectional link; n Node; vs Virtual source node; vd Virtual destination node; ul(s) Starting node of unidirectional link ul; ul(t) Terminating node of unidirectional link ul; k Identification of m-trail and um-trail: Here, um-trail k indicates one of two um-trails divided from m-trail k. The constants and sets are defined as follows: M Assumed maximum number of m-trails; L Set of bidirectional links comprising the managed network; UL Set of unidirectional links including virtual links and internal links; N Set of nodes; nin Set of incoming links in node n; nout Set of outgoing links in node n;
470
JOURNAL OF LIGHTWAVE TECHNOLOGY, VOL. 32, NO. 3, FEBRUARY 1, 2014
For example, the value of M is set to the total number of links in the managed network since m-trails aim to reduce the required number of monitors less than the total number of links. The variables are defined as follows: Xl (k) Binary variable indicating whether m-trail k (1 ∼ M ) traverses bidirectional link l (=1) or not (= 0); XUu l (k) Binary variable indicating whether um-trail k (1 ∼ M ) traverses unidirectional link ul (= 1) or not (= 0); Yl 1 ,l 2 (k) Binary variable indicating whether m-trail k (1 ∼ M ) traverses at least one of two bidirectional links l1 and l2 (= 1), or neither bidirectional links l1 nor l2 (= 0); Zn (k) Integer variable indicating the voltage in node n for um-trail k (1 ∼ M ); Here, Zv s (k) = 0. The constraints in the ILP model are given as follows. First, the following constraints hold as the route preservation rule: XU u l (k) ≤ 1; XU u l (k) ≤ 1; u l∈v sout
u l∈v din
XU u l (k) =
u l∈n in
XU u l (k); ∀n = vs, vd ∈ N
u l∈n out
∀k = 1 ∼ M. (1) The following constraint is necessary to prevent formation of monitoring cycles not terminating at the virtual source and destination nodes: Zu l(s) (k) + 1 ≤ Zu l(t) (k) + A(1 − XU u l (k)); (2) ∀ul ∈ U L, ∀k = 1 ∼ M. Here, the constant A has a sufficiently large value. Thus, the voltage in the terminating node of unidirectional link ul surely becomes more than that in the starting node of unidirectional link ul only if um-trail k traverses unidirectional link ul. The following constraint is necessary since each um-trail traverses only either of two unidirectional links ul1 and ul2 comprising one bidirectional link l: XU ul 1 (k) + XU ul 2 (k) = X l (k); (3) ∀l ∈ L, ∀k = 1 ∼ M. The condition that m-trail k traverses at least one of two bidirectional links l1 and l2 is indicated as follows: (Xl 1 (k) + Xl 2 (k)) /2 ≤ Yl 1 , l2 (k) ≤ Xl 1 (k) + Xl 2 (k); ∀l 1 ∈ L, ∀l 2 = l1 ∈ L,
∀k = 1 ∼ M.
(4)
When an m-trail passes through bi-directional link l1 and avoids bidirectional link l2 or vice versa, two single-link failures (l1 ) and (l2 ) can be distinguished from each other. Thus, the following constraint is necessary to localize all single-link failures: M k =1
Xl 1 (k) (1 − Xl 2 (k)) +
M
Thus, the following constraint is necessary to localize all pairs of single-link and dual-link failures including a common failed bidirectional link l2 : M
k =1
∀l 1 ∈ L, ∀l 2 = l1 ∈ L.
(5 ) When an m-trail avoids bidirectional link l1 and passes through bidirectional link l2 , a single-link failure (l1 ) and a dual-link failure (l1 , l2 ) can be distinguished from each other.
(5)
∀l 1 ∈ L, ∀l2 = l1 ∈ L. The left-hand side in the above constraint (5) corresponds to the second term on the left-hand side in the constraint (5 ). This means that the constraint (5 ) is satisfied automatically if the constraint (5) is satisfied. Thus, the constraint (5 ) can be substituted by the constraint (5). The constraint (5) indicates that at least one m-trail avoids an arbitrary bidirectional link l1 and passes through another arbitrary bidirectional link l2 . This means that a single-link failure (l1 ) and a dual-link failure (l2 , l3 ) can be distinguished for every combination of three bidirectional links l1 , l2 , and l3 . Thus, the constraint for localizing all pairs of a single-link failure and a dual-link failure including no common failed bidirectional link is also given by the constraint (5). When an m-trail avoids both bidirectional links l1 and l3 and passes through bidirectional link l2 or an m-trail avoids both bidirectional links l1 and l2 and passes through bidirectional link l3 , a pair of independent dual-link failures (l1 , l2 ) and (l1 , l3 ) can be distinguished from each other. Thus, the following constraint is necessary to localize all pairs of independent dual-link failures: M
Yl 1 ,l 2 (k) 1 − Yl 1 ,l 3 (k)
k =1 M + 1 − Yl 1 ,l 2 (k) Yl 1 ,l 3 (k) > 0;
(6)
k =1
∀l 1 ∈ L, ∀l 2 = l1 ∈ L, ∀l 3 = l1 ,l 2 ∈ L. When an m-trail passes through at least one of bidirectional links l1 and l2 and avoids both bidirectional links l3 and l4 or an m-trail avoids both bidirectional links l1 and l2 and passes through at least one of bidirectional links l3 and l4 , a pair of simultaneous dual-link failures (l1 , l2 ) and (l3 , l4 ) can be distinguished from each other. Thus, the following constraint is necessary to localize all pairs of simultaneous dual-link failures: M
Yl 1 ,l 2 (k) 1 − Yl 3 ,l 4 (k)
k=1
+
(1 − Xl 1 (k)) Xl 2 (k) > 0;
(1 − Xl 1 (k)) Xl2 (k) > 0;
k =1
M
1 − Yl 1 ,l 2 (k) Yl 3 ,l 4 (k) > 0;
k=1
∀l 1 ∈ L, ∀l 2 = l1 ∈ L, ∀l 3 = l1 ,l2 ∈ L, ∀l 4 = l1 ,l 2 ,l3 ∈ L.
(7) In all independent dual-link failure scenario, the above constraints (1)–(6) must be satisfied. In contrast, all the above constraints (1)–(7) must be satisfied in all simultaneous dual-link failure scenario.
OGINO AND YOKOTA: HEURISTIC COMPUTATION METHOD FOR ALL-OPTICAL MONITORING TRAILS TERMINATED AT SPECIFIED NODES
471
In both dual-link failure scenarios, the objective function to be minimized is the required number of m-trails: Obj =
M
XU u l (k).
(8)
k =1 u l∈v sout
The minimized value of the objective function indicates the least number of um-trails, i.e., m-trails, and the optimum route for the kth m-trail is given by the final values of Xl (k). The terminal nodes of each m-trail can be also known from the virtual links that the corresponding um-trail traverses. In the above integer programming model, the number of binary variables Yl 1 ,l 2 (k) becomes O(|L|2 M ), and the numbers of constraints (6) and (7) become O(|L|3 ) and O(|L|4 ), respectively. The scale of the integer programming model becomes vast even when the scale of the managed network under consideration increases slightly. Thus, a heuristic method for computing sub-optimum m-trails is a prerequisite for practical scale networks. IV. MONITORING TRAIL COMPUTATION METHOD This paper proposes a heuristic computation method for the m-trails to localize all link failures when an arbitrary link failure scenario is considered. Each link comprising the managed network is bidirectional and the m-trails are also bidirectional. First, an initial code matrix that represents a set of possible combinations of m-trails traversing the links is given to the proposed method. The initial code matrix only satisfies constraint CR1 shown in Section II-B. The proposed method derives a final code matrix that indicates the routes for a reduced number of m-trails using the proposed ICS algorithm. This process can reduce the required number of m-trails, while satisfying constraints CR1 and CR2 shown in Section II-B. Next, the proposed method extends the routes for all the m-trails to the specified terminal nodes and establishes additional m-trails between the specified terminal nodes as necessary. Constraint CR3 shown in Section II-B can be satisfied using this process while the other two constraints remain to be satisfied. A. Generation of Initial Code Matrix An initial code matrix represents a set of possible combinations of m-trails to localize the considered link failures. Each row and column of the initial code matrix corresponds to each link and m-trail, respectively. Each element of the initial code matrix is set to “1” when the corresponding m-trail traverses the corresponding link, and otherwise it is set to “0.” Each row of the initial code matrix represents the initial code temporarily assigned to the corresponding link. The correspondence between each link and an initial code assigned to the link can be determined arbitrarily. First, an appropriate initial code matrix for the considered link failure scenario is given to the proposed method. Various methods to generate the initial code matrix have been proposed in the realm of coding theory [18]. Aiming to explain the proposed method, this paper considers two types of all duallink failure scenarios, i.e., the all independent dual-link failure
Fig. 3. Explanation of necessary and sufficient condition in Theorem 1. (a) Nonsatisfaction of the condition. (b) Satisfaction of the condition.
scenario and the all simultaneous dual-link failure scenario. Thus, an initial code matrix for localizing all dual-link failures including all single-link failures is given to the proposed method. A set of m-trails and the number of m-trails traversing a link l are denoted by the symbols Pl and |Pl |, respectively. The set Pl is not empty and |Pl | is more than zero. Then, the following theorem holds. Theorem 1: When |Pl 1 | = p (≥ 2) and |Pl 2 | = |Pl 3 | = 2, the necessary and sufficient condition for localizing two independent dual-link failures (l1 , l2 ) and (l1 , l3 ) is that Condition 1 and the relationship |P l 1 ∪ P l 2 ∪ P l 3 | ≥ p + 2 hold for every combination of three different links l1 , l2 , and l3 . The proof of Theorem 1 is shown in Appendix A. Condition 1 means that no set of m-trails traversing a link is involved in and equal to any other set of m-trails traversing another link. Here, let us define an initial code graph aiming to visualize the initial code matrix. In the initial code graph, each m-trail is represented by a vertex, and each link is indicated by a line connecting multiple vertices that correspond to m-trails traversing the link. When an edge connects two vertices in the initial code graph, the edge indicates a link traversed by two m-trails corresponding to the two vertices. Fig. 3 illustrates the above necessary and sufficient condition given by Theorem 1 using the initial code graph. In Fig. 3, the link traversed by p m-trails is indicated by a broken line connecting p vertices. Fig. 3(a) shows the case where only p + 1 m-trails traverse three links l1 , l2 , and l3 , and the necessary and sufficient condition indicated by Theorem 1 is not satisfied. In Fig. 3(a), two dual-link failures (l1 , l2 ) and (l1 , l3 ) cannot be discriminated. In contrast, Fig. 3(b) shows the case where p + 2 m-trails traverse the three links and the necessary and sufficient condition is satisfied. In Fig. 3(b), two dual-link failures (l1 , l2 ) and (l1,l 3 ) can be localized. Furthermore, the following theorem holds. Theorem 2: When |Pl 1 | = |Pl 2 | = |Pl 3 | = |Pl 4 | = 2, the necessary and sufficient condition for localizing two simultaneous dual-link failures (l1 , l2 ) and (l3 , l4 ) is that the relationship |Pl 1 ∪ Pl 2 ∪ Pl 3 ∪ Pl 4 | ≥ 5 holds for every combination of four different links l1 , l2 , l3 , and l4 . The proof of Theorem 2 is shown in Appendix B. Fig. 4 shows the above necessary and sufficient condition visualized by the initial code graph. Fig. 4(a) shows the case where only four m-trails traverse four links l1 , l2 , l3 , and l4 , and the necessary and sufficient condition indicated by Theorem 2 is not satisfied. In Fig. 4(a), two dual-link failures (l1 , l2 ) and (l3 , l4 ) cannot be discriminated. In contrast, Fig. 4(b) and (c)
472
JOURNAL OF LIGHTWAVE TECHNOLOGY, VOL. 32, NO. 3, FEBRUARY 1, 2014
Fig. 4. Explanation of necessary and sufficient condition in Theorem 2. (a) Nonsatisfaction of the condition. (b) and (c) Satisfaction of the condition.
Fig. 6. Procedure to generate an initial code matrix for the all simultaneous dual-link failure scenario.
ICL bits in the above procedure is given as follows: |L| = (ICL2 − 1)/4 ICL: odd |L| = ICL2 /4 Fig. 5. Procedure to generate an initial code matrix for the all independent dual-link failure scenario.
shows the cases where five m-trails traverse the four links and the necessary and sufficient condition is satisfied. In Fig. 4(b) and (c), two dual-link failures (l1 , l2 ) and (l3 , l4 ) can be localized. However, the necessary and sufficient condition indicated by Theorem 1 is not satisfied and two dual-link failures (l1 , l2 ) and (l1 , l3 ) cannot be discriminated in Fig. 4(b). In contrast, the necessary and sufficient condition indicated by Theorem 1 is also satisfied in Fig. 4(c). 1) All Independent Dual-Link Failure Scenario: For simplicity, all the links are traversed by only two m-trails in the given initial code matrix. This means that the initial code graph corresponding to the initial code matrix includes no cycle composed of less than four edges according to Theorem 1, where the value of p is set to 2. It is known that the complete bipartite graph Kr,r satisfies the above condition and has the minimum number of vertices when the number of edges is given. Thus, the initial code matrix represented by the complete bipartite graph with the same size of two parties is given to the proposed method. The procedure used to generate the initial code matrix is shown in detail in Fig. 5. The symbol |L| indicates the total number of links in the managed network. The symbol C is a sufficiently large value greater than the required length of the initial codes. In Fig. 5, one vertex is alternately added to each of two parties in the bipartite graph. An added vertex is connected to all the existing vertices for another party. When |L| initial codes are generated, surplus columns on the right side of the matrix, where all the elements are kept at “0,” are deleted. When length of initial codes is denoted by the symbol ICL (bits), the number of links |L| that require initial codes with a length of
ICL: even.
From the above expression, the possible number of links dealt with by initial codes with a length of ICL bits becomes O(ICL2 ). 2) All Simultaneous Dual-Link Failure Scenario: For simplicity, all the links are traversed by only two m-trails in the given initial code matrix. This means that the initial code graph corresponding to the initial code matrix includes no cycle composed of less than five edges according to Theorems 1 and 2. The procedure used to generate an initial code matrix is shown in detail in Fig. 6. The symbol |L| indicates the total number of links in the managed network. The symbol C is a sufficiently large value greater than the required length of the initial codes. In Fig. 6, each vertex in the initial code graph is added sequentially and connected to the previous vertex corresponding to the left neighboring column in the initial code matrix. When the added vertex corresponds to an odd column, the added vertex is furthermore connected to the existing vertices provided that no cycle composed of less than five edges is formed. Finally, surplus columns on the right side of the matrix, where all the elements are kept at “0,” are deleted. In the above procedure, the number of links |L| that require initial codes with a length of ICL bits is given as follows when the value of ICL is a multiple of six |L| = (ICL/2)(ICL/6 + 1). From the above expression, the possible number of links dealt with by initial codes with a length of ICL bits becomes O(ICL2 ). A set of initial codes for all simultaneous dual-link failures has also been studied as “Moore graphs of diameter 2” [18]. In this case, the possible number of links dealt with by initial codes with a length of ICL bits becomes O(ICL3 / 2 ). Thus, the procedure shown in Fig. 6 is slightly more efficient than that based on “Moore graphs of diameter 2.”
OGINO AND YOKOTA: HEURISTIC COMPUTATION METHOD FOR ALL-OPTICAL MONITORING TRAILS TERMINATED AT SPECIFIED NODES
Fig. 8.
Fig. 7. Examples of initial code matrices. (a) Managed network. (b) Initial code matrix for the all independent dual-link failure scenario. (c) Initial code matrix for the all simultaneous dual-link failure scenario.
Fig. 7 shows examples of initial code matrices given to the proposed method. Fig. 7(a) shows a managed network with 16 links. The specified terminal nodes are nodes 1 and 6, which are indicated by solid black circles. Fig. 7(b) shows an initial code matrix for localizing all independent dual-link failures in the managed network shown in Fig. 7(a). The initial code matrix in Fig. 7(b) is generated by the procedure shown in Fig. 5. The required length of initial codes is eight bits. Meanwhile, Fig. 7(c) shows an initial code matrix for localizing all simultaneous duallink failures in the managed network shown in Fig. 7(a). The initial code matrix in Fig. 7(c) is generated by the procedure shown in Fig. 6. The required length of initial codes is 11 bits. The correspondence between each link and an initial code is only temporary in both the initial code matrices shown in Fig. 7(b) and (c). B. Initial Code Swapping Algorithm Each column in the initial code matrix indicates links that the corresponding m-trail should traverse. However, those links may not comprise a sequence of adjacent links in the managed network. Generally, each column in the initial code matrix includes multiple m-trail segments, each of which is composed of a sequence of adjacent links. For example, the first column of the initial code matrix in Fig. 7(b) includes two m-trail segments composed of three links (1, 2), (2, 3), and (3, 6), and composed of a single link (7, 8), respectively. Furthermore, the latter mtrail segment does not terminate at the specified nodes 1 and 6. In total, the number of m-trail segments is 15, and only one
473
Procedure to derive the final code matrix.
m-trail segment terminates at the terminal nodes in the initial code matrix shown in Fig. 7(b). As another example, the third column of the initial code matrix in Fig. 7(c) includes two m-trail segments composed of two links (1, 7) and (1, 8), and composed of a single link (3, 4), respectively. Furthermore, these two mtrail segments do not terminate at the specified nodes 1 and 6. In totally, the number of m-trail segments is 17, and none of these m-trail segments terminate at the terminal nodes in the initial code matrix shown in Fig. 7(c). An initial code matrix only represents a set of possible combinations of m-trails to localize the considered link failures. This means that the correspondence between each link and an initial code assigned to the link can be determined arbitrarily in the initial code matrix. The initial code matrix continues to satisfy primary constraint CR1 even if two initial codes are selected randomly and swapped with each other. The proposed ICS algorithm reduces the total number of m-trail segments, and the number of m-trail segments not terminating at the specified nodes, by swapping two initial codes repeatedly. The random code swapping (RCS) algorithm has been proposed to compute m-trails for localizing all single-link failures [13]. In the RCS algorithm, pairs of bitwise initial codes different at only one digit are swapped in order to restrict the affect due to the swapping. However, the initial code matrix considered in this paper includes no pair of bitwise initial codes according to Lemma 1 in Appendix A. Thus, the ICS algorithm selects all pairs of initial codes as the candidates of swapping. The greedy code swapping (GCS) algorithm has also been proposed to compute m-trails for localizing SRLG failures [19]. The GCS algorithm selects an appropriate code for each link from a sufficient number of CGT codes generated separately. In contrast, the ICS algorithm premises the least number of initial codes with a short length. Fig. 8 shows the procedure to derive the final code matrix using the ICS algorithm. The ICS algorithm randomly selects two candidate initial codes for swapping and actually swaps the two initial codes if the total number of m-trail segments (P ) can be reduced by swapping, or the number of m-trail segments not terminating at the specified nodes (P ) can be reduced, while retaining a constant total number of m-trail segments. The ICS algorithm finishes when the ICS is not actually executed during
474
JOURNAL OF LIGHTWAVE TECHNOLOGY, VOL. 32, NO. 3, FEBRUARY 1, 2014
Fig. 10.
Fig. 9. Examples of final code matrices. (a) Final code matrix for the all independent dual-link failure scenario. (b) Final code matrix for the all simultaneous dual-link failure scenario.
a given number of continuous candidate initial code selections (Th). Each m-trail segment in the final code matrix corresponds to an m-trail satisfying primary constraints CR1 and CR2. As described in the following section, the total number of m-trails in the final code matrix (P ) gives the lower bound for the final number of required m-trails. Meanwhile, the sum of the total number of m-trails and the number of m-trails not terminating at the specified nodes (P + P ) gives the upper bound for the final number of required m-trails. This means that the ICS algorithm can reduce the lower and upper bounds of the final number of required m-trails. When all the links are traversed by two mtrails in the initial code matrix, the upper bound for the total number of m-trail segments is given by 2|L| where the symbol |L| denotes the total number of links in the managed network. Meanwhile, the lower bound for the total number of m-trail segments is ICL where the symbol ICL denotes the length of initial codes. This means that the required number of successful initial code swaps is limited to less than {(2|L| + 1)2 − ICL2 }/2. The required length of initial codes is O(|L|1 / 2 ) in the two types of all dual-link failure scenarios considered in this paper. Thus, the required number of successful initial code swaps is limited to O(|L|2 ). Fig. 9 shows the final code matrices derived from the initial code matrices shown in Fig. 7. Fig. 9(a) shows the final code
An example of extension and addition of m-trails
matrix derived from the initial code matrix shown in Fig. 7(b). Four initial codes pre-assigned to links (1, 2), (2, 3), (3, 6), and (7, 8) are re-allocated respectively to links (4, 7), (1, 2), (3, 4), and (2, 3) through the initial code swaps. Consequently, the first column only includes an m-trail segment composed of four links (1, 2), (2, 3), (3, 4), and (4, 7). However, one end of this m-trail segment does not yet terminate at the specified nodes 1 and 6. As shown in Fig. 9(a), the total number of m-trail segments decreases from 15 to 8 and the number of m-trail segments not terminating at the specified nodes is reduced from 14 to 3. Fig. 9(b) shows the final code matrix derived from the initial code matrix shown in Fig. 7(c). Two initial codes pre-assigned to links (1, 8) and (3, 4) are re-allocated respectively to links (2, 7) and (2, 6) through the initial code swaps. Consequently, the third column only includes an m-trail segment composed of three links (1, 7), (2, 6), and (2, 7). Furthermore, this m-trail segment terminates at the specified nodes 1 and 6. As shown in Fig. 9(b), the total number of m-trail segments decreases from 17 to 11 and the number of m-trail segments not terminating at the specified nodes is reduced from 17 to 8. C. Extension and Addition of Monitoring Trails To satisfy remaining primary constraint CR3, the proposed method extends each m-trail not terminating at the specified terminal nodes and establishes an additional m-trail between the specified terminal nodes if necessary. Fig. 10 shows an example of the extension of an m-trail and the addition of an m-trail. An m-trail pe not terminating at the terminal node is extended from transit node n0 to one of the specified terminal nodes te along the shortest route, e.g., the minimum hop route. When primary constraint CR1 is violated by the extension of m-trail pe , the proposed method establishes an additional m-trail pa between the specified terminal nodes. To avoid the violation of primary constraint CR1, the additional m-trail pa traverses along the original route La of m-trail pe and avoids the extended route Le of m-trail pe . The proposed method also localizes links lx (∈ Lx =L − Le − La ) that the additional m-trail pa must avoid to satisfy primary constraint CR1. Here, the symbol L indicates the set of all the links. The additional m-trail pa traverses the original route La of m-trail pe from terminal node t0 and is extended from transit node n0 toward one of the terminal nodes ta along the shortest route, e.g., the minimum hop route, avoiding the extended route Le of m-trail pe and the links lx that the additional m-trail pa must avoid.
OGINO AND YOKOTA: HEURISTIC COMPUTATION METHOD FOR ALL-OPTICAL MONITORING TRAILS TERMINATED AT SPECIFIED NODES
475
gives the upper bound for the final number of required m-trails. Meanwhile, the number of m-trails in the final code matrix gives the lower bound for the final number of required m-trails. When m-trail pe is extended to one of the specified terminal nodes, two link failures F1 and F2 are assumed to become indistinguishable from each other. When the symbols P1 and P2 indicate sets of m-trails traversing links involved in failures F1 and F2 prior to the extension of m-trail pe , the following expression holds from the assumption: P1 = P2 → P1 ∪ {pe } = P2 .
Fig. 11.
Procedure for extension and addition of m-trails.
Fig. 11 shows the procedure for the extension and addition of m-trails. The proposed method sequentially deals with each m-trail not terminating at the specified terminal nodes according to [Step 1]through [Step 5]. If an m-trail in the final code matrix is not terminated at the terminal nodes, the m-trail is extended toward one of the terminal nodes along the shortest route, e.g. the minimum hop route, at [Step 1]. Both ends of an m-trail are extended when both of its two edge nodes are not the terminal nodes. Next, at [Step 2], it is determined whether constraint CR1 remains to be satisfied or not by examining the distinguishability of pairs of link failures involved in the considered failure scenario. The pairs of link failures to be examined can be limited on a basis of necessary conditions that the pairs of link failures indistinguishable from each other must satisfy. When constraint CR1 is not satisfied, an additional m-trail that traverses the original route of the extended m-trail and avoids the extended route of the extended m-trail is considered at [Step 3]. Next, links that the additional m-trail must avoid are localized by examining the distinguishability of pairs of link failures involved in the considered failure scenario at [Step 4]. The pairs of link failures to be examined can be restricted again on a basis of necessary conditions that the pairs of link failures indistinguishable from each other must satisfy. Finally, an additional m-trail is actually established between the specified terminal nodes at [Step 5]. If the additional m-trail cannot be established, the procedure returns to [Step 1] and the m-trail is extended toward another terminal node. In practice, necessity of executing [Step 1] through [Step 5] more than once is small because nodes with a small degree must be the terminal nodes. For example, nodes with a degree of k (