CS 598 KN Advanced Multimedia Systems Lecture on

  • Slides: 57
Download presentation
CS 598 KN – Advanced Multimedia Systems Lecture on Multimedia Distribution Klara Nahrstedt CS

CS 598 KN – Advanced Multimedia Systems Lecture on Multimedia Distribution Klara Nahrstedt CS 598 KN - Fall 2018

Administrative n October 9 Deadline for Project Proposals n Deadlines of Project Phases: Project

Administrative n October 9 Deadline for Project Proposals n Deadlines of Project Phases: Project Proposal: October 9, 2018 (in class) ¨ Project Feedback: meet with instructor during October 15 --19, 2018 (office hours or by appointment via Alice) ¨ Project Presentation: Thursday/Tuesday, December 6 and 11, 2018 ¨ Project Final Report: Wednesday, December 19, 11: 59 pm, 2018 ¨ CS 598 KN - Fall 2018

Project Proposal Format (1) n Format: ¨ ACM format, single column, font 11 Arial

Project Proposal Format (1) n Format: ¨ ACM format, single column, font 11 Arial (or Times New Roman), pdf ¨ Specify name, title, class number ¨ Length: 2 -3 pages; n Proposal: Introduction ¨ Motivation and description of problem n n explain why it is a problem How did others solve the problem? How do you plan to solve the problem? What is broader impact of your solution? CS 598 KN - Fall 2018

Project Proposal Format (2) n Proposal: Possible Approaches you consider to take ¨ Picture

Project Proposal Format (2) n Proposal: Possible Approaches you consider to take ¨ Picture of framework/architecture you want to explore ¨ Algorithm you want to explore and compare/ improve ¨ Experiment(s) you want to conduct n Proposal: Action Plan ¨ By when you want to do what? n Proposal: References ¨ Papers you want to read and use in your research (at least 3 references must be included – read related work before you propose a project) CS 598 KN - Fall 2018

Outline n MM Distribution Approaches ¨ Peer-to-Peer Distribution Approaches) ¨ Multicast Approaches n Examples

Outline n MM Distribution Approaches ¨ Peer-to-Peer Distribution Approaches) ¨ Multicast Approaches n Examples of Distribution Approaches ¨ PP Live ¨ Skype CS 598 KN - Fall 2018

MM DISTRIBUTION APPROACHES CS 598 KN - Fall 2018

MM DISTRIBUTION APPROACHES CS 598 KN - Fall 2018

Distribution Methods n Data Distribution ¨ Multimedia Files (e. g. , Music) or ¨

Distribution Methods n Data Distribution ¨ Multimedia Files (e. g. , Music) or ¨ Multimedia Streaming (e. g. , movies) Client-Server Methods (e. g. , using DASH) n Peer-to-Peer Methods n Mixed Peer-to-Peer and Client-Server n Content-Distribution Networks (CDNs) n ¨ IP Multicast ¨ Application-Layer Multicast CS 598 KN - Fall 2018

Why P 2 P? n People like to get together ¨ Share things ¨

Why P 2 P? n People like to get together ¨ Share things ¨ Share information How can I find others to share? n How can I find what they are sharing? n CS 598 KN - Fall 2018

Napster n Created in 1999 to share music Napster’s servers • Store file directory

Napster n Created in 1999 to share music Napster’s servers • Store file directory (Filename/location) Clients/peers • Store files Centralized File Management: Searching for other peer file is central, i. e. , Peers go to Napster servers which keep file list of files and which peer keeps what files CS 598 KN - Fall 2018 Centralized Peer Management: Each Peer registers with the Napster server and Napster server(s) keep Peer List

Napster- Search Operation 2. Servers search using ternary tree 1. Query (keyword) 3. Response

Napster- Search Operation 2. Servers search using ternary tree 1. Query (keyword) 3. Response 5. Download CS 598 KN - Fall 2018 4. Ping candidates

Napster’s drawbacks n Asymmetric operation – servers vs. client peers ¨ Centralized Peer Management

Napster’s drawbacks n Asymmetric operation – servers vs. client peers ¨ Centralized Peer Management and File Management ¨ Scalability and congestion issues ¨ Single point of failure n Napster responsible for abetting users’ copyright violation CS 598 KN - Fall 2018

Contemporary P 2 P systems n Symmetric operation – all nodes (peers) have the

Contemporary P 2 P systems n Symmetric operation – all nodes (peers) have the same functionality ¨ System naturally scales with new peers n Distributed Peer Management Each peer when it comes online, advertises its own presence ¨ Each peer keeps a peer list to whom it is connected ¨ n Distributed File Management Each peer keeps file list of files it keeps. ¨ If a peer wants a file, it queries/searches for a file. ¨ CS 598 KN - Fall 2018

Contemporary P 2 P systems n Basic operations ¨ Insert file Overlay P 2

Contemporary P 2 P systems n Basic operations ¨ Insert file Overlay P 2 P network ¨ Search file ¨ Delete file ¨ Maintain an overlay network physical network CS 598 KN - Fall 2018

Contemporary P 2 P Systems (Classification) n Usually classified depending on how peers connect

Contemporary P 2 P Systems (Classification) n Usually classified depending on how peers connect to each-other ¨ how the overlay network is created and maintained n Unstructured – no particular connection pattern (e. g. , randomly connected) ¨ Gnutella ¨ Fast Track Skype ¨ Bit. Torrent, etc. n CS 598 KN - Fall 2018

Contemporary P 2 P Systems (Classification) n Structured – defines a distributed data structure

Contemporary P 2 P Systems (Classification) n Structured – defines a distributed data structure (e. g. , distributed hash table) ¨ Chord ¨ Pastry ¨ CAN ¨ Etc. CS 598 KN - Fall 2018

Gnutella – Example of Unstructured P 2 P Servents (peers) Peer pointer Peers store:

Gnutella – Example of Unstructured P 2 P Servents (peers) Peer pointer Peers store: • Their files • Peer pointers (peer management) CS 598 KN - Fall 2018

Gnutella, searching for files 1. Flood query ( ) 2. Ignore repeated messages 3.

Gnutella, searching for files 1. Flood query ( ) 2. Ignore repeated messages 3. Answer if local match 4. Query hit sent using reverse path ( ) 5. Establish connection and fetch file ( ) “jazz”? ? “jazz” Query message: <id, QUERY, ttl, hops, payload length, min speed, keywords> Query hit message: <id, QUERY HIT, ttl, hops, payload length, num hits, port, ip, speed, (fileindex, filename, filesize), servent id> CS 598 KN - Fall 2018

Gnutella, maintaining overlay (peer management) Neighbor list: • “A” “V” 1. Periodically flood ping

Gnutella, maintaining overlay (peer management) Neighbor list: • “A” “V” 1. Periodically flood ping ( ) 2. Pong sent using “X” reverse path( ) 3. Update neighbor list with received pongs A V X • Why periodically? Ping: <id, PING, ttl, hops, payload length (zero)> Pong: <id, PONG, ttl, hops, payload length, port, ip, num. files, num. KBs> CS 598 KN - Fall 2018

Gnutella, maintaining the overlay (peer management) Neighbor list: • “A” • “V” • “X”

Gnutella, maintaining the overlay (peer management) Neighbor list: • “A” • “V” • “X” V X Peers can leave or fail at any time – P 2 P systems can have high churn rate!. CS 598 KN - Fall 2018

Gnutella: some issues Ping/Pong constitutes 50% of traffic n Flooding causes excessive traffic n

Gnutella: some issues Ping/Pong constitutes 50% of traffic n Flooding causes excessive traffic n Repeated searches with same keywords n Large number of freeloaders (70% of users in 2000) n CS 598 KN - Fall 2018

DHTs (Distributed Hash Tables) – Example of Structured P 2 P n Hash table

DHTs (Distributed Hash Tables) – Example of Structured P 2 P n Hash table allows these operations on object identified by key: ¨ Insert ¨ Lookup ¨ Delete n Distributed Hash Table – same but in a distributed setting (object could be files) CS 598 KN - Fall 2018

DHT performance comparison Memory Lookup latency lookup overhead Napster O(1) at client; O(N) at

DHT performance comparison Memory Lookup latency lookup overhead Napster O(1) at client; O(N) at server O(1) Gnutella O(N) Chord (DHT) O(log(N)) CS 598 KN - Fall 2018

P 2 P STREAMING CS 598 KN - Fall 2018

P 2 P STREAMING CS 598 KN - Fall 2018

Streaming from servers Problem: Bandwidth at video service and number of servers have to

Streaming from servers Problem: Bandwidth at video service and number of servers have to grow with demand ¨ Flash crowds have to be taken into account clients … servers … n Video service CS 598 KN - Fall 2018

P 2 P Streaming n n P 2 P Streaming is a response to

P 2 P Streaming n n P 2 P Streaming is a response to elevate the demand on bandwidth in video servers ¨ Issue: In-band out-bandwidth of peers (in/out bandwidth) P 2 P Streaming can distribute the bandwidth demand across peers ¨ Issue: find peer that has enough out-band BW P 2 P Streaming will require management ¨ Peer management ¨ Chunk management P 2 P Streaming will require streaming distribution protocols CS 598 KN - Fall 2018

Peer Management for P 2 P Streaming n One could use ¨ Centralized peer

Peer Management for P 2 P Streaming n One could use ¨ Centralized peer management Live source keeps peer list, i. e. , each peer registers with live source n Separate session server keeps peer list, i. e. , each peer registers with session server n ¨ Distributed peer n management Peers advertise among each other and create peer list of its neighbors (Gnuttela-like) CS 598 KN - Fall 2018

Chunk Management for P 2 P Streaming n Video is divided into chunks in

Chunk Management for P 2 P Streaming n Video is divided into chunks in P 2 P streaming ¨ Chunk size can be size of GOP (group of pictures) ¨ Chunk size can be agnostic to video semantics (e. g. , 4 K, or 8 K or 32 K chunk sizes). n n Peers hold chunks (not files) in P 2 P streaming Need chunk management ¨ Centralized n Server (live source or session manager) keeps information which peer has what chunks ¨ Distributed n chunk management Peers keep their own chunk table and other peers send queries to neighbors for requested chunks CS 598 KN - Fall 2018

P 2 P Streaming n Use the participating node’s bandwidth ¨ More nodes watching

P 2 P Streaming n Use the participating node’s bandwidth ¨ More nodes watching stream = more shared bandwidth n App-level multicast ¨ How? Live stream source (could be a member of the p 2 p network) Peers watching stream P 2 P network CS 598 KN - Fall 2018

P 2 P Streaming n Common arrangements to multicast the stream ¨ Single Tree

P 2 P Streaming n Common arrangements to multicast the stream ¨ Single Tree ¨ Multiple Tree ¨ All nodes are usually interested in the stream n They all have to deal with node dynamism (join/leave/fail/capacity-changes) CS 598 KN - Fall 2018

Streaming in a single tree Frames c o d e r packets 3 2

Streaming in a single tree Frames c o d e r packets 3 2 1 Source 3 2 1 3 2 (using RTP/UDP) CS 598 KN - Fall 2018 1

Single Tree Peers interested in the stream organize themselves into a tree Source …

Single Tree Peers interested in the stream organize themselves into a tree Source … Nodes send as many copies of a data packet as they have children … CS 598 KN - Fall 2018

Joining the tree Find a node with spare capacity, then make it parent n

Joining the tree Find a node with spare capacity, then make it parent n If contacted node lacks capacity, pick child according policy n ¨ Random child or ¨ Round robin or ¨ Child closest in physical network to joining node “Parent? ” “Try one of my children” CS 598 KN - Fall 2018

Leaving the tree or failing Orphan nodes need a new parent n Policies for

Leaving the tree or failing Orphan nodes need a new parent n Policies for new parent n ¨ Children pick source ¨ Subtree nodes pick source ¨ Children pick grandfather Ex-parent ¨ Subtree nodes pick grandfather ¨ …then repeat join procedure CS 598 KN - Fall 2018 Orphan children after parent leaves

Single tree issues Leaves do not use their outgoing bandwidth n Packets are lost

Single tree issues Leaves do not use their outgoing bandwidth n Packets are lost while recovering after a parent leaves/fails n Finding unsaturated peer could take a while n Tree connections could be rearranged for better transfer n CS 598 KN - Fall 2018

Multiple Trees n Approach: a peer must be internal node in only one tree,

Multiple Trees n Approach: a peer must be internal node in only one tree, leaf in the rest Are nodes 1, 2, 3 receiving the same data multiple times? - No, we stripe chunks across multiple nodes Source 1 3 1 1 2 2 3 1 3 3 1 2 3 2 2 1 CS 598 KN - Fall 2018 - 2 3 Example: node 1 receives chunk 1, node 2 receives chunk 2, node 3 receives chunk 3 from source and then they distribute to other nodes in the subtree their chunks

Multiple Trees – Other Approach: Multiple Description Coding (MDC) Packets for description 0 c

Multiple Trees – Other Approach: Multiple Description Coding (MDC) Packets for description 0 c o d e r 30 10 Packets for description n 3 n n 20 … Frames 2 n 1 n Each description can be independently decoded (only one needed to reproduce audio/video) ¨ More descriptions received result in higher quality CS 598 KN - Fall 2018

Streaming in multiple-trees using MDC n Assume odd-bit/even-bit encoding -description 0 derived from frame’s

Streaming in multiple-trees using MDC n Assume odd-bit/even-bit encoding -description 0 derived from frame’s oddbits, description 1 derived from frame’s even-bits 21 11 31 30 20 10 (using RTP/UDP) 1 2 3 3 1 CS 598 KN - Fall 2018 2 4

Multiple-Tree Issues n Complex procedure to locate a potentialparent peer with spare out-degree ¨

Multiple-Tree Issues n Complex procedure to locate a potentialparent peer with spare out-degree ¨ Degraded quality until a parent found in every tree n Static mapping in trees, instead of choosing parents based on their (and my) bandwidth ¨ An internal node can be a bottleneck CS 598 KN - Fall 2018

Single Tree/Multi-tree use Overlay P 2 P Multicast (CDNs) Stan 1 Gatech Stanford Source:

Single Tree/Multi-tree use Overlay P 2 P Multicast (CDNs) Stan 1 Gatech Stanford Source: Purdue Stan 2 Berk 1 Dumb Network Berkeley Overlay Tree Gatech Berk 2 Stan 1 Stan 2 Purdue Berk 1 Berk 2 CS 598 KN - Fall 2018 Source: Sanjay Rao’s lecture from Purdue

Overlay Performance n n n Even a well-designed overlay cannot be as efficient as

Overlay Performance n n n Even a well-designed overlay cannot be as efficient as IP Mulitcast But performance penalty can be kept low Trade-off some performance for other benefits Duplicate Packets: Bandwidth Wastage Gatech Stanford Dumb Network Increased Delay Berkeley CS 598 KN - Fall 2018 Source: Sanjay Rao’s lecture from Purdue

P 2 P/CDN APPLICATIONS CS 598 KN - Fall 2018

P 2 P/CDN APPLICATIONS CS 598 KN - Fall 2018

P 2 P Applications n Many P 2 P applications since the 1990 s

P 2 P Applications n Many P 2 P applications since the 1990 s ¨ File sharing n Napster, Gnutella, Ka. Zaa, Bit. Torrent ¨ Internet telephony n Skype ¨ Internet television n PPLive CS 598 KN - Fall 2018

Traffic Distribution (2007) Source: http: //liquidculture. wordpress. com/2008/03/14/the-absolute-majority-of-all-internet-traffic-is-p 2 p-file-sharing/ CS 598 KN -

Traffic Distribution (2007) Source: http: //liquidculture. wordpress. com/2008/03/14/the-absolute-majority-of-all-internet-traffic-is-p 2 p-file-sharing/ CS 598 KN - Fall 2018

Situation in 2013 https: //www. theguardian. com/technology/2013/nov/11/netflix-youtube-dominateus-internet-traffic#img-1 CS 598 KN - Fall 2018

Situation in 2013 https: //www. theguardian. com/technology/2013/nov/11/netflix-youtube-dominateus-internet-traffic#img-1 CS 598 KN - Fall 2018

Current Status (Consumer) Consumer Internet Traffic, 2016 – 2021 2016 2017 2018 2019 2020

Current Status (Consumer) Consumer Internet Traffic, 2016 – 2021 2016 2017 2018 2019 2020 2021 CAGR 2016– 2021 By Network (PB per Month) Fixed 52, 678 67, 081 83, 518 103, 696 127, 152 154, 023 24% Mobile 5, 953 9, 345 14, 029 20, 556 29, 343 41, 417 47% By Subsegment (PB per Month) Internet video 42, 029 57, 116 75, 109 98, 182 125, 853 159, 161 31% Web, email, and data 9, 059 10, 681 12, 864 15, 120 17, 502 19, 538 17% Online gaming 915 1, 818 2, 857 4, 396 6, 753 10, 147 62% File sharing 6, 628 6, 810 6, 717 6, 554 6, 388 6, 595 0% https: //www. cisco. com CAGR – Compound Annual Growth Rate CS 598 KN - Fall 2018

Video Traffic Consumer 2016 Internet Video 2016– 2021 2017 By Network (PB per Month)

Video Traffic Consumer 2016 Internet Video 2016– 2021 2017 By Network (PB per Month) Fixed 38, 369 51, 022 Mobile 3, 660 6, 094 By Category (PB per Month) Video 29, 325 39, 518 Internet 12, 704 17, 598 video to TV 2018 2019 2020 2021 CAGR 2016– 2021 65, 413 9, 696 83, 172 15, 010 103, 341 22, 512 125, 988 33, 173 27% 55% 51, 722 23, 387 68, 279 29, 903 89, 181 36, 672 116, 905 42, 255 32% 27% CS 598 KN - Fall 2018

Case Study: PPLive n Popular IPTV application ¨ From Huazhong U. of Science and

Case Study: PPLive n Popular IPTV application ¨ From Huazhong U. of Science and Technology, China ¨ Free for viewers ¨ Over 100, 000 simultaneous viewers and 500, 00 viewers daily (and increasing) ¨ 100 s of channels ¨ Windows Media Video and Real Video format CS 598 KN - Fall 2018

PPLive Current Viewers during Olympics 2008 CS 598 KN - Fall 2018

PPLive Current Viewers during Olympics 2008 CS 598 KN - Fall 2018

PPLive Overview CS 598 KN - Fall 2018

PPLive Overview CS 598 KN - Fall 2018

PPLive Design Characteristics n Gossip-based protocols Peer management ¨ Channel discovery ¨ TCP used

PPLive Design Characteristics n Gossip-based protocols Peer management ¨ Channel discovery ¨ TCP used for signaling ¨ n Data-driven p 2 p streaming TCP used for video streaming ¨ Peer client contacts multiple active peers to download media content of the channel ¨ Cached contents can be uploaded from a client peer to other peers watching the same channel ¨ Received video chunks are reassembled in order and buffered in queue of PPLive TV Engine (local streaming) ¨ CS 598 KN - Fall 2018

PPLive Architecture 1. 2. 3. Contact channel server for available channels Retrieve list of

PPLive Architecture 1. 2. 3. Contact channel server for available channels Retrieve list of peers watching selected channel Find active peers on channel to share video chunks Source: “Insights into PPLive: A Measurement Study of a Large-Scale P 2 P IPTV System” by Hei et al. CS 598 KN - Fall 2018

P 2 P Streaming Process TV Engine – responsible for • downloading video chunks

P 2 P Streaming Process TV Engine – responsible for • downloading video chunks from PPLive network • streaming downloaded video to local media player CS 598 KN - Fall 2018

PPLive Channel Size Analysis CS 598 KN - Fall 2018

PPLive Channel Size Analysis CS 598 KN - Fall 2018

Conclusion P 2 P Streaming and Multimedia File Sharing is one Distribution Method n

Conclusion P 2 P Streaming and Multimedia File Sharing is one Distribution Method n On-demand streaming dominates currently, but P 2 P streaming and sharing is still being used, especially in singledomain environments. n Difficulty with P 2 P Approach: n ¨ Security issues, especially across multiple domains ¨ Complexity of setup, updates, … CS 598 KN - Fall 2018

PUBLICATIONS CS 598 KN - Fall 2018

PUBLICATIONS CS 598 KN - Fall 2018

Many more details in references and source code n n n M. Castro, P.

Many more details in references and source code n n n M. Castro, P. Druschel, A-M. Kermarrec, A. Nandi, A. Rowstron and A. Singh, "Split. Stream: High-bandwidth multicast in a cooperative environment, " SOSP 2003. H. Deshpande, M. Bawa, H. Garcia-Molina. "Streaming Live Media over Peers, " Technical Report, Stanford Info. Lab, 2002. N. Magharei, R. Rejaie. "PRIME: Peer-to-Peer Receiver dr. Iven MEsh-Based Streaming, " INFOCOM 2007. N. Magharei, R. Rejaie, Y. Guo. "Mesh or Multiple-Tree: A Comparative Study of Live P 2 P Streaming Approaches, " INFOCOM 2007. http: //freepastry. org CS 598 KN - Fall 2018

Reading P 2 P Streaming n n “Opportunities and Challenges of Peer-to-Peer Internet Video

Reading P 2 P Streaming n n “Opportunities and Challenges of Peer-to-Peer Internet Video Broadcast” by Liu et al. “Insights into PPLive: A Measurement Study of a Large. Scale P 2 P IPTV System” by Hei et al. “Mapping the PPLive Network: Studying the Impacts of Media Streaming on P 2 P Overlays” by Vu et al. Some lecture material borrowed from the following sources Sanjay Rao’s lecture on P 2 P multicast in his ECE 695 B course at Purdue ¨ “Insights into PPLive: A Measurement Study of a Large-Scale P 2 P IPTV System” by Hei et al. ¨ “Mapping the PPLive Network: Studying the Impacts of Media Streaming on P 2 P Overlays” by Vu et al. ¨ CS 598 KN - Fall 2018