Title: CoopNet: Cooperative Networking
1CoopNet Cooperative Networking
- Phil Chou, Venkat Padmanabhan, Helen Wang
- September 17, 2002
2Motivation
- Flash crowd can overwhelm server
- often due to news event of widespread interest
- but not always (e.g., Webcast of birthday
party) - can affect relatively obscure sites (e.g.,
election.dos.state.fl.us, firestone.com,
nbaa.org) - affects Web content as well as streaming content
(live and on-demand) - infrastructure-based CDNs arent for everyone
- Goal solve the flash crowd problem!
3Cooperative Networking
CoopNet
Client-server
Pure peer-to-peer
- CoopNet complements client-server system
- Client-server operation in normal times
- P2P content distribution invoked on demand to
alleviate server overload - Clients participate only while interested in the
content - Server still plays a critical role
4Research Activities
- Web flash crowd alleviation (with Kay
Sripanidkulchai) - evaluation using Sep 11 traces from MSNBC
- prototype implementation done
- paper _at_ IPTPS 02
- MDC-based streaming media distribution
- evaluation using Sep 11 traces from MSNBC,
Akamai, Digital Island - implementation in progress
- paper _at_ NOSSDAV 02
- patent process in progress
- initial discussions with Digital Media Division
5Research Activities (contd.)
- PeerMetric (with Karthik Lakshminarayanan)
- characterize broadband network performance
- P2P as well as client-server performance
- working with Xbox Online (Mark VanAntwerp)
- deployment on 25 distributed nodes underway
- eventual deployment on 300 Xbox Live beta users
- Future directions
- CoopNet in a Wireless Mesh Network
- good synergy saves Internet bandwidth, improves
robustness
6Robustness of Live Streaming
- Peers are not dedicated servers ? potential
disruption due to - node departures and failures
- higher priority traffic
- Traditional ALM is not sufficient
7Traditional Application-level Multicast
8CoopNet Approach to Robustness
- Multiple description coding (MDC)
- Multiple, diverse distribution trees
9Multiple Description Coding
Layered coding
MDC
- Unlike layered coding, there isnt an ordering of
the descriptions - Every subset of descriptions must be decodable
- Modest penalty relative to layered coding
10Multiple Description Coding
- Simple MDC
- every Mth frame forms a description
- More sophisticated MDC combines
- layered coding
- Reed-Solomon coding
- priority encoded transmission
- optimized bit allocation
11Multiple Distribution Trees
12Tree Management
- Goals
- short and wide trees
- efficiency
- diversity
- quick join and leave processing
- scalability
- CoopNet approach centralized protocol anchored
at the server
13Centralized Tree Management
- Basic protocol
- nodes inform server of their arrival/departure
- server tracks node capacity and tells new nodes
where to join - each node monitors its packet loss rate and takes
action when the loss rate becomes too high - simple, should scale to 1000 joins/leaves per
sec. - Optimizations
- delay coordinates to estimate node proximity
(à la GeoPing) - achieving efficiency and diversity
- migrate stable nodes to a higher level in the
tree
14Achieving Efficiency and Diversity
NY
SEA
S
Supernode
SF
15MDC versus SDC
Based on MSNBC traces from Sep 11
16CoopNet Transport Architecture
Embedded Stream
GOF
Parse
Packetize
ZSF
Optimize (M, p(m))
Break Points
RD Curve
M descriptions
RS Encoder
Server
Internet
Depacketize
Embedded Stream(truncated)
Reformat
Decode
Render
GOF(quality depends on descriptions received)
m M descriptions
RS Decoder
Client
17Summary
- Robustness is the key challenge
- MDC with multiple distribution trees improves
robustness in peer-to-peer media streaming - Centralized tree management is efficient and can
scales
18Current Activity
- CoopNet media streaming system is being built
- Evaluation
- adaptability
- server scalability
- media stream quality
- overhead in MDC and control protocol
- Dealing with client heterogeneity
- combine MDC with layering
19Issues
- Firewall and NAT traversal
- Digital Right Management issues
- ISP pricing policies
- Enterprise scenarios
20Quality During Multiple Failures
21Quality During Single Failure