WO2011081742A1 - Efficient protection scheme for mpls multicast - Google Patents

Efficient protection scheme for mpls multicast Download PDF

Info

Publication number
WO2011081742A1
WO2011081742A1 PCT/US2010/057703 US2010057703W WO2011081742A1 WO 2011081742 A1 WO2011081742 A1 WO 2011081742A1 US 2010057703 W US2010057703 W US 2010057703W WO 2011081742 A1 WO2011081742 A1 WO 2011081742A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
nodes
network
links
multicast
Prior art date
Application number
PCT/US2010/057703
Other languages
French (fr)
Inventor
Yigal Bejerano
Pramod Koppol
Original Assignee
Alcatel-Lucent Usa Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alcatel-Lucent Usa Inc. filed Critical Alcatel-Lucent Usa Inc.
Priority to KR1020147018006A priority Critical patent/KR20140093746A/en
Priority to CN201080059954XA priority patent/CN102783096A/en
Priority to EP10795496A priority patent/EP2520051A1/en
Priority to KR1020127016898A priority patent/KR101442363B1/en
Priority to JP2012547082A priority patent/JP5662476B2/en
Publication of WO2011081742A1 publication Critical patent/WO2011081742A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • H04L45/484Routing tree calculation using multiple routing trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]

Definitions

  • the invention relates to Multi- Protocol Label Switching Multicast and is particularly concerned with efficient protection schemes for multicast networks.
  • Fault resilience for MPLS multicast is becoming increasingly important as revenue generating multicast based business services such as IPTV and virtual private LAN services (VPLS) are being offered over the emerging MPLS based network infrastructure.
  • Fault resilience has traditionally been achieved through protection and recovery mechanisms for link and/or node failures in a network.
  • Such mechanisms in SONET/SDH networks have gained a reputation to be the best in the industry. Realizing a comparable reputation for fault resilience in the emerging MPLS based network infrastructure continues to be an area of active interest.
  • a connection in an MPLS network corresponds to a label switched path (LSP) and the goal of protection is to ensure that each LSP being protected (referred to as a primary LSP) continues to offer uninterrupted service in the event of any link or node failures.
  • LSP label switched path
  • Such uninterrupted service is typically achieved through provisioning of one or more alternate LSPs such that, for each failure of the primary LSP, one of these alternate LSPs remains unaffected and can be activated if not already active.
  • MPLS fast reroute has evolved as the de facto standard protection mechanism for LSPs with a single source and single destination (also known as Point-to-Point or P2P).
  • FRR an alternate LSP, referred to as a detour, is established for each LSP segment that needs protection.
  • the node at the beginning of this segment is referred to as the point of local repair (PLR) and the node at the end of this segment is referred to as the merge point (MP).
  • PLR point of local repair
  • MP merge point
  • a detour is typically routed along the shortest path (link/node disjoint from the path along the primary LSP) from the PLR to the MP.
  • a PLR When a PLR detects a failure, it switches the traffic onto the detour protecting the failed segment and the MP simply merges the traffic from the segment and the detour.
  • the recovery time which is the time between the occurrence of a failure to the point when the associated detour is activated depends largely on the time it takes the PLR to detect a failure. If the segments to be protected are selected in such a way that the PLR for each segment can detect failures as fast as possible, then FRR can offer recovery times comparable to that in SONET/SDH networks. For example, if every link is protected, then link failure detection is entirely local to the PLR.
  • FRR is now being extended to support multicast LSPs with a single source and multiple destinations (also known as Point-to-Multi-Point or P2MP).
  • FRR for P2MP LSPs can be quite inefficient in terms of the bandwidth it consumes in the network and can involve even more signaling and management complexity due to the increased number of detours especially with dynamic changes in the set of destination nodes or in the event of topology changes.
  • FRR for P2P at any given point in time, only one of the primary LSP or its detours can be active on a link.
  • a detour and the primary LSP may be simultaneously active on a given link. This can cause two copies of the same packet to be sent over such a link.
  • the term packet duplication describes a situation where two or more copies of the same packet need to be sent on a link.
  • Use of P2MP detours can cap the maximum number of copies sent on a link to two, but this comes at a cost of substantially increased signaling complexity or at a cost of wasteful bandwidth consumption, depending on how it is implemented.
  • a method for providing protection for a MPLS multicast connection request for a root node and a set of destination nodes in a packet switched network having network nodes and communication links connecting the network nodes having the steps of constructing a pair of Redundant Multicast Trees! wherein the first Redundant Multicast Tree of the pair of Redundant Multicast Trees is rooted at the root node and connects to all destination nodes in the set of destination nodes! and wherein the second Redundant Multicast Tree of the pair of Redundant Multicast Trees is rooted at the root node and connects to all destination nodes in the set of destination nodes.
  • the method includes broadcasting multicast traffic from the root node to the set of destination nodes over the second Redundant Multicast Tree during normal operation.
  • the fault operation includes a failure of a communication link of the communication links, and according to other embodiments the fault operation includes a failure of a network node of the network nodes.
  • the method also includes updating the first and second partitions in the event of a change to the topology of the packet switched network.
  • the change to the topology of the packet switched network could include the deletion of a network node, or alternatively the addition of a network node or alternatively, the failure of a communication link of the packet switched network which results in a network node lacking an incoming link in one of the first and second partitions.
  • the method further includes as part of the partitioning step creating an ordered list of network nodes such that every non-root node has at least one preceding incoming neighbour node and at least one succeeding incoming neighbour node in the ordered list.
  • the partitioning step could further include formulating a pair of first and second subgraphs, wherein each of the subgraphs contains all network nodes, and wherein the first subgraph comprises a first set of communication links and the second subgraph comprises a second set of communication links! and wherein the first set of communication links is disjoint to the second set of communication links! the first subgraph corresponding to the first partition! and the second subgraph corresponding to the second partition.
  • the formulating step further includes providing a subset of communication links common to the first and second set of communication links wherein the subset of common links consists of cut links and links to cut nodes of the graph.
  • the method includes updating the first and second partitions in the event of a change to the topology of the packet switched network.
  • the first spanning tree consists of a shortest path tree, while in other embodiments the first spanning tree consists of a Steiner tree.
  • an article of manufacture including a processor-readable medium having processor-executable code encoded therein, which when executed by one or more processors, enables actions for constructing a pair of Redundant Multicast Trees for a MPLS multicast connection request for a root node and a set of destination nodes in a packet switched network having network nodes and communication links connecting the network nodes, wherein the packet switched network can be represented by a graph as constructed from the root node, the graph having vertices comprising the network nodes, and the graph having directed edges comprising the communication links, the method including the steps of partitioning the packet switched network into a first partition and a second partition, wherein each partition consists of all of the network nodes of the packet switched network, each partition contains a subset of the communication links so as to form an acyclic graph of the packet switched network, and the first partition and the second partition have only links in common of the graph of the packet switched network from the group of links consisting of cut links
  • first spanning tree connecting the root node and the set of destination nodes in the first partition!
  • second spanning tree connecting the root node and the set of destination nodes in the second partition! and provisioning the set of destination nodes with the first spanning tree and the second spanning tree as the pair of Redundant Multicast Trees.
  • Fig. 1 illustrates an example of a set of network nodes having communication links, a root node, and a plurality of destination nodes! and a version of the same network with Redundant Multicast Trees in accordance with an embodiment of the invention!
  • FIG. 2 illustrates a graph of a network as a directed graph and the same network with Redundant Multicast Trees in accordance with an embodiment of the invention!
  • FIG. 3 illustrates an example of a partitioning of the network of Fig. 2 into red and blue graphs in accordance with an embodiment of the invention!
  • Fig. 4 illustrates an example of an RMT pair for a given multicast connection with defined source and definition nodes in accordance with an embodiment of the invention!
  • FIG. 5 illustrates an example of join and leave operations in accordance with an embodiment of the invention.
  • Fig. 6 illustrates an example of a calculated spanning tree in accordance with an embodiment of the invention.
  • Fig. 7 illustrates a series of skeleton lists for the spanning tree of Fig. 6 in accordance with an embodiment of the invention!
  • Fig. 8 illustrates the final skeleton list for the spanning tree of Fig. 6 with red and blue links in accordance with an embodiment of the invention!
  • Fig. 9 illustrates an example of a calculated spanning tree and a series of associated skeleton lists in accordance with an embodiment of the invention!
  • Fig. 10 illustrates the final node arrangement with red and blue links, and the calculated red and blue subgraphs for the spanning tree depicted in Fig. 9 in accordance with an embodiment of the invention!
  • Fig. 11 illustrates an example of a spanning network having an affected node, and the skeleton list and final node arrangement associated with the spanning tree in accordance with an embodiment of the invention!
  • Fig. 12 illustrates an example of the final red and blue graphs of network of Fig. 11 after reconstruction in accordance with an embodiment of the invention.
  • RMT redundant multicast trees
  • a suitable mechanism for deciding on which feed to listen on can either be based on low level information exchange such as BFD or some equivalent mechanism between the root and the destination nodes. In the event of a failure of a single link or node, at least one of the two feeds is guaranteed to be active.
  • the solution to RMT construction and modification of such RMT to accommodate changes to the set of destination nodes and/or underlying network topology is based on partitioning of the network topology into two logical partitions through coloring of the network links. Construction of initial RMTs is realized by creating P2MP trees for a multicast connection request within each of these partitions.
  • each node v € is a router/switch and the set of edges E are the directed communication links between them.
  • a link from node u to node is denoted by a directed edge (u,v) € E, where nodes u and rare termed the edge tail and head, respectively.
  • node u is termed an incoming neighbor of node v, while node vis called an outgoing neighbor of node u.
  • Every directed edge e (u,v) e associated with a positive cost denoted by c e and the cost of (u,v) may be different from that of (v,u).
  • a reachable node u is called 2-node- disjoint reachable or simply 2-reachable if G contains at least 2-node- disjoint paths from to node u, otherwise, it is termed 1-reachable.
  • a cut node (cut link) is a node (link) such that its removal from G makes some of the nodes unreachable from r.
  • a subgraph H(V,A) of G where A " E is termed reachable if every node i/ e V— ⁇ r ⁇ is reachable from r by using only links in A.
  • the graph Gis termed strong 2-reachable with respect to r if every node u ⁇ V— ⁇ r ⁇ is 2-reachable. If 6? is not strong 2-reachable, it is said that Gis weak 2-reachable for a given set Da V— ⁇ r ⁇ ii every node u e D is 2-reachable from r.
  • a weak 2-reachable graph contains a cut node or a cut link.
  • an RMT pair is strict if the two trees do not share any directed edges.
  • An example of strict RMTs is given in Fig. 2 at 204. It can be noted that for a root and a set of destinations D a V, while RMTs may exist, they may not be strict even when every u e D is 2-reachable from r. As an example, consider the graph presented in Fig. 1 at 102.
  • This graph contains a single source node and three destination nodes, u, vand w. Notice that in this example there are two node disjoint paths from the source node to every destination node, and yet, there are no two strict RMTs that connect the source with the destination nodes.
  • two trees that form a strict RMT pair exist. At least one of the trees contains just one of the outgoing links of the source nodes. However, in this example any tree that is connected to all three destination nodes must include at least two outgoing links of r. From this it follows that a strict RMT pair does not exist for the given topology. If an RMT pair is not strict, it is referred to as a relaxed RMT pair.
  • THEOREM l Consider a directed graph G(V,E) with a source node rand a set of destination node D a V. Assume that G is weak 2- reachable for the set D. The problem of finding strict RMTs that connect r with all the destination nodes in D is NP-hard.
  • optimal RMT-pair For efficient bandwidth consumption it would be preferred to construct RMTs with minimal total cost, referred to as optimal RMT-pair.
  • Theorem 2 states the problem of finding the optimal RMT-pair for a given set of destination is NP-hard. Consequently, the following disclosure presents an efficient method for constructing and maintaining low-cost RMT-pairs that may not be the optimal ones.
  • the overall goal is to construct an RMT pair for jl_f and to ensure that this RMT pair continues to be an RMT pair as the constituent trees get updated due to changes in the destination set and/or network topology.
  • This goal can be expressed as the following set of distinct objectives.
  • OBJECTIVE 1 Given a directed graph G(V,E) with a source node r and a set of destination nodes D, find an RMT pair rooted at with low total cost.
  • OBJECTIVE 2 Given a directed graph G(V,E), an RMT pair, and a set of topology changes, modify the red and blue trees of the RMT pair with minimal changes and in such a manner that the resulting red and blue trees continue to be a low cost RMT pair.
  • OBJECTIVE 3. (RMT UPDATE DUE TO ADD/DEL OF DESTINATION NODE): Given a directed graph G(V,E), an RMT pair, and a node d to be added or deleted as a destination node to the multicast connection corresponding to the RMT pair, modify the blue and red trees of the RMT pair to add or delete d with a reasonably small number of changes and in such a manner that the resulting red and blue trees continue to be a low cost RMT pair.
  • Theorem 2 claims that the problem of finding optimal RMTs in the case where the set of destination nodes does not include all the non-root nodes is NP-Hard. Following is a method that constructs low cost RMTs.
  • lowcost RMTs for multicast connections with root node rare constructed as follows: the graph G(V,E) representing the network as seen by node r (for example, constructed from the OSPF link state database) is logically partitioned into two, referred to as the blue and red partitions, such that each partition consists of all the nodes in the network and contains a subset of the links. These partitions are directed acyclic subgraphs of G.
  • PR(U, V) denote the path from u to vin the red partition
  • PB(U, V) denote the path from u to vin the blue partition. Referring to Fig. 3, there may be seen an example of such red 302 and blue 304 partitions for the graph presented in Fig. 2 at 102.
  • the red 302 and blue 304 partitions satisfy the following property.
  • PROPERTY 1 For every 2-reachable node u e V- ⁇ r ⁇ it holds that any path PR(T, U) from r to u in GR is node disjoint from any path PB(T,U) from r to u in GB. (b) For every 1-reachable node u e V— ⁇ r ⁇ it holds that any path PR(T,U) from to iz in 63 ⁇ 4 may share only cut nodes and cut links with path PB(T, U) from rto u in GB.
  • r computes the trees for the blue and red P2MP LSPs and performs setup signaling according to the supported signaling mechanisms (for example, IETF standard procedures).
  • the destination nodes would need to be provisioned with information to facilitate recognition that these two P2MP LSPs form an RMT pair being used for protection.
  • Such a feature is straightforward to implement.
  • a mechanism needs to be in place for the root and a destination node to assist connectivity verification through the P2MP LSP connecting them.
  • Any protection scheme for MPLS multicast must also be flexible enough to support dynamic changes in topology with little or no disruption to the existing connections. In the disclosed method, this translates into ensuring that topology changes induce little or no changes to the existing RMT pairs. Recall that, for a given root node r, there was created logical blue and red partitions of the network. Topology changes may affect a given RMT pair in one of the following ways: a) all the destination nodes continue to be reachable in both the blue and red trees, b) one or more destination nodes is not reachable from r in one of the two trees, and c) one or more destinations is unreachable in both the blue and red trees.
  • the method uses a repartitioning method that is described in detail below. The repartitioning is done is such a manner that only a small number of links need to change their color from blue to red or from red to blue. After such a repartitioning is performed, the following cases are considered for each individual RMT pair rooted at r.
  • Case III The topology change affects the RMT. This means that some destination nodes are not reachable by the RMT and therefore they are no longer protected. In such case those RMT paths are rerouted to the affected destination nodes in each of the two partitions. Similar to case II, a make-before-break approach is suggested.
  • any protection scheme must be robust in the presence of dynamic updates to the set of destination nodes of a multicast connection.
  • the initial partitioning method partitions the network independent of the set of destination nodes for any connections rooted at r. Therefore, Property 1 is satisfied for any set of destination nodes, even if it is updated dynamically to include or delete nodes. Adding or deleting destination nodes is simply applying standard procedures used in existing MPLS networks within each of the blue and red partitions.
  • FIG. 5 there may be seen the effects of adding node d as a new destination and removing node ⁇ from the destination set.
  • the Red RMT 502 and the Blue RMT 504 illustrate the two RMTs after the join and leave operations, while the conjoined graph 506 in which the Blue RMT has dashed links and the Red RMT has solid links, shows that the two resulting trees are two valid RMTs.
  • node dis already included in the blue tree thus the scheme adds only the link (c,d) to the blue tree.
  • node g is conceptually a branching node of the red tree since it also feeds node Therefore no link is removed from the red tree, and only link (d,g)is removed from the blue tree.
  • Phase 1 Node Ordering - This phase creates an ordered list L of nodes such that every non-root node has at least one preceding incoming neighbor and at least one succeeding incoming neighbor in L.
  • Phase II- Construction of Two Subgraphs This phase utilizes the node ordering from phase I to construct the red and blue subgraphs satisfying Property 1 and ensuring that every non-root node is reachable in both the subgraphs.
  • L - ⁇ U l - ⁇ r ⁇ ,U 2 ,U 3 ,- - - ,U m - ⁇ r ⁇ is calculated that provides only a partial order of the nodes. Then, at the second step, the order of the nodes is refined in each set Uj.
  • a set L of subtrees is termed a skeleton list if it satisfies a partial node arrangement such that for every set Uj, 1 ⁇ j ⁇ m, its root root(Uj ) has at least one incoming neighbor in a set before Uj in L and at least one incoming neighbor in a set after Uj in L.
  • a partial node arrangement such that for every set Uj, 1 ⁇ j ⁇ m, its root root(Uj ) has at least one incoming neighbor in a set before Uj in L and at least one incoming neighbor in a set after Uj in L.
  • the Skeleton List Initialization Step The method starts by calculating a spanning tree . rooted at r.
  • the calculated tree can be any spanning tree, however, for calculating low cost RMTs the method calculates a minimal cost spanning tree. Then, it constructs a list with
  • the skeleton List Refinement Step The method then iteratively finds a link (u, w) ⁇ E between two nodes in different sets, such that w is not a set root node, i.e., root(w) ⁇ root(u) and root(w) ⁇ w. While any link that satisfies this condition can be selected, for producing low cost RMTs, the preferred method is to select the one with minimal cost.
  • v root(w) he the root of the set U v containing node w.
  • the method removes the subtree T w from the tree T v and creates a new set U w that contains the nodes in w.
  • Fig. 6 illustrates the intermediate skeleton-lists calculated by the node ordering method for the input graph shown in Fig. 2 at 202.
  • Fig. 6 illustrates the spanning tree calculated by the method and the corresponding initial skeleton list is given in Fig. 7 at 700.
  • Fig. 8 at 800 illustrates the complete node arrangement defined by the skeleton list with the Blue links at the top and the Red links at the bottom.
  • the method computes red and blue graphs, denoted by GR(V,ER) and GB(V,EB) respectively, that satisfy Property 1.
  • Each one of subgraphs contains all nodes while the subgraphs contain disjoint set of links.
  • the link set ER of the red graph comprises every link (u,v) such that u ⁇ r and the set root(u) appears before the set root(v)vn. L.
  • the link set EB of the blue tree contains every link (u,v) swcn that u ⁇ r and the set root(u) appears after the set root(v) in L. Links in ER will be referred to as red links and links in j3 ⁇ 4as blue links.
  • the link (r,u) is colored red and added to the red graph. If all the incoming non-source neighbors of node u appear before node u in L, then the link (r,u) ⁇ s colored blue and added to the set EB of the blue graph. Else if node u does not have any other incoming neighbor beside then link (r,u)is a cut link and it is added to both EB and EB- Otherwise, the link (r,u) may be added to one of the subgraphs based on some other criteria, such as balancing the number of red and blue outgoing links from the root node r.
  • Fig. 8 at 800 illustrates the link coloring that results from this arrangement with the blue links on top and the red links at the bottom.
  • the links (r,a) and (r,0 must be red, while the links ( ⁇ , ⁇ )& ⁇ (r,b) vist be blue.
  • the method is based on detecting cut nodes and using a node duplication technique to produce a revised input graph that is 2-reachable. After this modification, the method may provide only relaxed RMTs even for some scenarios where the destination nodes are 2-reachable from r. This is aligned with Theorem 1 which states that in such settings, finding strict RMTs is NP-hard. Since the cut nodes are not known in advance, Property 2 can be used to detect them at the end of the node ordering process, presented earlier.
  • the method For each detected cut node vin a set Uj, the method performs node duplication for obtaining a revised graph in which v is not a cut node. First, it defines another node v with the same incoming neighbors as node v and the outgoing neighbors of v are the outgoing neighbors of v in the set Uj. Then, the method removes any incoming link (w,v) ⁇ node and node v such that its tail wis in the set Uj. This operation eliminates loops in the final red and blue subgraphs. Finally, it creates a new set U k - ⁇ v ⁇ with just the node v and it inserts Uk in L just after the set Uj.
  • node v is no longer a cut node since every node that was reachable only via node v is now also reachable through node v .
  • the method resumes the iterative skeleton list refinement process as before until every set contains a single node or additional cut nodes are detected. In the latter case, the node duplication process is repeated until every set in L contains a single node and a complete node arrangement is obtained.
  • FIG. 9 presents the initial spanning tree 900 calculated for this graph and the initial skeleton list is given at 902.
  • the obtained skeleton list After the refinement process. Since nodes b and d are still included in the same set, it results that b (the root of the set ⁇ b,d is a cut node.
  • the final node arrangement after duplicating node b and invoking the skeleton list refinement process again. Note that the resulting list presents a complete node arrangement in which cut nodes are represented twice in the list.
  • topology change any number of new network elements or component failures
  • minimal modifications are performed to the red and blue subgraphs for preserving Property 1.
  • the modifications are based on the observation that the actual locations of the nodes in a complete node arrangement L are not critical for calculating the red and blue subgraph.
  • the topologies of the subgraphs are determined by the placement of each node relative to the locations of its incoming and outgoing neighbors in L.
  • the method works as follows ⁇ Initially, it detects a limited set of nodes, denoted by Z, that their placement in the revised complete node arrangement may be affected. Then, by utilizing a limited variant of the node ordering process it computes a complete node arrangement as similar as possible to the original one and modifies the red and blue graphs accordingly.
  • the set ⁇ contains every node in u ⁇ V that is not reachable in one or both of the subgraphs, or every path from the root node r to u in one of the subgraphs which traverses through other nodes from Z
  • the method After initializing the set Z, the method iteratively identifies the other nodes that may be affected by the topology changes. For every node u e Z it removes its outgoing links from G and for every link (u, v) such that its head v g Z , it checks whether v still has both red and blue incoming links. Otherwise it adds to the set Z The process terminates when all the outgoing neighbors of all the nodes in Zhave been checked.
  • the method recalculates the list L. Essentially, it calculates a new skeleton list L from the list such that the location of every node u e V -Z in the set L is preserved relative to its incoming neighbors. For determining the location of the nodes in Z, the method invokes the skeleton list refinement process presented in the node ordering method section that produces a revised complete node arrangement.
  • the method starts with calculating a directed spanning tree T r rooted at node r, such that no node in the set V - Z is a descendent of a node in Z. From the definition of Z such trees exist and can be calculated, for instance, by assigning a cost zero to all the incoming links of the nodes in V - Z and calculating a shortest path tree.
  • the method uses the existing complete node arrangement L to compute a new skeleton list L . First, it removes from L the nodes in Z. Thus, the resulting list L contains only nodes in V - Z that preserve their relative order in L.
  • the method constructs the subtree T u rooted at node u and contains besides u only nodes in Z.
  • This subtree is associated with the set root(u) that is already included in I .
  • L contains all the networks nodes where every node in Z is associated with a set U j ⁇ L rooted by some node u e V - Z .
  • the method invokes the skeleton list refinement process. Since, this step needs to find only the arrangement of the nodes in Zvn the skeleton list, only the incoming links of the nodes in need to be considered for the order refinement. Finally, the method reconstructs the red and blue graphs as described in the subgraphs construction phase.
  • Fig. 11 at 1100 shows the calculated spanning tree while Fig. 11 at 1102 and 1104 depict the initial and final skeleton list. Since node g ⁇ $ a cut node, it is duplicated and appears twice in the list.
  • Fig. 12 the modified red 1202 and blue 1204 graphs are shown. Notice that the links (g ) and (r,b) are included in both graphs since nodes j and h are 1- reachable but not 2-reachable.
  • results for the weight ratio metric were observed to be similar to the one presented for the bandwidth ratio metric. This implies that that the RMT-based method not only consumes significantly less bandwidth than FRR, but also efficiently utilizes low weight links for keeping the total weight of the RMTs as low as possible. Note that the RMT scheme, which offers protection against both link and node failures, outperforms even the FRR Link Only (FRR-LO) scheme, which only provides protection against link failures.
  • FRR-LO FRR Link Only
  • the present invention can be embodied in the form of methods and apparatuses for practicing those methods.
  • the present invention can also be embodied in the form of program code embodied in tangible media, such as magnetic recording media, optical recording media, solid state memory, floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention.
  • the present invention can also be embodied in the form of program code, for example, whether stored in a storage medium or loaded into and/or executed by a machine, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention.
  • the program code segments combine with the processor to provide a unique device that operates analogously to specific logic circuits.

Abstract

An efficient protection scheme for MPLS multicast is disclosed for protection of Point-to-Multi-Point LSP connections. The efficient protection scheme for MPLS multicast includes a pair of Redundant Multicast Trees for each multicast connection which connects the source of a multicast LSP to all its destinations in such a way that in the event of a single link or node failure in the network, every destination node is still connected to the root node in at least one of the two trees. Furthermore, a method is disclosed that ensures that existing Redundant Multicast Trees can adapt to changes in the set of destination nodes and/or network topology changes without significant modifications. The efficient protection scheme for MPLS multicast is particularly useful for reducing the protection bandwidth requirements over protection methods known in the art.

Description

EFFICIENT PROTECTION SCHEME FOR MPLS MULTICAST Field of the invention
[001] The invention relates to Multi- Protocol Label Switching Multicast and is particularly concerned with efficient protection schemes for multicast networks.
Background of the Invention
[002] Fault resilience for MPLS multicast is becoming increasingly important as revenue generating multicast based business services such as IPTV and virtual private LAN services (VPLS) are being offered over the emerging MPLS based network infrastructure. Fault resilience has traditionally been achieved through protection and recovery mechanisms for link and/or node failures in a network. Such mechanisms in SONET/SDH networks have gained a reputation to be the best in the industry. Realizing a comparable reputation for fault resilience in the emerging MPLS based network infrastructure continues to be an area of active interest.
[003] A connection in an MPLS network corresponds to a label switched path (LSP) and the goal of protection is to ensure that each LSP being protected (referred to as a primary LSP) continues to offer uninterrupted service in the event of any link or node failures. Such uninterrupted service is typically achieved through provisioning of one or more alternate LSPs such that, for each failure of the primary LSP, one of these alternate LSPs remains unaffected and can be activated if not already active.
[004] MPLS fast reroute (FRR) has evolved as the de facto standard protection mechanism for LSPs with a single source and single destination (also known as Point-to-Point or P2P). In FRR, an alternate LSP, referred to as a detour, is established for each LSP segment that needs protection. The node at the beginning of this segment is referred to as the point of local repair (PLR) and the node at the end of this segment is referred to as the merge point (MP). A detour is typically routed along the shortest path (link/node disjoint from the path along the primary LSP) from the PLR to the MP. When a PLR detects a failure, it switches the traffic onto the detour protecting the failed segment and the MP simply merges the traffic from the segment and the detour. The recovery time, which is the time between the occurrence of a failure to the point when the associated detour is activated depends largely on the time it takes the PLR to detect a failure. If the segments to be protected are selected in such a way that the PLR for each segment can detect failures as fast as possible, then FRR can offer recovery times comparable to that in SONET/SDH networks. For example, if every link is protected, then link failure detection is entirely local to the PLR.
[005] The management and signaling of detours for all the LSPs in a network, especially in the event of topological changes can become very complex and computationally burdensome on the network nodes. To alleviate such complexity, a variant known as facility protection is used where segments to be protected are defined along the network topology as opposed to each individual primary LSP and facility detours are created for such segments. Then, any primary LSP traversing a segment with a facility detour has its detour tunneled through the facility detour. Facility detours can be setup to protect links and/or network nodes.
[006] To accommodate the increasing use of MPLS multicast, FRR is now being extended to support multicast LSPs with a single source and multiple destinations (also known as Point-to-Multi-Point or P2MP). FRR for P2MP LSPs, however, can be quite inefficient in terms of the bandwidth it consumes in the network and can involve even more signaling and management complexity due to the increased number of detours especially with dynamic changes in the set of destination nodes or in the event of topology changes. In FRR for P2P, at any given point in time, only one of the primary LSP or its detours can be active on a link.
[007] In FRR for P2MP, however, given that there may be more than one destination node, a detour and the primary LSP may be simultaneously active on a given link. This can cause two copies of the same packet to be sent over such a link. The term packet duplication describes a situation where two or more copies of the same packet need to be sent on a link. Use of P2MP detours can cap the maximum number of copies sent on a link to two, but this comes at a cost of substantially increased signaling complexity or at a cost of wasteful bandwidth consumption, depending on how it is implemented.
[008] These problems of FRR can get significantly magnified for high bandwidth multicast LSPs such as those used to carry IPTV content.
[009] Therefore, it would be desirable to have a method of providing MPLS link and node protection which would not incur the expense and complications of protection as available in the prior art.
Summary of the Invention
[010] It is an object of the invention to provide a method for more efficient protection of MPLS Multicast networks.
[011] According to an aspect of the invention there is provided a method for providing protection for a MPLS multicast connection request for a root node and a set of destination nodes in a packet switched network having network nodes and communication links connecting the network nodes, the method having the steps of constructing a pair of Redundant Multicast Trees! wherein the first Redundant Multicast Tree of the pair of Redundant Multicast Trees is rooted at the root node and connects to all destination nodes in the set of destination nodes! and wherein the second Redundant Multicast Tree of the pair of Redundant Multicast Trees is rooted at the root node and connects to all destination nodes in the set of destination nodes. Further, broadcasting multicast traffic from the root node to the set of destination nodes over the first Redundant Multicast Tree during normal operation! and broadcasting multicast traffic from the root node to the set of destination nodes over the first and second Redundant Multicast Tree during fault operation.
[012] In some embodiments of the invention, the method includes broadcasting multicast traffic from the root node to the set of destination nodes over the second Redundant Multicast Tree during normal operation.
[013] According to some embodiments, the fault operation includes a failure of a communication link of the communication links, and according to other embodiments the fault operation includes a failure of a network node of the network nodes.
[014] According to another aspect of the invention there is provided a method for constructing a pair of Redundant Multicast Trees for a MPLS multicast connection request for a root node and a set of destination nodes in a packet switched network having network nodes and communication links connecting the network nodes, wherein the packet switched network can be represented by a graph as constructed from the root node, the graph having vertices comprising the network nodes, and the graph having directed edges comprising the communication links, the method including the steps of partitioning the packet switched network into a first partition and a second partition, wherein each partition consists of all of the network nodes of the packet switched network, each partition contains a subset of the communication links so as to form an acyclic graph of the packet switched network, and the first partition and the second partition have only links in common of the graph of the packet switched network from the group of links consisting of cut links and links to cut nodes. Then constructing a first spanning tree connecting the root node and the set of destination nodes in the first partition! constructing a second spanning tree connecting the root node and the set of destination nodes in the second partition! and provisioning the set of destination nodes with the first spanning tree and the second spanning tree as the pair of Redundant Multicast Trees.
[015] In some embodiments the method also includes updating the first and second partitions in the event of a change to the topology of the packet switched network. The change to the topology of the packet switched network could include the deletion of a network node, or alternatively the addition of a network node or alternatively, the failure of a communication link of the packet switched network which results in a network node lacking an incoming link in one of the first and second partitions.
[016] Advantageously, in some embodiments the method further includes as part of the partitioning step creating an ordered list of network nodes such that every non-root node has at least one preceding incoming neighbour node and at least one succeeding incoming neighbour node in the ordered list. Under some embodiments the partitioning step could further include formulating a pair of first and second subgraphs, wherein each of the subgraphs contains all network nodes, and wherein the first subgraph comprises a first set of communication links and the second subgraph comprises a second set of communication links! and wherein the first set of communication links is disjoint to the second set of communication links! the first subgraph corresponding to the first partition! and the second subgraph corresponding to the second partition.
[017] In some embodiments the formulating step further includes providing a subset of communication links common to the first and second set of communication links wherein the subset of common links consists of cut links and links to cut nodes of the graph.
[018] Advantageously, in some embodiments, the method includes updating the first and second partitions in the event of a change to the topology of the packet switched network.
[019] Also advantageously, in some embodiments, the first spanning tree consists of a shortest path tree, while in other embodiments the first spanning tree consists of a Steiner tree.
[020] According to yet another aspect of the invention, there is provided an article of manufacture including a processor-readable medium having processor-executable code encoded therein, which when executed by one or more processors, enables actions for constructing a pair of Redundant Multicast Trees for a MPLS multicast connection request for a root node and a set of destination nodes in a packet switched network having network nodes and communication links connecting the network nodes, wherein the packet switched network can be represented by a graph as constructed from the root node, the graph having vertices comprising the network nodes, and the graph having directed edges comprising the communication links, the method including the steps of partitioning the packet switched network into a first partition and a second partition, wherein each partition consists of all of the network nodes of the packet switched network, each partition contains a subset of the communication links so as to form an acyclic graph of the packet switched network, and the first partition and the second partition have only links in common of the graph of the packet switched network from the group of links consisting of cut links and links to cut nodes. Further constructing a first spanning tree connecting the root node and the set of destination nodes in the first partition! constructing a second spanning tree connecting the root node and the set of destination nodes in the second partition! and provisioning the set of destination nodes with the first spanning tree and the second spanning tree as the pair of Redundant Multicast Trees.
[021] Note: in the following the description and drawings merely illustrate the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope. Furthermore, all examples recited herein are principally intended expressly to be only for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor(s) to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass equivalents thereof.
Brief Description of the drawings [022] The present invention will be further understood from the following detailed description of embodiments of the invention, with reference to the drawings in which:
[023] Fig. 1 illustrates an example of a set of network nodes having communication links, a root node, and a plurality of destination nodes! and a version of the same network with Redundant Multicast Trees in accordance with an embodiment of the invention!
[024] Fig. 2 illustrates a graph of a network as a directed graph and the same network with Redundant Multicast Trees in accordance with an embodiment of the invention!
[025] Fig. 3 illustrates an example of a partitioning of the network of Fig. 2 into red and blue graphs in accordance with an embodiment of the invention!
[026] Fig. 4 illustrates an example of an RMT pair for a given multicast connection with defined source and definition nodes in accordance with an embodiment of the invention!
[027] Fig. 5 illustrates an example of join and leave operations in accordance with an embodiment of the invention!
[028] Fig. 6 illustrates an example of a calculated spanning tree in accordance with an embodiment of the invention!
[029] Fig. 7 illustrates a series of skeleton lists for the spanning tree of Fig. 6 in accordance with an embodiment of the invention!
[030] Fig. 8 illustrates the final skeleton list for the spanning tree of Fig. 6 with red and blue links in accordance with an embodiment of the invention! [031] Fig. 9 illustrates an example of a calculated spanning tree and a series of associated skeleton lists in accordance with an embodiment of the invention!
[032] Fig. 10 illustrates the final node arrangement with red and blue links, and the calculated red and blue subgraphs for the spanning tree depicted in Fig. 9 in accordance with an embodiment of the invention!
[033] Fig. 11 illustrates an example of a spanning network having an affected node, and the skeleton list and final node arrangement associated with the spanning tree in accordance with an embodiment of the invention! and
[034] Fig. 12 illustrates an example of the final red and blue graphs of network of Fig. 11 after reconstruction in accordance with an embodiment of the invention.
Detailed Description
[035] Following is presented a novel and efficient protection mechanism for MPLS multicast that addresses the aforementioned bandwidth and complexity concerns of prior art protection schemes. The proposed mechanism is based on the concept of redundant multicast trees (RMTs). RMT based protection involves construction of two trees rooted at a multicast source such that the source node remains connected to all the multicast destination nodes in the event of the failure of a single link or a node. One of the trees of the RMT serves as the primary and the other serves as the standby for protection purposes. Protection may be achieved in one of two modes: hot standby or cold standby mode.
[036] A hot standby mode where traffic is fed on both trees simultaneously by the source and the destination nodes pick one of the two feeds. A suitable mechanism for deciding on which feed to listen on can either be based on low level information exchange such as BFD or some equivalent mechanism between the root and the destination nodes. In the event of a failure of a single link or node, at least one of the two feeds is guaranteed to be active.
[037] A cold standby mode where the source feeds traffic onto one of the two trees during normal operation, but feeds both the trees in the event of a failure.
[038] In the hot standby mode, embodiments of the invention offers similar or even better recovery time compared to MPLS Fast Re-Route (FRR). The recovery time for the cold standby mode would depend on the mechanism used to communicate between the root and the destination nodes. [039] Given a multicast LSP connection request Μΐοτ a root node r and a set of destination nodes D, the overall goal of the protection mechanism is as follows^
[040] a) facilitate the construction of two P2MP LSPs each rooted at r which together constitute redundant multicast trees, and
[041] b) once such RMTs are constructed, provide the necessary mechanisms to ensure that the two P2MP LSPs continue to be RMTs in the presence of any changes due to the addition of new destination nodes, deletion of existing destination nodes, and/or changes in the underlying network topology caused by failures or more current information on available resources on the links.
[042] In general, the solution to RMT construction and modification of such RMT to accommodate changes to the set of destination nodes and/or underlying network topology is based on partitioning of the network topology into two logical partitions through coloring of the network links. Construction of initial RMTs is realized by creating P2MP trees for a multicast connection request within each of these partitions.
[043] Accommodation of changes needed by the RMTs thus constructed is realized by updating the logical partitioning in such a way that the number of links that need to change partitions that they belong to is minimized.
[044] Network Model and Definitions
[045] Consider an MPLS-based network that is modeled as a directed graph G(V,E), where each node v€ is a router/switch and the set of edges E are the directed communication links between them. A link from node u to node is denoted by a directed edge (u,v)€ E, where nodes u and rare termed the edge tail and head, respectively. Moreover, node u is termed an incoming neighbor of node v, while node vis called an outgoing neighbor of node u. Every directed edge e = (u,v) e
Figure imgf000013_0001
associated with a positive cost denoted by ce and the cost of (u,v) may be different from that of (v,u).
[046] The mechanisms presented in the following description largely consider the network as seen from a given node r e P^that serves as the root of a P2MP LSP. The following definitions are therefore implicitly from the point of view of r. A nonsource node i/ e V— { r } is termed reachable if there is a directed path from rto node u. Otherwise, node w is termed unreachable. In the following it is assumed that G, as seen from r, contains only reachable nodes. A reachable node u is called 2-node- disjoint reachable or simply 2-reachable if G contains at least 2-node- disjoint paths from to node u, otherwise, it is termed 1-reachable. A cut node (cut link) is a node (link) such that its removal from G makes some of the nodes unreachable from r. A subgraph H(V,A) of G where A " E is termed reachable if every node i/ e V— { r } is reachable from r by using only links in A.
[047] The graph Gis termed strong 2-reachable with respect to r if every node u <≡ V— {r} is 2-reachable. If 6? is not strong 2-reachable, it is said that Gis weak 2-reachable for a given set Da V— {r} ii every node u e D is 2-reachable from r.
[048] The above definitions imply that a weak 2-reachable graph contains a cut node or a cut link. Referring to Fig. 1 there may be seen a weak 2-reachable graph for the set D = { u, v, w }. Notice that in this graph the link ( r, b ) is a cut link since its removal makes node b unreachable from r.
[049] Redundant Multicast Trees
[050] Given a root node r and a set of destination nodes Da V— {r}, let two trees, TB and TR, represent P2MP LSPs rooted at r and providing multicast connectivity from rto D Let PB(T,U) (PR(T,U)) represent the path from r to u e D in T(TR). 7¾and TR are referred to as redundant multicast trees (RMT) or an RMT pair if Vu e D,PB(r,u) and
Figure imgf000014_0001
2-node disjoint. The two trees of an RMT pair are referred to as the blue tree and the red tree. Referring to Fig. 2, there may be seen a directed graph 202. An RMT pair 204 for this directed graph having the root node r and set of destinations D = {c, e, g, j}is depicted with the destination nodes.
[051] For an RMT pair comprising of trees TB and TR, let 2¾ and j¾ be the set of edges in TB and TR, respectively. TB and TR are referred to as strict RMTs or as a strict RMT pair if (EB n ER) = φ. In other words, an RMT pair is strict if the two trees do not share any directed edges. An example of strict RMTs is given in Fig. 2 at 204. It can be noted that for a root and a set of destinations D a V, while RMTs may exist, they may not be strict even when every u e D is 2-reachable from r. As an example, consider the graph presented in Fig. 1 at 102. This graph contains a single source node and three destination nodes, u, vand w. Notice that in this example there are two node disjoint paths from the source node to every destination node, and yet, there are no two strict RMTs that connect the source with the destination nodes. By way of explanation, assume for contradiction that such two trees that form a strict RMT pair exist. At least one of the trees contains just one of the outgoing links of the source nodes. However, in this example any tree that is connected to all three destination nodes must include at least two outgoing links of r. From this it follows that a strict RMT pair does not exist for the given topology. If an RMT pair is not strict, it is referred to as a relaxed RMT pair. Fig. 1 at 104 presents a relaxed RMT pair for the above example. In this example both trees use the links (r,b), (b,d) while still providing 2-node disjoint paths to every destination node. This example demonstrates that relaxed RMTs can be found even in cases where strict RMTs do not exist. A necessary condition for the existence of an RMT pair in a given graph Gis that G has weak 2-reachability with respect to a root node r for a destination set D. However, the above example implies that this is not a sufficient condition for the existence of strict RMTs. It is shown below that strong 2-reachability is a necessary and sufficient condition for the existence of strict RMTs. Furthermore, Theorem 1 states that in the absence of strong 2-reachability, the problem of determining the existence of strict RMTs is NP-hard.
[052] THEOREM l: Consider a directed graph G(V,E) with a source node rand a set of destination node D a V. Assume that G is weak 2- reachable for the set D. The problem of finding strict RMTs that connect r with all the destination nodes in D is NP-hard.
[053] Obviously, for efficient bandwidth consumption it would be preferred to construct RMTs with minimal total cost, referred to as optimal RMT-pair. However, as Theorem 2 states the problem of finding the optimal RMT-pair for a given set of destination is NP-hard. Consequently, the following disclosure presents an efficient method for constructing and maintaining low-cost RMT-pairs that may not be the optimal ones.
[054] THEOREM 2- Consider a directed graph G(V,E) with a source node rand a set of destination node D a V. Assume that G is strong 2- reachable. The problem of finding the minimal cost RMT pair (either strict or relaxed RMTs) that connect r with all the destination nodes in D is NP-hard.
[055] OVERVIEW OF PROTECTION SCHEME
[056] As previously discussed, the overall goal, given a multicast connection request Jl with root node r and set of destination nodes D, is to construct an RMT pair for jl_f and to ensure that this RMT pair continues to be an RMT pair as the constituent trees get updated due to changes in the destination set and/or network topology. This goal can be expressed as the following set of distinct objectives.
[057] OBJECTIVE 1. (INITIAL RMT CONSTRUCTION): Given a directed graph G(V,E) with a source node r and a set of destination nodes D, find an RMT pair rooted at with low total cost.
[058] OBJECTIVE 2. (RMT UPDATE DUE TO TOPOLOGY CHANGES): Given a directed graph G(V,E), an RMT pair, and a set of topology changes, modify the red and blue trees of the RMT pair with minimal changes and in such a manner that the resulting red and blue trees continue to be a low cost RMT pair.
[059] OBJECTIVE 3. (RMT UPDATE DUE TO ADD/DEL OF DESTINATION NODE): Given a directed graph G(V,E), an RMT pair, and a node d to be added or deleted as a destination node to the multicast connection corresponding to the RMT pair, modify the blue and red trees of the RMT pair to add or delete d with a reasonably small number of changes and in such a manner that the resulting red and blue trees continue to be a low cost RMT pair.
[060] Initial RMT Construction
[061] Theorem 2 claims that the problem of finding optimal RMTs in the case where the set of destination nodes does not include all the non-root nodes is NP-Hard. Following is a method that constructs low cost RMTs. In the method, lowcost RMTs for multicast connections with root node rare constructed as follows: the graph G(V,E) representing the network as seen by node r (for example, constructed from the OSPF link state database) is logically partitioned into two, referred to as the blue and red partitions, such that each partition consists of all the nodes in the network and contains a subset of the links. These partitions are directed acyclic subgraphs of G. The blue and red partitions, represented by the graphs GB(V,EB) and GR(V,ER), respectively, satisfy the following property. If there are no cut links or nodes in G, then (EB n ER) = φ. Otherwise, (EB n ER) may contain the cut links and the outgoing links of the cut nodes. Let PR(U, V) denote the path from u to vin the red partition, and PB(U, V) denote the path from u to vin the blue partition. Referring to Fig. 3, there may be seen an example of such red 302 and blue 304 partitions for the graph presented in Fig. 2 at 102. The red 302 and blue 304 partitions satisfy the following property.
[062] PROPERTY 1. (a) For every 2-reachable node u e V- {r} it holds that any path PR(T, U) from r to u in GR is node disjoint from any path PB(T,U) from r to u in GB. (b) For every 1-reachable node u e V— {r} it holds that any path PR(T,U) from to iz in 6¾ may share only cut nodes and cut links with path PB(T, U) from rto u in GB.
[063] Consider now, a multicast connection request Jl with root node r and a set of destination nodes D cz V— {r}. Given the above red and blue partitions, one can construct a P2MP LSP for M in the blue and red partitions. The trees for these P2MP LSPs can be either shortest path trees or Steiner trees, or based on any other mechanism. There are no constraints imposed on the tree construction mechanism within a partition. For the sake of simplicity, the shortest path tree algorithm is used in all illustrative examples in this disclosure. In any case, Property 1 implies that the two trees form an RMT pair if all the nodes in D are 2- reachable from r. In the case where some destinations are only 1- reachable, some cut links and nodes may be shared by the two trees. Notice that, for destination nodes that are only 1-reachable, no scheme can offer any protection against the failure of cut links and nodes. Referring to Fig. 4 there may be seen the two RMTs of a multicast connection sourced at node r with destination nodes D = {c, e, g, j, b). At 402 may be seen the Red RMT, and at 404 the Blue RMT. At 406 the conjoined graph demonstrates that the two RMTs indeed induce two node disjoint paths to every destination node wherein the dashed links of 406 represent the Blue partition and the solid links the Red partition. While such a partitioning could be done on a per connection basis, due to implementation practicality considerations, a single partitioning is preferred for all multicast connections rooted at r, independent of their set of destination nodes.
[064] Given the above partitioning scheme, when a connection setup request arrives at node r, r computes the trees for the blue and red P2MP LSPs and performs setup signaling according to the supported signaling mechanisms (for example, IETF standard procedures). The destination nodes would need to be provisioned with information to facilitate recognition that these two P2MP LSPs form an RMT pair being used for protection. Such a feature is straightforward to implement. As suggested earlier, a mechanism needs to be in place for the root and a destination node to assist connectivity verification through the P2MP LSP connecting them.
[065] RMT Update for topology changes
[066] Any protection scheme for MPLS multicast must also be flexible enough to support dynamic changes in topology with little or no disruption to the existing connections. In the disclosed method, this translates into ensuring that topology changes induce little or no changes to the existing RMT pairs. Recall that, for a given root node r, there was created logical blue and red partitions of the network. Topology changes may affect a given RMT pair in one of the following ways: a) all the destination nodes continue to be reachable in both the blue and red trees, b) one or more destination nodes is not reachable from r in one of the two trees, and c) one or more destinations is unreachable in both the blue and red trees. For a) and b), unless further topology changes happen, there is no service disruption for the MPLS connection and therefore it may be acceptable to take no further immediate action. For c), however, immediate action may need to be taken depending on the service restoration requirements for the affected destination(s). In the event that there are RMTs for which one or more destinations become unreachable from r in both the blue and red partitions, but such destinations are still reachable from r in the overall graph G, the method uses a repartitioning method that is described in detail below. The repartitioning is done is such a manner that only a small number of links need to change their color from blue to red or from red to blue. After such a repartitioning is performed, the following cases are considered for each individual RMT pair rooted at r.
[067] Case 1· The RMT is not impacted by the topology change. All the nodes and links of the RMT are still active and none of the links have changed their color. In such case, nothing needs to be done for this RMT.
[068] Case II- All the RMT nodes and links are active but some links changed their color. Such an anomaly, by itself, does not have any impact on the protection capability for such RMTs. However, if new leaves are added to such an RMT, while protection is not compromised as long as there are paths to this new leaf in both the current red and blue partitions, it may be possible that the bandwidth usage on some links can be inefficient. This would be the case when a previously blue (red) link is used in the red (blue) partition for the new leaf. It is suggested, therefore, that new leaves may only be added to such RMTs after this anomaly is fixed by rerouting the paths of the trees that have mixed colors according to the current partitioning. Unless there is an outstanding request to add a new destination with immediate effect, such rerouting does not need to be performed immediately after the repartitioning and can be paced in accordance with the computing resources available at the network nodes. To ensure that during the reroute process the connection is fault resilient using a make-before-break approach is suggested for each modified RMT path. If a new leaf needs to be added to such connection, the RMTs are rerouted before the leaf is added.
[069] Case III: The topology change affects the RMT. This means that some destination nodes are not reachable by the RMT and therefore they are no longer protected. In such case those RMT paths are rerouted to the affected destination nodes in each of the two partitions. Similar to case II, a make-before-break approach is suggested.
[070] RMT Update for Add/Del of Destination Nodes
[071] As with topology changes, any protection scheme must be robust in the presence of dynamic updates to the set of destination nodes of a multicast connection. In the present method, recall that the initial partitioning method partitions the network independent of the set of destination nodes for any connections rooted at r. Therefore, Property 1 is satisfied for any set of destination nodes, even if it is updated dynamically to include or delete nodes. Adding or deleting destination nodes is simply applying standard procedures used in existing MPLS networks within each of the blue and red partitions. Also note that, even in the presence of topology changes, adding and deleting destinations is straightforward due to the property of the repartitioning method that ensures only a small number of links with color changes, and the suggested restriction that no new destinations be added to RMTs that have mixed color RMT paths.
[072] Referring to Fig. 5 there may be seen the effects of adding node d as a new destination and removing node ^ from the destination set. The Red RMT 502 and the Blue RMT 504 illustrate the two RMTs after the join and leave operations, while the conjoined graph 506 in which the Blue RMT has dashed links and the Red RMT has solid links, shows that the two resulting trees are two valid RMTs. In this example node dis already included in the blue tree, thus the scheme adds only the link (c,d) to the blue tree. For the leave operation node gis conceptually a branching node of the red tree since it also feeds node Therefore no link is removed from the red tree, and only link (d,g)is removed from the blue tree.
[073] INITIAL PARTITIONING METHOD
[074] Consider a directed graph
Figure imgf000021_0001
a root node r. The objective of the initial partitioning method is to build two subgraphs GB(V,EB) and GR(V,ER) that correspond to the blue and red partitions satisfying Property 1. The proposed method contains two phases:
[075] Phase 1· Node Ordering - This phase creates an ordered list L of nodes such that every non-root node has at least one preceding incoming neighbor and at least one succeeding incoming neighbor in L.
[076] Phase II- Construction of Two Subgraphs - This phase utilizes the node ordering from phase I to construct the red and blue subgraphs satisfying Property 1 and ensuring that every non-root node is reachable in both the subgraphs.
[077] These two phases are elaborated in the following sections. To begin with, in the method description, it is assumed that the input graph Gis strong 2-reachable. This assumption is relaxed in a following section. In a subsequent section, there is a discussion of the correctness and complexity aspects of the method.
[078] The Node Ordering Method
[079] DEFINITION 1. (A COMPLETE NODE ARRANGEMENT): Given a directed graph G(V,E) with a root node r. Let L be an ordered list of the nodes where the first and last elements in the list represent the root node r and every other element in the list uniquely represents one of the non- root nodes. The list L is called a complete node arrangement if every non- root node has incoming neighbors both before and after it in the list L.
[080] It will later be shown that a complete node arrangement is sufficient for constructing the two subgraphs that satisfy Property 1. The list construction process contains two steps. In the first step a skeleton list
L - {Ul - {r},U2,U3,- - - ,Um - {r}} is calculated that provides only a partial order of the nodes. Then, at the second step, the order of the nodes is refined in each set Uj.
[081] Consider a collection L - {Ul - {r},U2,U3,- - - ,Um - {r}} with two or more node sets that contains all the graph nodes. The first and the last sets Ui and Um contain only the root node r (notice that only the root node is represented twice in the list Ώ) and every other set Uj contains one or more non-root nodes. Each set Uj represents a directed subtree Tv in G rooted at some node v. By root(Uj)= vis denoted the root node vol the set. Uj is also referred to as the set root node. Since every non-root node is included in a single set Uj, the root node of a set is used as a unique identification of its set. By root(u)=vis denoted the root node of the set Uj containing u.
[082] A set L of subtrees is termed a skeleton list if it satisfies a partial node arrangement such that for every set Uj, 1 < j < m, its root root(Uj ) has at least one incoming neighbor in a set before Uj in L and at least one incoming neighbor in a set after Uj in L. Recall that if every set Uj <≡ L contains a single node then L defines a complete node arrangement. Following is presented an iterative process for calculating a complete node arrangement. It starts with an initialized skeleton list L and at each iteration it increases the number of sets in L while preserving partial node arrangement.
[083] The Skeleton List Initialization Step: The method starts by calculating a spanning tree . rooted at r. The calculated tree can be any spanning tree, however, for calculating low cost RMTs the method calculates a minimal cost spanning tree. Then, it constructs a list with |Nr| + 2 sets, where Nr denotes the outgoing neighbors of in the tree T. The first and last sets contain only the root node r. For every node v≡ Nr the method creates a set U 2 < y'≤|Nr| + l that represents the subtree Tv of T rooted at the node v. Notice that the list thus created is a skeleton list that satisfies the partial node arrangement since the first and the last sets contain rand _ris an incoming neighbor of the root of every set Uj.
[084] The skeleton List Refinement Step: The method then iteratively finds a link (u, w)≡E between two nodes in different sets, such that w is not a set root node, i.e., root(w)≠ root(u) and root(w)≠ w. While any link that satisfies this condition can be selected, for producing low cost RMTs, the preferred method is to select the one with minimal cost. Let v = root(w) he the root of the set Uv containing node w. The method removes the subtree Tw from the tree Tv and creates a new set Uw that contains the nodes in w. In addition, for every node x2Tw the method sets rootfe) = w. Let Uu be the set identified by root(u). If Uu appears before v in the skeleton list, then Uw is inserted just before Uv in the skeleton list L .
Otherwise, Uw is inserted immediately after Uv in L . This process ends when every set contains a single node or the method cannot find such a link (u,w). It is later shown that if the graph G contains cut links and nodes, the refinement process may end before a complete ordering can be determined and describe our solution to dealing with cut nodes and links. [085] Fig. 6 illustrates the intermediate skeleton-lists calculated by the node ordering method for the input graph shown in Fig. 2 at 202. Fig. 6 illustrates the spanning tree calculated by the method and the corresponding initial skeleton list is given in Fig. 7 at 700. At 702 and 704 are illustrated the skeleton lists obtained after one and four iterations respectively. Fig. 8 at 800 illustrates the complete node arrangement defined by the skeleton list with the Blue links at the top and the Red links at the bottom.
[086] The Subgraphs Construction Phase
[087] After constructing a list L that represents a complete node arrangement the method computes red and blue graphs, denoted by GR(V,ER) and GB(V,EB) respectively, that satisfy Property 1. Each one of subgraphs contains all nodes while the subgraphs contain disjoint set of links. The link set ER of the red graph comprises every link (u,v) such that u≠r and the set root(u) appears before the set root(v)vn. L. Similarly, the link set EB of the blue tree contains every link (u,v) swcn that u≠r and the set root(u) appears after the set root(v) in L. Links in ER will be referred to as red links and links in j¾as blue links.
[088] Special treatment is given to the outgoing links of r. Since r is represented by both the first and the last sets in L, every outgoing link (r,u) of r may be included in either one the subgraphs and therefore will have both red and blue outgoing links. However, note that this may not be the case for one or more outgoing neighbors of r. Therefore, it is necessary to verify that the two subgraphs induce two node disjoint paths to every outgoing neighbor u e Nr of r. Such a requirement is preserved only if an outgoing neighbor u e Nr of r has another non-root incoming neighbor with a different colored link. The following is performed to ensure that this requirement is preserved. If all the incoming non-root neighbors of node u appear after node iz in L, then the link (r,u)is colored red and added to the red graph. If all the incoming non-source neighbors of node u appear before node u in L, then the link (r,u) \s colored blue and added to the set EB of the blue graph. Else if node u does not have any other incoming neighbor beside then link (r,u)is a cut link and it is added to both EB and EB- Otherwise, the link (r,u) may be added to one of the subgraphs based on some other criteria, such as balancing the number of red and blue outgoing links from the root node r.
[089] Consider the complete node arrangement calculated in Fig. 6 at 600. Fig. 8 at 800 illustrates the link coloring that results from this arrangement with the blue links on top and the red links at the bottom. In this case, the links (r,a) and (r,0 must be red, while the links (τ,ο)&Άά (r,b) vist be blue.
[090] Handling Cut Nodes and Links
[091] The method is extended in the discussion that follows to deal with any directed graph G(V,E) including instances that are not 2-reachable and may contain cut nodes and links. Recall that in the previous subsection there has already been considered the case that an outgoing link of r is also a cut link and it was inserted into both the red and blue subgraphs. Now, consider a cut link (u,v) where u≠r. From this it follows that the node u itself must be a cut node. Thus, the method for cut nodes addresses cut links as well.
[092] The method is based on detecting cut nodes and using a node duplication technique to produce a revised input graph that is 2-reachable. After this modification, the method may provide only relaxed RMTs even for some scenarios where the destination nodes are 2-reachable from r. This is aligned with Theorem 1 which states that in such settings, finding strict RMTs is NP-hard. Since the cut nodes are not known in advance, Property 2 can be used to detect them at the end of the node ordering process, presented earlier.
[093] PROPERTY 2. Let L be the skeleton list calculated by the node ordering method. If L contains a set Uj with two or more nodes that cannot be refined, then the root node root(Uj)=v of the set Uj is a cut node of ir and the other nodes in are reachable only through node v.
[094] For each detected cut node vin a set Uj, the method performs node duplication for obtaining a revised graph in which v is not a cut node. First, it defines another node v with the same incoming neighbors as node v and the outgoing neighbors of v are the outgoing neighbors of v in the set Uj. Then, the method removes any incoming link (w,v) οΐ node and node v such that its tail wis in the set Uj. This operation eliminates loops in the final red and blue subgraphs. Finally, it creates a new set Uk - {v} with just the node v and it inserts Uk in L just after the set Uj. Notice that, after this modification, node v is no longer a cut node since every node that was reachable only via node v is now also reachable through node v . After performing node duplication for every detected cut node v, the method resumes the iterative skeleton list refinement process as before until every set contains a single node or additional cut nodes are detected. In the latter case, the node duplication process is repeated until every set in L contains a single node and a complete node arrangement is obtained.
[095] Referring to Figs. 9 and 10, there may be seen an illustration of the revised method for handling cut nodes and cut links. Consider the input graph given in Fig. 1 at 102. In this graph node b is a cut node and all the out going links of root node r are cut links. Fig. 9 presents the initial spanning tree 900 calculated for this graph and the initial skeleton list is given at 902. At 904 is given the obtained skeleton list after the refinement process. Since nodes b and d are still included in the same set, it results that b (the root of the set {b,d is a cut node. At 906 is given the final node arrangement after duplicating node b and invoking the skeleton list refinement process again. Note that the resulting list presents a complete node arrangement in which cut nodes are represented twice in the list.
[096] After constructing a list L that represents a complete node arrangement, the method colors each one of the network links as described in the previous section wherein the subgraphs construction phase was disclosed. In the case of a cut node v, special treatment is given to each one of its out going link (v,u) in G. Recall that node vis represented in L by two nodes denoted by v and v , thus an outgoing neighbor u of node v may be located between node v and node v in the set L. In such a situation, the link (v,u) and (v,u) in the revised graph are colored with different colors and therefore the actual link (v, u) is added to both the red and the blue subgraphs.
[097] Consider the node arrangement and link coloring illustrated in Fig. 10 at 1000. In this example the links (r, a) , (r, b), [r,b), and (r, c) are detected as cut links and are colored with both red and blue. In addition, the actual link (b, d) is represented in the revised graph by both the links
(b, d) and {b, d^. These two links are colored with both red and blue. Thus, the link (b, d) is associated with two colors. Finally, in Fig. 10 the calculated red 1002 and blue 1004 graphs are presented.
[098] RE-PARTITIONING METHOD
[099] In this section the method is extended to address topology changes. In the event of a topology change (any number of new network elements or component failures) minimal modifications are performed to the red and blue subgraphs for preserving Property 1. The modifications are based on the observation that the actual locations of the nodes in a complete node arrangement L are not critical for calculating the red and blue subgraph. In practice, the topologies of the subgraphs are determined by the placement of each node relative to the locations of its incoming and outgoing neighbors in L.
[0100] The method works as follows^ Initially, it detects a limited set of nodes, denoted by Z, that their placement in the revised complete node arrangement may be affected. Then, by utilizing a limited variant of the node ordering process it computes a complete node arrangement as similar as possible to the original one and modifies the red and blue graphs accordingly.
[0101] Detecting affected nodes
[0102] Following is described an iterative process that determines a set Z of nodes that may be affected by the topology changes. Conceptually, the set ^contains every node in u <≡ V that is not reachable in one or both of the subgraphs, or every path from the root node r to u in one of the subgraphs which traverses through other nodes from Z
[0103] The method initializes the set ^with the following three node sets:
[0104] a) All the new nodes that have been added to the networks.
b) Every node that one of its incoming link has failed and as a result it does not have both red and blue incoming links.
c) Every 1-reachable node with new incoming neighbors.
[0105] Recall that 1-reachable nodes are detected during the skeleton list refinement process.
[0106] After initializing the set Z, the method iteratively identifies the other nodes that may be affected by the topology changes. For every node u e Z it removes its outgoing links from G and for every link (u, v) such that its head v g Z , it checks whether v still has both red and blue incoming links. Otherwise it adds to the set Z The process terminates when all the outgoing neighbors of all the nodes in Zhave been checked.
[0107] Recalculating the arrangement of affected nodes
[0108] Next the method recalculates the list L. Essentially, it calculates a new skeleton list L from the list such that the location of every node u e V -Z in the set L is preserved relative to its incoming neighbors. For determining the location of the nodes in Z, the method invokes the skeleton list refinement process presented in the node ordering method section that produces a revised complete node arrangement.
[0109] Like the initialization step in the node ordering method section, the method starts with calculating a directed spanning tree Tr rooted at node r, such that no node in the set V - Z is a descendent of a node in Z. From the definition of Z such trees exist and can be calculated, for instance, by assigning a cost zero to all the incoming links of the nodes in V - Z and calculating a shortest path tree. Next, the method uses the existing complete node arrangement L to compute a new skeleton list L . First, it removes from L the nodes in Z. Thus, the resulting list L contains only nodes in V - Z that preserve their relative order in L. Then, for every node u ^ V - Z that has children in the tree Tr from the set Z, the method constructs the subtree Tu rooted at node u and contains besides u only nodes in Z. This subtree is associated with the set root(u) that is already included in I . At the end of this step, L contains all the networks nodes where every node in Z is associated with a set Uj <≡ L rooted by some node u e V - Z . [0110] Next the method invokes the skeleton list refinement process. Since, this step needs to find only the arrangement of the nodes in Zvn the skeleton list, only the incoming links of the nodes in need to be considered for the order refinement. Finally, the method reconstructs the red and blue graphs as described in the subgraphs construction phase.
[0111] As a concluding example, following is an illustration of the reconstruction of the red and blue subgraphs when the residual network is not strong 2-reachable. Consider the input graph shown in Fig. 2 at 202 with red and blue graphs as illustrated in Fig. 3 and a complete node arrangement as depicted in Fig. 8. Now, assume a failure of node a. In this case, the resulting graph is not 2-reachable since node gis a cut node and the link (r,b) is a cut link. Here, the set of affected nodes Z = {j, h) .
Note that although nodes /and gaxe outgoing neighbors of node i they are not included in ^ since they still have both red and blue ingress links.
[0112] Fig. 11 at 1100 shows the calculated spanning tree while Fig. 11 at 1102 and 1104 depict the initial and final skeleton list. Since node g \$ a cut node, it is duplicated and appears twice in the list. At Fig. 12 the modified red 1202 and blue 1204 graphs are shown. Notice that the links (g ) and (r,b) are included in both graphs since nodes j and h are 1- reachable but not 2-reachable.
[0113] SIMULATION SETUP & RESULTS
[0114] The performance of the RMT based protection scheme was evaluated against different variants of the FRR scheme on data from publicly available network topologies representing major real world networks. All the considered networks were 2-connected where each network node is 2-reachable from every other node. In each simulation run, information was gathered about the bandwidth used for a primary as well as the detour/standby P2MP LSP with a randomly specified root and set of destination nodes.
[0115] The simulation results showed that the total bandwidth consumption and the total weight of the RMT solution are significantly lower than those of all the FRR variants.
[0116] Results for the weight ratio metric were observed to be similar to the one presented for the bandwidth ratio metric. This implies that that the RMT-based method not only consumes significantly less bandwidth than FRR, but also efficiently utilizes low weight links for keeping the total weight of the RMTs as low as possible. Note that the RMT scheme, which offers protection against both link and node failures, outperforms even the FRR Link Only (FRR-LO) scheme, which only provides protection against link failures.
[0117] Moreover, the simulations showed that the RMT scheme does not produce any packet duplication. Also, it was observed that RMT outperforms the other schemes even in the case of a single destination node. Overall, the higher the number of destination nodes, the better the RMT method performs compared to FRR.
[0118] By way of conclusion, there has been presented an RMT based protection scheme for multicast connections in MPLS networks. The scheme employs an efficient method for logically partitioning the network topology and uses the two resulting partitions in such a manner that independently routed P2MP LSPs within each partition, for the same root node and a set of destinations, for an RMT pair. It was shown that such partitioning may only need to be performed infrequently when substantial changes that impact reachability occur. This, coupled with the fact that the complexity of the partitioning scheme is comparable to that of standard shortest path tree computation schemes indicates that the scheme can be easily implemented on a network node. There was also presented a mechanism for repartitioning that minimizes the number of links that need to change color. Such a repartitioning scheme can significantly reduce the impact of topology changes on existing RMTs.
[0119] Via simulation it was demonstrated that the scheme substantially outperforms various MPLS FRR schemes in terms of bandwidth usage and also avoids packet duplication issues. Even in the case where FRR is used for only link protection, the scheme offers better performance and also provides protection against both link and node failures.
[0120] The present invention can be embodied in the form of methods and apparatuses for practicing those methods. The present invention can also be embodied in the form of program code embodied in tangible media, such as magnetic recording media, optical recording media, solid state memory, floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of program code, for example, whether stored in a storage medium or loaded into and/or executed by a machine, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. When implemented on a general-purpose processor, the program code segments combine with the processor to provide a unique device that operates analogously to specific logic circuits.
[0121] It will be further understood that various changes in the details, materials, and arrangements of the parts which have been described and illustrated in order to explain the nature of this invention may be made by those skilled in the art without departing from the scope of the invention as expressed in the following claims.
[0122] It should be understood that the steps of the exemplary methods set forth herein are not necessarily required to be performed in the order described, and the order of the steps of such methods should be understood to be merely exemplary. Likewise, additional steps may be included in such methods, and certain steps may be omitted or combined, in methods consistent with various embodiments of the present invention.
[0123] Although the elements in the following method claims, if any, are recited in a particular sequence with corresponding labeling, unless the claim recitations otherwise imply a particular sequence for implementing some or all of those elements, those elements are not necessarily intended to be limited to being implemented in that particular sequence.
[0124] Reference herein to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments necessarily mutually exclusive of other embodiments. The same applies to the term "implementation." Numerous modifications, variations and adaptations may be made to the embodiment of the invention described above without departing from the scope of the invention, which is defined in the claims.

Claims

WHAT IS CLAIMED IS:
1. A method for providing protection for a MPLS multicast connection request for a root node and a set of destination nodes in a packet switched network having network nodes and communication links connecting said network nodes, said method comprising:
constructing a pair of Redundant Multicast Trees, wherein the first Redundant Multicast Tree of said pair of Redundant Multicast Trees is rooted at said root node and connects to all destination nodes in said set of destination nodes, and wherein the second Redundant Multicast Tree of said pair of Redundant Multicast Trees is rooted at said root node and connects to all destination nodes in said set of destination nodes!
broadcasting multicast traffic from said root node to said set of destination nodes over the first Redundant Multicast Tree during normal operation! and
broadcasting multicast traffic from said root node to said set of destination nodes over the second Redundant Multicast Tree during fault operation.
2. The method of claim 1, further comprising:
broadcasting multicast traffic from said root node to said set of destination nodes over the second Redundant Multicast Tree during normal operation.
3. The method of claim 1, wherein said fault operation comprises a failure of a communication link of said communication links.
4. The method of claim 1, wherein said fault operation comprises a failure of a network node of said network nodes.
5. A method for constructing a pair of Redundant Multicast Trees for a MPLS multicast connection request for a root node and a set of destination nodes in a packet switched network having network nodes and communication links connecting said network nodes, wherein said packet switched network can be represented by a graph as constructed from said root node, said graph having vertices comprising said network nodes, and said graph having directed edges comprising said communication links, said method comprising:
partitioning said packet switched network into a first partition and a second partition, wherein each partition consists of all of the network nodes of said packet switched network, each partition contains a subset of said communication links so as to form an acyclic graph of said packet switched network, and said first partition and said second partition have only links in common of said graph of said packet switched network from the group of links consisting of cut links and links to cut nodes!
constructing a first spanning tree connecting said root node and said set of destination nodes in said first partition!
constructing a second spanning tree connecting said root node and said set of destination nodes in said second partition!
provisioning said set of destination nodes with said first spanning tree and said second spanning tree as said pair of Redundant Multicast Trees! and
updating said first and second partitions in the event of a change to the topology of said packet switched network.
6. The method of claim 5, wherein change to said topology of said packet switched network comprises either deletion or addition of a network node.
7. The method of claim 5, wherein change to said topology of said packet switched network comprises the failure of a communication link of said packet switched network which results in a network node lacking an incoming link in one of said first and second partitions.
8. The method of claim 5, further comprising:
creating an ordered list of network nodes such that every non-root node has at least one preceding incoming neighbour node and at least one succeeding incoming neighbour node in said ordered list;
providing a subset of communication links common to said first and second set of communication links wherein said subset of common links consists of cut links and links to cut nodes of said graph;
updating said first and second partitions in the event of a change to the topology of said packet switched network.
formulating a pair of first and second subgraphs, wherein each of said subgraphs contains all network nodes, wherein said first subgraph comprises a first set of communication links and said second subgraph comprises a second set of communication links, said first set of communication links is disjoint to said second set of communication links, said first subgraph corresponding to said first partition and said second subgraph corresponding to said second partition.
9. The method of claim 5, wherein said first spanning tree comprises a shortest path tree.
10. The method of claim 5, wherein said first spanning tree comprises a Steiner tree.
PCT/US2010/057703 2009-12-31 2010-11-23 Efficient protection scheme for mpls multicast WO2011081742A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020147018006A KR20140093746A (en) 2009-12-31 2010-11-23 Efficient protection scheme for mpls multicast
CN201080059954XA CN102783096A (en) 2009-12-31 2010-11-23 Efficient protection scheme for MPLS multicast
EP10795496A EP2520051A1 (en) 2009-12-31 2010-11-23 Efficient protection scheme for mpls multicast
KR1020127016898A KR101442363B1 (en) 2009-12-31 2010-11-23 Efficient protection scheme for mpls multicast
JP2012547082A JP5662476B2 (en) 2009-12-31 2010-11-23 Efficient protection scheme for MPLS multicast

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/650,752 2009-12-31
US12/650,752 US8634289B2 (en) 2009-12-31 2009-12-31 Efficient protection scheme for MPLS multicast

Publications (1)

Publication Number Publication Date
WO2011081742A1 true WO2011081742A1 (en) 2011-07-07

Family

ID=43589967

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2010/057703 WO2011081742A1 (en) 2009-12-31 2010-11-23 Efficient protection scheme for mpls multicast

Country Status (6)

Country Link
US (1) US8634289B2 (en)
EP (1) EP2520051A1 (en)
JP (1) JP5662476B2 (en)
KR (2) KR20140093746A (en)
CN (1) CN102783096A (en)
WO (1) WO2011081742A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102395131A (en) * 2011-10-10 2012-03-28 西安交通大学 Non-fullness complete-non-correlation double-tree traversal protection method in mesh network
CN104509044A (en) * 2012-06-01 2015-04-08 瑞典爱立信有限公司 Enhancements of the protocol independent multicast (PIM) fast re-route methodology with downstream notification packets

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8451717B2 (en) * 2010-07-30 2013-05-28 Alcatel Lucent Method and apparatus for rapid switchover from primary to standby multicast trees
US8386457B2 (en) * 2011-06-22 2013-02-26 International Business Machines Corporation Using a dynamically-generated content-level newsworthiness rating to provide content recommendations
US9083636B2 (en) * 2012-02-13 2015-07-14 Cisco Technology, Inc. System and method for multipoint label distribution protocol node protection using a targeted session in a network environment
US9270426B1 (en) * 2012-09-11 2016-02-23 Juniper Networks, Inc. Constrained maximally redundant trees for point-to-multipoint LSPs
US9571387B1 (en) * 2012-03-12 2017-02-14 Juniper Networks, Inc. Forwarding using maximally redundant trees
US9118539B2 (en) * 2012-07-30 2015-08-25 Cisco Technology, Inc. Managing grey zones of unreachable nodes in computer networks
CN102917429B (en) * 2012-10-22 2015-09-09 华为技术有限公司 Message transmitting method and device
CN103841013B (en) * 2012-11-21 2017-06-16 新华三技术有限公司 Message forwarding method and equipment in TRILL network
US9407555B2 (en) * 2014-03-31 2016-08-02 Juniper Networks, Inc. Systems and methods for load balancing multicast traffic
US9755737B2 (en) * 2015-10-08 2017-09-05 Ciena Corporation Multi-layer network resiliency systems and methods
US10218644B1 (en) * 2016-09-21 2019-02-26 Apple Inc. Redundant communication path transmission
CN109257195B (en) * 2017-07-12 2021-01-15 华为技术有限公司 Fault processing method and equipment for nodes in cluster
US10554425B2 (en) 2017-07-28 2020-02-04 Juniper Networks, Inc. Maximally redundant trees to redundant multicast source nodes for multicast protection
CN108924055B (en) * 2018-08-23 2019-06-14 北京理工大学 A kind of name data network multi-broadcast routing method based on steiner tree
CN109743250B (en) * 2018-12-07 2020-09-04 华为技术有限公司 Transmission method of multicast message, first network equipment and second network equipment
CN113924761B (en) * 2019-04-05 2023-05-05 谷歌有限责任公司 Cloud network reachability analysis method and system
CN112580828B (en) * 2019-09-30 2023-10-24 北京天诚同创电气有限公司 Method for determining operation and maintenance time and operation and maintenance task allocation system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7546609B2 (en) * 2004-03-12 2009-06-09 Emc Corporation Method and apparatus for determining monitoring locations in distributed systems
JP4459018B2 (en) * 2004-10-28 2010-04-28 富士通株式会社 Node equipment
US7573875B2 (en) * 2006-05-19 2009-08-11 Alcatel Lucent Proactively providing a redundant multicast tree in an internet protocol television (IPTV) network
JP4536690B2 (en) * 2006-08-28 2010-09-01 日本電信電話株式会社 Route calculation method, apparatus and program
US8165031B2 (en) * 2007-10-12 2012-04-24 Rockstar Bidco, LP Multi-point and rooted multi-point protection switching
JP5039639B2 (en) * 2008-06-09 2012-10-03 株式会社日立製作所 Communication device having path protection function and network system using the communication device

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BEJERANO Y ET AL: "Optimal Construction of Redundant Multicast Trees in Directed Graphs", INFOCOM 2009. THE 28TH CONFERENCE ON COMPUTER COMMUNICATIONS. IEEE, IEEE, PISCATAWAY, NJ, USA, 19 April 2009 (2009-04-19), pages 2696 - 2700, XP031469053, ISBN: 978-1-4244-3512-8 *
BEJERANO Y ET AL: "Resilient Multipoint Networks Based on Redundant Trees", 24 August 2009 (2009-08-24), XP002624815, Retrieved from the Internet <URL:http://onlinelibrary.wiley.com/doi/10.1002/bltj.20376/pdf> [retrieved on 20110223] *
HUANG WEILI ET AL: "A Fault-Tolerant Strategy for Multicasting in MPLS Networks", COMPUTER ENGINEERING AND TECHNOLOGY, 2009. ICCET '08. INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 22 January 2009 (2009-01-22), pages 432 - 435, XP031415101, ISBN: 978-1-4244-3334-6, DOI: DOI:10.1109/ICCET.2009.138 *
MURIEL MEDARD ET AL: "Redundant Trees for Preplanned Recovery in Arbitrary Vertex-Redundant or Edge-Redundant Graphs", IEEE / ACM TRANSACTIONS ON NETWORKING, IEEE / ACM, NEW YORK, NY, US, vol. 7, no. 5, 1 October 1999 (1999-10-01), XP011039235, ISSN: 1063-6692 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102395131A (en) * 2011-10-10 2012-03-28 西安交通大学 Non-fullness complete-non-correlation double-tree traversal protection method in mesh network
CN102395131B (en) * 2011-10-10 2014-06-04 西安交通大学 Non-fullness complete-non-correlation double-tree traversal protection method in mesh network
CN104509044A (en) * 2012-06-01 2015-04-08 瑞典爱立信有限公司 Enhancements of the protocol independent multicast (PIM) fast re-route methodology with downstream notification packets

Also Published As

Publication number Publication date
KR101442363B1 (en) 2014-09-17
JP2013516835A (en) 2013-05-13
US8634289B2 (en) 2014-01-21
KR20120089356A (en) 2012-08-09
KR20140093746A (en) 2014-07-28
EP2520051A1 (en) 2012-11-07
CN102783096A (en) 2012-11-14
JP5662476B2 (en) 2015-01-28
US20110158128A1 (en) 2011-06-30

Similar Documents

Publication Publication Date Title
US8634289B2 (en) Efficient protection scheme for MPLS multicast
US9929938B2 (en) Hierarchal label distribution and route installation in a loop-free routing topology using routing arcs at multiple hierarchal levels for ring topologies
Ramos et al. Slickflow: Resilient source routing in data center networks unlocked by openflow
TWI493926B (en) Automated traffic engineering for fat tree networks
JP4778062B2 (en) Provider link state bridging
US9722861B2 (en) Fault-resilient broadcast, multicast, and unicast services
JP6117911B2 (en) Optimization of 3-stage folded CLOS for 802.1AQ
JP5362743B2 (en) Tie break for shortest path determination
US9264243B2 (en) Flooding and multicasting in a loop-free routing topology using routing arcs
US20110134802A1 (en) Determining A Routing Tree For Networks With Different Routing Protocols
CN110944357A (en) Network slicing method and device
US9246794B2 (en) Label distribution and route installation in a loop-free routing topology using routing arcs
JP6141407B2 (en) Split tie breaker for 802.1AQ
US20140126422A1 (en) Resilient interworking of shortest path bridging and ethernet virtual private networks
CN111698152B (en) Fault protection method, node and storage medium
JP5961764B2 (en) Method and apparatus for communication path selection
JP4150043B2 (en) Data transmission device
US9832121B1 (en) Next hop instruction associations for forwarding unit programming within a network device
KR20150121241A (en) Method and apparatus for ip/mpls fast reroute
JP2015520997A (en) Tie break in determining the shortest path
CN113316918A (en) System and method for reducing the size of a flooding topology
Gopalan et al. Fast recovery from link failures in ethernet networks
Naidu et al. Fast Recovery from Link Failures in Ethernet Networks
Mamede et al. BOUQUET–An Algorithm to Reduce Data-Plane Forwarding State in Multi-Path Routing Environments
Jin et al. Self-Protected Spanning Tree Based Recovery Scheme to Protect against Single Failure

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080059954.X

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10795496

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20127016898

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2012547082

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2010795496

Country of ref document: EP