Download - P2P Streaming - Part-1: Native Multicast,

Transcript
Page 1: P2P Streaming - Part-1: Native Multicast,

P2P Streaming-

Part-1: Native Multicast, End-System Multicast,

and intro to P2P-Streaming

CS 7270Networked Applications &

ServicesLecture-12

Page 2: P2P Streaming - Part-1: Native Multicast,

Reading-1

• “Opportunities and Challenges of Peer-to-Peer Internet Video Broadcast” by J. Liu et al.

• Very nicely written tutorial• To appear at IEEE Proceedings this year• Based on (highly influential) ESM project

from Hui Zhang’s group at CMU• Hui’s slides: http://

www.cs.cmu.edu/~hzhang/Talks/ESMPrinceton.pdf

Page 3: P2P Streaming - Part-1: Native Multicast,

Reading-2

• “Insights into PPLive: A Measurement Study of a LargeScale P2P IPTV System” by X. Hei et al.

• PPLive: one of the most popular P2Pstreaming systems, mostly used for Chinese TV shows

• Very little known about system architecture

• The paper attempts a measurement-based reverse engineering study

Page 4: P2P Streaming - Part-1: Native Multicast,

Basics• PPLive: free P2P-based IPTV• As of January 2006, the PPLive network

provided 200+ channels with 400,000 daily users on average.

• The bit rates of video programs mainly range from 250 Kbps to 400 Kbps with a few channels as high as 800 Kbps.

• The video content is mostly feeds from TV channels in Mandarin.

• The channels are encoded in two video formats: Window Media Video (WMV) or Real Video (RMVB).

• The encoded video content is divided into chunks and distributed to users through the PPLive P2P network.

Page 5: P2P Streaming - Part-1: Native Multicast,

System architecture

Page 6: P2P Streaming - Part-1: Native Multicast,

• Cached contents can be uploaded to other peers watching the same channel.

• This peer may also upload cached video chunks to multiple peers. • Received video chunks are reassembled in order and buffered in

queue of PPLive TV engine, forming local streaming file in memory.

• When the streaming file length crosses a predefined threshold, the PPLive TV engine launches media player, which downloads video content from local HTTP streaming server.

• After the buffer of the media player fills up to required level, the actual video playback starts.

• When PPLive starts, the PPLive TV engine downloads media content from peers aggressively to minimize playback start-up delay.

• When the media player receives enough content and starts to play the media, streaming process gradually stabilizes.

• The PPLive TV engine streams data to the media player at media playback rate.

Page 7: P2P Streaming - Part-1: Native Multicast,

Measurement setup• One residential and one campus PC “watched”

channel CCTV3• The other residential and campus PC

“watched” channel CCTV10 • Each of these four traces lasted about 2 hours. • From the PPLive web site, CCTV3 is a popular

channel with a 5-star popularity grade and CCTV10 is less popular with a 3-star popularity grade.

Page 8: P2P Streaming - Part-1: Native Multicast,

Session durations • Signaling versus video sessions• All sessions are TCP based• The median video session is about 20 seconds and about

10% of video sessions last for over 15 minutes or more.

Page 9: P2P Streaming - Part-1: Native Multicast,

Video traffic breakdown among sessions

Page 10: P2P Streaming - Part-1: Native Multicast,

Start-up delays

• Two types of start-up delay: – the delay from when one channel is selected until

the streaming player pops up; – the delay from when the player pops up until the

playback actually starts.

• The player pop-updelay is in general 10-15 seconds and the player buffering delay is around 10-15 seconds.

• Therefore, the total start-up delay is around 20 30 seconds.

• Nevertheless, some less popular channels have a total start-up delays of up to 2 minutes.

Page 11: P2P Streaming - Part-1: Native Multicast,

Upload-download rates

Page 12: P2P Streaming - Part-1: Native Multicast,

Upload-download rates (cont)

Page 13: P2P Streaming - Part-1: Native Multicast,

Estimating the redundancy ratio• It is possible to download same video blocks more than once

• Excluding TCP/IP headers, determine total streaming payload for the downloaded traffic.

• Utilizing video traffic filtering heuristic rule (packet size > 1200B) extract video traffic.

• Given playback interval and the media playback speed, obtain a rough estimate of the media segment size.

• Compute the redundant traffic by the difference between the total received video traffic and the estimated media segment size.

• Define redundancy ratio as ratio between redundant traffic and estimated media segment size.

Page 14: P2P Streaming - Part-1: Native Multicast,

Dynamics of video participants

Page 15: P2P Streaming - Part-1: Native Multicast,

Peer arrivals & departures

Page 16: P2P Streaming - Part-1: Native Multicast,

Geographic distribution of peers