Multicast Routing 2

download Multicast Routing 2

of 63

Transcript of Multicast Routing 2

  • 8/12/2019 Multicast Routing 2

    1/63

    Multicast Routing

    Algorithms

  • 8/12/2019 Multicast Routing 2

    2/63

    Multicast Routing Algorithms 2

    Outline

    Introduction to Multi-point Communication

    Three approaches to Multi-cast Routing

    Steiner Tree Heuristics The MZQ algo

    The SCTF algo

    The Virtual Trunk algo for dynamic routing

    The BSMA algo.

    The KPP algo

  • 8/12/2019 Multicast Routing 2

    3/63

    Multicast Routing Algorithms 3

    Multipoint Communication

    Concept: Single Source, Multiple Destinations,

    Duplication only at branch points.

    Present Day Support: Communication satellites.

    e-mail lists, internet news distribution.

    Tomorrow's multimedia applications require:

    efficient use of bandwidth.

    near simultaneous delivery.

  • 8/12/2019 Multicast Routing 2

    4/63

    Multicast Routing Algorithms 4

    Applications: Multicast & Multi-point

    One to Many

    Video Distribution

    Wide scale Information

    dissemination.

    Many to Many

    Video Conferencing

    Computer Supported

    Common Work.

    Distributed interactive

    simulation.

    Large scale distributed

    (super)computing.

    Distributed Games

  • 8/12/2019 Multicast Routing 2

    5/63

    Multicast Routing Algorithms 5

    Semantics of Multi-point Communication

    Reliability

    are different reliability models required for different classes of

    applications?

    Allowing dynamic join and leave session has to be receiver controlled.

    Addressing

    how to address groups at each level?

    Whether and how to identify groups in layers above the IP layer?

    Directionality

    one-to-many or many-to-many.

    are the transmitters a subset of the receivers?

  • 8/12/2019 Multicast Routing 2

    6/63

  • 8/12/2019 Multicast Routing 2

    7/63

    Multicast Routing Algorithms 7

    Multipoint Routing algos

    Performance Metrics

    Quality of a tree is judged according to the following three

    dimensions

    Low Delay:

    End to end delay between source and receiver relative to theshortest unicast path delay.

    Low Cost :

    Cost of total bandwidth consumption

    Cost of tree state info

    Light Traffic Concentration :

    Maximum number of flows on a unidirectional link.

    How evenly the routes are distributed.

  • 8/12/2019 Multicast Routing 2

    8/63

    Multicast Routing Algorithms 8

    Routing Algorithms

    All multi-point services use some kind of a distribution tree.

    Multicast trees can be

    Shared across sources. (shared trees)

    Only one tree needs to be established for each group, which is

    shared by all the sources within that group.

    Source specific. (shortest path trees).

    A shortest path tree rooted at each sending node needs to be

    established

  • 8/12/2019 Multicast Routing 2

    9/63

    Multicast Routing Algorithms 9

    SOURCE BASED MULTIPOINT ROUTING

    The Technique.

    A Source Rooted Shortest Path Tree (SRSPT) algo:

    Computes the shortest paths between the source and each of the

    receivers within the group.

    Eliminates duplicate data copies on common links.

    Maintains one SRSPT per sender.

    Concept:All receiving nodes compute path towards the source

    independently.

    Used by:current day IP multicast protocols as applications are still

    small scale.

    local area.

  • 8/12/2019 Multicast Routing 2

    10/63

  • 8/12/2019 Multicast Routing 2

    11/63

    Multicast Routing Algorithms 11

    SHARED TREE APPROACH OF MULTIPOINT ROUTING

    Characteristics of Steiner Tree based algorithms.

    The Minimum Steiner Tree: The minimal cost subgraph

    spanning a given subset of nodes in a graph.

    The Steiner Tree problem is NP-complete. finding the minimum steiner tree in a graph has exponential cost.

    The tree designed is undirected.

    solution feasible only for symmetric links.

    Monolithic algorithm.

    has to be run each time group membership changes.

  • 8/12/2019 Multicast Routing 2

    12/63

    Multicast Routing Algorithms 12

    SHARED TREE APPROACH OF MULTIPOINT ROUTING

    Characteristics of Steiner Tree based algorithms.

    The SMT defines an absolute limit on the minimum tree

    cost to serve as a reference for gauging the cost-optimality

    of heuristic alternatives.

    The SMT for all members of a multicast group is the same

    irrespective of the role of sender or receiver.

    only one state entry needs to be maintained per group.

    it scales well for larger groups.

    The SMT may have unbounded delay.

    Worst case maximum end-to-end path length of a SMT can be the

    longest acyclic path within the graph.

  • 8/12/2019 Multicast Routing 2

    13/63

    Multicast Routing Algorithms 13

    An example of a minimum Steiner Tree

    AB

    D G

    H

    I

    C

    F

    K J

    E

    4

    5

    4

    5

    2

    2

    1

    6

    4

    1

    5

    1

    1

    32

    3

    Mcast group members

    Relay Nodes

    AG = 6AE = 5AD = 3AC = 3AI = 8

    Shortest Paths from Atotal distribution cost = 16

    *

    AG = 8AE = 5AD = 3AC = 3AI = 8

    KMB Tree paths from Atotal distribution cost=13

  • 8/12/2019 Multicast Routing 2

    14/63

    Multicast Routing Algorithms 14

    SHARED TREE APPROACH OF MULTIPOINT ROUTING

    Characteristics of Core Based Tree algorithms.

    Concept:

    Use the shortest Path Tree rooted at a node in the center of the

    network

    Steps: Choose an optimal center for the group. Multiple cores can be used

    for better fault tolerance & delay characteristics.

    Group members send a join message to the center.

    Intermediate nodes mark interface from which the multicast info is

    received and forward it to the center.

    Choose the center to:

    minimize max/avg delay for all members on the tree.

    Minimize the sum of tree-link costs.

  • 8/12/2019 Multicast Routing 2

    15/63

    Multicast Routing Algorithms 15

    An example of a core based tree.

    {A, B, C} = multi-cast group members

    A

    B

    C

  • 8/12/2019 Multicast Routing 2

    16/63

    Multicast Routing Algorithms 16

    SHARED TREE APPROACH OF MULTIPOINT ROUTING

    Advantages of Core Based Tree algorithms

    Work well with multiple senders/receivers

    state information is stored per group, therefore scalable.

    Receiver based approach.

    Supports dynamic group membership with relativeease.

    Suitable for sparsely distributed receivers.

    SPTs will not have many common links.

    Do not have the unbounded delay problems of SMTs.

    Simple to implement

    used as the basis of PIM and of The CBT interdomain

    Routing Protocol.

  • 8/12/2019 Multicast Routing 2

    17/63

    Multicast Routing Algorithms 17

    SHARED TREE APPROACH OF MULTIPOINT ROUTING

    Disadvantages of Core Based Tree algorithms

    Incur extra delay as compared to the RPF approach.

    Suffer from traffic concentration on links converging

    towards the center.

    Choosing the optimal center is an NP complete problem.

    Locating the center requires complete knowledge of the

    network topology.

  • 8/12/2019 Multicast Routing 2

    18/63

    Multicast Routing Algorithms 18

    MULTIPOINT ROUTING

    TradeOffs between algos

    Any single tree cannot achieve Minimal Cost and Minimal

    Delay both.

    Shortest Path TreesMinimize delay at expense of Cost.

    Steiner Minimal TreesMinimize cost at expense of Delay.

    Between thesespectrum of different types of trees offering

    different tradeoffs.

    Different strategies to place the routes results in different

    degrees of traffic concentration.

  • 8/12/2019 Multicast Routing 2

    19/63

    Multicast Routing Algorithms 19

    MULTIPOINT ROUTING

    Ideals

    Ideally multicast routing algorithms should

    Compute trees with the desired cost and delay

    characteristics.

    Adapt to dynamic group behavior. Algorithm should be incremental (like CBT) instead of

    monolithic (like SMT).

    Maintain properties of the original route.

    Not perturb ongoing data transfers.Be receiver driven.

  • 8/12/2019 Multicast Routing 2

    20/63

    Multicast Routing Algorithms 20

    STEINER TREE HEURISTICS

    Problem Formulation

    Given graph G= (V, E, c)

    V= Set of vertices

    E= Set of edges.

    c= Cost function c: EZ0+ ( EdgesNon Negative Integers)

    Z-Vertices: Set of Terminals (sometimes referred to as M)

    S-Vertices: Set of non-terminals

    TO: Initial tree = {s}.

    Q : Priority Queue of vertices in the tree.

    Vt: Vertices in the tree.

    At: Edges in the tree.

  • 8/12/2019 Multicast Routing 2

    21/63

    Multicast Routing Algorithms 21

    STEINER TREE HEURISTICS

    Pruned Dijkstra Heuristic (PDH)---Networks v17 `92

    Take an arbitrary node as source.

    Find the single source shortest path tree T for graph G

    using Dijkstras algo. Delete from T, all S-vertices of degree 1.

  • 8/12/2019 Multicast Routing 2

    22/63

    Multicast Routing Algorithms 22

    Dijkstras Shortest Path Algorithm.

    Begin.

    vV,

    add v to set U,

    initialize Distance(v) = cost(s, v) Distance(s) = 0; Remove s from U.

    while U is not empty do

    vany member of G with minimum distance.

    Remove v from U. For each neighbor w of v, do

    if member(w, U)

    distance(w) = min(distance(w), cost(w, v) + distance(v) );

    Stop.

  • 8/12/2019 Multicast Routing 2

    23/63

    Multicast Routing Algorithms 23

    STEINER TREE HEURISTICS

    Matsuyamas Minimum Cost Path Heuristic (MPH)

    ---Math Japonica v24

    Begin

    T1: subtree of G containing one arbitrarily chosen Z vertexi .

    k = 1;

    Zk={i}.

    Determine a Z-vertexiZ - Zkclosest to Tk

    Construct a tree Tk+1by adding the minimum cost path from Tk toi

    k = k+1.

    If k < p go-to step2.

    If k = p, output Tpas the solution

    Stop.

  • 8/12/2019 Multicast Routing 2

    24/63

    Multicast Routing Algorithms 24

    Matsuyamas Minimum Cost Path Heuristic

    B

    A

    D E

    F

    C G

    Tree built so far

    Next Terminal

    to be added to the tree

    Idea:For each iteration while M is not empty--Pick up that node from M which closest to the tree built so far.

    Data Structure Needed: All pair shortest paths (Floydd Warshalls algo O(n3)a)

  • 8/12/2019 Multicast Routing 2

    25/63

    Multicast Routing Algorithms 25

    STEINER TREE HEURISTICS

    KMB - A Fast Algo for Steiner Trees.---Acta Informatica 1981

    Output A Stiener Tree Thfor G and the Z-vertices.

    Step 1: Construct a complete directed distance graph G1=(V1,E1,c1) fromG and Z.

    Step 2: Find the minimum spanning tree T1of G1. (pick any to break ties)

    Step3: Construct a subgraph GSof G by replacing each edge in T1by its

    corresponding shortest path in G. (break ties arbitrarily).

    Step 4: Find the minimum spanning tree TSof GS (break ties arbitrarily).

    Step 5: Construct a Steiner tree THfrom TSby deleting edges in TSif

    necessary, so that all the leaves in TH are Steiner points.

    Worst case time complexityO(|S||V|2).

    Costno more than 2(1 - 1/l) *optimal cost

    where l= number of leaves in the steiner tree.

  • 8/12/2019 Multicast Routing 2

    26/63

    Multicast Routing Algorithms 26

    Working of KMB

    A

    C

    D4

    4

    44 4 4

    B

    A

    C

    D4

    4

    4

    B

    A

    B

    C D

    EF

    G

    HI

    10

    1

    1

    2

    9

    8

    1 1

    1/2

    2

    1/2

    1

    B

    C D

    EF

    G

    HI

    1

    1

    2

    1 1

    1/2

    2

    1/2

    1

    A

  • 8/12/2019 Multicast Routing 2

    27/63

    Multicast Routing Algorithms 27

    Working of KMB

    B

    C D

    EF

    G

    HI

    1

    1

    2

    1 1

    1/2

    2

    1/2

    A

    B

    C D

    EF

    I

    1

    1

    2

    1 1

    2

    A

    Destination Nodes

    Intermediate Nodes

  • 8/12/2019 Multicast Routing 2

    28/63

    Multicast Routing Algorithms 28

    Multicast Tree Generation AlgorithmsThe MZQ Algorithm for multicasting in all optical networks

    -- Malli, Zhang, Qiao

    Limited wavelength conversion : every node is capable of converting

    an input wavelength to only a subset of output wavelengths.

    Sparse wavelength conversion : an input wavelength can be converted

    to any output wavelength, but only a few nodes posses this capability.

    Sparse Splitting : only a fraction of nodes can forward as many copies

    as needed, and the rest of the nodes have no splitting capability.

    MZQ assumes there are always enough wavelengths on each link.

    Constructs multi-cast trees based on splitting capability of the nodes.

    Nodes without splitting capability can have at-most one child in the

    tree.

  • 8/12/2019 Multicast Routing 2

    29/63

    Multicast Routing Algorithms 29

    Multicast Tree Generation AlgorithmsThe MZQ Algorithm: Routing

    -- Malli, Zhang, Qiao

    Algorithm maintains three sets of nodes

    V:nodes in the tree through which the tree can grow .

    (nodes with splitting capability).

    V`:nodes in the tree through which the tree cannot grow.(nodes without splitting capability)

    UV: set of Terminals not included in any tree so far.

    Pick that node from UV which is nearest to the tree

    Include as many destinations as possible in one multicastingtree.

    For nodes not included in the preceding tree(s), algorithm called

    recursively to construct another multicasting tree.

  • 8/12/2019 Multicast Routing 2

    30/63

    Multicast Routing Algorithms 30

    Multicast Tree Generation AlgorithmsThe MZQ Algorithm: Wavelength Assignment

    -- Malli, Zhang, Qiao

    PerformanceMetrics: Number of Wavelengths

    Total amount of Bandwidth (Total number of Channels)

    Two counters maintained on each link

    Ihighest wavelength index being used.

    Nnumber of wavelengths being used.

    Unlimited wavelengths on each link.

    First-Fit algorithm used for wavelength assignment.

  • 8/12/2019 Multicast Routing 2

    31/63

    Multicast Routing Algorithms 31

    The MZQ Algorithm

    Multicasting forest in a NSF-NET like network

    1

    2

    3

    4

    9

    7

    5

    8

    6

    Source

    Node with full Splitting Capability

    Node with no splitting capability

  • 8/12/2019 Multicast Routing 2

    32/63

    Multicast Routing Algorithms 32

    Multicast Tree Generation AlgorithmsThe MZQ Algorithm for multicasting in all optical networks

    -- Malli, Zhang, Qiao

    Results:

    The bandwidth savings from using multicasting saturate at

    50%.

    Multicasting reduces number of wavelengths required byas much as 60%.

    Even when the network does not have any nodes that have

    the splitting capability, multicasting reduces the

    bandwidth consumed by 43% to 45%. No more than 75% of the nodes need to have the splitting

    capability to obtain the same effect as having the splitting

    capability in all the nodes.

  • 8/12/2019 Multicast Routing 2

    33/63

    Multicast Routing Algorithms 33

    Multicast Tree Generation AlgorithmsSCTF-Algo (Selective Closest Terminal First)

    S. Ramanathan, ---IEEE Infocom 1996

    Initially Tree T = {source}.

    Repeat until M is empty

    Extend one branch from T to a terminal in M.

    remove that terminal from M. Stop

    Vertices in Tree are maintained as a priority queue with

    priority(source) > priority(terminals) > priority(non-terminals).

    Bin B holds first vertices of the queue.

    Choose the path of least cost from all vertices in B to all

    non-terminals not in the Tree.

  • 8/12/2019 Multicast Routing 2

    34/63

    Multicast Routing Algorithms 34

    Multicast Tree Generation AlgorithmsSCTF-Algo: Formal Description.

    ---IEEE Infocom 1996

    Init Q{s}, Vt{s}, At{ }.

    While M not empty do

    Bfirst min( , |Q| )vertices in Q.

    Initialize PATH to any path from B to M.

    For each vin B do

    for each min M do

    if cost( shortestPath( v, m) < cost (PATH) PATHP.

    Branchsubpath ( w z ) : only wis in Vt.

    Insert vertices in Branch into Q. VtVt{vertices in Branch} , AtAt{edges in Branch}.

    MM { terminals in Branch}.

    Return T.

  • 8/12/2019 Multicast Routing 2

    35/63

    Multicast Routing Algorithms 35

    Multicast Tree Generation AlgorithmsSCTF-Algo: Subsuming three other algorithms

    ---IEEE Infocom 1996

    PDH, MPH, and KMB are special cases of the R-algo.

    = 1. SCTF equivalent to PDH. = |M|+1 & Ignore non-terminals in B.

    SCTF equivalent to KMB.

    = |V|. SCTF equivalent to MPH.

    As

    from 1 to n, Tree_Cost

    , and Running_Time

    . Running_Time linearly.

    Tree_cost very rapidly.

    Low = good operating point.

  • 8/12/2019 Multicast Routing 2

    36/63

    Multicast Routing Algorithms 36

    Multicast Tree Generation AlgorithmsR-Algo. Performance Characteristics

    ---IEEE Infocom 1996

    Running Time of R-Algo : O(m2+ e)

    Assumption: Shortest Paths from every vertex to every

    terminal are available. ( takes O( m. n. log(e) ) time )

    Performance Guarantee

    A= max{ A(I)/OPT(I)}

    Tree cost 2 . m. Optimal_Cost

    m= MAX[u, v] max(cost(u,v), cost(v, u))/ min(cost(u,v), cost(v, u))m = 1 for symmetric graphs.

    A= O (m).

  • 8/12/2019 Multicast Routing 2

    37/63

    Multicast Routing Algorithms 37

    Multicast Tree Generation AlgorithmsFeatures of the SCTF-Algo

    ---IEEE Infocom 1996

    Controlling knob enables use of the SCTF-algo for both

    Delay Optimization. ( = 1) Cost optimization. ( = n)

    Advantageous for MultiMedia applications

    select the right tradeoff & operating point to accommodate the

    differing requirements of voice, video and data.

  • 8/12/2019 Multicast Routing 2

    38/63

    Multicast Routing Algorithms 38

    Multicast Tree Generation AlgorithmsVTDM - A Dynamic Multicast Routing Algorithm

    H.C.Lin & S.C. Lai ---IEEE Infocom 1998

    Problem Formulation..

    Source node s.

    Sequence of requests R = {r1, r2, ... rm}

    Each request rieither adds a destination node to

    or removes a destination from the multicast group.

    The DMRP: Find a sequence of multicast trees

    {Ti, i = 1 .. m} such that certain overall costis minimum.

    This does not allow re-routing of existing connections as

    the sequence of requests proceeds.

  • 8/12/2019 Multicast Routing 2

    39/63

    Multicast Routing Algorithms 39

    Cost Modelling

    w(e, i):Cost of using wavelength ion edge e.

    Infinite if iis not available on edge e.

    cv(p , q):Cost of wavelength conversion at node v, frompto q.

    Infinite if p cannot be converted toq at node v.

    If p = q, then cv(p , q)is zero.

    C(T) = v Tw(p(v), v), (v)) +

    v T-{s}C p(v)((p(v)), (v))

    where p(v) means parent of v in the tree.

  • 8/12/2019 Multicast Routing 2

    40/63

    Multicast Routing Algorithms 40

    The VTDM algo

    Concept of a Virtual Trunk

    ---Infocom 1998

    A virtual trunk is a tree of the underlying graph.

    Spans nodes which have the greatest probability of being a

    part of the multi-casting tree. Used as a template for building the multicasting tree.

    Nodes which have a greater number of shortest paths

    passing through them, have a greater probability of being a

    part of the multi-cast tree. Weight W(vi) of vertex vi= number of shortest paths

    passing through vi.

  • 8/12/2019 Multicast Routing 2

    41/63

    Multicast Routing Algorithms 41

    The VTDM algo

    Building the Virtual Trunk---Infocom 1998

    Find the shortest paths for all pairs of nodes in G.

    Assign weights to the vertices in G.

    Find the set of trunk nodes F.

    Construct a complete graph for the set of trunk nodes.

    Find the minimum spanning tree for the complete graph.

    Convert edges in min. span. Tree back to the corres

    shortest paths in graph G.

    Run the minimum spanning tree algo and remove

    unnecessary nodes and links to obtain the virtual trunk.

  • 8/12/2019 Multicast Routing 2

    42/63

    Multicast Routing Algorithms 42

    The VTDM algo

    The VTDM routing algorithm

    ---Infocom 1998

    Build the virtual trunk.

    Adding a node to the multicast group

    establish shortest route from the node to the virtual trunk. is

    established.

    Route along virtual trunk to source node also established if not yet

    there.

    Add node to the multicast group.

    Removing a node from the multi-cast group First remove the node from the multicast group.

    If it is a leaf node, remove the node from the tree.

    Prune the excess branch, if the node did not have any downstream

    nodes.

  • 8/12/2019 Multicast Routing 2

    43/63

    Multicast Routing Algorithms 43

    The VTDM algo

    Node Addition (adding node B)---Infocom 1998

    Step1:

    If node B on the virtual trunk, denote it as node A & go to step2.

    Else, find the shortest route from node B to the virtual trunk.

    Add portion of the shortest route not yet included in the multicast

    tree to the multicast tree.

    Let node A be the node on the virtual trunk which attaches node B

    to the virtual trunk via the selected shortest route.

    Step2:

    If node A is already on the multicast tree go to step 3. Else add portion of route from node A to source node that has not

    yet been included in the multicast tree to the multicast tree.

    Step3:

    Add node B to the multicast group.

  • 8/12/2019 Multicast Routing 2

    44/63

    Multicast Routing Algorithms 44

    The VTDM algo

    Node Removal (removing node B)---Infocom 1998

    Step1:

    Remove node B from the multicast group.

    Step2:

    If node B has downstream nodes the procedure is done.

    Else, if node B is a leaf, remove node B and its upstream link to

    the multicast tree.

    Step3: If the upstream node of node B is in the multicast group, the

    procedure is done.

    Else denote this node as node B and go to step 2.

  • 8/12/2019 Multicast Routing 2

    45/63

    Multicast Routing Algorithms 45

    The VTDM algo

    Simulation Results---Infocom 1998

    Mean Inefficiency = TreeCost using AlgoA/ TreeCost using AlgoB.

    KMBis taken as the reference algorithm.

    VTDM compared against dynamic greedy(DG), Shortest Path (SP).

    Mean Inefficiency versus Number of nodes

    significant improvement over SP, better than DG.

    Mean Inefficiency versus Size of multicast group.

    significant improvement over SP, better than DGfor large grps.

    Max Degree of nodes in the multicast trees. (no. of data copies).

    Much lesser degree than SP, less than DGalgorithm.

  • 8/12/2019 Multicast Routing 2

    46/63

    Multicast Routing Algorithms 46

    Multicast Tree Generation AlgorithmsBSMA - Bounded Shortest Multicast Algorithm

    Zhu, Parsa & Aceves---IEEE Infocom 1995

    Problem :

    Minimize the tree cost.

    Guarantee all delays are less than predetermined bounds.

    Feasible region :

    the set of all delay bounded Steiner trees.

    Steps:

    Construct minimum delay steiner tree T0using

    Dijkstras shortest path algorithm

    Refine T0iteratively for lower cost while staying within

    feasible region.

  • 8/12/2019 Multicast Routing 2

    47/63

    Multicast Routing Algorithms 47

    Multicast Tree Generation AlgorithmsBSMA - Definition of the cost function.

    ---IEEE Infocom 1995

    Utilization Driven Cost

    Minimizes sum of link costs along the path.

    Congestion Driven Cost

    Minimizes maximal link cost requirement along paths.

    Link cost function

    Cost of the link associated with the utilization of the link.

    Link delay function

    Queuing, Transmission, and Propagation delays on the link.

    Destination Delay Bound Function (DDF)

    Upper bound to the delay along path from the source to each of the

    destinations.

  • 8/12/2019 Multicast Routing 2

    48/63

    Multicast Routing Algorithms 48

    Multicast Tree Generation AlgorithmsBSMA - Refinement of the tree for lower costs.

    ---IEEE Infocom 1995

    Path Switching:

    refinement of Tj to Tj+1.

    Choosing a path p to be taken out of Tj.

    Tj = Tj1+ Tj

    2p

    Choosing the new path ps in G not in Tjthat replaces the

    path to be deleted from Tj.

    Tj+1 = Tj1+ Tj

    2ps. Tj+1is delay bounded.

    l G l h

  • 8/12/2019 Multicast Routing 2

    49/63

    Multicast Routing Algorithms 49

    Multicast Tree Generation AlgorithmsBSMA - Refinement of the tree for lower costs.

    ---IEEE Infocom 1995

    From Tjget Tj/.

    Tj/has the source, all destination nodes, and all relay nodes of

    degree more than 2.

    Tj/. Edges of Tj

    /are called super_edges.

    All nodes between the two end_nodes of a super_edge are relay

    nodes of degree 1.

    Every super_edge represents a candidate path in Tj for switching.

    **

    M lti t T G ti Al ith

  • 8/12/2019 Multicast Routing 2

    50/63

    Multicast Routing Algorithms 50

    Multicast Tree Generation AlgorithmsBSMA - Algorithm Details

    ---IEEE Infocom 1995

    Initially allsuper_edgesare unmarked.

    Step1:Among all unmarkedsuper_edges, BSMA selects the

    super_edgePhwith the highest path cost.

    Exchange it with anothersuper_edgeof lesser cost, such that resulting

    tree is delay bounded.. One of the two cases must happen:

    The delay bounded shortest path is the same as Ph.

    Mark that super edge. Go to Step1.

    The delay bounded shortest path is a path other than Ph.

    Do The replacement.

    Unmark all super_edges.

    Go to Step 1.

    Stops when all super edges are marked.

    M lti t T G ti Al ith

  • 8/12/2019 Multicast Routing 2

    51/63

    Multicast Routing Algorithms 51

    Multicast Tree Generation AlgorithmsBSMA - Algorithm Details

    ---IEEE Infocom 1995

    BSMA incrementally calculates k shortest paths between subtrees Tj1

    and Tj2.

    K is determined only after a shortest path is found which has resulted

    in a delay bounded tree. So the shortest path incremental construction

    stops when one of the following two conditions is satisfied. The shortest path found does not result in the new tree violating the

    delay bound.

    The shortest path found has equal path length to the one just

    deleted.

    Dijkstras algo is extended to construct shortest path between twosubtrees instead of two nodes

    A pseudo source node s is connected to all nodes in Tj1 and a

    pseudo destination node d is connected to all nodes in Tj2.

    The shortest path algo starts from s and ends at d.

  • 8/12/2019 Multicast Routing 2

    52/63

    Multicast Routing Algorithms 52

    The BSMA algo

    cont

    6,2

    5,5

    1,1

    1,1

    4,5

    3,3

    6,2

    5,5

    1,1

    1,1

    4,5

    3,3

    Delay Bound = 12,end-end delay = 12

    6,2

    5,5

    1,1

    1,14,5

    3,3

    *

    6,2

    5,5

    1,1

    1,14,5

    3,3

    End-end delay = 9

    A B

    CD

    Th BSMA l

  • 8/12/2019 Multicast Routing 2

    53/63

    Multicast Routing Algorithms 53

    The BSMA algo

    Greedy Path switching

    ---IEEE Infocom 95

    Gain = cost reduction after a round of path switching

    if c = cost of Tj and c_prime = cost of Tj+1, then

    gain = c - c_prime.

    BSMA computes gains of all pairs of possible path

    switchings in Tj and then selects one with the maximum

    gain.

    BSMA continues the greedy switching and terminateswhen the maximum gain is zero.

    The time complexity of this greedy approach is more.

  • 8/12/2019 Multicast Routing 2

    54/63

    Multicast Routing Algorithms 54

    The BSMA algo

    Simulation Results

    Time complexity of BSMA O(kn3log(n)).

    Using the tightest possible delay bound, as determined by the

    min. delay tree, the cost of the BSMA tree is substantially better

    than the cost of the min. delay tree.

    A Range of min. cost solutions can be obtained between the two

    extremes of the KMB and the min. delay solution.

    Compared to KMB the relative quality of results improve with

    the number of destinations in the multicast group.

    A tighter bound results in a larger value for k, and henceincreases the computation time required by the algo, a slightrelaxation of the bound often results in considerably fewercomputations.

    M lti t T G ti Al ith

  • 8/12/2019 Multicast Routing 2

    55/63

    Multicast Routing Algorithms 55

    Multicast Tree Generation AlgorithmsKPP algorithm for a delay constrained Steiner Tree

    Kompella, Pasquale, Polyzos ---IEEE Infocom 1995

    Problem :

    Minimize the tree cost. is minimized.

    Bounded end-to-end delay.

    Features:

    Edge_Cost and Delay are different functions.

    Delay constraints are on individual path delay.

    Assumption:

    Source has all the info necessary for tree construction.

    ),(

    )(vsPe

    eD

    Te

    eC )(

    Multicast Tree Generation Algorithms

  • 8/12/2019 Multicast Routing 2

    56/63

    Multicast Routing Algorithms 56

    Multicast Tree Generation AlgorithmsKPP algorithm for a delay constrained Steiner Tree

    ---IEEE Infocom 1995

    Constrained Cheapest Path between v and w

    Least cost path between vand wthat has delay less than .

    Cost of such a path is PC(v, w).

    Delay on this path is PD(v, w). Closure graph G/

    A complete graph on the nodes in N, with PC(v, w) as edge

    costs PD(v, w) as the edge delay.

    To compute Closure graph G/

    Calculate all-pair-constrained-cheapest-paths using Floyds

    algorithm. (is bounded, so possible in poly-time)

    Multicast Tree Generation Algorithms

  • 8/12/2019 Multicast Routing 2

    57/63

    Multicast Routing Algorithms 57

    Multicast Tree Generation AlgorithmsKPP algorithm details

    ---IEEE Infocom 1995

    Cd(v, w) = minuV {Cd-D(u, w)(v, u)+ C(u, w)}

    Cost of cheapest path from vto wwith delay exactly d.

    PC(v, w) = min d

  • 8/12/2019 Multicast Routing 2

    58/63

    Multicast Routing Algorithms 58

    Multicast Tree Generation AlgorithmsKPP algorithm details

    ---IEEE Infocom 1995

    Compute the closure graph G/of G.

    Construct a constrained spanning tree T/of G/, using one ofthe two selection functions fCor fCDas the selection

    function.

    Expand the edges in the constrained spanning tree T/ intothe constrained cheapest paths they represent, and remove

    any loops that may be caused by this expansion.

    Multicast Tree Generation Algorithms

  • 8/12/2019 Multicast Routing 2

    59/63

    Multicast Routing Algorithms 59

    Multicast Tree Generation AlgorithmsKPP algorithm - Two Source Based Heuristics

    ---IEEE Infocom 1995

    CSTCD

    Tries to choose low cost edges but modulates the choice

    to pick edges that maximize the residual delay.

    This increases the chances of extending the path alongthis edge, and beyond to another destination.

    Has a tendency to optimize on delay.

    May find trees with delay far lower than at the

    expense of added cost to the tree. Uses fCD= if P(v) + D(v, w) <

    fCD= infinity otherwise

    )),()((

    ),(

    wvDvP

    wvC

    Multicast Tree Generation Algorithms

  • 8/12/2019 Multicast Routing 2

    60/63

    Multicast Routing Algorithms 60

    Multicast Tree Generation AlgorithmsKPP algorithm - Two Source Based Heuristics

    ---IEEE Infocom 1995

    CSTC

    minimizes fC.

    Constructs cheapest tree possible, while remaining

    within delay bounds. Minimizes cost, without unduly minimizing delay.

    fc = C(v, w) if P(v) + D(v, w)