CS 598 KN Advanced Multimedia Systems Lecture on
- Slides: 57
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 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 (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 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 of Distribution Approaches ¨ PP Live ¨ Skype CS 598 KN - Fall 2018
MM DISTRIBUTION APPROACHES CS 598 KN - Fall 2018
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 ¨ 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 (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 5. Download CS 598 KN - Fall 2018 4. Ping candidates
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 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 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 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 (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: • Their files • Peer pointers (peer management) CS 598 KN - Fall 2018
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 ( ) 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” 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 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 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 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
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 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 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 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 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 ¨ 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 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 … 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 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 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 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, 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 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 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 ¨ 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: 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 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 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 - 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 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) 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 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 Overview CS 598 KN - Fall 2018
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 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 from PPLive network • streaming downloaded video to local media player 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 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
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 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
- Cse 598 advanced software analysis and design
- Cs598
- 152 909 nearest hundred thousand
- 271 rounded to the nearest hundred
- Evaluate the postfix expression 6523+8*+3+*
- Cse 598
- 598 kpc
- Cgs chapter 598
- Cse 598
- Ixp-598
- 01:640:244 lecture notes - lecture 15: plat, idah, farad
- Advanced inorganic chemistry lecture notes
- Multimedia becomes interactive multimedia when
- Multimedia types
- Chapter 1 introduction to multimedia
- Esa multimedia.esa.int./multimedia/virtual-tour-iss
- Advanced operating system notes
- Lecture sound systems
- Lecture sound systems
- Advanced fusion systems llc
- Advanced fueling systems
- Advanced fluid systems
- Tom kilcer advanced ag systems
- Ist 421
- Advanced embedded systems
- "advanced radon systems"
- Advanced cooling systems inc
- Classification of multimedia
- Introduction of multimedia
- Multimedia database management systems
- Decision support systems and intelligent systems
- Engineering elegant systems: theory of systems engineering
- Embedded systems vs cyber physical systems
- Elegant systems
- Project procurement management lecture notes
- Lecture about sport
- Healthy lifestyle wrap up lecture
- Existentialism vs nihilism
- Life lecture meaning
- Randy pausch the last lecture summary
- Tensorflow lecture
- Theology proper lecture notes
- Strategic management lecture
- Geology lecture series
- Social psychology lecture
- In text citation for a lecture
- Psa meaning in accounting
- Construction management lecture notes
- Anchorage length eurocode
- Electricity and magnetism lecture notes
- Physics 111 lecture notes
- Physics 101 lecture notes pdf
- Physical science lecture notes
- Power system dynamics and stability lecture notes
- Natural language processing nlp - theory lecture
- Microbial physiology and metabolism lecture notes
- Mechatronics ppt
- Ternology