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

Similar documents
Service/company landscape include 1-1

Multimedia Networking

Computer Networks. Instructor: Niklas Carlsson

Digital Asset Management 5. Streaming multimedia

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

Chapter 7: Multimedia Networking

Chapter 7 Multimedia Networking

Mohammad Hossein Manshaei 1393

CSC 4900 Computer Networks: Multimedia Applications

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

Multimedia Networking

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

Lecture 9: Media over IP

Multimedia Networking

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

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

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

Multimedia Applications. Classification of Applications. Transport and Network Layer

Streaming (Multi)media

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

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

Internet Video Delivery. Professor Hui Zhang

Tema 0: Transmisión de Datos Multimedia

Content distribution networks

CS 457 Multimedia Applications. Fall 2014

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

Part 3: Lecture 3! Content and multimedia!

Computer Networks. Wenzhong Li. Nanjing University

Video Streaming and Media Session Protocols

Mohammad Hossein Manshaei 1393

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

Multimedia Networking

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

Multimedia Networking

Chapter 28. Multimedia

The Transport Layer: User Datagram Protocol

55:054 Communication Networks 12/11/2008

Multimedia: video ... frame i+1

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

Chapter 7 Multimedia Networking

ETSF10 Internet Protocols Transport Layer Protocols

Multimedia networking: outline

Multimedia in the Internet

Week-12 (Multimedia Networking)

CSC 401 Data and Computer Communications Networks

Cobalt Digital Inc Galen Drive Champaign, IL USA

Multimedia networked applications: standards, protocols and research trends

in the Internet Andrea Bianco Telecommunication Network Group Application taxonomy

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

Real-Time Protocol (RTP)

Week 7: Traffic Models and QoS

Multimedia

Can Congestion-controlled Interactive Multimedia Traffic Co-exist with TCP? Colin Perkins

Module objectives. Integrated services. Support for real-time applications. Real-time flows and the current Internet protocols

Multimedia Applications over Packet Networks

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

Multimedia Networking and Quality of Service

Introduction to LAN/WAN. Application Layer 4

Multimedia networking: outline

Chapter 7 Multimedia Networking

Quality of Service (QoS)

Kommunikationssysteme [KS]

Networking Applications

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

Real-Time Control Protocol (RTCP)

RTP: A Transport Protocol for Real-Time Applications

Chapter 7 Multimedia Networking

Introduction to the Application Layer. Computer Networks Term B14

CMSC 322 Computer Networks Applications and End-To- End

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

Multimedia Networking. Network Support for Multimedia Applications

INSE 7110 Winter 2009 Value Added Services Engineering in Next Generation Networks Week #2. Roch H. Glitho- Ericsson/Concordia University

Advanced Networking Technologies

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

Mul$media Streaming. Digital Audio and Video Data. Digital Audio Sampling the analog signal. Challenges for Media Streaming.

Recommended Readings

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

Evolved Multimedia Broadcast/Multicast Service (embms) in LTE-advanced

Proxy-based TCP-friendly streaming over mobile networks

Lecture 14: Performance Architecture

Network-Adaptive Video Coding and Transmission

CSC 4900 Computer Networks: End-to-End Design

Lecture 14: Multimedia Communications

3. Quality of Service

Introduction to Quality of Service

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

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

CS 3516: Advanced Computer Networks

Achieving Low-Latency Streaming At Scale

Internet Architecture & Performance. What s the Internet: nuts and bolts view

Quality of Service in Ultrabroadband models

Multimedia Protocols. Foreleser: Carsten Griwodz Mai INF-3190: Multimedia Protocols

CSE 123b Communications Software

Chapter 7 + ATM/VC networks (3, 4, 5): Multimedia networking, QoS, Congestion control Course on Computer Communication and Networks, CTH/GU

Adaptive Video Acceleration. White Paper. 1 P a g e

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

Basics (cont.) Characteristics of data communication technologies OSI-Model

IMPROVING LIVE PERFORMANCE IN HTTP ADAPTIVE STREAMING SYSTEMS

Lecture 2 Communication services The Trasport Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Transcription:

Outline Service landscape Example services Including location-based services, IoT, and increasing personalization... Service models and delivery architectures Client-server, p2p, one-to-many E.g., middleboxes/proxies, CDNs, cloud-based, SDN, multicast/broadcast (including loss recovery at AL and embms) Also, p2p, peer-assisted,... Example services E.g., mobile web and has/dash streaming 1

Service/company landscape include 1-2

Applications (3) File transfer Remote login (telnet, rlogin, ssh) World Wide Web (WWW) Instant Messaging (Internet chat, text messaging on cellular phones) Peer-to-Peer file sharing Internet Phone (Voice-Over-IP) Video-on-demand Distributed Games 3

Today s end hosts

Today s end hosts well, already have

Today s end hosts

looking towards the future The 2020 vision Everything that can be connected will be connected 50B devices (perhaps more like 500B...) IoT and smart cities Machine-to-machine High-definition 3D streaming to heterogeneous clients 7

Personalized service and personal footprints in a connected world

9

Client-server architecture Client/server model has well-defined roles. client/server 10

Pure P2P architecture No fixed clients or servers: Each host can act as both client and server at any time peer-peer 11

Proxies 12

Content Delivery 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 origin server in North America CDN distribution node CDN server CDN server in S. America CDN server in Asia in Europe 13

Proxies and middleboxes 14

Gember-Jacobson et al., ACM SIGCOMM 2014 Sherry et al., ACM SIGCOMM 2012 Middleboxes + NF (and OpenNF) 15

Gember-Jacobson et al., ACM SIGCOMM 2014 Sherry et al., ACM SIGCOMM 2012 Middleboxes + NF (and OpenNF) 16

Middleboxes + NF Gember-Jacobson et al., ACM SIGCOMM 2014 Sherry et al., ACM SIGCOMM 2012 Network functions (NFs), or middleboxes, are systems that examine and modify packets and flows in sophisticated ways; e.g., intrusion detection systems (IDSs), load balancers, caching proxies, etc. NFs play a critical role in ensuring security, improving performance, and providing other novel network functionality. 17

Gember-Jacobson et al., ACM SIGCOMM 2014 Sherry et al., ACM SIGCOMM 2012 Middleboxes + NF (and OpenNF) Network functions (NFs), or middleboxes, are systems that examine and modify packets and flows in sophisticated ways; e.g., intrusion detection systems (IDSs), load balancers, caching proxies, etc. NFs play a critical role in ensuring security, improving performance, and providing other novel network functionality. 18

Gember-Jacobson et al., ACM SIGCOMM 2014 Sherry et al., ACM SIGCOMM 2012 Middleboxes + NF (and OpenNF) Network functions virtualization (NFV) + software defined networking (SDN) has the potential to help operators (i) satisfy tight service level agreements, (ii) accurately monitor and manipulate network traffic, and (iii) minimize operating expenses. OpenNF is a control plane designed to help redistribute packet processing across a collection of network function (NF) instances and coordinated control of both internal NF state and network forwarding state so to simultaneously achieving all three goals. 19

Cloud also used to offload the clients themselves... 20

What is Mobile Cloud Computing? Mobile cloud computing (MCC) at its simplest, refers to an infrastructure where both the data storage and data processing happen outside of the mobile device. Mobile cloud applications move the computing power and data storage away from the mobile devices and into powerful and centralized computing platforms located in clouds, which are then accessed over the wireless connection based on a thin native client.

Why Mobile Cloud Computing? Mobile devices face many resource challenges (battery life, storage, bandwidth etc.) Cloud computing offers advantages to users by allowing them to use infrastructure, platforms and software by cloud providers at low cost and elastically in an on-demand fashion. Mobile cloud computing provides mobile users with data storage and processing services in clouds, obviating the need to have a powerful device configuration (e.g. CPU speed, memory capacity etc), as all resource-intensive computing can be performed in the cloud.

MCC Architecture

24

cost-efficient delivery...

[Dan and Carlsson, IEEE INFOCOM 2014] Example problem Minimize content delivery costs Bandwidth Cost Cloud-based Elastic/flexible $$$ Dedicated servers Capped $ How to get the best of two worlds? cloud servers

and from who? [Carlsson et al., IFIP Performance 2014]

Additional Multimedia Support Multicast/Broadcast duplicate R1 duplicate creation/transmission R1 R2 R2 duplicate R3 R4 R3 R4 (a) (b) Source-duplication versus in-network duplication. (a) source duplication, (b) in-network duplication Also, application-layer multicast 28

Evolved Multimedia Broadcast/Multicast Service (embms) in LTE-advanced 29

Evolved Multimedia Broadcast/Multicast Service (embms) in LTE-advanced Separation of control plane and data plane Image from: Lecompte and Gabin, Evolved Multimedia Broadcast/Multicast Service (embms) in LTE-Advanced: Overview and Rel-11 Enhancements, IEEE Communications Magazine, Nov. 2012. 30

Evolved Multimedia Broadcast/Multicast Service (embms) in LTE-advanced MBMSFN and use of services areas Image from: Lecompte and Gabin, Evolved Multimedia Broadcast/Multicast Service (embms) in LTE-Advanced: Overview and Rel-11 Enhancements, IEEE Communications Magazine, Nov. 2012. 31

Packet Loss network loss: IP datagram lost due to network congestion (router buffer overflow) or losses at wireless link(s) delay loss: IP datagram arrives too late for playout at receiver (effectively the same as if it was lost) delays: processing, queueing in network; endsystem (sender, receiver) delays Tolerable delay depends on the application How can packet loss be handled? We will discuss this next 32

Receiver-based Packet Loss Recovery Generate replacement packet Packet repetition Interpolation Other sophisticated schemes Works when audio/video streams exhibit short-term correlations (e.g., self-similarity) Works for relatively low loss rates (e.g., < 5%) Typically, breaks down on bursty losses 33

Forward Error Correction (FEC) For every group of n actual media packets, generate k additional redundant packets Send out n+k packets, which increases the bandwidth consumption by factor k/n. Receiver can reconstruct the original n media packets provided at most k packets are lost from the group Works well at high loss rates (for a proper choice of k) Handles bursty packet losses Cost: increase in transmission cost (bandwidth) 34

Another FEC Example piggyback lower quality stream Example: send lower resolution audio stream as the redundant information Whenever there is non-consecutive loss, the receiver can conceal the loss. Can also append (n-1)st and (n-2)nd low-bit rate chunk 35

Interleaving: Recovery from packet loss Interleaving Intentionally alter the sequence of packets before transmission Better robustness against burst losses of packets Results in increased playout delay from inter-leaving 36

Real-Time Protocol (RTP) RTP specifies packet structure for packets carrying audio, video data RFC 3550 RTP runs in end systems RTP packets encapsulated in UDP segments 37

RTP Header Payload Type (7 bits): Indicates type of encoding currently being used. If sender changes encoding in middle of conference, sender informs receiver via payload type field. Payload type 0: PCM mu-law, 64 kbps Payload type 3, GSM, 13 kbps Payload type 7, LPC, 2.4 kbps Payload type 26, Motion JPEG Payload type 31. H.261 Payload type 33, MPEG2 video Sequence Number (16 bits): Increments by one for each RTP packet sent, and may be used to detect packet loss and to restore packet sequence. 38

Real-time Control Protocol (RTCP) Receiver report packets: fraction of packets lost, last sequence number, average interarrival jitter Sender report packets: SSRC of RTP stream, current time, number of packets sent, number of bytes sent RTCP attempts to limit its traffic to 5% of session bandwidth 39

40

Mobile web (e.g., adaption and location-based services) 41

HTTP-based streaming HTTP-based streaming 4 Allows easy caching, NAT/firewall traversal, etc. Use of TCP provides natural bandwidth adaptation Split into fragments, download sequentially Some support for interactive VoD

HTTP-based adaptive streaming (HAS) HTTP-based adaptive streaming 4 Multiple encodings of each fragment (defined in manifest file) Clients adapt quality encoding based on (buffer and network) conditions

Chunk-based streaming Chunks begin with keyframe so independent of other chunks Playing chunks in sequence gives seamless video Hybrid of streaming and progressive download: Stream-like: sequence of small chunks requested as needed Progressive download-like: HTTP transfer mechanism, stateless servers 44

Example 45 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Client 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Server

Example 46 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Client 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Server

Example 47 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Client 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Server

Example 48 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Client 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Server

Example 49 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Client 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Server

Example 50 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Client 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Server

Example 51 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Client 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Server

Example 52 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Client 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Server

HTTP-based Adaptive Streaming (HAS) Other terms for similar concepts: Adaptive Streaming, Smooth Streaming, HTTP Chunking, Dynamic Adaptive Streaming over HTTP (DASH) Probably most important is return to stateless server and TCP basis of 1st generation Actually a series of small progressive downloads of chunks (or range requests) No standard protocol... 53

HTTP-based Adaptive Streaming (HAS) Other terms for similar concepts: Adaptive Streaming, Smooth Streaming, HTTP Chunking, Dynamic Adaptive Streaming over HTTP (DASH) Probably most important is return to stateless server and TCP basis of 1st generation Actually a series of small progressive downloads of chunks (or range requests) No standard protocol... Apple HLS: HTTP Live Streaming Microsoft IIS Smooth Streaming: part of Silverlight (now Ericsson owned) Adobe: Flash Dynamic Streaming DASH: Dynamic Adaptive Streaming over HTTP YouTube (Google) and Netflix have their own versions Some operators and service providers have their own versions too (either based on above or completely own)... 54

Example players Player Container Type Open Source Microsoft Smooth Streaming Netflix player Silverlight Silverlight Chunk Range Apple HLS QuickTime Chunk Adobe HDS Flash Chunk 55

Problem: Proxyassisted HAS Slides from: V. Krishnamoorthi et al. "Helping Hand or Hidden Hurdle: Proxy-assisted HTTP-based Adaptive Streaming Performance", Proc. IEEE MASCOTS, 2013 Clients want High playback quality Small stall times Few buffer interruptions Few quality switches 56

Problem: Proxyassisted HAS Slides from: V. Krishnamoorthi et al. "Helping Hand or Hidden Hurdle: Proxy-assisted HTTP-based Adaptive Streaming Performance", Proc. IEEE MASCOTS, 2013 Clients want High playback quality Small stall times Few buffer interruptions Few quality switches HAS is increasingly responsible for larger traffic volumes Network and service providers may consider integrating HASaware proxy policies 57

Problem: Proxyassisted HAS Slides from: V. Krishnamoorthi et al. "Helping Hand or Hidden Hurdle: Proxy-assisted HTTP-based Adaptive Streaming Performance", Proc. IEEE MASCOTS, 2013 Clients want High playback quality Small stall times Few buffer interruptions Few quality switches Network providers want High QoE of customers/clients 58

Problem: Proxyassisted HAS Clients want High playback quality Small stall times Few buffer interruptions Few quality switches Network providers want High QoE of customers/clients Low bandwidth usage 59

Problem: Proxyassisted HAS Clients want High playback quality Small stall times Few buffer interruptions Few quality switches Network providers want High QoE of customers/clients Low bandwidth usage High hit rate 60

Problem: Proxyassisted HAS In this paper Evaluation of proxy-assisted HAS policies 61

Problem: Proxyassisted HAS In this paper Evaluation of proxy-assisted HAS policies 62

Problem: Proxyassisted HAS In this paper Evaluation of proxy-assisted HAS policies 63

Problem: Proxyassisted HAS In this paper Evaluation of proxy-assisted HAS policies 64

Problem: Proxyassisted HAS In this paper Evaluation of proxy-assisted HAS policies 65

Example: Default best-effort 66

Example: Default best-effort 67 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Client Proxy

Example: Default best-effort 68 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Client 1 Proxy before 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Proxy after

Example: Default best-effort 69 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Client 1 Proxy before 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Proxy after

Example: Default best-effort 70 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Client 2 Proxy before 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Proxy after

Example: Default best-effort 71 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Client 2 Proxy before 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Proxy after Good!

Example: Default best-effort 72 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Client 3 Proxy before 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Proxy after but

Example: Default best-effort 73 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Client 3 Proxy before 1,4 1,3 1,2 1,1 2,4 2,3 2,2 2,1 3,4 3,3 3,2 3,1 4,4 4,3 4,2 4,1 5,4 5,3 5,2 5,1 6,4 6,3 6,2 6,1 7,4 7,3 7,2 7,1 Proxy after sometimes bad!

74

More slides... 75

A protocol family for streaming RTSP RTP RTCP 76

RTSP Example Scenario: metafile communicated to web browser browser launches player player sets up an RTSP control connection, data connection to streaming server 77

RTSP Operation 78

Real-Time Protocol (RTP) RTP specifies packet structure for packets carrying audio, video data RFC 3550 RTP runs in end systems RTP packets encapsulated in UDP segments 79

RTP Header Payload Type (7 bits): Indicates type of encoding currently being used. If sender changes encoding in middle of conference, sender informs receiver via payload type field. Payload type 0: PCM mu-law, 64 kbps Payload type 3, GSM, 13 kbps Payload type 7, LPC, 2.4 kbps Payload type 26, Motion JPEG Payload type 31. H.261 Payload type 33, MPEG2 video Sequence Number (16 bits): Increments by one for each RTP packet sent, and may be used to detect packet loss and to restore packet sequence. 80

Real-time Control Protocol (RTCP) Receiver report packets: fraction of packets lost, last sequence number, average interarrival jitter Sender report packets: SSRC of RTP stream, current time, number of packets sent, number of bytes sent RTCP attempts to limit its traffic to 5% of session bandwidth 81

82

Multimedia Over Best Effort Internet TCP/UDP/IP: no guarantees on delay, loss??????? But you said multimedia apps requires QoS and level of performance to be effective!???? Today s multimedia applications implement functionality at the app. layer to mitigate (as best possible) effects of delay, loss 83

Summary: Internet MM tricks of the trade UDP vs TCP 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) at the app layer FEC, interleaving retransmissions, time permitting conceal errors: repeat nearby data 84

85

More slides 86

Some more on QoS: Real-time traffic support Hard real-time Soft real-time Guarantee bounded delay Guarantee delay jitter End-to-end delay = queuing delays + transmission delays + processing times + propagation delay (and any potential retransmission delays at lower layers) 87

How to provide better support for Multimedia? (1/4) Integrated Services (IntServ) philosophy: architecture for providing QoS guarantees in IP networks for individual flows requires fundamental changes in Internet design so that apps can reserve end-to-end bandwidth Components of this architecture are Reservation protocol (e.g., RSVP) Admission control Routing protocol (e.g., QoS-aware) Packet classifier and route selection Packet scheduler (e.g., priority, deadline-based) 88

How to provide better support for Multimedia? (2/4) Concerns with IntServ: Scalability: signaling, maintaining per-flow router state difficult with thousands/millions of flows Flexible Service Models: IntServ has only two classes. Desire qualitative service classes E.g., Courier, ExpressPost, and normal mail E.g., First, business, and economy class Differentiated Services (DiffServ) approach: simple functions in network core, relatively complex functions at edge routers (or hosts) Don t define the service classes, just provide functional components to build service classes 89

90

91

92

Streaming Stored Multimedia (1/2) 1. video recorded 2. video sent network delay 3. video received, played out at client time streaming: at this time, client playing out early part of video, while server still sending later part of video 93

Streaming Stored Multimedia (2/2) VCR-like functionality: client can start, stop, pause, rewind, replay, fast-forward, slow-motion, etc. 10 sec initial delay OK 1-2 sec until command effect OK need a separate control protocol? timing constraint for data that is yet to be transmitted: must arrive in time for playback 94

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 is not possible rewind and pause possible! 95

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-layer (packetization) and network delays higher delays noticeable, impair interactivity session initialization callee must advertise its IP address, port number, frame rate, encoding algorithms 96

97

98

Why Study Multimedia Networking? Majority of traffic Industry-relevant research topic Multimedia is everywhere Lots of open research problems Exciting and fun! 99

Scalable Content Delivery Motivation Use of Internet for content delivery is massive and becoming more so (e.g., majority of all IP traffic is video content) Variety of approaches: HTTP-based Adaptive Streaming (HAS), broadcast/multicast, batching, replication/caching (e.g. CDNs), P2P, peer-assisted, In these slides, we only provide a few high-level examples 100

Service models 101

102

Multimedia Networking Applications Classes of MM applications: 103

Multimedia Networking Applications Classes of MM applications: 1) Streaming stored audio and video 2) Streaming live audio and video 3) Real-time interactive audio and video 104

105

Multimedia Networking Applications Fundamental characteristics: 106

Multimedia Networking Applications Fundamental characteristics: Inherent frame rate Typically delay-sensitive end-to-end delay delay jitter But loss-tolerant: infrequent losses cause minor transient glitches Unlike data apps, which are often delaytolerant but loss-sensitive. 107

Multimedia Networking Applications Fundamental characteristics: Inherent frame rate Typically delay-sensitive end-to-end delay delay jitter But loss-tolerant: infrequent losses cause minor transient glitches Unlike data apps, which are often delaytolerant but loss-sensitive. Jitter is the variability of packet delays within the same packet stream 108

buffered video Streaming Multimedia: Client Buffering constant bit rate video transmission variable network delay client video reception constant bit rate video playout at client client playout delay time Client-side buffering, playout delay compensate for network-added delay, delay jitter 109

Streaming Multimedia: Client Buffering variable fill rate, x(t) constant drain rate, d buffered video Client-side buffering, playout delay compensate for network-added delay, delay jitter 110

111

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 112