November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

24
November 27 th , 2012 CS1652 Jack Lange University of Pittsburgh 1

Transcript of November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

Page 1: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

November 27th, 2012CS1652

Jack LangeUniversity of Pittsburgh

1

Page 2: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

OMET Question

Compared to other Pitt CS classes I learned: (1) Much Less (2) Slightly Less (3) The same amount (4) Slightly More (5) A lot more

7: Multimedia Networking 7-2

Page 3: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

7: Multimedia Networking 7-3

Multimedia and Quality of Service: What is it?

multimedia applications: network audio and video(“continuous media”)

network provides application with level of performance needed for application to function.

QoS

Page 4: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

Multimedia Networking Application

4

Page 5: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

7: Multimedia Networking 7-5

MM Networking Applications

Fundamental characteristics:

typically delay sensitive end-to-end delay delay jitter

loss tolerant: infrequent losses cause minor glitches

antithesis of bulk data, which is loss intolerant but delay tolerant.

Classes of MM applications:

1) stored streaming2) live streaming3) interactive, real-time

Jitter is the variability of packet delays within the same packet stream

Page 6: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

7: Multimedia Networking 7-6

Streaming Stored Multimedia

Stored streaming: media stored at source transmitted to client streaming: client playout

begins before all data has arrived timing constraint for still-to-be

transmitted data: in time for playout

Page 7: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

7: Multimedia Networking 7-7

Streaming Stored Multimedia: What is it?

1. videorecorded

2. videosent

3. video received,played out at client

Cum

ula

tive

data

streaming: at this time, client playing out early part of video, while server still sending laterpart of video

networkdelay

time

Page 8: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

7: Multimedia Networking 7-8

constant bit rate videotransmission

Cum

ula

tive

data

time

variablenetworkDelay(jitter)

client videoreception

constant bit rate video playout at client

client playoutdelay

bu

ffere

dvid

eo

Streaming Multimedia: Client Buffering

client-side buffering, playout delay compensate for network-added delay, delay jitter

Page 9: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

7: Multimedia Networking 7-9

Streaming Multimedia: Client Buffering

client-side buffering, playout delay compensate for network-added delay, delay jitter

bufferedvideo

variable fillrate, x(t)

constant drainrate, d

Page 10: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

7: Multimedia Networking 7-10

Streaming Live Multimedia

Examples: Internet radio talk show live sporting eventStreaming (as with streaming stored multimedia) playback buffer playback can lag tens of seconds after

transmission still have timing constraintInteractivity fast forward impossible rewind, pause possible

Page 11: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

7: Multimedia Networking 7-11

Real-Time Interactive Multimedia

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?

applications: IP telephony, video conference, distributed interactive worlds

Page 12: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

7: Multimedia Networking 7-12

Multimedia Over Today’s InternetTCP/UDP/IP: “best-effort service” no guarantees on delay, loss

Today’s Internet multimedia applications use application-level techniques to mitigate

(as best possible) effects of delay, loss

But multimedia apps requireQoS and level of performance to be

effective!

?? ???

?

? ??

?

?

Page 13: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

7: Multimedia Networking 7-13

Internet Phone: Packet Loss and Delay

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 typical maximum tolerable delay: 400 ms

loss tolerance: depending on voice encoding, losses concealed, packet loss rates between 1% and 10% can be tolerated.

Page 14: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

7: Multimedia Networking 7-14

Internet Phone: Fixed Playout Delay

receiver attempts to playout each chunk exactly q msecs after chunk was generated. chunk has time stamp t: play out chunk at

t+q . chunk arrives after t+q: data arrives too

late for playout, data “lost” tradeoff in choosing q:

large q: less packet loss small q: better interactive experience

Page 15: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

7: Multimedia Networking 7-15

Fixed Playout Delay

packets

tim e

packetsgenerated

packetsreceived

loss

r

p p '

playout schedulep' - r

playout schedulep - r

• sender generates packets every 20 msec during talk spurt.• first packet received at time r• first playout schedule: begins at p• second playout schedule: begins at p’

Page 16: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

7: Multimedia Networking 7-16

Content distribution networks (CDNs)

Content replication 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

origin server in North America

CDN distribution node

CDN serverin S. America CDN server

in Europe

CDN serverin Asia

Page 17: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

7: Multimedia Networking 7-17

Content distribution networks (CDNs)

Content replication CDN (e.g., Akamai)

customer is the content provider (e.g., CNN)

CDN replicates customers’ content in CDN servers.

when provider updates content, CDN updates servers

origin server in North America

CDN distribution node

CDN serverin S. America CDN server

in Europe

CDN serverin Asia

Page 18: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

7: Multimedia Networking 7-18

CDN example

origin server (www.foo.com) distributes HTML replaces: http://www.foo.com/sports.ruth.gif

with

http://www.cdn.com/www.foo.com/sports/ruth.gif

HTTP request for

www.foo.com/sports/sports.html

DNS query for www.cdn.com

HTTP request for

www.cdn.com/www.foo.com/sports/ruth.gif

1

2

3

origin server

CDN’s authoritative DNS server

CDN server near client

CDN company (cdn.com)

distributes gif files uses its authoritative

DNS server to route redirect requests

client

Page 19: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

7: Multimedia Networking 7-19

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, error concealment retransmissions, time permitting

CDN: bring content closer to clients

Page 20: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

ZeroConf Networking

What: Non-administered networks Full Plug-and-Play architecture No centralized services to configure (DNS, DHCP,

etc)

Only need to plug computer into network Automatically assigns address Automatically discovers services Automatically negotiates protocols and connections

For local networks mostly Not easy to allow external (internet) connectivity

7: Multimedia Networking 7-20

Page 21: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

Finding an Address

Do not require anyone to provide an address No network administrator No DHCP server

Step 1: Select a random address Special range dedicated to internal zeroconf

networks

Step 2: Probe to check if address is already taken How?

Step 3: Assign address to interface

7: Multimedia Networking 7-21

Page 22: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

What is multicast

So far we’ve talked about unicast and broadcast Multicast is “in between”

Each interface has an IP address But also selectively listens for multicast addresses

Each network device has MAC address But also selectively listens for multicast addresses

One host can send a packet to anyone who wants to receive it Mechanism for self defined group communication TCP doesn’t really work, but UDP is fine

7: Multimedia Networking 7-22

Page 23: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

Multicast DNS

Dedicated TLD: .local Dedicated Multicast Address: 224.0.0.251

Send out a DNS request to a multicast group If a group member has that name they respond

Example When you buy a new computer you give it a name

• E.g. “My Mac Laptop” The DNS address is now “My Mac Laptop.local”

• If someone queries for that hostname your laptop responds

• Sort of like an ARP query

7: Multimedia Networking 7-23

Page 24: November 27 th, 2012 CS1652 Jack Lange University of Pittsburgh 1.

Service Discovery

Service Discovery extension to DNS (DNS-SD) DNS used to identify services (not computers) Based on Multicast

Special domain name format Instance.ServiceType.Domain E.g. My iTunes._daap._tcp.local

Query for ServiceTypes Enumerate all instances of a service

DNS is based on Multicast! So we can send a query for _daap._tcp.local to

EVERYONE! If a computer is running a given service they respond

with their instance name

7: Multimedia Networking 7-24