Multimedia networking an overview
This presentation is the property of its rightful owner.
Sponsored Links
1 / 47

Multimedia Networking: An Overview PowerPoint PPT Presentation


  • 106 Views
  • Uploaded on
  • Presentation posted in: General

Multimedia Networking: An Overview. Instructor: Anirban Mahanti Office: ICT 745 Email: [email protected] Adapted from the companion web site of the text “ Computer Networking: A Top Down Approach Featuring the Internet” , 3 rd edition, Jim Kurose and Keith Ross Addison-Wesley, 2005.

Download Presentation

Multimedia Networking: An Overview

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Multimedia networking an overview

Multimedia Networking: An Overview

Instructor: Anirban Mahanti

Office: ICT 745

Email: [email protected]

Adapted from the companion web site of the text “Computer Networking: A Top Down Approach Featuring the Internet”, 3rd edition, Jim Kurose and Keith Ross Addison-Wesley, 2005.

CPSC 601.43


Outline

Outline

  • The Internet Protocol Stack (Review)

  • MM networking applications

  • Multimedia over “best effort” Internet

  • Evolving the Internet to support multimedia apps

  • Stored media streaming (in some detail)

  • What will we cover in this course?

CPSC 601.43


Internet protocol stack review 1 5

application: supporting network applications

FTP, SMTP, STTP

transport: host-host data transfer

TCP, UDP

network: routing of datagrams from source to destination

IP, routing protocols

link: data transfer between neighboring network elements

PPP, Ethernet

physical: bits “on the wire”

application

transport

network

link

physical

Internet protocol stack (Review 1/5)

CPSC 601.43


The network layer review 2 5

The Network Layer (Review 2/5)

  • End systems inject datagrams in the networks

  • A transmission path is determined for each packet (routing)

  • A “best effort” service

    • Datagrams might be lost

    • Datagrams might be arrive out of order

    • Jitter in arrival of datagrams from the same stream

  • Analogy: Postal system

CPSC 601.43


The transport layer review 3 5

The Transport Layer (Review 3/5)

  • Concerned with end-to-end data transfer between end systems (hosts)

  • Transmission unit is called segment

  • TCP/IP networks such as the Internet provides two types of services to applications

    • “connection-oriented” service – Transmission Control Protocol (TCP)

    • “connectionless” service - User Datagram Protocol (UDP)

CPSC 601.43


Connection oriented service review 4 5

Connection-oriented Service (Review 4/5)

  • Handshaking between client & server programs

    • Parameters for ensuing exchange

    • Maintain connection-state

  • Packet switches do not maintain any connection-state;

    • hence “connection-oriented”

  • Similar to a phone conversation

  • TCP is bundled with reliability, congestion control, and flow control.

CPSC 601.43


Udp connectionless service review 5 5

UDP: Connectionless Service (Review 5/5)

  • No handshaking

  • Send whenever and however you want

  • A “best effort” service

    • No reliability

    • No congestion & flow control services

  • Why is it needed?

CPSC 601.43


Outline1

Outline

  • The Internet Protocol Stack (Review)

  • MM networking applications

  • Multimedia over “best effort” Internet

  • Evolving the Internet to support multimedia apps

  • Stored media streaming (in some detail)

  • What will we cover in this course?

CPSC 601.43


Mm networking applications

Fundamental characteristics:

Typically delaysensitive

end-to-end delay

delay jitter

But loss tolerant: infrequent losses cause minor glitches

Antithesis of data, which are loss intolerant but delay tolerant.

Classes of MM applications:

1) Streaming stored audio and video

2) Streaming live audio and video

3) Real-time interactive audio and video

MM Networking Applications

  • Jitter is the variability

  • of packet delays within

  • the same packet stream

CPSC 601.43


Streaming stored multimedia 1 2

Streaming Stored Multimedia (1/2)

  • VCR-like functionality: client can pause, rewind, FF, push slider bar

    • 10 sec initial delay OK

    • 1-2 sec until command effect OK

    • need a separate control protocol?

  • timing constraint for still-to-be transmitted data: in time for playout

CPSC 601.43


Streaming stored multimedia 2 2

2. video

sent

3. video received,

played out at client

1. video

recorded

network

delay

streaming: at this time, client

playing out early part of video,

while server still sending later

part of video

Streaming Stored Multimedia (2/2)

Cumulative data

time

CPSC 601.43


Streaming live multimedia

Streaming Live Multimedia

Examples:

  • Internet radio talk show

  • Live sporting event

    Streaming

  • playback buffer

  • playback can lag tens of seconds after transmission

  • still have timing constraint

    Interactivity

  • fast forward impossible

  • rewind, pause possible!

CPSC 601.43


Interactive real time multimedia

Interactive, Real-Time Multimedia

  • applications: IP telephony, video conference, distributed interactive worlds

  • end-end delay requirements:

    • audio: < 150 msec good, < 400 msec OK

      • includes application-level (packetization) and network delays

      • higher delays noticeable, impair interactivity

  • session initialization

    • how does callee advertise its IP address, port number, encoding algorithms?

CPSC 601.43


Outline2

Outline

  • The Internet Protocol Stack (Review)

  • MM networking applications

  • Multimedia over “best effort” Internet

  • Evolving the Internet to support multimedia apps

  • Stored media streaming (in some detail)

  • What will we cover in this course?

CPSC 601.43


Multimedia over best effort internet

?

?

?

?

?

?

?

But you said multimedia apps requires

QoS and level of performance to be

effective!

?

?

?

?

Today’s Internet multimedia applications

use application-level techniques to mitigate

(as best possible) effects of delay, loss

Multimedia Over “Best Effort” Internet

  • TCP/UDP/IP:no guarantees on delay, loss

CPSC 601.43


Outline3

Outline

  • The Internet Protocol Stack (Review)

  • MM networking applications

  • Multimedia over “best effort” Internet

  • Evolving the Internet to support multimedia apps

  • Stored media streaming (in some detail)

  • What will we cover in this course?

CPSC 601.43


How to provide better support for multimedia 1 4

Integrated services philosophy:

architecture for providing QOS guarantees in IP networks for individual flows

Fundamental changes in Internet so that apps can reserve end-to-end bandwidth

Components of this architecture are

Admission control

Reservation protocol

Routing protocol

Classifier and route selection

Packet scheduler

How to provide better support for Multimedia? (1/4)

CPSC 601.43


How to provide better support for multimedia 2 4

How to provide better support for Multimedia? (2/4)

Concerns with Intserv:

  • Scalability: signaling, maintaining per-flow router state difficult with large number of flows

  • Flexible Service Models: Intserv has only two classes. Desire “qualitative” service classes

    • E.g., Courier, xPress, and normal mail

    • E.g., First, business, and cattle class 

      Diffserv approach:

  • simple functions in network core, relatively complex functions at edge routers (or hosts)

  • Don’t define define service classes, provide functional components to build service classes

CPSC 601.43


How to provide better support for multimedia 3 4

Content Distribution Networks (CDNs)

Challenging to stream large files (e.g., video) from single origin server in real time

Solution: replicate content at hundreds of servers throughout Internet

content downloaded to CDN servers ahead of time

placing content “close” to user avoids impairments (loss, delay) of sending content over long paths

CDN server typically in edge/access network

How to provide better support for Multimedia? (3/4)

origin server

in North America

CDN distribution node

CDN server

in S. America

CDN server

in Asia

CDN server

in Europe

CPSC 601.43


How to provide better support for multimedia 4 4

duplicate

creation/transmission

duplicate

duplicate

R3

R4

R4

R2

R2

R3

R1

R1

(b)

(a)

How to provide better support for Multimedia? (4/4)

Multicast/Broadcast

Source-duplication versus in-network duplication.

(a) source duplication, (b) in-network duplication

CPSC 601.43


Outline4

Outline

  • The Internet Protocol Stack (Review)

  • MM networking applications

  • Multimedia over “best effort” Internet

  • Evolving the Internet to support multimedia apps

  • Stored media streaming (in some detail)

    • Streaming Architectures

    • Real Time Streaming Protocol

    • Packet Loss Recovery

  • What will we cover in this course?

CPSC 601.43


Internet multimedia simplest approach

Internet multimedia: simplest approach

  • audio or video stored in file

  • files transferred as HTTP object

    • received in entirety at client

    • then passed to player

audio, video not streamed:

  • no, “pipelining,” long delays until playout!

CPSC 601.43


Streaming vs download of stored multimedia content

Streaming vs. Download of Stored Multimedia Content

  • Download: Receive entire content before playback begins

    • High “start-up” delay as media file can be large

    • ~ 4GB for a 2 hour MPEG II movie

  • Streaming: Play the media file while it is being received

    • Reasonable “start-up” delays

    • Reception Rate >= playback rate. Why?

CPSC 601.43


Progressive download

Progressive Download

  • browser GETs metafile

  • browser launches player, passing metafile

  • player contacts server

  • server downloads audio/video to player

CPSC 601.43


Streaming from a streaming server

Streaming from a streaming server

  • This architecture allows for non-HTTP protocol between server and media player

  • Can also use UDP instead of TCP.

CPSC 601.43


Streaming multimedia client buffering

client video

reception

constant bit

rate video

playout at client

variable

network

delay

buffered

video

client playout

delay

Streaming Multimedia: Client Buffering

  • Client-side buffering, playout delay compensate for network-added delay, delay jitter

constant bit

rate video

transmission

Cumulative data

time

CPSC 601.43


Streaming multimedia client buffering1

Streaming Multimedia: Client Buffering

  • Client-side buffering, playout delay compensate for network-added delay, delay jitter

constant

drain

rate, d

variable fill

rate, x(t)

buffered

video

CPSC 601.43


Streaming multimedia udp or tcp

Streaming Multimedia: UDP or TCP?

UDP

  • server sends at rate appropriate for client (oblivious to network congestion !)

    • often send rate = encoding rate = constant rate

    • then, fill rate = constant rate - packet loss

  • short playout delay (2-5 seconds) to compensate for network delay jitter

  • error recover: time permitting

    TCP

  • send at maximum possible rate under TCP

  • fill rate fluctuates due to TCP congestion control

  • larger playout delay: smooth TCP delivery rate

  • HTTP/TCP passes more easily through firewalls

CPSC 601.43


Outline5

Outline

  • The Internet Protocol Stack (Review)

  • MM networking applications

  • Multimedia over “best effort” Internet

  • Evolving the Internet to support multimedia apps

  • Stored media streaming (in some detail)

    • Streaming Architectures

    • Real Time Streaming Protocol

    • Packet Loss Recovery

  • What will we cover in this course?

CPSC 601.43


Real time streaming protocol rtsp

HTTP

Does not target multimedia content

No commands for fast forward, etc.

RTSP: RFC 2326

Client-server application layer protocol.

For user to control display: rewind, fast forward, pause, resume, repositioning, etc…

What it doesn’t do:

does not define how audio/video is encapsulated for streaming over network

does not restrict how streamed media is transported; it can be transported over UDP or TCP

does not specify how the media player buffers audio/video

Real-Time Streaming Protocol (RTSP)

CPSC 601.43


Rtsp example

RTSP Example

Scenario:

  • metafile communicated to web browser

  • browser launches player

  • player sets up an RTSP control connection, data connection to streaming server

CPSC 601.43


Metafile example

Metafile Example

<title>Twister</title>

<session>

<group language=en lipsync>

<switch>

<track type=audio

e="PCMU/8000/1"

src = "rtsp://audio.example.com/twister/audio.en/lofi">

<track type=audio

e="DVI4/16000/2" pt="90 DVI4/8000/1"

src="rtsp://audio.example.com/twister/audio.en/hifi">

</switch>

<track type="video/jpeg"

src="rtsp://video.example.com/twister/video">

</group>

</session>

CPSC 601.43


Rtsp operation

RTSP Operation

CPSC 601.43


Rtsp exchange example

RTSP Exchange Example

C: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0

Transport: rtp/udp; compression; port=3056; mode=PLAY

S: RTSP/1.0 200 1 OK

Session 4231

C: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0

Session: 4231

Range: npt=0-

C: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0

Session: 4231

Range: npt=37

C: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0

Session: 4231

S: 200 3 OK

CPSC 601.43


Outline6

Outline

  • The Internet Protocol Stack (Review)

  • MM networking applications

  • Multimedia over “best effort” Internet

  • Evolving the Internet to support multimedia apps

  • Stored media streaming (in some detail)

    • Streaming Architectures

    • Real Time Streaming Protocol

    • Packet Loss Recovery

  • What will we cover in this course?

CPSC 601.43


Packet loss

Packet Loss

  • network loss: IP datagram lost due to network congestion (router buffer overflow)

  • delay loss: IP datagram arrives too late for playout at receiver

    • delays: processing, queueing in network; end-system (sender, receiver) delays

    • Tolerable delay depends on the application

  • How can packet loss be handled?

    • We will discuss this next …

CPSC 601.43


Receiver based packet loss recovery

Receiver-based Packet Loss Recovery

  • Generate replacement packet

    • Packet repetition

    • Interpolation

    • Other sophisticated schemes

  • Works when audio/video stream exhibits short-term self-similarity

  • Works for relatively low loss rates (e.g., < 5%)

  • Typically, breaks down on “bursty” losses

CPSC 601.43


Forward error correction fec

for every group of n packets generate k redundant packets

send out n+k packets, increasing the bandwidth by factor k/n.

can reconstruct the original n packets provided at most k packets are lost from the group

Works well at high loss rate (for a proper choice of k)

Handles “bursty” packet losses

Cost: increase in transmission cost (bandwidth)

Forward Error Correction (FEC)

CPSC 601.43


Another fec example

Another FEC Example

  • “piggyback lower quality stream”

  • Example: send lower resolution audio stream as the redundant information

  • Whenever there is non-consecutive loss, thereceiver can conceal the loss.

  • Can also append (n-1)st and (n-2)nd low-bit ratechunk

CPSC 601.43


Interleaving recovery from packet loss

Interleaving

Re-sequence packets before transmission

Better handling of “burst” losses

Results in increased playout delay

Interleaving: Recovery from packet loss

CPSC 601.43


Summary internet multimedia bag of tricks

Summary: Internet Multimedia: bag of tricks

  • use UDP to avoid TCP congestion control (delays) for time-sensitive traffic

  • client-side adaptive playout delay: to compensate for delay

  • server side matches stream bandwidth to available client-to-server path bandwidth

    • chose among pre-encoded stream rates

    • dynamic server encoding rate

  • error recovery (on top of UDP)

    • FEC, interleaving

    • retransmissions, time permitting

    • conceal errors: repeat nearby data

CPSC 601.43


What will we study in this course

What will we study in this course?

  • Empirical measurements

  • Multicast support

    • IP Multicast, Application layer multicast

  • Content Distribution

    • Scalable streaming, CDNs

  • Rate Control

    • TCP overview, TCP Vegas, unicast and multicast rate control protocol

  • Quality of Service

    • Integrated/differentiated services, AQM

  • Packet loss recovery

CPSC 601.43


Example streaming popular content

Example: Streaming Popular Content

  • Consider a popular media file

    • Playback rate: 1 Mbps

    • Duration: 90 minutes

    • Request rate: once every minute

  • Can a video server handle such high loads?

    • Approach 1: Start a new “stream” for each request

    • Allocate server and disk I/O bandwidth for each request

    • Bandwidth required at server= 1 Mbps x 90

    • How to improve efficiency?

CPSC 601.43


Streaming popular content using batching

Channel 1

Channel 2

Channel 3

0

30

60

90

120

150

180

210

240

Time (minutes)

Streaming Popular Content using Batching

  • Approach 2: Leverage the multipoint delivery capability of modern networks

  • Playback rate = 1 Mbps, duration = 90 minutes

  • Group requests in non-overlapping intervals of 30 minutes:

    • Max. start-up delay = 30 minutes

    • Bandwidth required = 3 channels = 3 Mbps

CPSC 601.43


Batching issues

Batching Issues

  • Bandwidth increases linearly with decrease in start-up delays

  • Can we reduce or eliminate “start-up” delays?

    • Periodic Broadcast Protocols

    • Stream Merging Protocols

    • CDNs

CPSC 601.43


Another example streaming live multimedia

ADSL

Dial-up

Internet

High-speed

Access

Video Server

Another Example: Streaming Live Multimedia

  • How to stream to large numbers of clients?

    • Example: A popular sporting event

    • Use multicast/broadcast

  • What about client heterogeneity?

    • E.g., clients might have different available b/w

    • Use layered/scalable video

CPSC 601.43


Multimedia networking

Exciting, industry relevant research topic

Multimedia is everywhere

Tons of open problems

Questions?

Multimedia Networking

CPSC 601.43


  • Login