Title: Substreaming Trading: Towards an Open P2P Live Streaming System
1Substreaming Trading Towards an Open P2P Live
Streaming System
- Zhangye Liu, Yanming Shen, Keith W. Ross,
Shivendra S. Panwar, Yao Wang - Appear in IEEE ICNP 2008
- Presented by Yan Ding
2Background and Motivation
- What is Open?
- Source code of the baseline implementation is
available - Enable developers to create independent client,
seed and tracker implementation - Allow user-generated content
- What is P2P?
- Peers are equal, both Clients and Servers
- Diverse connectivity between peers (Based on the
content availability info etc.) - Data Transferred through these connected links
- Use cumulative bandwidth of peers, rather than a
central sever resource
3Background and Motivation(contd)
- What is the main issue in Open P2P System?
- Free-rider peers download content but upload at
low rate, or even without uploading - How to deal with it?
- Need an incentive mechanism encourage peers to
contribute their upload bandwidth
4Main Idea
- BitTorrent
- Open, Peer-Assisted File Distribution
- Incentive principle (tit-for-tat)
- A peer contributes more upload bandwidth,
get file faster - Substream Trading
- Open, Peer-Assisted Live-Video Streaming
- Incentive principle (tit-for-tat)
- A peer contributes more upload bandwidth,
see higher quality video
5System Design
- Tree or Mesh?
- Tree
- Video Source providers locate at the root, and
pump video chunk through trees - Tight relationship between peers (Parents and
Children) - Efficient, but not robust to peer churn and
dynamics - Mesh
- Peers self-organized based on their available
content - Video transferred through partners (a link
between them) - robust to peer churn and dynamics
- Used in all large-scale deployment (PPLive,
PPStream etc.)
6System Design(contd)
- Chunk or Substream?
- Chunk
- Video is divided into chunks, each contains 1-4s
video - Has a playback lag and overhead trade-off
- Substream
- Video is divided into substreams(contain several
chunks) using Time Dividing - Reduce the playback lag and overhead
1
2
3
3
3
2
2
1
1
Chunk Streams
1 2 3 4 5 6 7 8 9
7Mesh-Substreams System
- How does it work?
- Peer discovery Determine existance of peers and
which substreams they have - Partner Selection Determine who are the partners
and establish the link - Substream Selection Determine which substreams
should be obtained from which partners
8Partner Selection
- Select scheme
- Exchange substream map, get Sp,Sq
- Agreement P choose Q and Q choose P
- Establish link
- Monitor scheme
- Monitor service quality
- use Leaky Bucket
- Adapt bad partners
Sp
Sq
SpgtSq For Q Agree For P p(S-Sp)/S
P
Q
9Substream Selection
Check substream availability
Abstract substream map
Formulate as Optimization Problem
Check chunk availability
Max s.t
Exchange one substeam, if P exchange k substreams
with Pn, consider Pn as to be k virtual ones Pn1,
Pn2..Pnk
Wsweight of each substream. Depends on video
coding scheme (single-layer, layered (Ws2S-s),
MDC)
10Simulation Setting
- Peer Upload Bandwidth Distribution (Table I)
- Choose 5 types to illustrate
- 256(lowest), 3000(highest), 448(mediate),
640(fewest), 1024(most) - Based on two systems
- Single-layer and Layered sys.
11Simulation Single-Layer Sys.
Free-Riders
Underloaded
Overloaded
Scenario1 Exist altruistic peers Scenario2
Provide different video qualites
12Simulation Layered Sys.
Differentiated services More upload bandwidth,
more layers received, higher received video
rate.
13Conclusion
- First Open P2P live system that address incentive
issue. - The main idea is inspired by BT, very simple and
straightforward. - First P2P live streaming framework supports
different video coding schemes. - Design of Mesh and Substream is not a novel
idea.