380 likes | 583 Views
Peer-to-Peer Streaming Systems. Kan-Leung CHENG CMSC 818Z, Spring 2007 Department of Computer Science University of Maryland 24th April, 2007. Outline. Introduction Streaming Approaches Application Layer Multicast Content Distribution Networks Peer-to-Peer Streaming Metrics
E N D
Peer-to-Peer Streaming Systems Kan-Leung CHENG CMSC 818Z, Spring 2007 Department of Computer Science University of Maryland 24th April, 2007
Outline • Introduction • StreamingApproaches • Application Layer Multicast • Content Distribution Networks • Peer-to-Peer Streaming • Metrics • Current Issues
What is a Communication Network?(End system view) • Network offers a service: • move information • What distinguish different types of networks? • The services they provide • What distinguish the services? • Latency • Bandwidth • Loss rate • Number of end systems • Service interface (how to invoke?) • Other details • Reliability, unicast vs. multicast, real-time, message vs. byte ...
The Internet • Global scale, general purpose, heterogeneous-technologies, public, computer network • Internet Protocol • Open standard: Internet Engineering Task Force (IETF) as standard body • Technical basis for other types of networks • Intranet: enterprise IP network • Developed by the research community
Peer-to-peer • Advent of multimedia technology and broadband surge lead to excessive usage of P2P application that includes: • Sharing of large files over the internet • Video-on-Demand (VoD) applications • P2P media streaming applications • BitTorrent like P2P models suitable for bulk file transfer • P2P file sharing has no issues like QoS: • No need to playback the media in real time • Downloading takes long time, many users do it overnight
P2P Media Streaming • Media streaming extremely expensive • 1 hour of video encoded at 300Kbps = 128.7 MB • Serving 1000 users would require 125.68 GB • Media Server cannot serve everybody in swarm • In P2P Streaming: • Peers form an overlay of nodes on top of www internet • Nodes in the overlay connected by direct paths (virtual or logical links), in reality, connected by many physical links in the underlying network • Nodes offer their uplink bandwidth while downloading and viewing the media content • Takes load off the server • Scalable
P2P media streaming is non trivial • Need to playback the media in real time • Quality of Service • Procure future media stream packets • Needs reliable neighbors and effective management • High “churn” rate – Users join and leave in between • Needs robust network topology to overcome churn • Internet dynamics and congestion in the interior of the network • Degrades QoS • Fairness policies extremely difficult to apply like tit-for-tat • High bandwidth users have no incentive to contribute
Major Approaches • Client Server Model • Not scalable • Application Layer Multicast • Alternate to IP Multicast • Content Distribution Networks like Akamai • Expensive Only large infrastructure can afford • Peer-to-Peer Based • Most viable and simple to use and deploy • No setup cost • Scalable
IP Multicast • Relies on network routers • Pros • Bandwidth efficiency • Cons • Lack of scalable inter-domain multicast routing protocols • Require global deployment of multicast-capable routers • Lack of practical pricing models • Examples: • DVMRP/PIM-DM, CBT, PIM-SM, MOSPF, PIM-SSM, …
Multi-unicast vs. IP Multicast Unicast IP Multicast
S E1 Unicast Unicast Unicast R1 R2 E2 E3 Application Layer Multicast (ALM) • IP Multicast is not globally deployed. • Application Layer/Level Multicast (or Overlay Multicast) is hence proposed. • Multicasting implemented at end hosts instead of network routers • Nodes form unicast channels or tunnels between them
ALM - Benefits • Easy to deploy • No change to network infrastructure • Programmable end-hosts • Overlay construction algorithms at end hosts can be easily applied • Application-specific customizations
ALM Methodologies • Tree Based • Content flows from server to nodes in a tree like fashion, every node forwards the content to its children, which in turn forward to their children • One point of failure for a complete subtree • High recovery time • Notes Tree Base Approaches: NICE, SpreadIT, Zigzag • Mesh Based • Overcomes tree based flaws • Nodes maintain state information of many nodes • High control overhead • Notes Mesh Based approaches include Narada and ESM from CMU.
Content Distribution Networks (CDNs) • CDN nodes deployed in multiple locations, often over multiple backbones • These nodes cooperate with each other to satisfy an end user’s request • User request is sent to nearest CDN node, which has a cached copy • QoS improves as end user receives best possible connection • Yahoo mail uses Akamai
Peer-to-Peer Streaming Models • Media content is broken down in small pieces and disseminated in the swarm • Neighboring nodes use Gossip protocol to exchange buffer information • Nodes trade unavailable pieces • Robust and scalable, but more delay • Most noted approach in recent years: CoolStreaming • PPLive, SOPCast, Fiedian, TV Ants are derivates of CoolStreaming • Proprietary and working philosophy not published • Reverse Engineered and measurement studies released
… 1 … Server 3 2 … … … 5 4 … … 1 … 3 P2P Based Streaming Model
CoolStreaming • Files is chopped by server and disseminated in the swarm • Node upon arrival obtain a peerlist of 40 nodes from the server • Nodes contact these nodes for media content • In steady state, every node has typically 4-8 neighbors, it periodically shares it buffer content map with neighbors • Nodes exchange the unavailable content • Real world deployed and highly successful system
Media Streaming Application Layer Multicast Peer-to-Peer [CoolStreaming, PPLive, SOPCast,TV Ants, Feidian] Tree Based Mesh Based [NICE, ZigZag, SpreadIT] [ESM, Narada] ALM and P2P
Metrics • Quality of Service • Jitter less transmission • Low end to end latency • Network efficiency • Uplink utilization • High uplink throughput leads to scalable P2P systems • Robustness and Reliability • Churn, Node failure or departure should not affect QoS • Scalability • Fairness • Determined in terms of content served (Share Ratio) • No user should be forced to upload much more than what it has downloaded • Security • Implicitly affects above metrics
Quality of Service • Most important metric • Jitter: Unavailability of stream content at play time causes jitter • Jitter less transmission ensures good media playback • Continuous supply of stream content ensures no jitters • Latency: Difference in time between playback at server and user • Lower latency keeps users interested • A live event viz. Soccer match would lose importance in crucial moments if the transmission is delayed • Reducing hop count reduces latency
The delay between the source and receivers is small At the same time, the number of redundant packets on any physical link should be low Network efficiency CMU CMU CMU Stan2 Stan2 Stan2 Stan1 Stan1 Stan1 Gatech Gatech Berk1 Berk1 Berk1 Gatech Berk2 Berk2 Berk2 High latency High degree (unicast) “Efficient” overlay
Physical Link Stress (PLS) • The number of identical copies of a packet that traverse a physical link. • Indicates the bandwidth inefficiency • Example: • PLS for link S-R1 is 2. • Average PLS is 7/5. S E1 R1 R2 E2 E3
Relative Delay Penalty (RDP) • The ratio of the delay in the overlay with the delay in the direct unicast path. • Indicates the delay inefficiency • Example: • Overlay delay for the path from S to E3 is 60 ms. • Unicast delay is 40 ms. • Therefore, the RDP for E3 is 1.5 ( = 60 ms / 40 ms). S E1 10 ms 10 ms R1 R2 20 ms 10 ms 10 ms E2 E3
Uplink Utilization • Uplink is the most sparse and important resource in swarm • Summation of uplinks of all nodes is the load taken off the server • Utilization = Uplink used / Uplink Available • Needs effective node organization and topology to maximize uplink utilization • High uplink throughput means more bandwidth in the swarm and hence it leads to scalable P2P systems
Robustness and Reliability • A Robust and Reliable P2P system should be able to support with an acceptable levels of QoS under following conditions: • High churn • Node failure • Congestion in the interior of the network • Affects QoS • Efficient peering techniques and node topology ensures robust and reliable P2P networks
Scalability • Serve as many users as possible with an acceptable level of QoS • Increasing number of nodes should not degrade QoS • An effective overlay node topology and high uplink throughput ensures scalable systems
Fairness • Measured in terms of content served to the swarm • Share Ratio = Uploaded Volume / Downloaded Volume • Randomness in swarm causes severe disparity • Many nodes upload huge volume of content • Many nodes get a free ride with no or very less contribution • Must have an incentive for an end user to contribute • P2P file sharing system like BitTorrent use tit-for-tat policy to stop free riding • Not easy to use it in Streaming as nodes procure pieces in real time and applying tit-for-tat can cause delays
Security • Implicitly affects other P2P Streaming metrics • Mainly 4 types of attacks: • Malicious garbled Payload insertion • Free rider – Selfish used only downloads with no uploads • Whitewasher – After being kicked out, comes again with new identity. Such nodes use IP spoofing • DDoS attack – One or more nodes collectively launch a DoS attack on media server to crack the system down • Lot of attack on P2P file sharing system but very few on Streaming • Possibility cannot be denied
Current Issues • High buffering time for P2P streaming • Half a minute for popular streaming channels and around 2 minutes for less popular • Some nodes lag with their peers by more than 2 minutes in playback time. • Better Peering Strategy needed • Uneven distribution of uplink bandwidths (Unfairness) • Huge volumes of cross ISP traffic • ISPs use bandwidth throttling to limit bandwidth usage • Degrade QoS perceived at used end • Sub Optimal uplink utilization
Current Issues - Service differentiation • Different peers may have different privileges. • A user who pays more or is more important should receive better quality of service (e.g. shorter delay, lower loss rate, less jitter, etc). • Previous overlay protocols have not sufficiently considered service differentiation based on user privilege and requirement.
Service differentiation– example (distance learning) Lecturer (Source node) Student (More important node) Auditor (Less important node) Traditional streaming system doesn’t consider the difference of user’s requirement. Important nodes will receive better quality of service (e.g. shorter delay in this example). Note: Euclidean distance is proportional to network distance
References • X. Zhang, J. Liu, B. Li, and T.-S. Peter Yum, “CoolStreaming/DONet: A data-driven overlay network for efficient live media streaming,” in Proc. IEEE INFOCOM’ 05, March 2005. • Y. Chu, S. G. Rao, and H. Zhang, “A case for end system multicast,” ACM SIGMETRICS’00, June 2000. • Kan-Leung Cheng, Xing Jin and S.-H. Gary Chan, "Offering Differentiated Services in Peer-to-Peer Multimedia Multicast," in Proceedings of IEEE International Conference on Multimedia & Expo (ICME), Toronto, Canada, 9-12 July 2006. • http://en.wikipedia.org/wiki/Akamai_Technologies • http://www.cs.ucf.edu/courses/cis3360/QoS_P2P_Streaming.ppt