Incentives Build Robustness in BitTorrent Bram Cohen.

Slides:



Advertisements
Similar presentations
Rarest First and Choke Algorithms Are Enough
Advertisements

Rarest First and Choke Algorithms are Enough Arnaud LEGOUT INRIA, Sophia Antipolis France G. Urvoy-Keller and P. Michiardi Institut Eurecom France.
The BitTorrent Protocol
The BitTorrent Protocol. What is BitTorrent?  Efficient content distribution system using file swarming. Does not perform all the functions of a typical.
Incentives Build Robustness in BitTorrent Author: Bram Cohen Presenter: Brian Liao.
Incentives Build Robustness in BitTorrent- Bram Cohen Presented by Venkatesh Samprati.
The BitTorrent protocol A peer-to-peer file sharing protocol.
Bit Torrent (Nick Feamster) February 25, BitTorrent Steps for publishing – Peer creates.torrent file and uploads to a web server: contains metadata.
Presented by: Su Yingbin. Outline Introduction SocialSwam Design Notations Algorithms Evaluation Conclusion.
Agenda Introduction BT + Multimedia Experimental Conclusion 2.
Clayton Sullivan PEER-TO-PEER NETWORKS. INTRODUCTION What is a Peer-To-Peer Network A Peer Application Overlay Network Network Architecture and System.
Stochastic Analysis of File Swarming Systems The Chinese University of Hong Kong John C.S. Lui Collaborators: D.M. Chiu, M.H. Lin, B. Fan.
The BitTorrent content distribution system CS217 Advanced Topics in Internet Research Guest Lecture Nikitas Liogkas, 5/11/2006.
Clustering and Sharing Incentives in BitTorrent Systems Arnaud Legout 1, Nikitas Liogkas 2, Eddie Kohler 2, Lixia Zhang 2 1 INRIA, Projet Planète, Sophia.
Modelling and Performance Analysis of BitTorrent-Like Peer-to-Peer Networks.
Analyzing and Improving BitTorrent Ashwin R. Bharambe ( Carnegie Mellon University ) Cormac Herley ( Microsoft Research, Redmond ) Venkat Padmanabhan (
CompSci 356: Computer Network Architectures Lecture 21: Content Distribution Chapter 9.4 Xiaowei Yang
Network Coding for Large Scale Content Distribution Christos Gkantsidis Georgia Institute of Technology Pablo Rodriguez Microsoft Research IEEE INFOCOM.
Peer-Assisted Content Distribution Networks: Techniques and Challenges Pei Cao Stanford University.
1 Incentives Build Robustness in BitTorrent? Analysis on Bit Torrent Client performance By Jimmy Wong.
A P2P file distribution system ——BitTorrent Fan Bin Sep,25,2004.
Incentives Build Robustness in BitTorrent 1st Workshop on Economics of Peer-to-Peer Systems 2003 Bram Cohen
BitTorrent Background. Common Scenario Millions want to download the same popular huge files (for free) –ISO’s –Media (the real example!) Client-server.
Client-Server vs P2P or, HTTP vs Bittorrent. Client-Server Architecture SERVER client.
Peer-To-Peer Multimedia Streaming Using BitTorrent Purvi Shah, Jehan-François Pâris University of Houston Houston, TX.
The Bittorrent Protocol
1 Proceeding the Second Exercises on Computer and Systems Engineering Professor OKAMURA Laboratory. Othman Othman M.M.
Content Overlays (Nick Feamster) February 25, 2008.
Bit Torrent (Nick Feamster) February 25, BitTorrent Steps for publishing – Peer creates.torrent file and uploads to a web server: contains metadata.
Exploring VoD in P2P Swarming Systems By Siddhartha Annapureddy, Saikat Guha, Christos Gkantsidis, Dinan Gunawardena, Pablo Rodriguez Presented by Svetlana.
University of Bologna, Italy How to cheat BitTorrent and why nobody does Simon Patarin and David Hales University of Bologna ECCS 2006,
1 V1-Filename.ppt / yyyy-mm-dd / Initials P2P content distribution T Applications and Services in Internet, Fall 2008 Jukka K. Nurminen.
Peer to Peer Network Anas Hardan. What is a Network? What is a Network? A network is a group of computers and other devices (such as printers) that are.
BitTorrent.
BitTorrent Internet Technologies and Applications.
BitTorrent How it applies to networking. What is BitTorrent P2P file sharing protocol Allows users to distribute large amounts of data without placing.
GPS: A General Peer-to-Peer Simulator and its Use for Modeling BitTorrent Weishuai Yang Nael Abu-Ghazaleh
Michael Sirivianos Xiaowei Yang Stanislaw Jarecki Presented by Vidya Nalan Chakravarthy.
BitTorrent Dr. Yingwu Zhu. Bittorrent A popular P2P application for file exchange!
A P2P file distribution system ——BitTorrent Pegasus Team CMPE 208.
1 BitHoc: BitTorrent for wireless ad hoc networks Jointly with: Chadi Barakat Jayeoung Choi Anwar Al Hamra Thierry Turletti EPI PLANETE 28/02/2008 MAESTRO/PLANETE.
Chapter 2: Application layer
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Do incentives build robustness in BitTorrent? Michael Piatek, Tomas Isdal, Thomas Anderson, Arvind Krishnamurthy, Arun Venkataramani.
Bit Torrent A good or a bad?. Common methods of transferring files in the internet: Client-Server Model Peer-to-Peer Network.
HUAWEI TECHNOLOGIES CO., LTD. Page 1 Survey of P2P Streaming HUAWEI TECHNOLOGIES CO., LTD. Ning Zong, Johnson Jiang.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP r.
Peer-to-Peer File Sharing Jennifer Rexford COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
Peer-Assisted Content Distribution Pablo Rodriguez Christos Gkantsidis.
B IT T ORRENT T ECHNOLOGY Anthony Pervetich. H ISTORY Bram Cohen Designed the BitTorrent protocol in April 2001 Released July 2, 2001 Concept Late 90’s.
Flashback: A Peer-to-Peer Web Server for Flash Crowds Presented by Tom Batkiewicz CS 587x Fall ‘07.
Peer-to-Peer File Sharing
Bit Torrent Nirav A. Vasa. Topics What is BitTorrent? Related Terms How BitTorrent works Steps involved in the working Advantages and Disadvantages.
Peer to Peer Networking. Network Models => Mainframe Ex: Terminal User needs direct connection to mainframe Secure Account driven  administrator controlled.
PEAR TO PEAR PROTOCOL. Pure P2P architecture no always-on server arbitrary end systems directly communicate peers are intermittently connected and change.
Peer-to-Peer Networks 10 Fast Download Christian Schindelhauer Technical Faculty Computer-Networks and Telematics University of Freiburg.
An example of peer-to-peer application
Introduction to BitTorrent
BitTorrent Vs Gnutella.
nTorrent: Peer-to-Peer File Sharing in Named Data Networking
Angelo Sapello University of Delaware
Small Is Not Always Beautiful
Simplified Explanation of “Do incentives build robustness in BitTorrent?” By James Hoover.
The BitTorrent Protocol
Content Distribution Networks + P2P File Sharing
Pure P2P architecture no always-on server
Chapter 2 Application Layer
Content Distribution Networks + P2P File Sharing
Presentation transcript:

Incentives Build Robustness in BitTorrent Bram Cohen

Motivation Scalability issues for client/server systems –Server’s workload grows linearly with number of clients –Flash crowd problem Single server

An “Ideal” Solution: IP Multicast Same stream is shared by all clients receiving same data Requires infrastructure-level changes –Security issues No widely accepted transport protocol on IP multicast layer Single server

Current Approaches Server farms replace central server –Scalability problem continues –Expensive to maintain Content delivery networks (CDNs) –Akamai, … –Still expensive Peer-to-peer systems (P2P) –Newer approach

P2P Systems (I) Let clients, now called peers, share the server workload –Peers forward all the data they receive to other peers

P2P Systems (II)

Advantages P2P solutions are – Scalable: Downloading bandwidth grows with number of peers – Easy to deploy: No additional hardware No change to network infrastructure – Cheap

Issues Organizing data transfers: –Figuring which peers have which chunks of data –Deciding where to send these chunks Dealing with churning: –Peers come and go Enforcing fairness: –Some peers do not upload as many data as they download

BitTorrent Unstructured P2P System –Peers have no parent peers or child peers C entralized tracker –Collects information on peers –Responds to requests for that information Built-in fairness incentive – Rechoking favors cooperative peers Simple user interface

Importance

Deployment (I) Decision to use BitTorrent is made by publisher of file Users join BitTorrent to get a file they want –Most users stops uploading once they have downloaded the file –Standard implementation keeps uploading until the BT window closes

Deployment (II) In a typical deployment –Number of downloaders having parts of the file ( leeches ) increases very fast then peaks at a maximum before decreasing exponentially –Number of downloaders having the whole file ( seeds ) increases more slowly then peaks at a maximum before decreasing exponentially

Evolution

Starting a BT (I) To start a BT, publisher puts on a web server a static file with information about –The file –Its length –Its name, –Hashing information –The URL of a tracker

The tracker Helps downloaders find each other Uses a simple protocol layered on top of HTTP –New downloader sends information about What file it’s downloading What port it’s listening on … –Tracker replies with a list of peers that are downloading the same file

Starting a BT (II) Next step is starting a downloader having the whole contents of the file –The seed Web server and tracker have very low bandwidth requirements Seed must upload at least once whole file contents

Connecting with peers Standard tracker algorithm returns random lists of peers –Random graphs are very robust BitTorrent cuts files into pieces of fixed size, typically a quarter megabyte Each downloader –Reports to its peers what pieces it has –Starts exchanging these pieces with them

Ensuring data integrity Torrent file on web server has SHA1 hashes of all the pieces Peers don’t report that they have a piece until they’ve checked its hash – Could have used erasure codes

Pipelining Must avoid delays between pieces being sent –BT breaks pieces further into sub-pieces (typically 16KB in size) –Always keeps several requests pipelined at once –Sends a new request each time a sub-piece arrives

Piece Selection (I) Downloaders requesting pieces follow four policies – Strict Priority Finish first downloading pieces of which downloader has one or more sub-pieces Gets complete pieces as quickly as possible

Piece Selection (II) – Rarest First Download first the pieces that the fewest of their own peers have Ensures that peers have the pieces that most of their peers want

Piece Selection (III) – Random First Piece New peer should get its first complete piece as quickly as possible Rare pieces can be downloaded from fewer peers than other pieces New peer will select first pieces to download at random until it has obtained a complete piece

Piece Selection (IV) – Endgame Mode At end of download –Peer will send to all other peers requests for sub-pieces it doesn’t have yet from all other –Will send cancels for all sub-pieces which arrive Objective is to speed up end of download

Overview Torrent fileTracker Two nodes and their peers A seed Downloaders

BT Choking Algorithm Penalizes peers that do not reciprocate – Tit-for-tat policy Every ten seconds, each peer selects four less cooperating peers it will choke –Will refuse to upload data to these peers for ten seconds –Long enough for TCP to reach full capacity with the new transfers

Optimistic Unchoking At all times, each BT peer has single ‘optimistic unchoke’, –Unchoked regardless of its current upload –Rotated every third rechoke period (30 seconds) –“ Correspond very strongly to always cooperating on the first move in prisoner’s dilemma.”

Upload only mode A peer that has the whole content of the file it wanted to download starts privileging peers that use best its upload bandwidth

Anti-snubbing A peer might be sometimes choked by all peers from which it was downloading “ To mitigate this problem, when over a minute goes by without getting a single piece from a particular peer, BitTorrent assumes it is ’snubbed’ by that peer and doesn’t upload to it except as an optimistic unchoke ”

Actual deployments BT routinely serves –Files hundreds of megabytes in size –To hundreds of simultaneous downloaders Can have over a thousand concurrent downloaders. Sole scaling bottleneck appears to be the bandwidth overhead of the tracker –One thousandth of total traffic