Title: Multicast Routing
1Multicast Routing
2Outline
- 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
3Multipoint 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.
4Applications 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
5Semantics 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?
6Requirements of Multipoint Routing Algorithms.
- Support reliable transmission
- link failure should not increase delay or reduce
resource availability. - Return optimal routes taking into consideration
- price to be paid (bandwidth consumed)
- end to end delay. (no. of links traversed)
- Minimize network load.
- Avoid loops.
- Avoid traffic concentration on a few links or
sub-nets. - Minimize the state stored in routers.
7Multipoint Routing algosPerformance 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 the shortest 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.
8Routing 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
9SOURCE BASED MULTIPOINT ROUTINGThe 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.
10SOURCE BASED MULTIPOINT ROUTINGMerits vs
Demerits
- Advantages.
- SRSPTs are easy to compute. Use the classic
unicast routing tables. - Efficient distributed implementations are
possible - Entire global topology not required.
- There can be no loops in the path returned.
- Disadvantages
- Does not minimize total cost of distribution
- Does not scale well.
- One piece of state information per source and per
group is kept in each router. - May fail badly if the underlying unicast routing
is asymmetric.
11SHARED TREE APPROACH OF MULTIPOINT
ROUTINGCharacteristics 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.
12SHARED TREE APPROACH OF MULTIPOINT
ROUTINGCharacteristics 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.
13An example of a minimum Steiner Tree
5
Mcast group members
4
4
K
J
B
A
Relay Nodes
F
2
1
5
2
3
E
5
2
H
C
1
3
1
1
4
6
D
G
I
AG 6 AE 5 AD 3 AC 3 AI 8 Shortest
Paths from A total distribution cost 16
AG 8 AE 5 AD 3 AC 3 AI 8 KMB Tree
paths from A total distribution cost13
14SHARED TREE APPROACH OF MULTIPOINT
ROUTINGCharacteristics 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.
15An example of a core based tree.
- A, B, C multi-cast group members
C
A
B
16SHARED TREE APPROACH OF MULTIPOINT
ROUTINGAdvantages 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 relative
ease. - 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.
17SHARED TREE APPROACH OF MULTIPOINT
ROUTINGDisadvantages 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.
18MULTIPOINT ROUTINGTradeOffs between algos
- Any single tree cannot achieve Minimal Cost and
Minimal Delay both. - Shortest Path Trees ? Minimize delay at expense
of Cost. - Steiner Minimal Trees ? Minimize cost at expense
of Delay. - Between these ? spectrum of different types of
trees offering different tradeoffs. - Different strategies to place the routes results
in different degrees of traffic concentration.
19MULTIPOINT ROUTINGIdeals
- 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.
20STEINER TREE HEURISTICSProblem Formulation
- Given graph G (V, E, c)
- V Set of vertices
- E Set of edges.
- c Cost function c E ?Z0 ( Edges ? Non
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.
21STEINER TREE HEURISTICSPruned 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.
22Dijkstras Shortest Path Algorithm.
- Begin.
- ? v?V,
- add v to set U,
- initialize Distance(v) cost(s, v)
- Distance(s) 0 Remove s from U.
- while U is not empty do
- v ? any 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.
23STEINER TREE HEURISTICSMatsuyamas Minimum
Cost Path Heuristic (MPH) ---Math Japonica
v24
- Begin
- T1 subtree of G containing one arbitrarily
chosen Z vertex i . - k 1
- Zki.
- Determine a Z-vertex i ? Z - Zk closest to Tk
- Construct a tree Tk1 by adding the minimum
cost path from Tk to i - k k1.
- If k lt p go-to step2.
- If k p, output Tp as the solution
- Stop.
24Matsuyamas Minimum Cost Path Heuristic
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)
25STEINER TREE HEURISTICS KMB - A Fast Algo for
Steiner Trees. ---Acta Informatica 1981
- Output A Stiener Tree Th for G and the
Z-vertices. - Step 1 Construct a complete directed distance
graph G1(V1,E1,c1) from G and Z. - Step 2 Find the minimum spanning tree T1 of G1.
(pick any to break ties) - Step3 Construct a subgraph GS of G by replacing
each edge in T1 by its corresponding shortest
path in G. (break ties arbitrarily). - Step 4 Find the minimum spanning tree TS of GS
(break ties arbitrarily). - Step 5 Construct a Steiner tree TH from TS by
deleting edges in TS if necessary, so that all
the leaves in TH are Steiner points. - Worst case time complexity O(SV2).
- Cost no more than 2(1 - 1/l) optimal cost
- where l number of leaves in the steiner tree.
26Working of KMB
A
D
4
A
A
4
1
4
1
4
4
4
10
H
H
I
1/2
C
B
I
1/2
1/2
1/2
1
G
G
1
1
A
D
4
1
1
1
E
F
1
1
B
B
E
F
4
2
2
8
2
2
C
D
4
C
D
9
C
B
27Working of KMB
A
A
1
1
H
I
I
1/2
1/2
1
1
G
1
1
E
1
1
E
F
F
B
B
2
2
2
2
C
D
C
D
Destination Nodes
Intermediate Nodes
28Multicast 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.
29Multicast 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
multicasting tree. - For nodes not included in the preceding tree(s),
algorithm called recursively to construct another
multicasting tree.
30Multicast Tree Generation AlgorithmsThe MZQ
Algorithm Wavelength Assignment
-- Malli, Zhang, Qiao
- Performance Metrics
- Number of Wavelengths
- Total amount of Bandwidth (Total number of
Channels) - Two counters maintained on each link
- I? highest wavelength index being used.
- N? number of wavelengths being used.
- Unlimited wavelengths on each link.
- First-Fit algorithm used for wavelength
assignment.
31The MZQ AlgorithmMulticasting forest in a
NSF-NET like network
8
3
6
9
7
4
Source
1
5
2
Node with full Splitting Capability
Node with no splitting capability
32Multicast 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 by as 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.
33Multicast 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) gt priority(terminals) gt
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.
34Multicast Tree Generation AlgorithmsSCTF-Algo
Formal Description.
---IEEE Infocom 1996
- Init Q ? s, Vt ? s,
At ? . - While M not empty do
- B ? first min(?? , Q ) vertices in Q.
- Initialize PATH to any path from B to M.
- For each v in B do
- for each m in M do
- if cost( shortestPath( v, m) lt cost (PATH) PATH ?
P. - Branch ? subpath ( w ? z ) only w is in Vt.
- Insert vertices in Branch into Q.
- Vt ? Vt ? vertices in Branch , At ? At ?
edges in Branch. - M ? M ? terminals in Branch.
- Return T.
35Multicast 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.
- ? M1 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.
36Multicast 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 MAXu, v max(cost(u,v), cost(v, u))/
min(cost(u,v), cost(v, u)) - ?m 1 for symmetric graphs.
- ?A O ( ?m).
37Multicast 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.
38Multicast 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 ri either 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 cost
is minimum. - This does not allow re-routing of existing
connections as the sequence of requests proceeds.
39Cost Modelling
- w(e, ?i ) Cost of using wavelength ?i on edge e.
- Infinite if ?i is not available on edge e.
- cv(?p , ?q ) Cost of wavelength conversion at
node v, from ?p to ?q . - Infinite if ?p cannot be converted to ?q at node
v. - If p q, then cv(?p , ?q ) is zero.
- C(T) ?v ?T w(p(v), v), ?(v))
- ?v ? T-s C p(v) (? (p(v)), ?(v))
- where p(v) means parent of v in the tree.
40The 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.
41The 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.
42The 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.
43The 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.
44The 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.
45The VTDM algo Simulation Results
---Infocom 1998
- Mean Inefficiency TreeCost using AlgoA/
TreeCost using AlgoB. - KMB is 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 DG
for large grps. - Max Degree of nodes in the multicast trees. (no.
of data copies). - Much lesser degree than SP, less than DG
algorithm.
46Multicast 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 T0 using
Dijkstras shortest path algorithm - Refine T0 iteratively for lower cost while
staying within feasible region.
47Multicast 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.
48Multicast Tree Generation AlgorithmsBSMA -
Refinement of the tree for lower costs.
---IEEE Infocom 1995
- Path Switching
- refinement of Tj to Tj1.
- Choosing a path p to be taken out of Tj.
- Tj Tj1 Tj2 ? p
- Choosing the new path ps in G not in Tj that
replaces the path to be deleted from Tj. - Tj1 Tj1 Tj2 ? ps. Tj1 is delay bounded.
49Multicast Tree Generation AlgorithmsBSMA -
Refinement of the tree for lower costs.
---IEEE Infocom 1995
- From Tj get 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.
50Multicast Tree Generation AlgorithmsBSMA -
Algorithm Details
---IEEE Infocom 1995
- Initially all super_edges are unmarked.
- Step1Among all unmarked super_edges, BSMA
selects the super_edge Ph with the highest
path cost. - Exchange it with another super_edge of 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.
51Multicast 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 two subtrees 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.
52The BSMA algo cont
6,2
A
B
1,1
3,3
5,5
1,1
4,5
Delay Bound 12, end-end delay 12
6,2
1,1
D
C
3,3
5,5
1,1
4,5
End-end delay 9
53The BSMA algo Greedy Path switching ---IE
EE Infocom 95
- Gain cost reduction after a round of path
switching - if c cost of Tj and c_prime cost of Tj1,
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
terminates when the maximum gain is zero. - The time complexity of this greedy approach is
more.
54The 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 hence increases the computation time required
by the algo, a slight relaxation of the bound
often results in considerably fewer computations.
55Multicast 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.
56Multicast Tree Generation AlgorithmsKPP
algorithm for a delay constrained Steiner Tree
---IEEE Infocom 1995
- Constrained Cheapest Path between v and w
- Least cost path between v and w that 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)
57Multicast Tree Generation AlgorithmsKPP
algorithm details
---IEEE Infocom 1995
- Cd(v, w) minu?V Cd-D(u, w)(v, u) C(u, w)
- Cost of cheapest path from v to w with delay
exactly d. - PC(v, w) min dlt? Cd(v, w)
- Compute all-pair-constrained-cheapest-paths.
- From these, compute G/.
- Constructing graph G/ takes O(n3 ? ) time.
58Multicast 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 of the two selection functions fC or
fCD as the selection function. - Expand the edges in the constrained spanning tree
T/ into the constrained cheapest paths they
represent, and remove any loops that may be
caused by this expansion.
59Multicast 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
along this 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)
lt ? - fCD infinity otherwise
60Multicast 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) lt
- fc infinity otherwise.
61Multicast Tree Generation AlgorithmsKPP
algorithm - Performance Evaluation.
---IEEE Infocom 1995
- CSTC and OPT have comparable performance.
- CSTCD performs marginally worse than CSTC.
- For large group sizes the heuristics converge to
the optimal solution. - When delay-tolerance increases, the performance
of both source based heuristics converges. - SPT gives trees with consistently high costs
(70-80) more than CSTC.
62List of References
- KMB Algorithm L Kou, G Markowski, L. Berman
- A Fast algorithm for Steiner Trees.
- Acta Informatica 15, 1981, pages 141-145
- Minimum Cost Path Heuristic H. Takahashi and A.
Matsuyama - An Approximate Solution for Steiner Problem in
Graphs - Math Japonica vol 24, pp 573-577.
- MZQ Rajkumar Malli, Xijun Zhang, Chunming Qiao
- Benefit of Multicasting in All-Optical Networks.
- SCTF S. Ramanathan
- Multicast Tree Generation in Networks with
Asymmetric Links. - IEEE/ACM Transactions on Networking 1996 v4,
558-568
63List of References .continued
- BSMA Qing Zhu, Mehrdad Parsa, J.J.
Gracia-Luna-Aceves - A source based algo. for delay constrained
minimum cost multicasting. - IEEE Infocom 1995 pp 377-385
- VTDM Hwa-Chun Lin Shou-Chuan Lai
- A dynamic Multicast Routing Algorithm
- IEEE Infocom 1998, pp 1426-1432
- KPP V. P. Kompella, J. C. Pasquale, G. C.
Polyzos - Multicast Routing for Multimedia Communication.
- IEEE /ACM Transactions on Networking, vol 1,
June 1993.