Keith Ross IETF71
Total Page:16
File Type:pdf, Size:1020Kb
P2P Live Streaming: A BitTorrent Lesson Keith W. Ross Professor of Computer Science Polytechnic University, Brooklyn BitTorrent Ecosystem torrent: group of tracker: tracks peers peers exchanging in torrent; provides chunks of a file tracker list trading chunks torrent search site: peer search for torrents; provides .torrent file 50+ client implementations Dozen public trackers & open-source trackers Dozens of search sites Distributed Trackers: DHT torrent B torrent A Distributed Trackers: DHT Which peers in torrent A? torrent B torrent A Distributed Trackers: DHT IP/port pairs torrent B torrent A Distributed Trackers: DHT torrent B torrent A Evolving BT Ecosystem • 5-10 million users • Seeding algorithms • Peer exchange – Fastest downloaders (gossiping) – Round-robin • Private torrents • Broadcatching – Invitations – RSS feeds – Psswd protected • Interdiction • Proprietary companies protocols – Decoy, leecher, seed attacks BitTorrent: Incentive • Question: What is the incentive to provide higher upload rate? • Answer: To get file faster • Implementation: Tit-for-tat mechanism. Search for trading partners that upload to you at higher rates BitTorrent: Trading • Alice measures rate she receives bits from each neighbor. • Alice sends chunks to four best neighbors. • Every 10 seconds, she recalculates rates & possibly modifies set of four peers. • Every 30 seconds, she “optimistically unchokes” random peer. BitTorrent: Trading (1) Alice “optimistically unchokes” Bob (2) Alice becomes one of Bob’s top-four providers; Bob reciprocates (3) Bob becomes one of Alice’s top-four providers With higher upload rate, can find better trading partners & get file faster! P2P Live Streaming tracker obtain list of peers trade peer chunks Source of video P2P Live Streaming: Many Incompatible Systems ppStream Coolstreaming Eco-system for Live P2P Video? • Common protocol – e.g. the P2PP Internet Draft • Incentive mechanism needed Incentives for Live Streaming • Why upload at all? – No incentives in existing deployments • Is tit-for-tat a sufficient incentive? – No! Why provide more upload bandwidth if you’re receiving the video at the full rate? • Our main idea: – If you upload more, you get better quality. Joint work with Zhengye Liu, Shiv Panwar, Yao Wang Layered Video w/ Tit-for-Tat • Generate multiple layers, each divided into layer chunks (LCs) Layer 3 LC31 LC32 LC33 LC34 Layer 2 LC21 LC22 LC23 LC24 Layer 1 LC11 LC12 LC13 LC14 • Exchange LCs • Measure download rates from neighbors • Reciprocate to neighbors based on their contributions Supplier Side Scheduler • Goal: Supply neighbors in proportion to their contributions • Measure the download rates, dk from neighbor k Receiver 1 Receiver 2 Receiver K • Maintain separate FIFO rqst ... queue for each neighbor Requests queue • Serve neighbor k next with probability: d p = k k d !i#" i Receiver Side State Current time x 4 e d 3 n X X - i r 2 X - - e y a 1 X X X X X L 1 2 3 4 5 6 7 8 LC time index X: buffered Blank: available -: requested : not available • Request LCs at beginnings of rounds • Can request in a window up to B chunks into future Receiver Side Scheduler (1) • Which LC should be requested first? • Heuristic based on – Layer index – Playback deadline – Rareness Receiver Side Scheduler (2) • Where to send the request for the LC? • Estimate the current delay from each neighbor: r! mk dk where mk is # of outstanding requests, r is video rate, Δis chunk length • Send request to neighbor that will send it first – As long as it can come before deadline Performance Study Setup • Peers – Ethernet peer: 1000 kbps; cable peer: 300 kbps; free-rider: 0 kbps – Fix ratio of Ethernet peers to cable peers: 3:7; change percentage of free-riders • Video – Foreman video sequence (CIF, 30 frames/sec) – SVC video codec – 20 layers, with each layer having a rate of 50 kbps • Overlay – Each peer has 14 to 18 neighbors – Randomly replace worst neighbor every 30 seconds Differentiated Service • Peers with high upload contributions receive better video quality; • Peers with low contributions receive relatively low but still acceptable video quality; • Free-riders receive unacceptable video quality. Free-Riding Received video quality does not degrade with free-riding Conclusion • BitTorrent has been an enormous success for open protocols. • Can we replicate with live P2P streaming? • And with P2P VoD? • Incentive: upload more and get better quality..