Multimedia Networking

Similar documents
Chapter 9. Multimedia Networking. Computer Networking: A Top Down Approach

Content distribution networks

Chapter 5 VoIP. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March Multmedia Networking

MULTIMEDIA I CSC 249 APRIL 26, Multimedia Classes of Applications Services Evolution of protocols

Chapter 9. Multimedia Networking. Computer Networking: A Top Down Approach

Multimedia Networking

CSC 4900 Computer Networks: Multimedia Applications

Digital Asset Management 5. Streaming multimedia

Multimedia networking: outline

Multimedia

Chapter 7 Multimedia Networking

Mohammad Hossein Manshaei 1393

Week-12 (Multimedia Networking)

Multimedia: video ... frame i+1

Lecture 9: Media over IP

Chapter 5 Link Layer. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

Quality of Service. Qos Mechanisms. EECS 122: Lecture 15

Today. March 7, 2006 EECS122 Lecture 15 (AKP) 4. D(t) Scheduling Discipline. March 7, 2006 EECS122 Lecture 15 (AKP) 5

Computer Networks. Wenzhong Li. Nanjing University

CS640: Introduction to Computer Networks. Application Classes. Application Classes (more) 11/20/2007

Streaming (Multi)media

Multimedia! 23/03/18. Part 3: Lecture 3! Content and multimedia! Internet traffic!

Part 3: Lecture 3! Content and multimedia!

Multimedia Applications: Streaming. Hamid R. Rabiee Mostafa Salehi, Fatemeh Dabiran, Hoda Ayatollahi Spring 2011

Multimedia Networking

CSC 401 Data and Computer Communications Networks

Multimedia networking: outline

Service/company landscape include 1-1

CS 457 Multimedia Applications. Fall 2014

Chapter 7 Multimedia Networking

55:054 Communication Networks 12/11/2008

Outline. QoS routing in ad-hoc networks. Real-time traffic support. Classification of QoS approaches. QoS design choices

Including location-based services, IoT, and increasing personalization... Service models and delivery architectures

Multimedia Applications. Classification of Applications. Transport and Network Layer

CS 218 F Nov 3 lecture: Streaming video/audio Adaptive encoding (eg, layered encoding) TCP friendliness. References:

4 rd class Department of Network College of IT- University of Babylon

Chapter 7 Multimedia Networking

Real-time interactive applications

Tema 0: Transmisión de Datos Multimedia

Telematics 2 & Performance Evaluation

Multimedia Networking

Kommunikationssysteme [KS]

Latency and Loss Requirements! Receiver-side Buffering! Dealing with Loss! Loss Recovery!

What Transport Services Does an App Need? Network Service Model. Multimedia Apps Quality of Service. Transport Service Requirements of Common Apps

Internet Video Delivery. Professor Hui Zhang

Multimedia Networking

ETSF10 Internet Protocols Transport Layer Protocols

Chapter 4 Network Layer

Mohammad Hossein Manshaei 1393

Multimedia networking: outline

Chapter 7 Multimedia Networking

Page 1. Outline / Computer Networking : 1 st Generation Commercial PC/Packet Video Technologies

Video Streaming and Media Session Protocols

Introduction to Networked Multimedia An Introduction to RTP p. 3 A Brief History of Audio/Video Networking p. 4 Early Packet Voice and Video

Networking Applications

CS519: Computer Networks. Lecture 9: May 03, 2004 Media over Internet

RTP. Prof. C. Noronha RTP. Real-Time Transport Protocol RFC 1889

CSCD 433/533 Advanced Networks Fall Lecture 14 RTSP and Transport Protocols/ RTP

in the Internet Andrea Bianco Telecommunication Network Group Application taxonomy

ITTC Communication Networks The University of Kansas EECS 780 Multimedia and Session Control

Transporting Voice by Using IP

Location Based Advanced Phone Dialer. A mobile client solution to perform voice calls over internet protocol. Jorge Duda de Matos

CS 3516: Advanced Computer Networks

Different Layers Lecture 20

Lecture 11. Transport Layer (cont d) Transport Layer 1

CMPE 80N: Introduction to Networking and the Internet

RTP: A Transport Protocol for Real-Time Applications

Higher layer protocols

Summary of last time " " "

Real-Time Control Protocol (RTCP)

Multimedia in the Internet

Data Communications & Networks. Session 10 Main Theme Multimedia Networking. Dr. Jean-Claude Franchitti

Multimedia Networking. Protocols for Real-Time Interactive Applications

Chapter 7 Multimedia Networking

Lec 17 Multimedia Transport: RTP, TCP/HTTP and QUIC

Cobalt Digital Inc Galen Drive Champaign, IL USA

Chapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach

Transport protocols Introduction

Chapter 7 Multimedia Networking. Chapter 7 outline. Chapter 7: goals. Multimedia and Quality of Service: What is it? QoS

The Transport Layer: User Datagram Protocol

Introduction to the Application Layer. Computer Networks Term B14

Protocol Layers, Security Sec: Application Layer: Sec 2.1 Prof Lina Battestilli Fall 2017

A common issue that affects the QoS of packetized audio is jitter. Voice data requires a constant packet interarrival rate at receivers to convert

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Transporting audio-video. over the Internet

Chapter 7: Multimedia Networking

Assuring Media Quality in IP Video Networks. Jim Welch IneoQuest Technologies

Multimedia networks. Additional references. Jargon. Analog to Digital (S5 4.3) KR: Kurose and Ross chapter 7 (KR3: 3 rd ed)

CN1047 INTRODUCTION TO COMPUTER NETWORKING CHAPTER 6 OSI MODEL TRANSPORT LAYER

ETSF10 Internet Protocols Transport Layer Protocols

Mul$media Networking. #5 Real- Time Transport Protocol Semester Ganjil 2012 PTIIK Universitas Brawijaya

Chapter 7 Multimedia Networking

COMP 249 Advanced Distributed Systems Multimedia Networking. Performance of Multimedia Delivery on the Internet Today

UNIT IV -- TRANSPORT LAYER

Multimedia networked applications: standards, protocols and research trends

PLEASE READ CAREFULLY BEFORE YOU START

Real-time Services BUPT/QMUL

Provide a generic transport capabilities for real-time multimedia applications Supports both conversational and streaming applications

Da t e: August 2 0 th a t 9: :00 SOLUTIONS

Application Layer: HTTP

Transcription:

Multimedia Networking #2 Multimedia Networking Semester Ganjil 2012 PTIIK Universitas Brawijaya #2 Multimedia Applications 1

Schedule of Class Meeting 1. Introduction 2. Applications of MN 3. Requirements of MN 4. Coding and Compression 5. RTP 6. IP Multicast 7. IP Multicast (cont d) 8. Overlay Multicast 9. CDN: Solutions 10.CDN: Case Studies 11.QoS on the Internet: Constraints 12.QoS on the Internet: Solutions 13.Discussion #2 Multimedia Applications 2 14.Summary

Today s Outline 2. Multimedia Networking Applications Streaming stored audio/video Streaming live audio/video Real-time interactive audio/video 3. Requirements of Multimedia Networking Limitations of the Best-Effort IP Service Removing Jitter at the Receiver for Audio Recovering from Packet Loss Case Study: Internet Telephony with Skype #2 Multimedia Applications 3

Multimedia networking: 3 application types streaming, stored audio, video properties: prerecorded e.g., YouTube, Netflix, Hulu, etc. conversational voice/video over IP properties: real-time communication e.g., Skype, GoogleTalk, etc. streaming live audio, video properties: on-the-fly compression, broadcast e.g., IPTV apps (e.g. Groovia), Ustream, Youtube Live, Livestream, etc. Multmedia Networking 7-4

Streaming Stored Audio & Video Streaming: playing out from one location of video/audio while at the same receiving the later parts of video/audio from the server #2 Multimedia Applications 5

Cumulative data Streaming stored video: 1. video recorded (e.g., 30 frames/sec ) 2. video sent network delay (fixed in this example) 3. video received, played out at client (30 frames/sec) time streaming: at this time, client playing out early part of video, while server still sending later part of video Multmedia Networking 7-6

Streaming stored video: challenges continuous playout constraint: once client playout begins, playback must match original timing but Multmedia Networking net 7-7

Streaming stored video: revisted Cumulative data constant bit rate video transmission variable network delay client video reception buffered video constant bit rate video playout at client client playout delay time client-side buffering and playout delay: compensate for network-added delay, delay jitter Multmedia Networking 7-8

Client-side buffering, playout variable fill rate, x(t) buffer fill level, Q(t) playout rate, e.g., CBR r video server client application buffer, size B client Multmedia Networking 7-9

Client-side buffering, playout variable fill rate, x(t) buffer fill level, Q(t) playout rate, e.g., CBR r video server client application buffer, size B client 1. Initial fill of buffer until playout begins at t p 2. playout begins at t p, 3. buffer fill level varies over time as fill rate x(t) varies and playout rate r is constant Multmedia Networking 7-10

Client-side buffering, playout variable fill rate, x(t) buffer fill level, Q(t) playout rate, e.g., CBR r video server client application buffer, size B playout buffering: average fill rate (x), playout rate (r): x < r: buffer eventually empties (causing freezing of video playout until buffer again fills) x > r: buffer will not empty, provided initial playout delay is large enough to absorb variability in x(t) initial playout delay tradeoff: buffer starvation less likely with larger delay, but larger delay until Multmedia user Networking begins watching 7-11

Streaming multimedia: UDP server sends at rate appropriate for client often: send rate = encoding rate = constant rate transmission rate can be oblivious to congestion levels short playout delay (2-5 seconds) to remove network jitter error recovery: application-level, time permitting RTP [RFC 2326]: Multmedia multimedia Networking payload 7-12

Streaming multimedia: HTTP multimedia file retrieved via HTTP GET send at maximum possible rate under TCP variable rate, x(t) video file TCP send buffer server TCP receive buffer client application playout buffer fill rate fluctuates due to TCP congestion control, retransmissions (in-order delivery) Multmedia Networking 7-13

Streaming multimedia: DASH DASH: Dynamic, Adaptive Streaming over HTTP server: divides video file into multiple chunks each chunk stored, encoded at different rates manifest file: provides URLs for different chunks client: periodically measures server-to-client bandwidth consulting manifest, requests one chunk at a time chooses maximum Multmedia coding Networking rate sustainable 7-14

Streaming multimedia: DASH DASH: Dynamic, Adaptive Streaming over HTTP intelligence at client: client determines when to request chunk (so that buffer starvation, or overflow does not occur) what encoding rate to request (higher quality when more bandwidth available) where to request Multmedia Networking chunk (can request 7-15

Today s Outline 2. Multimedia Networking Applications Streaming stored audio/video Streaming live audio/video Real-time interactive audio/video 3. Requirements of Multimedia Networking Limitations of the Best-Effort IP Service Removing Jitter at the Receiver for Audio Recovering from Packet Loss Case Study: Internet Telephony with Skype #2 Multimedia Applications 16

Streaming live audio/video Live, broadcast-like multiple receivers receive the same audio/video at the same time. Multicasting is the natural approach of this type apps cannot skip forward same client buffering approach of streaming stored to deal with delay and jitter In practice, a 10 15 second startup delay is usually adequate #2 Multimedia Applications 17

Today s Outline 2. Multimedia Networking Applications Streaming stored audio/video Streaming live audio/video Real-time interactive audio/video 3. Requirements of Multimedia Networking Limitations of the Best-Effort IP Service Removing Jitter at the Receiver for Audio Recovering from Packet Loss Case Study: Internet Telephony with Skype #2 Multimedia Applications 18

Real-time interactive audio/video interactive nature of human-to-human conversation delay-sensitive loss-tolerant may include multi-party communication (conferencing) e.g., Polycom, Tandberg, Google Hangouts, Skype, etc. #2 Multimedia Applications 19

Voice-over-IP (VoIP) VoIP end-end-delay requirement: needed to maintain conversational aspect higher delays noticeable, impair interactivity < 150 msec: good > 400 msec bad includes application-level (packetization,playout), network delays session initialization: how does callee advertise IP address, port number, encoding algorithms? value-added services: call forwarding, screening, recording emergency services: 911 Multmedia Networking 7-20

VoIP characteristics speaker s audio: alternating talk spurts, silent periods. 64 kbps during talk spurt pkts generated only during talk spurts 20 msec chunks at 8 Kbytes/sec: 160 bytes of data application-layer header added to each chunk chunk+header encapsulated into UDP or TCP segment application sends segment into socket every 20 msec during talkspurt Multmedia Networking 7-21

VoIP: packet loss, 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, loss concealment, packet Multmedia Networking 7-22 loss rates between 1% and 10% can

Delay jitter Cumulative data constant bit rate transmission variable network delay (jitter) client reception buffered data constant bit rate playout at client client playout delay time end-to-end delays of two consecutive packets: difference can be more or less than 20 msec (transmission time difference) Multmedia Networking 7-23

VoIP: 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 Multmedia Networking 7-24

VoIP: fixed playout delay sender generates packets every 20 msec during talk spur first packet received at time r first playout schedule: begins at p second playout schedule: begins at p p a c k e t s p a c k e t s g e n e r a t e d p a c k e t s r e c e i v e d l o s s p l a y o u t s c h e d u l e p ' - r p l a y o u t s c h e d u l e p - r t i m e Multmedia r Networking 5-25 p p '

Adaptive playout delay (1) goal: low playout delay, low late loss rate approach: adaptive playout delay adjustment: estimate network delay, adjust playout delay at beginning of each talk spurt silent periods compressed and elongated chunks still played out every 20 msec during talk spurt adaptively estimate packet delay: (EWMA - d i = (1 α)d i-1 + α (r i t i ) exponentially weighted moving average, recall TCP RTT estimate): delay estimate after ith packet small constant, e.g. 0.1 time time sent received - (timestam p) measured delay of ith packet Multmedia Networking 7-26

Adaptive playout delay (2) lso useful to estimate average deviation of delay, v v i = (1 β)v i-1 + β r i t i d i estimates d i, v i calculated for every received packet, but used only at start of talk spurt for first playout-time packet in i = talk t i + dspurt, i + Kv i playout time is: remaining packets Multmedia Networking in talkspurt are 5-27

Adaptive playout delay (3) Q: How does receiver determine whether packet is first in a talkspurt? if no loss, receiver looks at successive timestamps difference of successive stamps > 20 msec -->talk spurt begins. with loss possible, receiver must look at both time stamps and sequence numbers difference of successive stamps > 20 msec and sequence numbers without gaps --> talk spurt begins. Multmedia Networking 7-28

VoiP: recovery from packet loss (1) Challenge: recover from packet loss given small tolerable delay between original transmission and playout each ACK/NAK takes ~ one RTT alternative: Forward Error Correction (FEC) send enough bits to allow recovery without retransmission (recall two-dimensional parity in Ch. 5) simple FEC for every group of n chunks, create redundant chunk by exclusive OR-ing n original chunks send n+1 chunks, increasing bandwidth by factor 1/n can reconstruct original n chunks if at most one lost chunk from n+1 chunks, with playout delay Multmedia Networking 7-29

VoiP: recovery from packet loss (2) piggyback lower quality stream send lower resolution audio stream as redundant information e.g., nominal stream PCM at 64 kbps and redundant stream GSM at 13 kbps on-consecutive loss: receiver can conceal loss eneralization: can also append (n-1)st and (n-2)nd low-bit ra hunk Multmedia Networking 7-30

VoiP: recovery from packet loss (3) interleaving to conceal loss: audio chunks divided into smaller units, e.g. four 5 msec units per 20 msec audio chunk packet contains small units from different chunks if packet lost, still have most of every original chunk no redundancy overhead, but increases playout delay Multmedia Networking 7-31

Voice-over-IP: Skype proprietary application-layer protocol (inferred via reverse engineering) encrypted msgs P2P clients: components: skype peers connect directly to each other for VoIP call super nodes (SN): skype peers with special functions overlay network: among SNs to locate login SCs server Skype login server Skype clients (SC) supernode (SN) supernode overlay network Application Layer 2-32

P2P voice-over-ip: skype skype client 1. operation: joins skype network by contacting SN (IP address cached) 2. using logs-in TCP (usename, password) to centralized skype 3. login obtains server IP address for callee from SN, SN overlay or client buddy list 4. initiate call directly to callee Skype login server Application Layer 2-33

Skype: peers as relays problem: both Alice, Bob are behind NATs NAT prevents outside peer from initiating connection to insider peer inside peer can initiate connection to outside relay solution: Alice, Bob maintain open connection to their SNs Alice signals her SN to connect to Bob Alice s SN connects to Bob s SN Bob s SN connects to Bob over open connection Bob initially initiated to his SN Application Layer 2-34