INF3190 Data Communication. Application Layer

Similar documents
INF3190 Data Communication. Application Layer

INF3190 Data Communication. Multimedia Protocols

INF5071 Performance in distributed systems: Distribution Part III

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

INF5070 media storage and distribution systems. to-peer Systems 10/

Overview Computer Networking Lecture 16: Delivering Content: Peer to Peer and CDNs Peter Steenkiste

Advanced Networking Technologies

Content Overlays (continued) Nick Feamster CS 7260 March 26, 2007

Content Overlays. Nick Feamster CS 7260 March 12, 2007

Video Streaming and Media Session Protocols

Popular protocols for serving media

Overlay and P2P Networks. Introduction and unstructured networks. Prof. Sasu Tarkoma

CS 43: Computer Networks BitTorrent & Content Distribution. Kevin Webb Swarthmore College September 28, 2017

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

irtc: Live Broadcasting

Multimedia Networking

Multimedia Applications. Classification of Applications. Transport and Network Layer

416 Distributed Systems. March 23, 2018 CDNs

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

Networked Multimedia and Internet Video. Colin Perkins

DISTRIBUTED SYSTEMS CSCI 4963/ /4/2015

CS 43: Computer Networks. 14: DHTs and CDNs October 3, 2018

Mohammad Hossein Manshaei 1393

Kommunikationssysteme [KS]

Lecture 14: Multimedia Communications

The Frozen Mountain irtc White Paper Series

Chapter 28. Multimedia

Peer-to-Peer Systems and Distributed Hash Tables

IxLoad Data Streaming (RTSP, RTP)

Overview of the Session Initiation Protocol

internet technologies and standards

Internet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2006

Multimedia Networking

Peer to Peer Systems and Probabilistic Protocols

Spotify Behind the Scenes

Application Layer Chapter 7

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

Week-12 (Multimedia Networking)

INF5071 Performance in Distributed Systems. October 01, 2010

P2PSIP, ICE, and RTCWeb

CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4. Xiaowei Yang

Overlay Networks in ScaleNet

Lecture 8: Application Layer P2P Applications and DHTs

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

Today. Why might P2P be a win? What is a Peer-to-Peer (P2P) system? Peer-to-Peer Systems and Distributed Hash Tables

Achieving Low-Latency Streaming At Scale

Internet Video Delivery. Professor Hui Zhang

P2P Network Structured Networks: Distributed Hash Tables. Pedro García López Universitat Rovira I Virgili

EDA095 Audio and Video Streaming

IMPROVING LIVE PERFORMANCE IN HTTP ADAPTIVE STREAMING SYSTEMS

VoIP. ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts

Internet Protocol Stack! Principles of Network Applications! Some Network Apps" (and Their Protocols)! Application-Layer Protocols! Our goals:!

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. File Sharing

For layered video encoding, video sequence is encoded into a base layer bitstream and one (or more) enhancement layer bit-stream(s).

Digital Asset Management 5. Streaming multimedia

Media server and QoS (so far)

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

Service/company landscape include 1-1

Peer to Peer I II 1 CS 138. Copyright 2015 Thomas W. Doeppner, Rodrigo Fonseca. All rights reserved.

Scaling Out Key-Value Storage

Computer Networks. Wenzhong Li. Nanjing University

Mohammad Hossein Manshaei 1393

Telematics Chapter 9: Peer-to-Peer Networks

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

Multimedia networking: outline

Real-Time Control Protocol (RTCP)

PEER-TO-PEER NETWORKS, DHTS, AND CHORD

Networking Applications

Overview. Slide. Special Module on Media Processing and Communication

Multimedia Communications

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

Application-Layer Protocols Peer-to-Peer Systems, Media Streaming & Content Delivery Networks

Verifying the Internet Streamer CDS

Peer-to-Peer Architectures and Signaling. Agenda

Peer-to-Peer (P2P) Systems

EDA095 Audio and Video Streaming

DVS-200 Configuration Guide

Higher layer protocols

Kademlia: A P2P Informa2on System Based on the XOR Metric

Cooperation in Open Distributed Systems. Stefan Schmid

Network Design. Overview. CDS with Vaults and Streamers CHAPTER

TSIN02 - Internetworking

Internet Streaming Media

VoIP Protocols and QoS

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

Part 3: Lecture 3! Content and multimedia!

EDA095 Audio and Video Streaming

Streaming (Multi)media

Media Communications Internet Telephony and Teleconference

Overlay Networks for Multimedia Contents Distribution

08 Distributed Hash Tables

416 Distributed Systems. Mar 3, Peer-to-Peer Part 2

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

DHT Overview. P2P: Advanced Topics Filesystems over DHTs and P2P research. How to build applications over DHTS. What we would like to have..

Introduction to LAN/WAN. Application Layer 4

Troubleshooting VoWLAN using OmniPeek

Peer-to-Peer Systems. Network Science: Introduction. P2P History: P2P History: 1999 today

Internet Streaming Media. Reji Mathew NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2007

Multimedia: video ... frame i+1

CSC 4900 Computer Networks: Multimedia Applications

Transcription:

Application Layer Carsten Griwodz Email: griff@ifi.uio.no

Coding for adaptation Adapt audiovisual quality to your bandwidth share

Coding for Adaptive Streaming: MPEG-1 Frames can be dropped In a controlled manner Frame dropping does not violate dependancies Example: B-frame dropping in MPEG-1

Coding...: H.264 SVC extensions H.264: most common codec for MPEG-4 SVC: Scalable Video Codec Simplified representation of H.264/SVC the H.264 motion vectors of a frame can point to 16 different frames motion vectors in H.264 can cross I-frames...

Coding...: H.264 SVC extensions Simplified representation of H.264/SVC the H.264 motion vectors of a frame can point to 16 different frames motion vectors in H.264 can cross I-frames...

How to change quality?

The BAD CHOICE: PSNR Peak Signal-to-Noise Ratio you find it everywhere but it is really, really bad Example from Prof. Touradj Ebrahimi, ACM MM'09 keynote PSNR = 24.9 db Reference PSNR = 24.9 db PSNR = 24.9 db

Coding...: hierarchical layer coding

Coding...: perception study Encoding Layers High Frequency Frames over Time Low Frequency Amplitude Frequency Field study mobile devices, free seating, resolution 480x320@30fps, no sunlight, lounge chairs

Blurriness, noise and motion flicker change of H.264 compression strength change of resolution change of frame rate Mean Acceptance Score 2 1 0 1 2 HQ 6f 10f 30f 60f 90f 180f LQ Period QP 28 QP 32 QP 36 QP 40

Blurriness, noise and motion flicker Three influential factors Amplitude Most dominant effect Flicker is almost undetectable for amplitudes with H.264 quantization factors <8 almost always detectable for larger amplitudes Content Minor effect within the class But content can influence flicker perception; low interaction for noise flicker and stronger for blur flicker Frequency Major effect Acceptance thresholds compared to constant low quality video: worse when above 1 Hz, often better when below 0.5 Hz Remember for later: change at most once a second, better every two seconds

Dynamic Adaptive Streaming over HTTP The State-of-the-Art

Dynamic Adaptive Streaming over HTTP DASH and other adaptive HTTP streaming approaches Ack & : Christopher Müller

Dynamic Adaptive Streaming over HTTP Divide video into segments at recording time or convert later Complete little movies Choose the segment duration playout time Choose the number of layers Choose the adaptation strategy quality Typical segment lengths: 2-10 seconds (2-hour movie à 3600++ small, indexed videos)

Dynamic Adaptive Streaming over HTTP UDP-based streaming resists packets loss random loss Applications IPTV DVB-H 4G telephony video conferencing classical RTSP/RTP servers DASH & similar scales to available bandwidth congestion loss Applications Commercial VoD: Netflix, Akamai, Microsoft, Apple, Comoyo,... MPEG DASH Free VoD: Youtube, Metacafe, Dailymotion, Vimeo, Revver, Flixya... Internet Client WLAN Server

Dynamic Adaptive Streaming over HTTP UDP-based streaming DASH & similar Challenges to be addressed Resilience to packet loss Possibly resilience to bit errors Possibly active adaptation (server-side decision) Resilience to buffer underruns Active adaptation (client-side decision) Works with web caches Internet Client WLAN Server

Fluctuating Bandwidth Problem

Adaptive Delivery: Tested Systems Adobe Strobe Media Playback (v1.6.328 for Flash 10.1) using HTTP Dynamic Streaming Format Apple s native ipad player (ios v4.3.3) using native HLS format Microsoft Silverlight/IIS Smooth (v4.0.60531.0 on Win7) using native Smooth format and default desktop scheduler Netview Media Client (v2011-10-10) using Apple HLS format (worst case) and Netview 3G scheduler

Comparison of Existing Quality Schedulers Bus: Ferry: Metro:

Distribution Architectures

Client-Server Traditional distributed computing Successful architecture, and will continue to be so (adding proxy servers) Tremendous engineering necessary to make server farms scalable and robust backbone network local distribution network local distribution network local distribution network

Distribution with proxies Hierarchical distribution system E.g. proxy caches that consider popularity completeness of available content root servers Popular data replicated more frequently and kept close to clients regional servers Unpopular ones close to the root servers local servers è Where to keep copies? end-systems

Zipf distribution and features Popularity Estimate the popularity of movies (or any kind of product) 1 x t y b a b ro p e v t a re probability Frequently used: Zipf distribution z(i) = C i ς 0.16 0.08 N 1 C =1/ n ς n=1 100,000 req 1,000,000 req Zipf 0 0 20 40 60 80 100 Objects movie sorted rank (out by of 500) popularity Danger Zipf-distribution of a process can only be applied while popularity doesn t change is only an observed property a subset of a Zipf-distributed dataset is no longer Zipfdistributed

0 0 0 0 0 1.1.01.01 Access probability distributions Times accessed 10 5 10 4 10 3 10 2 10 Zipf, alpha=1.3 Actual number of hits Zipf-distribution often used to assign popularities to simulated files Frequently observed Popularity over an entire log does not match a Zipf distribution 1 1 10 100 1000 All files in system Why? Zipf-distribution models a snapshot in time Popularity of news changes daily Must not model according to Zipfdistribution with access counts for more than one interval of popularity change Access frequency 100% 10% 1% 0.1% Actual popularity Zipf, alpha=1.2 1 10 100 Files ordered by daily popularity

Peer-to-Peer (P2P) Really an old idea - a distributed system architecture - No centralized control - Nodes are symmetric in function Typically, many nodes, but unreliable and heterogeneous backbone network local distribution network local distribution network local distribution network

P2P Many aspects similar to proxy caches Nodes act as clients and servers Distributed storage Bring content closer to clients Storage limitation of each node Number of copies often related to content popularity Necessary to make replication and de-replication decisions Redirection But No distinguished roles No generic hierarchical relationship: at most hierarchy per data item Clients do not know where the content is May need a discovery protocol All clients may act as roots (origin servers) Members of the P2P network come and go (churn)

P2P Distributed Hash Tables (DHTs)

Challenge: Fast, efficient lookups The BitTorrent tracker is a single point of failure How to distribute tracker functions to many (all) machines? èdistributed Hash Tables (DHTs) use a more structured key based routing

Lookup Based on Hash Tables hash table lookup(key) data Insert(key, data) 0 1 y z 2 key hash function pos 3...... Hash bucket N

Distributed Hash Tables (DHTs) Insert(key, data) Distributed application Lookup (key) Distributed hash tables data node node node. node Key identifies data uniquely Nodes are the hash buckets The keyspace is partitioned usually a node with ID = X has elements with keys close to X must define a useful key nearness metric DHT should balances keys and data across nodes Keep the hop count small Keep the routing tables right size Stay robust despite rapid changes in membership

Distributed Hash Tables Chord

Chord Approach taken Only concerned with efficient indexing Distributed index - decentralized lookup service Inspired by consistent hashing: SHA-1 hash Content handling is an external problem entirely No relation to content No included replication or caching P2P aspects Every node must maintain keys Adaptive to membership changes Client nodes act also as file servers

Chord IDs & Consistent Hashing m-bit identifier space for both keys and nodes Key identifier = SHA-1(key) Key= LetItBe SHA-1 ID=54 Node identifier = SHA-1(IP address) IP= 198.10.10.1 SHA-1 ID=123 Both keys and identifiers are uniformly distributed in the space of m-bit numbers Identifiers ordered in a circle modulo 2 m A key is mapped to the first node whose node ID key ID

Routing: Finger Tables Every node knows nodes that represent m other IDs in the ring Increase distances between these IDs exponentially Finger i points to successor of n+2 i

Routing: Finger Tables Every node knows nodes that represent m other IDs in the ring Increase distances between these IDs exponentially Finger i points to successor of n+2 i Lookup jumps to that node in its lookup table with largest ID where hash(search term) >= ID

Chord Assessment Large distributed index Scalability, fairness, load balancing Space complexity: routing tables are size O(log(#nodes)) Logarithmic insert effort Network topology is not accounted for Quick lookup in large systems, low variation in lookup costs Content location Run-time complexity: O(log(#nodes)) lookup steps Search by hash key: limited ways to formulate queries No failure resilience in basic approach Easy fix Successor lists allow use of neighbors to failed nodes create several index with different has functions (O(1))

P2P BitTorrent

BitTorrent Distributed download system Content is distributed in segments Tracker One central download server per content Approach to fairness (tit-for-tat) per content No approach for finding the tracker No content transfer protocol included

BitTorrent Segment download operation Ø Tracker tells peer source and number of segment to get Ø Peer retrieves content in pull mode Ø Peer reports availability of new segment to tracker Tracker

BitTorrent No second input stream: not contributed enough Tracker Rarest first strategy

BitTorrent No second input stream: not contributed enough All nodes: max 2 concurrent streams in and out Tracker

BitTorrent Tracker

BitTorrent Tracker

BitTorrent Tracker

Signalling Protocols: RTSP & SIP

Signaling Protocols Applications differ Media delivery controlled by sender or receiver Sender and receiver meet before media delivery Signaling should reflect different needs Media-on-demand Receiver controlled delivery of content Explicit session setup Internet broadcast Sender announces multicast stream No explicit session setup Internet telephony and conferences: Bi-directional data flow, live sources (mostly) explicit session setup, mostly persons at both ends Real-Time Streaming Protocol (RTSP) Session Initiation Protocol (SIP)

Real-Time Streaming Protocol (RTSP) Rough synchronization Media description in DESCRIBE response Timing description in SETUP response Fine-grained through RTP sender reports Aggregate and separate control of streams possible Combine several data (RTP) servers Load balancing by REDIRECT at connect time Caching Much more difficult than web caching interpret RTSP but cache several RTP flows Cache must act as an RTP translator otherwise it cannot guarantee to receive packets

RTSP Integration HTTP server HTTP GET RTSP server RTSP SETUP RTSP OK RTSP PLAY RTSP OK RTSP TEARDOWN RTSP OK RTSP plug-in data source media server RTP VIDEO RTP AUDIO AV subsystem web browser

Session Initiation Protocol (SIP) Lightweight generic signaling protocol Internet telephony and conferencing call: association between number of participants signaling association as signaling state at endpoints (no network resources) Several services needed Name translation User location Feature negotiation Call control Changing features

SIP Operation Proxy Mode Location server 2. Where? 3. user@host Site A User with symbolic name calls another 1. INVITE u@domain 7. OK 8. ACK u@domain 11. OK 4. INVITE user@host 6. OK 9. ACK user@host 10. OK Site B 5. RING Proxy forwards requests possibly in parallel to several hosts cannot accept or reject call useful to hide location of callee

SIP Operation Redirect Mode 2. Where? Location server 3. user@domain2 Site A 5. ACK u@domain1 User with symbolic name calls another 6. INVITE user@domain2 8. OK 9. ACK user@domain2 Site B 7. RING

Summary 1. Signaling protocols: RTSP and SIP 2. Adaptation with RTP: Loss Delay Adjustment Algorithm (LDA) 3. How to adapt video quality? 4. Dynamic Adaptive Streaming over HTTP (DASH) and related techniques 5. Distribution Architectures 6. P2P using the Zipf distribution DHTs Chord