3.1 Existing approaches for node protection using p-cycles
In this section, we present some existing well-known concepts for node protection using p-cycles. NEPC [5] uses p-cycles for node protection. Figure 5 illustrates an example of node protection using this concept. The p-cycle must traverse all neighboring nodes of the failed node to protect it. The drawback of this concept is that in some cases finding such a p-cycle is not possible. Moreover, some p-cycles that do not meet this constraint could protect the failed node while reserving less spare capacity. The constraint imposed by this concept is too strict and prevents the protection algorithm from achieving good resource utilization.
Some systems that ensure link and node failure recovery in a multicast session simplify the node protection to reduce the computation time. For example, in the ESHN algorithm, the p-cycle has to link: (1) all one-level downstream nodes of the failed node and (2) one of the upstream nodes in the light tree. Figure 6 illustrates a simple example for protecting a node using the ESHN algorithm. In this example, the failed node (or protected node) is represented by a grey circle, the source node by a green circle, the destination nodes by red circles and the multicast tree by a blue line. The p-cycle links the two one-level downstream nodes of the failed node (nodes belonging to the tree) and the source node (the upstream node of the failed node). Thus, the p-cycle satisfies the constraints and can protect the failed node. On node failure, the source node detects the failure and reroutes the multicast traffic through the protection segment (dashed green line). Although this approach relaxes the constraint imposed by NEPC, the protection capacity provided by the p-cycles is still not used efficiently as some p-cycles could protect a node without meeting the first or second constraint of this approach.
3.2 The proposed concept for node protection using p-cycles
In this section, we present our novel concept for protecting nodes in multicast traffic. Before presenting our concept, we will introduce some notation. Let T be a multicast light tree to be protected, s be the source node in T, N
f
be an intermediate node in T, and D={d1,d2,..,d
i
} be the set of destinations in T that are affected when a failure occurs on the node N
f
.
Theorem
1
A p-cycle C
j
in the network can protect the node N
f
if and only if there exists a protection segment [ N
a
,N
e
]∈C
j
such that:
-
1.
The node N
a
∈T, the node N
e
∈T and N
f
∉ [ s,N
a
] where [ s,N
a
] is the segment in T linking the source s to the node N
a
.
-
2.
∀d
k
∈D, ∃ a node N
k
∈ [ N
a
,N
e
] and N
k
∈]N
f
,d
k
], where ]N
f
,d
k
] is the segment in T linking N
f
to d
k
.
-
3.
N
f
∉ [ N
a
,N
e
].
Proof Once a failure occurs on the node N
f
, the multicast traffic is rerouted through the p-cycle C
j
to ensure the survivability of the multicast session. The p-cycle must provide a protection segment to deliver the multicast content to all destinations that are affected by the failure of N
f
. This segment is denoted by [ N
a
,N
e
].
First, we justify why constraint (1) is required. The extremities N
a
and N
e
of this segment must be in T. In fact, the node N
a
is responsible for injecting the multicast traffic into the protection segment [ N
a
,N
e
] when N
f
fails. In addition, N
a
must not be affected by the failure of N
f
, i.e., N
a
must continue to receive the multicast traffic even if a failure occurs on node N
f
(N
f
∉ [ s,N
a
]). The node N
a
must split the incoming light signal into two outgoing signals. The first is injected into the protection segment and the second is forwarded to the downstream node of N
a
in the light tree T. The node N
e
is the last intersection node between T and C
j
.
Second, we prove the necessity of constraint (2). To ensure failure recovery, we must make sure that all destinations affected by the failure of N
f
continue to receive the multicast traffic through the protection segment [N
a
,N
e
]. Two scenarios are possible for delivering the multicast traffic to an affected destination d
k
. In the first, the segment [ N
a
,N
e
] carries the multicast traffic directly to d
k
, i.e., the protection segment traverses the node d
k
. In the second scenario, the segment [ N
a
,N
e
] carries the traffic to the destination through an intermediate node N
k
. The node N
k
must be an upstream node of d
k
and a downstream node of N
f
in the light tree. This constraint ensures that the failed node N
f
does not belong to the segment [ N
k
,d
k
] of the light tree. The node N
k
splits the incoming signal into two signals. The first is sent to the next node in the protection segment to ensure that the remaining affected destinations will receive the multicast content. The second is forwarded to the downstream node of N
k
in the light tree to reach d
k
.
Finally, we prove that constraint (3) is necessary. We must make sure that the protection segment is not affected by the failure of N
f
. Therefore, the protection segment [N
a
,N
e
] should not traverse the node N
f
.
3.3 Example
In Figure 7, we provide an example of a p-cycle that can protect the node N
f
based on our concept. The set of destinations affected by the failure of N
f
is D={d1,d2,N
e
}. This p-cycle has two original characteristics that other node protection concepts [5–7] do not have. First, it can traverse the protected node. Second, it does not have to traverse all affected destinations or neighboring nodes of the protected node. The p-cycle provides a protection segment represented with a dashed green line in the figure. The node N
a
activates the p-cycle by injecting the multicast traffic into the protection segment [ N
a
,N
e
]. This segment carries the traffic to d2 through the intermediate node N2, and to d1 and N
e
directly as it traverses them.