Title: Course Matters
1Course Matters
2Deadlines
- 11 Oct Survey Paper Due
- 18 Oct Paper Reviews Due
3Reminder
- No lecture next week
- Make-up lecture
- 23rd October 2004, Saturday
- 1-3pm
4Previously, on CS5248..
5New Model IP Multicast
sender
receivers
6Multicast
S
A
G
Router
B
Router
Router
Router
C
7Multicast
S
A
Router
G
B
Router
Router
Router
G
C
8Multicast
S
G
A
Router
B
Router
Router
G
Router
C
9So, why cant we multicast?
- Who assign multicast address?
- Who pay for multicast traffic?
- How to inter-operate between protocols?
- How can we prevent DoS?
10Application-Level Multicast
11You are Here
Encoder
Decoder
Middlebox
Sender
Receiver
Network
12Application-Level Multicast
S
A
A
Router
B
Router
Router
Router
C
13Application-Level Multicast
S
B
C
A
Router
B
Router
Router
Router
C
14Overlay Network
S
A
B
C
15Penalty Delay
S
A
Router
B
Router
Router
Router
C
16Penalty Network Resource
S
A
Router
B
Router
Router
Router
C
17Link Stress
S
A
Router
B
Router
Router
Router
C
18Questions
- How to construct overlay multicast tree?
- How to maintain overlay multicast tree?
19A Case for End-System Multicast
- Y. Chu, S. Rao, S. Seshan, H. Zhang
- JSAC 2002
20Naradas Idea
- Build a mesh, then build a tree
S
S
A
A
B
C
B
C
21Why Build Mesh?
22Desirable Property of Mesh
- Path between any two nodes must be good
- Cannot be too sparse or too dense
23How to build Mesh?
- Node join
- Randomly choose some existing members as neighbour
S
A
B
C
24How to maintain Mesh?
- Everybody knows everybody
- Each node maintains a table
25How to update table?
- Refresh messages
- Exchange of tables
26How to maintain Mesh?
- Node failure
- Probes if no refresh messages for a while
S
A
B
C
27How to maintain Mesh?
- Mesh Partition
- Probes if no refresh messages for a while, add
random edges if alive
S
A
B
C
28How to Optimize Mesh?
- Mesh needs to periodically updated because
- nodes join and leave
- network condition changes
- partition repair add unneeded edges
- initial constructions are random
29Adding a Link
- Node i periodically probe randomly selected
members j - Ask what if I add (i,j)?
30Adding a Link
S
S
A
A
B
C
B
C
31Removing 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
32cost(i,j)
cost(S,A) 2
S
A
B
C
33cost(i,j)
cost(S,A) 3 cost(A,S) 1
S
E
A
D
B
C
34Removing a link
- if max(cost(i,j), cost(j,i)) lt Threshold
- drop (i,j)
- (Threshold should depends on group size)
35Naradas Idea
- Build a mesh, then build a tree
S
S
A
A
B
C
B
C
36How to build tree?
- Modify DVMRP
- Cost definition
- Pick widest path
- Break ties by latency
37Evaluation Bandwidth
38Evaluation RTT
39Evaluation Link Stress
40Evaluation Resource Usage
41Scalable Application Layer Multicast
- S. Banerjee, B. Bhattacharjee, and C. Kommareddy
- SIGCOMM 2002
42Problem
- Narada does not scale
- State maintenance
- Message overhead
43NICE
- NICE is scalable
- State maintenance
- Message overhead
44Members
45Clusters
46Leader
47Layer
48Nodes per Cluster
k, 3k-1
49Control Topology
50Multicast Tree
51Analysis
height
52Analysis
53Analysis
- Worst Case Control Message Overhead
- Average Case Control Message Overhead
54Analysis
- Number of hops between 2 nodes
-
55Analysis
56Multicast Tree (Improved)
57Node Join
58Other operations
- Node leave
- Node failure
- Cluster merge/split
59Evaluation Control Overhead
60Evaluation Link Stress
61Evaluation Path Length
62Previously, on CS5248..
63Patching
Time
mcast
unicast
Client Request
64Patching (Attempt 2)
Network
S
65Patching (Attempt 2)
Network
S
66Patching (Attempt 2)
Network
S
67Patching (Attempt 2)
Network
S
68Patching (Attempt 2)
Network
S
69Patching (Attempt 2)
Network
S
70Patching (Attempt 2)
Network
S
71Patching (Attempt 2)
Network
S
72Patching with Cache Proxy
Network
S
73Patching with Cache Proxy
Network
S
74P2Cast P2P Patching Scheme for VoD
- Y. Guo, K. Suh, J. Kurose, D. Towsley
- WWW 2003
75ALM with Patching
76P2Cast
77New Session
78Existing Session Patch
?
?
79Node Join
join
80Node Join
(measure B)
81Node Join
82Failure Recovery
X
83Failure Recovery
- What if
- Patch server failed?
- Base server failed?