Providing Controlled Quality Assurance in Video Streaming across the Internet Yingfei Dong, Zhi-Li Zhang and Rohit Rakesh Computer Networking and Multimedia Research Group Dept. of Computer Science and Engineering University of Minnesota
Motivations The Internet: Service-Oriented Network Service Requirement: End-to-End QoS Service Delivery System: Content Distribution Networks On-Demand Large Stored Video Streaming --- High Bandwidth requirements oWide-Area Stored Video Delivery System Common Approach --- Proxy Server System
Proxy Content Delivery Architecture Proxy Server + VPN
Virtual Private Network(VPN) Network- Layer VPN not Leased-Lines, but Service Level Agreements, oCoarse-grain average : T3 VPN, 99.9% available, 120 ms average RTT monthly average oNo rate guarantee for individual flows oNo packet loss/delay guarantee Application-level Traffic Management is needed.
System Constraints and Challenge Constraints Limited Buffer Space v.s. Huge Video Volume Streaming from central servers is required. Aggregate B/W v.s. Individual Flow Requirement Bandwidth management must be present. Stringent Timing v.s. No Delay/Loss Guarantee Reliably prefetching is necessary. Challenge oQuality Assurance across Best-Effort Networks
Outline Motivations and Background Staggered Two-Flow Streaming Control Bandwidth Sharing Conclusion and Current Work
Objective and Approaches Controlled Quality Assurance in streaming on the best-effort Internet by exploiting o Application Information, such as the priority structure in videos (frame-dependency), and flow rate o Coarse-grain bandwidth assurance of VPN o Storage / processing capacity of proxy servers
Priority Structure in Videos Two flows in a video session: A Reliable Flow for essential data (e.g., I frames) An Unreliable Flow for enhanced data (e.g., P/B)
Segment and Staggered Delivery The Reliable Flow is one segment ahead
Staggered Two-Flow Streaming Reliable Flow: I-frame segments, prefetched and cached at proxy. Unreliable Flow: P/B-frames segments, real-time delivery subject to adaptation when congestion in the soft VPN pipe. Merging both flows at Proxy Server, then send to clients
Prefetching Cache Illustration To user k k+1 Unreliable Delivery Reliable Prefetching k k+1 k k Proxy ServerCentral Server best-effort VPN Merging k Competition!!
Interesting Issues Data Plane Issues Bandwidth Competition Unreliable-Flow Unreliable-Flow Rate Adaptation Control Plane Issues o o Application-aware Resource Management e.g., Admission Control, VPN management, Video placement and migration Implementation Issues
Application-Aware Controlled Bandwidth Sharing Stable and Predictable transport protocols Controlled TCP (cTCP) Application-aware throughput control: A variant of TCP Reno using a simple TCP model to regulate the injection rate. Rate-Controlled UDP(rUDP) Generating Piece-wise CBR traffic: Extending UDP on FreeBSD with a periodical injection mechanism limited by a leaky-bucket Both are implemented in FreeBSD kernel.
TCP: reliable but not fit to our setting Sliding Window (W) Injection Control W packets per RTT AIMD oFluctuation: Greedily Increase, back off to half when loss oFairness regardless of flow requirements Packet losses even when sufficient B/W
cTCP: a variant of TCP Reno Flow Target Rate T cTCP Target Window Size W target ousing a simple TCP bandwidth model to limit the injection to the flow requirement oIf packet loss oelse No slow-start. No packet losses when given sufficient B/W.
Two cTCP Flows v.s. Two TCP Flows On a 64KBps link, the 1st flow with a target rate 13KBps starts 12 seconds earlier than the 2nd flow with a target rate 27KBps
Experimental Environment Controlled Testbed on FreeBSD4.1 3 PCs on a dedicated Gbps Ethernet switch A central server and a proxy server A bandwidth-and-delay control unit emulates a VPN pipe in between, running IP Dummynet Testing Video: a 60-minute MPEG-2 video clip Target Rate of I frames, 52 KBps Target Rate of P/B frames, 200 KBps
Multiple Sessions: cTCP/rUDP v.s. TCP/rUDP RXs in TCP or cTCP rUDP Losses A video session of two flows (cTCP/rUDP or TCP/rUDP)
Multiple Sessions (Arrival / Departure) : cTCP/rUDP v.s. TCP/rUDP C = Max_Rate Starting with 4 sessions; Then, add one more; Later, terminate two. Compare the variations of packet RXs and losses
Summary of Controlled BW Sharing Practical quality assurance of the essential data over best-effort networks None / Low Packet Losses Stable, Predictable System Performance Providing chances for applying simple application-aware traffic management TCP-firendly: do not grab BW from others Patent Pending
Current and Future Work Quality Assurance issues in Service-Oriented Networks Scalability in data plane Aggregation at the levels of video, session, and flow. Network parameters sharing among sessions. Service-Oriented B/W Management in control plane Application-ware admission control Proxy Placement utilizing the topology info. Proxy Caching and Video Placement / Migration. High-Quality VOD on Cable Broadband Networks.