200 likes | 354 Views
Scalable On-demand Media Streaming . Anirban Mahanti mahanti@cpsc.ucalgary.ca Department of Computer Science University of Calgary Canada T2N 1N4. Introduction. Context: Video-on-demand applications on the Internet, satellite & cable television networks
E N D
Scalable On-demand Media Streaming Anirban Mahanti mahanti@cpsc.ucalgary.ca Department of Computer Science University of Calgary Canada T2N 1N4
Introduction • Context: • Video-on-demand applications on the Internet, satellite & cable television networks • E.g., Online courses, movies, interactive TV • Goals: Scalable delivery • Sub-linear server/network bandwidth
Video-on-Demand Distribution Model • A client can tune in to receive any ongoing media delivery using its Set Top Box • True broadcast: Satellite and cable TV networks • Multipoint delivery provided in the Internet by IP-Multicast or Application Layer Multicast
Traffic Assumptions • 100s – 1000s requests for a media file per play duration • Skewed popularity of media files • 10% – 20% of the files account for 80% of the requests
Download vs. Streaming • Download: Receive entire content before playback begins • High “start-up” delay as media file can be large • ~ 4GB for a 2 hour MPEG II movie • Streaming: Play the media file while it is being received • Reasonable “start-up” delays • True video-on-demand service • Reception Rate >= playback rate
Scalable Streaming: Motivation • Consider a popular media file • Playback rate: 1 Mbps • Duration: 90 minutes • Request rate: once every minute • Start a new stream at the playback rate for each request: • Bandwidth required = 1 Mbps x 90 • Leverage the multipoint delivery capability of modern networks
Scalable Streaming Protocols: Overview • Bounded Delay Protocols • Batching, Periodic Broadcasts • Tradeoff: start-up delay vs. bandwidth • Immediate Service Protocols • Patching, Bandwidth Skimming • Tradeoff: request rate vs. bandwidth
Channel 1 Channel 2 Channel 3 0 30 60 90 120 150 180 210 240 Time (minutes) Batching Example • Playback rate = 1 Mbps, duration = 90 minutes • Group requests in non-overlapping intervals of 30 minutes: • Max. start-up delay = 30 minutes • Bandwidth required = 3 channels = 3 Mbps • Bandwidth increases linearly with decrease in start-up delay
1 1 1 1 1 2 2 1 Channel 1 2 Channel 2 0 30 60 90 120 150 180 Time (minutes) Periodic Broadcast Example • Partition the media file into 2 segments with relative sizes {1, 2}. For a 90 min. movie: • Segment 1 = 30 minutes, Segment 2 = 60 minutes • Advantage: • Max. start-up delay = 30 minutes • Bandwidth required = 2 channels = 2 Mbps • Disadvantage: Requires increased client capabilities
Skyscraper Broadcasts (SB) [Hua & Sheu 1997] • Divide the file into Ksegments of increasing size • Segment size progression: 1, 2, 2, 5, 5, 12, 12, 25, … • Multicast each segment on a separate channel at the playback rate • Aggregate rate to clients: 2 x playback rate
Comparing Batching and SB • Playback rate = 1 Mbps, duration = 90 minutes • Limitations of Skyscraper: • Ad hoc segment size progress • Does not work for low client data rates
Reliable Periodic Broadcasts (RPB) [Mahanti et al. 2001, 2003, 2004] • Optimized PB protocols(no packet loss recovery) • client fully downloads each segment before playing • required server bandwidth near minimal • Segment size progression is not ad hoc • Works for client data rates < 2 x playback rate • extend for packet loss recovery • extend for “bursty” packet loss • extend for client heterogeneity We will not cover this part
Optimized Periodic Broadcasts • r = segment streaming rate = 1 • s = maximum # streams client listens to concurrently = 2 • b = client data rate = s x r = 2 • length of first s segments: • length of segment k s:
Optimized PB: Performance r = segment transmission rate, s = max. # streams client listens to concurrently b = client data rate = s x r
Scalable Streaming Protocols … • Bounded Delay Protocols • Batching, Periodic Broadcasts • Tradeoff: start-up delay vs. bandwidth • Immediate Service Protocols • Patching, Bandwidth Skimming • Tradeoff: request rate vs. bandwidth
Patching [Carter & Long 1997, Hua et al. 1998] • Clients use a “patch” stream to catch-up with the “root” stream • Server Bandwidth scales as square root
Bandwidth Skimming [Eager et al. 1999] • Allocate a multicast stream to each client; a client also listens to closest earliest active stream • Bandwidth scales logarithmically
Bandwidth Skimming: Performance • Bandwidth Skimming better than Patching • Bandwidth Skimming policies allow merging for b < 2
Summary • Discussed some techniques for scalable on-demand media streaming • Bounded delay protocols • Immediate service protocols • Reliable Delivery? • Non-linear media? • Non-sequential media access?
For Details … • Anirban Mahanti, Scalable Reliable On-Demand Media Streaming Protocols, Ph.D. Thesis, Dept. of Computer Science, Univ. of Saskatchewan, March 2004. • Anirban Mahanti, Derek L. Eager, Mary K. Vernon, David Sundaram-Stukel, Scalable On-Demand Media Streaming with Packet Loss Recovery, IEEE/ACM Trans. On Networking, April 2003. Also in ACM SIGCOMM 2001. • Email:mahanti@cs.ucalgary.ca • http://pages.cpsc.ucalgary.ca/~mahanti