cs 414 - spring 2012 cs 414 – multimedia systems design lecture 28 – final comments on dash and...

31
CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH an Client-Server Buffer Management Klara Nahrstedt Spring 2012

Upload: miles-stafford

Post on 12-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

CS 414 - Spring 2012

CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management

Klara Nahrstedt

Spring 2012

Page 2: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Administrative MP2 posted MP2 Deadline – April 7, Saturday, 5pm.

CS 414 - Spring 2012

Page 3: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

DASH AND INTERNET VIDEO MOBILITY

CS 414 - Spring 2012

Page 4: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Covered Aspects of Multimedia

Image/VideoCapture

MediaServerStorage

Transmission

CompressionProcessing

Audio/VideoPresentationPlaybackAudio/Video

Perception/ Playback

Audio InformationRepresentation

Transmission

AudioCapture

A/V Playback

Image/Video InformationRepresentation

CS 414 - Spring 2012

Page 5: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

DASH featuring Session Mobility (Problem Description)

CS 414 - Spring 2012

Problem: User runs DASH streaming session on laptop and decides to switch to Another mobile device

Source: Muller et al, MMSys’11

Page 6: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Composition of Media Presentations (CMP)Consider layer on top of MDP which specifies initial user and device optionsReasons:

Size of MPD expands very quickly (different camera views/angles, subtitles, audio languages, …)

Device pre-configuration (codec, resolution…) User pre-configuration due to her preferences (camera

angle, subtitle, …) Flexibility and compatibility with existing repository formats

CS 414 - Spring 2012

Page 7: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

CMP Protocol Sequence

CS 414 - Spring 2012

(1) At Client Request CMP from Server (1) Once CMP received, check and Configure CMP at client if needed(3) Request for MDP that fulfills Requirements(4) Start standard DASH complaint steps

Source: Muller et al, MMSys’11

Page 8: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Session Mobility Protocol

CS 414 - Spring 2012

(1) Initiate session transfer(2) Digital Item Adaptation (DIA)Starts and preserves current state of Digital Item (segment)(3) Transfer Context digital itemTo selected device(4) Download CMP(5) Reconfigure device(6) Continue with DASH-compatible protocol

Source: Muller et al. MMSys 2011

Page 9: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

MULTIMEDIA BUFFERING ISSUES

CS 414 - Spring 2012

Page 10: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Covered Aspects of Multimedia

Image/VideoCapture

MediaServerStorage

Transmission

CompressionProcessing

Audio/VideoPresentationPlaybackAudio/Video

Perception/ Playback

Audio InformationRepresentation

Transmission

AudioCapture

A/V Playback

Image/Video InformationRepresentation

CS 414 - Spring 2012

Page 11: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Motivation for Buffering

Buffers are temporary holding areas of RAM that contain transferable data.

In multimedia systems, transferable data occur when Transmitting multimedia from sender to receiver

over InternetTransferring multimedia from disk to RAMTransferring multimedia RAM to I/O Devices

CS 414 - Spring 2012

Page 12: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Layered Code in Multimedia Systems

CS 414 - Spring 2012

Sampling/Encoding Streaming Application

Real-time Transport Protocol (RTP)(Packetization)

UDP

IP

Ethernet

Decoding/Playout Streaming Application

Real-time Transport Protocol (De-Packetization

UDP

IP

Ethernet

SENDER RECEIVER

Page 13: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

End-to-end Processing and Transmission of Digital Media Signals

CS 414 - Spring 2012

SamplingA/D

encoder packetization

network

De-packetization

Dec oderplayout

AnalogMedia signal

ps(t) e(t)bs(t)

br(t)r(t)d(t)pr(t)

p(t) – amount of captured/playout bits its at time t; e(t), d(t) amount of encoded/decoded bits at time t; b(t) - amount of clustered bits at time t

Page 14: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Example: Sender and Receiver Curves for transmission of CBR signal (digital speech with 64 kbps over a circuit-switched network)

CS 414 - Spring 2012

time

ps(t)

bs(t)

br(t) pr(t)bytes

buffering

Page 15: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Sender/Receiver Curves for Transmission of Voice over Packet-switched network

CS 414 - Spring 2012

ps(t)

bs(t) r(t)

pr(t)bytes

Lateloss

Page 16: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Outline Protocol Requirements on Buffer Management Buffer Management

Data CopyingOffset Management Scatter/Gather System

Buffering StrategiesMinbufMaxbuf

CS 414 - Spring 2012

Page 17: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Buffer Management

Buffers can be viewed as spatial representation of time

Buffer plays very important role in smoothing traffic Network protocols buffer their service data units

(SDUs) and use data copying when going from one protocol layer to another

Moving data using data copying is very expensive

CS 414 - Spring 2012

Page 18: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Data Copying

CS 414 - Spring 2012

Transport Service Entity(UDP)

Copy data

Network Service Entity(IP)

Buffer for UDP Datagram

Kernel

User space

RTP StreamingService

Buffer for RTPProtocol Data Unit

Buffer for IP Datagram

Buffer Management System at Receiver

Copy data

Page 19: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Layered Code in Multimedia Systems

CS 414 - Spring 2012

Sampling/Encoding Streaming Application

Real-time Transport Protocol (Packetization/And Segmentation)

UDP

IP

Ethernet

Segmentation

Segmentation

Decoding/Playout Streaming Application

Real-time Transport Protocol (De-PacketizationAnd Re-assembly)

UDP

IP

Ethernet

Re-assembly

Reassembly

SENDER RECEIVER

NETWORK

Page 20: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Protocol Requirements on Buffer Management and Segmentation

CS 414 - Spring 2012

Protocol Requirements

Service Data Unit (SDU)Example: Application Data Unit – Video I frameThat comes out of encoder

PCI SDU1 PCI SDU2

Buffer Management:Keep identification (PCI) to which application data unit the segment belongs

SEGMENTATION

Example: I frame gets split into two RTP datagrams

Page 21: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Reassembly and Retransmission Requirements on Buffer Management

CS 414 - Spring 2012

PCI SDU1 PCI SDU2

SDU1 SDU2

REASSEMBLY

Buffer Management: support linking of memory to form one buffer

RETRANSMISSION

Buffer Management : logical copy of buffer must exist to store SDUs for Possible retransmission

Page 22: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Multi-cast and Multi-target requirements on Buffer Management

CS 414 - Spring 2012

S

T3T1

T2

PCI -Group SDUiMulticast

Buffer Management: Keep only One buffer for all recipientsUse Multicast Group address (PCI-Group)

T1T2

T3

SDUi

PCI-T1

PCI-T2

PCI-T3

Multi-TragetBuffer Management:Keep one memory segmentCommon to all buffers

Page 23: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Buffer Management Techniques

CS 414 - Spring 2012

PCI1 Data

Data

PCI1 DataPCI2

App

RTP

UDP

DATA COPYING

1. app2. PCI1 added by RTP

3. PCI2 added by UDP

1. data2. PCI13. PCI2OFFSET MANAGMENT

Buffer Management: Assign as large buffer as data + all headers of the protocols require

Problems:???

Problems:???

Buffer Management: Copy data and PCIsbetween protocol layers

Page 24: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Buffer Management Techniques(Scatter-Gather)

CS 414 - Spring 2012

Scatter/GatherTable Structure

DATAData PTR1

PCI1

PCI1 PTR2

PCI2

PCI2 PTR3

Application Buffer Space

RTP BufferSpace

UDP BufferKernel Space

Problems: ???

Buffer Management: Establish scatter/gatherTable structure across all protocol layers to keep Track where payload (data) and control info (PCIs)Are located

Page 25: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Comparison

CS 414 - Spring 2012

Data Copying Offset Scatter/Gather

Memory BW High Low Low

CPU BW High Low Low

Memory Usage per Layer

Optimal for individual protocol layer because exact amount of space will be allocated

High for application protocol because it must allocate space more than it needs

Compromise, segments are sized depending on requirements

Are Protocol Requirements without copying satisfied?

NA No, segmentation needs copying

Mostly yes(one copy and segmentation must be done when data leaves node)

Page 26: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Buffering Strategies in Client-Server Systems

CS 414 - Spring 2012

Read encoded frames from VOD Disk

PacketizationProtocol Stack Processing

network

De-PacketizationProtocol Stack Processing

Decoderplayout

VOD Server

VOD Client

Page 27: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

VOD Retrieval Transmission and Playout Curves

CS 414 - Spring 2012

time

bytes Retrieval curveFrom disk

SendingCurve fromVOD server

ReceivingCurve at VOD Client

Playout CurveAt VOD Client

buffers

Page 28: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Buffer Management Strategies

Clients need buffers for VOD (Video-on-Demand) application to smooth out traffic jitters

Buffer management strategies balance bits in transit (buffer size and bits in channel)

Fixed Strategy (non-adaptive) and dynamic (adaptive)

CS 414 - Spring 2012

Page 29: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Buffer Management Strategies Fixed buffer strategy

Static buffer allocation during multimedia call setup phase

Static buffer allocation does not change during run-time

Dynamic buffer strategyElastic buffer allocation , i.e., allocate buffers during

multimedia call setup, but change them during run-time

CS 414 - Spring 2012

Page 30: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Buffering Strategies at VOD Client Minbuf - minimum buffering strategy

Minbuf minimizes buffering requirements at VOD client, but makes more demands on network (throughput and delay guarantees)

Maxbuf – maximum buffering strategyMaxbuf buffers more than one unit of information

and eases QoS guarantees demands on networkBuffering only up to a limit (Bufmax)

CS 414 - Spring 2012

Page 31: CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 28 – Final Comments on DASH and Client-Server Buffer Management Klara Nahrstedt Spring

Conclusion Need buffering at VOD client side Some buffering needed also at VOD Server

side Can use FIFO techniques

Reservation memory schemes are possible Implemented in system, called RK (CMU)

Will talk about VOD server in next lectures

CS 414 - Spring 2012