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