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

description

 

Transcript of Providing Controlled Quality Assurance in Video Streaming ...

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.