Mobile Ubiquitous Computing Lab at Hansung University GNUSTREAM
Mobile & Ubiquitous Computing Lab at Hansung University GNUSTREAM: A P 2 P Media Streaming System Prototype 한성대학교 컴퓨터공학과 모바일 & 유비쿼터스 연구실 조윤식 holysmoke@hansung. ac. kr 9월 11일
Mobile & Ubiquitous Computing Lab at Hansung University Contents • • Introduction System Overview Design And Implementation Experiments
Mobile & Ubiquitous Computing Lab at Hansung University Introduction • Different P 2 P file sharing application, P 2 P media streaming application – Open-after-downloading • Ordinary file-sharing – Play-while-downloading • Media streaming systems • Problem of traditional single peer sender paradigm • P 2 P streaming session has to involve – A set of peer senders, each contributing a portion of the streaming bandwidth – The sender set members may change dynamically • Existing P 2 P Streaming solutions – Narada, Peer. Cast, Coop. Net, ZIGZAG
Mobile & Ubiquitous Computing Lab at Hansung University System Overview • Gnu. Stream system environment P 3 P 2 <Peer Sender> Gnutella Network P 4 <Peer Sender> P 5 P 1 <Standby Peer Sender> <Peer Receiver>
Mobile & Ubiquitous Computing Lab at Hansung University System Overview • Gnu. Stream System Features – Integration with P 2 P lookup substrate – Multi-sender aggregation • Distributes streaming load among multiple peer senders • Policies – Even allocation » Distribute streaming load evenly among peer senders » This policy is suitable such as Intranet – Proportional allocation » Distribute streaming load in proportion to the current capability of peer senders » This policy more flexible and adaptive than even allocation » Suitable for Internet – Receiver data allocation • re-construction media data
Mobile & Ubiquitous Computing Lab at Hansung University System Overview • Gnu. Stream System Features – Detection of peer status change • Detect any changes in the status of peer senders – Recovery from failure or degradation • Gnu. Stream detect peer sender and migrate another peer sender – Buffer Control • Gnu. Stream’s buffer control mechanisms is more concurrency and scheduling complexity than traditional buffer control mechanisms in client-server streaming
Mobile & Ubiquitous Computing Lab at Hansung University Design And Implementation • Three-layer Architecture Video Player MPL Playback Control SCL Streaming Data Gnutella Control Chord NAL ----- CAN
Mobile & Ubiquitous Computing Lab at Hansung University Design And Implementation • Three-layer Architecture – Network abstraction Layer (NAL) • NAL performs peer and content discovery for P 2 P media streaming – Streaming Control Layer (SCL) • SCL performs bandwidth aggregation, data collection, and status change detection and recovery • The dynamic peer sender set is maintained and adjusted by SCL • Buffer Management – Media Playback Layer (MPL) • MPL performs media quality adaptation based on the media data collected by SCL • Enable the “plug-n-play” of different media players with minimum modification
Mobile & Ubiquitous Computing Lab at Hansung University Design And Implementation • Gnu. Stream Implementation Display Buffer Decoder Buffer Control Buffer Playback Buffer Data Collection Buffer <Buffer management hierarchies>
Mobile & Ubiquitous Computing Lab at Hansung University Design And Implementation • Gnu. Stream Implementation – Double display buffer and decode buffer • Reside in MPL • Reduce synchronization overhead between MPL and SCL – Data collection buffer • Located at SCL • Eliminate data overflow and underflow • Smooth the data arrival jitter
Mobile & Ubiquitous Computing Lab at Hansung University Design And Implementation • Gnu. Stream Implementation – Control buffer • The core of buffer control mechanisms • Using control pointer – Offset pointer : indicates the amount of data already consumed – End-of-data pointer : indicates the trunk of continuous data available in the buffer – End-of-buffer : indicates the end or maximum size of buffer
Mobile & Ubiquitous Computing Lab at Hansung University Experiments • Experimental testbed using multiple desktop PC – XEON CPU 2. 00 GHz, 1. 00 G RAM, 100 Mbps • Limit the maximum streaming bandwidth from each sender to 60 KB/s • P 2 P streaming session setup – Following equation compute aggregated streaming bandwidth and determine how many peer senders are needed Arrival Media Bandwidth = Frame Size * Bits per Pixel *YUV Sampling *Playback Rate 3 Compression Rate * Bits per Byte
Mobile & Ubiquitous Computing Lab at Hansung University Experiments • P 2 P streaming session setup – Parameters Frame Size Playback Rate YUV Sampling Bit per pixel Compression Rate 352*240 30 fps 4: 2: 0 8 26: 1 • The resultant streaming bandwidth is approximately 143. 0 KBps • The receiver contacts three peer senders – 143. 0 KBps / 60 KBps (Limit bandwidth) = 2. 3…
Mobile & Ubiquitous Computing Lab at Hansung University Experiments • Buffering for continuous media playback – Receiver performs buffering both before and during the media playback – Initial buffering delay can be determined by following equation – Test video clip has 1680 frames, AFR is 25 fps 1 Initial Delay - = 1680 1 25 30 Initial Delay = 11. 2 seconds
Mobile & Ubiquitous Computing Lab at Hansung University Experiments • Peer failure detection and recovery – 27 th second of the streaming session, Peer 3 is turned off – Gnu. Stream approximately 1. 0 second to detect and recovery from failure
- Slides: 15