![Page 1: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/1.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Application-Level Multicast
![Page 2: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/2.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
You are Here
Network
Encoder
Sender
Middlebox
Receiver
Decoder
![Page 3: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/3.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Application-Level Multicast
RouterRouter
Router
Router
A
B
C
SA
![Page 4: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/4.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Application-Level Multicast
RouterRouter
Router
Router
A
B
C
SC
B
![Page 5: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/5.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Overlay Network
S
A
B C
![Page 6: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/6.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Penalty: Delay
RouterRouter
Router
Router
A
B
C
S
S
A
B C
![Page 7: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/7.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Penalty: Network Resource
RouterRouter
Router
Router
A
B
C
S
S
A
B C
![Page 8: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/8.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Link Stress
RouterRouter
Router
Router
A
B
C
S
![Page 9: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/9.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Questions
How to construct overlay multicast tree?
How to maintain overlay multicast tree?
![Page 10: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/10.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
A Case for End-System Multicast
Y. Chu, S. Rao, S. Seshan, H. ZhangJSAC 2002
![Page 11: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/11.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Narada’s Idea
Build a mesh, then build a tree
S
A
B C
S
A
B C
![Page 12: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/12.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Why Build Mesh?
![Page 13: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/13.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Desirable Property of MeshPath between any two nodes must be “good”
Cannot be too sparse or too dense
![Page 14: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/14.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
How to build Mesh?
Node joinRandomly choose some existing members as neighbour
S
A
B C
![Page 15: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/15.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
How to maintain Mesh?
Everybody knows everybodyEach node maintains a table
Address Last Seq No Last Update
1 512 10:00am
2 603 10:03am
3 341 10:02am
4 704 09:59am
![Page 16: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/16.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
How to update table?
Refresh message to neigboursreceive message 604 from node 2
Address Last Seq No Last Update
1 512 10:00am
2 604 10:16am
3 341 10:02am
4 704 09:59am
![Page 17: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/17.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
How to update table?
Exchange Table
Address Last Seq No Last Update
1 512 10:00am
2 604 10:16am
3 341 10:02am
4 704 09:59am
Address
Last Seq No Last Update
1 513 10:07am
2 604 10:19am
3 343 10:10am
4 702 9:51am
![Page 18: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/18.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
How to maintain Mesh?
Neighbor failureProbes if no refresh messages for a while
S
A
B C
![Page 19: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/19.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
How to maintain Mesh?
Mesh PartitionProbes if no updates for a while, add random edges if alive
S
A
B C
![Page 20: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/20.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
How to Optimize Mesh?
Mesh needs to periodically updated because:nodes join and leavenetwork condition changespartition repair add unneeded edges
initial constructions are random
![Page 21: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/21.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Adding a Link
Node i periodically probe randomly selected members j
Ask “what if I add (i,j)?”
![Page 22: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/22.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Adding a Link (i,j)
for each node mdcurr(i,m) = current latency from i
to mdnew(i,m) = new latency from i to m
if dnew(i,m) < dcurr(i,m)utility += 1 - dnew(i,m)/dcurr(i,m)
add (i,j) if utility is high
![Page 23: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/23.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Adding a Link
S
A
B C
S
A
B C
![Page 24: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/24.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Removing a Link
Harder to ask “what if I remove link (i,j)?”
compute cost(i,j) instead: number of nodes for which i uses j as next hop
![Page 25: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/25.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
cost(i,j)
S
A
B C
cost(S,A) = 2
![Page 26: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/26.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
cost(i,j)
S
A
B C
cost(S,A) = 3cost(A,S) = 1
D
E
![Page 27: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/27.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Removing a link
if max(cost(i,j), cost(j,i)) < Threshold
drop link (i,j)
(Threshold should depends on group size)
![Page 28: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/28.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Narada’s Idea
Build a mesh, then build a tree
S
A
B C
S
A
B C
![Page 29: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/29.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
How to build tree?
Modify DVMRPCost definition
Pick widest pathBreak ties by latency
![Page 30: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/30.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Evaluation: Bandwidth
![Page 31: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/31.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Evaluation: RTT
![Page 32: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/32.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Evaluation: Link Stress
![Page 33: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/33.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
SUM(Delay x Stress)
![Page 34: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/34.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Problem
Narada does not scaleState maintenance Message overhead
![Page 35: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/35.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Scalable Application Layer Multicast
S. Banerjee, B. Bhattacharjee, and C. Kommareddy SIGCOMM 2002
![Page 36: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/36.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
NICE
NICE is scalableState maintenance Message overhead
![Page 37: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/37.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Members
![Page 38: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/38.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Clusters
![Page 39: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/39.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Leader
![Page 40: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/40.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Layer
![Page 41: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/41.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Nodes per Cluster[k, 3k-1]
![Page 42: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/42.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Control Topology
![Page 43: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/43.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Multicast Tree
![Page 44: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/44.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Analysis
height =
![Page 45: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/45.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Analysis
Let Li be the highest layer of a node
Number of neighbours =
Number of nodes at layer Li =
![Page 46: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/46.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Analysis
Worst Case Control Message Overhead =
Average Case Control Message Overhead =
![Page 47: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/47.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Analysis
Number of hops between 2 nodes =
![Page 48: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/48.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Analysis
Maximum Degree of a Node =
![Page 49: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/49.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Multicast Tree (Improved)
![Page 50: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/50.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Node Join
RP
![Page 51: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/51.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Other operations
Node leave
Node failure
Cluster merge/split
![Page 52: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/52.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Evaluation: Control Overhead
![Page 53: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/53.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Evaluation: Link Stress
![Page 54: NUS.SOC.CS5248 Ooi Wei Tsang Application-Level Multicast](https://reader035.vdocuments.mx/reader035/viewer/2022081508/5697bfbb1a28abf838ca0d86/html5/thumbnails/54.jpg)
NUS.SOC.CS5248Ooi Wei Tsang
Evaluation: Path Length