providing controlled quality assurance in video streaming

21
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

Upload: videoguy

Post on 12-Jan-2015

506 views

Category:

Documents


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 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

Page 2: Providing Controlled Quality Assurance in Video Streaming

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

Page 3: Providing Controlled Quality Assurance in Video Streaming

Proxy Content Delivery Architecture

Proxy Server + VPN

Page 4: Providing Controlled Quality Assurance in Video Streaming

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.

Page 5: Providing Controlled Quality Assurance in Video Streaming

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

Page 6: Providing Controlled Quality Assurance in Video Streaming

Outline

Motivations and Background Staggered Two-Flow Streaming Control Bandwidth Sharing Conclusion and Current Work

Page 7: Providing Controlled Quality Assurance in Video Streaming

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

Page 8: Providing Controlled Quality Assurance in Video Streaming

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)

Page 9: Providing Controlled Quality Assurance in Video Streaming

Segment and Staggered Delivery

The Reliable Flow is one segment ahead

Page 10: Providing Controlled Quality Assurance in Video Streaming

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

Page 11: Providing Controlled Quality Assurance in Video Streaming

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!!

Page 12: Providing Controlled Quality Assurance in Video Streaming

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

Page 13: Providing Controlled Quality Assurance in Video Streaming

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.

Page 14: Providing Controlled Quality Assurance in Video Streaming

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

Page 15: Providing Controlled Quality Assurance in Video Streaming

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.

Page 16: Providing Controlled Quality Assurance in Video Streaming

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

Page 17: Providing Controlled Quality Assurance in Video Streaming

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

Page 18: Providing Controlled Quality Assurance in Video Streaming

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)

Page 19: Providing Controlled Quality Assurance in Video Streaming

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

Page 20: Providing Controlled Quality Assurance in Video Streaming

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

Page 21: Providing Controlled Quality Assurance in Video Streaming

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.