260 likes | 477 Views
Protecting multicast sessions against single fiber failure in optical WDM networks: A Survey. 施清棋 2010-11-03. Application Demands. High-bandwidth real-time streams ---- video conference, HDTV, on-line gaming, O-SAN, etc. Protection and Restoration.
E N D
Protecting multicast sessions against single fiber failure in optical WDM networks: A Survey 施清棋 2010-11-03
Application Demands • High-bandwidth real-time streams ---- video conference, HDTV, on-line gaming, O-SAN, etc
Protection and Restoration • As the capacity of a fiber increases significantly, a fiber cut caused by an accident or a failure of a switch port or a node interface may lead to loss of tremendous amounts of data. • Protection reserves some backup networks resources before failure occuring. • Restoration searches spare resources when failure occurs.
Problem Statement • Given a weighed directed topology G=(V,E), in which each directed link e = (u,v) is assigned a weight ce and a capacity with W wavelengths, we want to satisfy a multicast session D={s,d1,d2…dk} such that the multicast sessions is survivable against any single link failure. Our objective is to minimizing the total resources usage.
Protection Classification • Single sessions • Multiple sessions, static environment • Multiple sessions, dynamic environment • OEO vs. All Optical • ILP formulation vs. Heuristics
Steiner Tree Problem • The Steiner tree problem is superficially similar to the minimum spanning tree problem: given a set V of points (vertices), interconnect them by a network (graph) of shortest length, where the length is the sum of the lengths of all edges. The difference between the Steiner tree problem and the minimum spanning tree problem is that, in the Steiner tree problem, extra intermediate vertices and edges may be added to the graph in order to reduce the length of the spanning tree. These new vertices introduced to decrease the total length of connection are known as Steiner points or Steiner vertices. It has been proved that the resulting connection is a tree, known as the Steiner tree. There may be several Steiner trees for a given set of initial vertices. • Euclidean Steiner tree • Rectilinear Steiner tree • In the general Steiner tree problem (Steiner tree in graphs), we are given an edge-weighted graph G = (V, E, w) and a subset S ⊆ V of required vertices. A Steiner tree is a tree in G that spans all vertices of S.
Steiner tree problem • Nearest Participant First (NPF) O(M|V |2) • Pruned Prim’s Heuristic (PPH) O(|V |2) • Dijkstra’s Shortest Path (DST) O(M|V |2) • ILP
Nearest Participant First (NPF) • 1) start from the source node; • 2) find a destination node that is closest to the current tree; • 3) connect the closest destination node to the closest part of the tree; • 4) repeat until all the destinations are connected in the tree.
Pruned Prim’s Heuristic (PPH) • Prims algorithm is a well known approach of finding the minimum spanning tree with time complexity O(|V |2). • Based on the minimum spanning tree obtained, PPH trims the unwanted branches such that the resulting multicast tree only reaches the given destinations.
Dijkstra’s Shortest Path (DST) • The algorithm DST is straightforward and is actually a special case of NPF by assuming that the source is the only node on the current tree. • Thus, a multicast tree produced by DST always has equivalent or larger cost than what NPF produces.
Heuristic Protection Methods • Link disjoint tree (LDT) • Arc disjoint tree (ADT) • Segment disjoint path (SDP) • Optimal path pair (OPP) • Segment-based protection tree (SPT) • Inter-request sharing (MPSP, ILP)
Link Disjoint Tree (LDT) • Two trees are said to be link disjoint if they do not share any link along their edges. Step 1: Create a primary tree. Step 2: Remove the links along the primary tree. Step 3: Create a backup tree in the partial graph.
Arc Disjoint Tree (ADT) • Two arc-disjoint trees may share a link in opposite directions only. Step 1: Create a primary tree. Step 2: Remove the arcs along the primary tree. Step 3: Create a backup tree in the remaining graph.
Segment Disjoint Path (SDP) • Protect each segment in the primary tree by finding a segment-disjoint path. • A segment is defined as the sequence of edges from the source or any splitting point (on a tree) to a leaf node or to a downstream splitting point. • A destination node is always considered as a segment end node. • Segment-disjoint paths can share their arcs with existing primary-tree arcs or other backup-segment arcs. • First, find primary tree and then find segment disjoint path.
Segment Disjoint Path (SDP) Step 1: Create a primary tree. Step 2: Identify the primary segments on the primary tree. Step 3:Make cost=0 for the arcs along the primary tree. Step 4: For each primary segment, repeat Steps 5 through 8 Step 5: Remove the link along the primary segment. Step 6: Create a backup segment arc-disjoint to the primary segment. Step 7: Update cost = 0 for already-found backup segments. Step 8: Recover the links along the primary segment.
Optimal Path Pair (OPP) • Two link-disjoint paths from source node to a destination node are a path pair, and a path pair with least cost in the network will be called an optimal path pair (OPP). Step 1: For every destination node of the session, repeat Steps 2 and 3. Step 2: Find an optimal path pair between the source and destination node. Step 3: Update cost=0 for already-found optimal path pairs.
Segment-based Protection Tree (SPT) • SPT scheme consists of two phases. The first phase is multicast tree construction, which finds a primary light-tree that delivers data from the source to all the destinations with the minimum cost. • Each tree is decomposed into a number of segments. For each segment of the tree, the SPT scheme establishes another multicast tree to protect it, called ”protection tree”. A protection tree is generated by running both NPF and PPH and selecting the one with the less network cost.
Inter-request sharing (MPSP) • Spanning path (SP): Let M denote the set of leaves in a multicast. We call the path on a multicast tree from a node in M to any other node in M a spanning path. • For a given spanning path SP, there may be a backup path BP for it. • Residual capacity (denoted as Rb), which is the link capacity that can be reserved as either working or spare capacity. • Spare capacity (denoted as Bb), which is the link capacity reserved by some backup paths.Bbabe the additional backup bandwidth needed on link b in order to use it as a part of a backup path for the given spanning path to traverse link a. • Working capacity, which is the link capacity already taken by some working path
Inter-request sharing (MPSP) • With the presence of the given spanning path SP, for any link a in SP, the spare capacity along link b can be further categorized into the following two types: • 1) Non-sharable spare capacity (denoted as Sba), which is the link capacity that has been reserved by some other BPs, and is not sharable to the BP that is used to protect link a. • 2) Sharable spare capacity, which is the link capacity that has been reserved by some other BPs, and is sharable to the BP that is used to protect link a. Since the total spare capacity is Bb and the non-sharable spare capacity is Sba, the sharable spare capacity is Bb – Sba.
Inter-request sharing (ILP) • A topology G = (V,E) consisting of a weighted directed graph. Each link is assigned a weight (cmn between nodes m and n) to represent the cost of moving traffic from one node to the other. • Nodes are equipped with multicast-capable opaque cross-connects which convert the signal from optical to electrical to optical (OEO) domain, and hence allow full wavelength conversion. • A batch of b multicast sessions.
Inter-request sharing (ILP) • For each multicast session, compute a minimum-cost primary tree using an Integer Linear Program (ILP). • if edge is on primary tree. Otherwise, . if edge carries traffic to destination , otherwise, . • For each destination , determine a backup path , which is link-disjoint to . • For each cut on link ( and are node indices between which a failure occurs), determine the unreachable destination nodes , and assign if an idle-backup edge of tree i on becomes active for any destination node . • For every edge , determine the maximum number of idle-backup edges () required for a failure on any link in the network. • Optimize the cost of idle-backup edges using a mathematical formulation.
Related Topics • Physical impairment aware • Traffic grooming • Shared isk link group (SRLG) • Holding time aware • Availability • P-cycle • Network coding
Referrences [1] N. K. Singhal, L. H. Sahasrabuddhe, and B. Mukherjee, ”Provisioning of survivable multicast sessions against single link failures in optical WDM mesh networks”, J. Lightwave Technol, vol. 21, pp. 2587-2594, 2003. [2] H. Luo, L. Li, H. Yu and S. Wang, ”Achieving shared protection for dynamic multicast sessions in survivable mesh WDM networks”, IEEE J. on Sel. Area in Commun., Vol. 25, No. 9, Dec. 2007. [3] N. K. Singhal, C. Ou, and B. Mukherjee, ”Cross-sharing vs. self-sharing trees for protecting multicast sessions in mesh networks,”Computer Networks., vol. 50, no. 2, pp. 200-206, 2006. [4] L. Long, and A. E. Kamal, “Tree-based protection of multicast services in WDM mesh networks”, IEEE Globecom 2009. [5] http://en.wikipedia.org/wiki/Steiner_tree_problem [6] N. Singhal and B. Mukherjee, ”Protecting multicast sessions in WDM optical mesh network,” IEEE/OSA J. Lightwave Technol., vol. 21, no. 4, pp. 884-892, April 2003.