Receiver-Driven Bandwidth Sharing for TCP and its Application to Video Streaming Puneet Mehra,...

Post on 22-Dec-2015

214 views 0 download

Tags:

Transcript of Receiver-Driven Bandwidth Sharing for TCP and its Application to Video Streaming Puneet Mehra,...

Receiver-Driven Bandwidth Sharing for TCP and its Application to Video Streaming

Puneet Mehra, Christophe De Vleeschouwer, and Avideh ZakhorIEEE Transactions on Multimedia, August 2005

Introduction Last-hop connections are often the

bottleneck on the Internet Many applications run together to

compete for the bandwidth resource Propose Receiver-Driven Bandwidth

Sharing System (BWSS) Apply on last-hop link Allocate bandwidth according to user

preferences

System overview Objectives:

Achieve full utilization of receiver’s access link

Satisfy user preferences (how the bottleneck bandwidth should be shared)

Essential idea: constrain the throughput of certain low priority flows to provide additional bandwidth to high priority flows

Block diagram of bandwidth sharing system (BWSS)

TCP flow control system (FCS) Achieve a particular bit-rate for a given

TCP flow Input: desired bit rate

Output: advertised window (an integer number of packets, must be greater than zero)

Goal: R: actual rate, T: target rate

])1(,)1[( TTR

T ω

FCS algorithm

FCS analysis

( )

T: target rate set ω to Proceed in an iterative bandwidth esti

mation to adjust advertised window

RTT

pR size

sizepRTTT /)(

RTT

pR size

sizep

RTTR

T ω

R

FCS analysis

5.0

5.0

RTTp

TR

R

TR

size

RTTp

RT

R

RT

size

Measuring flow RTT and bandwidth Calculate RTT: use TCP Timestamp

option Calculate bandwidth

Estimate at the end of each period ψ, ψ is set to in all experiments

, εis set to 0.3 in all experiments

RRR )1( RTT2

Frequency to adjust the advertisement window Frequency φ is bounded based on:

Round trip time (RTT) Bandwidth estimation period (ψ) φ should be greater than RTT+ψ

We set φ>RTT+3 ψ Allow enough time for the window

adjustment to affect on throughput

Bandwidth sharing system (BWSS) Separate “priority” and “weight”

Some aps require minimal bandwidth, but the more is not necessarily the better, ex: streaming

Some aps don’t require minimal bandwidth, but the more is the better, ex: ftp

Minimal rate should be provided to each connection in decreasing order of priority

The remaining bandwidth should be shared proportionally to the weight

Target rate allocation & receiver preferences If system’s total bit rate

Else =min( , max(0, ) )

1

0

N

j jm

1

0

1

0

)( N

jj

iN

jjii mmT

1

0

i

jjm

iT im

Congestion Congestion in certain connection

Threshold: γT allocate bandwidth to other application or not

Experiment environment

Buffer incoming packets to limit

bandwidth

Throughput: 960kbpsAdditional delay: 30ms

Experiment 1: the ideal case

First 40 seconds: standard TCP

Weights: 2, 1, 3, respectively

No minimal rate

Experiment 2: Link bandwidth reduction

Weight: 1, 2, respectively

40~80s: a 320 kbps UDP stream

Experiment 3: bandwidth redistribution

Stream minimal rate: 496 kbps

40~100s: congestion, stream ↓ 160kbps

Experiment 4: RealVideo streaming (under standard TCP)

Experiment 4: RealVideo streaming (under UDP)

Experiment 4: RealVideo streaming (under BWSS)

Conclusion Investigated a bandwidth-sharing

system (BWSS) for TCP connections Allow users specify preferences Don’t need to change network

infrastructure Experiment results show that

streaming with BWSS offers superior performance

Drawback: BWSS may suffer starving condition