Providing Controlled Quality Assurance in Video Streaming ...
description
Transcript of Providing Controlled Quality Assurance in Video Streaming ...
Providing Controlled Quality
Assurance in Video Streaming
across the Internet
Yingfei Dong, Zhi-Li Zhang and Rohit RakeshComputer Networking and Multimedia Research Group
Dept. of Computer Science and EngineeringUniversity 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,
Coarse-grain average :
T3 VPN, 99.9% available, 120 ms average RTT monthly average
No rate guarantee for individual flows No packet loss/delay guaranteeApplication-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 GuaranteeReliably prefetching is necessary.
Challenge Quality Assurance across Best-Effort Networks
Outline
Motivations and Background Staggered Two-Flow Streaming Control Bandwidth Sharing Conclusion and Current Work
Objective and Approaches Objective and Approaches
Controlled Quality Assurance in streaming
on the best-effort Internet by exploiting
Application Information, such as the priority
structure in videos (frame-dependency), and flow rate
Coarse-grain bandwidth assurance of VPN
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 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 protocolsControlled 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 Fluctuation: Greedily Increase,
back off to half when loss Fairness regardless of flow
requirements
Packet losses even when sufficient B/W
cTCP: a variant of TCP Reno
Flow Target Rate TcTCP
Target Window Size Wtarget
using a simple TCP bandwidth model to limit the injection to the flow requirement
If packet loss
else
MSS
RTTTW
cTCP
75.0
target
MSS
RTTTW
cTCP target
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 starts12 seconds earlier than the 2nd flow with a target rate 27KBps
Experimental EnvironmentExperimental 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 = 5 • 1.1 • 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.