CompSci 356: Computer Network Architectures Lecture 21: Content Distribution Chapter 9.4 Xiaowei Yang

Slides:



Advertisements
Similar presentations
Peter R. Pietzuch Peer-to-Peer Computing – or how to make your BitTorrent downloads go faster... Peter Pietzuch Large-Scale Distributed.
Advertisements

Rarest First and Choke Algorithms Are Enough
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. 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.
Incentives Build Robustness in BitTorrent Bram Cohen.
BitTorrent CS514 Vivek Vishnumurthy, TA. Common Scenario Millions want to download the same popular huge files (for free) –ISO’s –Media (the real example!)
Bit Torrent (Nick Feamster) February 25, BitTorrent Steps for publishing – Peer creates.torrent file and uploads to a web server: contains metadata.
Clayton Sullivan PEER-TO-PEER NETWORKS. INTRODUCTION What is a Peer-To-Peer Network A Peer Application Overlay Network Network Architecture and System.
Free-riding in BitTorrent Networks with the Large View Exploit Michael Sirivianos, Jong Han Park, Rex Chen and Xiaowei Yang University of California, Irvine.
Peer to Peer (P2P) Networks and File sharing. By: Ryan Farrell.
Peer-to-Peer Networks as a Distribution and Publishing Model Jorn De Boever (june 14, 2007)
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Lecture XV: Real P2P Systems.
Game Theory Presented by Hakim Weatherspoon. Game Theory Main Question: Can we cheat (and get away with it)? BitTorrent –P2P file distribution tool designed.
Game Theory Presented by Hakim Weatherspoon. Game Theory BitTorrent Do Incentives Build Robustness in BitTorrent? BAR Gossip.
Alex Sherman Jason Nieh Cliff Stein.  Lack of fairness in bandwidth allocation in P2P systems:  Users are not incentivized to contributed bandwidth.
Network Coding for Large Scale Content Distribution Christos Gkantsidis Georgia Institute of Technology Pablo Rodriguez Microsoft Research IEEE INFOCOM.
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
Paul Solomine Security of P2P Systems. P2P Systems Used to download copyrighted files illegally. The RIAA is watching you… Spyware! General users become.
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.
BitTorrent Background. Common Scenario Millions want to download the same popular huge files (for free) –ISO’s –Media (the real example!) Client-server.
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
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.
BitTorrent Presentation by: NANO Surmi Chatterjee Nagakalyani Padakanti Sajitha Iqbal Reetu Sinha Fatemeh Marashi.
By Shobana Padmanabhan Sep 12, 2007 CSE 473 Class #4: P2P Section 2.6 of textbook (some pictures here are from the book)
University of Bologna, Italy How to cheat BitTorrent and why nobody does Simon Patarin and David Hales University of Bologna ECCS 2006,
BitTorrent.
BitTorrent Internet Technologies and Applications.
Application Layer – Peer-to-peer UIUC CS438: Communication Networks Summer 2014 Fred Douglas Slides: Fred, Kurose&Ross (sometimes edited)
Distributed Systems Concepts and Design Chapter 10: Peer-to-Peer Systems Bruce Hammer, Steve Wallis, Raymond Ho.
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.
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
1 Distributed Hash Tables (DHTs) Lars Jørgen Lillehovde Jo Grimstad Bang Distributed Hash Tables (DHTs)
MULTI-TORRENT: A PERFORMANCE STUDY Yan Yang, Alix L.H. Chow, Leana Golubchik Internet Multimedia Lab University of Southern California.
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
Computer Networking P2P. Why P2P? Scaling: system scales with number of clients, by definition Eliminate centralization: Eliminate single point.
2: Application Layer 1 Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April.
Peer-to-Peer File Sharing
ADVANCED COMPUTER NETWORKS Peer-Peer (P2P) Networks 1.
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
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.
© 2016 A. Haeberlen, Z. Ives CIS 455/555: Internet and Web Systems 1 University of Pennsylvania Decentralized systems February 15, 2016.
November 19, 2016 Guide:- Mrs. Kale J. S. Presented By:- Hamand Amol Sambhaji. Hamand Amol Sambhaji. Pardeshi Dhananjay Rajendra. Pardeshi Dhananjay Rajendra.
An example of peer-to-peer application
Introduction to BitTorrent
BitTorrent Vs Gnutella.
Economics and Computation Week 7: The economics of P2P file sharing
Simplified Explanation of “Do incentives build robustness in BitTorrent?” By James Hoover.
The BitTorrent Protocol
Content Distribution Networks + P2P File Sharing
PEER-TO-PEER SYSTEMS.
Pure P2P architecture no always-on server
#02 Peer to Peer Networking
Content Distribution Networks + P2P File Sharing
Presentation transcript:

CompSci 356: Computer Network Architectures Lecture 21: Content Distribution Chapter 9.4 Xiaowei Yang

Overview Problem Evolving solutions –IP multicast –End system multicast –Proxy caching –Content distribution networks Akamai –P2P cooperative content distribution BitTorrent, BitTyrant

A traditional web application HTTP request A DNS lookup on returns the IP address of the web serverwww.cs.duke.edu Requests are sent to the web site.

Problem Statement One-to-many content distribution –Millions of clients downloading from the same server

Evolving Solutions Observation: duplicate copies of data are sent Solutions –IP multicast –End system multicast –Proxy caching –Content distribution networks Akamai –P2P cooperative content distribution BitTorrent

IP multicast End systems join a multicast group Routers set up a multicast tree Packets are duplicated and forwarded to multiple next hops at routers Pros and cons

End system multicast End systems rather than routers organize into a tree, forward and duplicate packets Pros and cons

Proxy caching Enhance web performance –Cache content –Reduce server load, latency, network utilization –Pros and Cons

A content distribution network A single provider that manages multiple replicas A client obtains content from a close replica

Pros and cons of CDN Pros + Multiple content providers may use the same CDN  economy of scale + All other advantages of proxy caching + Fault tolerance + Load balancing across multiple CDN nodes Cons -Expensive

Overview Problem Evolving solutions –IP multicast –End system multicast –Proxy caching –Content distribution networks Akamai –P2P cooperative content distribution BitTorrent etc.

Peer-to-Peer Cooperative Content Distribution Use the client’s upload bandwidth –Almost infrastructure-less Key challenges –How to find a piece of data –How to incentivize uploading

Data lookup Centralized approach –Napster –BitTorrent trackers Distributed approach –Flooded queries Gnutella –Structured lookup DHT (next lecture)

The Gnutella approach All nodes are true peers –A peer is the publisher, the uploader, and the downloader –No single point of failure Challenges –Efficiency and scalability issue File searches span across many nodes  generate much traffic –Integrity (content pollution) Anyone can claim that he publishes valid content No guarantee of quality of objects –Incentive issue No incentive for cooperation  free riding

BitTorrent Tracker for peer lookup Rate-based Tit-for-tat for incentives

BitTorrent overview File is divided into chunks (e.g. 256KB) ‒ ShA1 hashes of all the pieces are included in the.torrent file for integrity check ‒ A chunk is divided into sub-pieces to improve efficiency Seeders have all chunks of the file Leechers have some or no chunks of the file

BitTorrent overview.torrent file has address of a tracker Tracker tracks all downloaders

Terminology Seeder: peer with the entire file –Original Seed: The first seed Leecher: peer that’s downloading the file –Fairer term might have been “downloader” Sub-piece: Further subdivision of a piece –The “unit for requests” is a subpiece –But a peer uploads only after assembling complete piece Swarm: peers that download/upload the same file

BitTorrent overview Clients (seeders or leechers) contact the tracker Tracker has complete view of the swarm View Seeder Leecher A Leecher B Leecher C

BitTorrent overview Partial View Seeder Leecher B View Seeder Leecher A Leecher B Leecher C Tracker sends partial view to clients Clients connect to peers in their partial view

BitTorrent overview Every 10 sec, seeders sample their peers’ download rates Seeders unchoke 4-10 interested fastest downloaders

BitTorrent overview

A node announces available chunks to their peers Leechers request chunks from their peers (locally rarest-first)

BitTorrent overview Leechers request chunks from their peers (locally rarest-first)

BitTorrent overview Rate-based tit-for-tat ‒Every 30 sec, leechers optimistically unchoke 1-2 peers ‒Why optimistic unchoke?

Roles of Optimistic Unchoking Discover other faster peers and prompt them to reciprocate Bootstrap new peers with no data to upload

BitTorrent overview Rate-based tit-for-tat ‒ Every 30 sec, client optimistically unchokes 1-2 peers ‒ Every 10 sec, client samples its peers’ upload rates ‒ Leecher unchokes 4-10 fastest interested uploaders ‒ Leecher chokes other peers ‒ Q: Why does this algo encourage cooperation?

Scheduling: Choosing pieces to request Rarest-first: Look at all pieces at all peers, and request piece that’s owned by fewest peers 1.Increases diversity in the pieces downloaded avoids case where a node and each of its peers have exactly the same pieces; increases throughput 2.Increases likelihood all pieces still available even if original seed leaves before any one node has downloaded the entire file 3.Increases chance for cooperation Random rarest-first: rank rarest, and randomly choose one with equal rareness

Start time scheduling Random First Piece: –When peer starts to download, request random piece. So as to assemble first complete piece quickly Then participate in uploads May request subpieces from many peers –When first complete piece assembled, switch to rarest-first

Choosing pieces to request End-game mode: –When requests sent for all sub-pieces, (re)send requests to all peers. –To speed up completion of download –Cancel requests for downloaded sub-pieces

Overview Problem Evolving solutions –IP multicast –End system multicast –Proxy caching –Content distribution networks Akamai –P2P cooperative content distribution Bittorrent BitTyrant

BitTyrant: a strategic BT client Question: can a strategic peer game BT to significantly improve its download performance for the same level of upload contribution? Conclusion: incentives do not build robustness. Strategic peers can gain significantly in performance.

Key ideas Observations: –Unchoked as long as one is among the fastest peer set –High capacity peers equally split its upload rates to active set peers –Altruism comes from unnecessary contributions Strategies: –Maximize per connection download bandwidth –Maximize the number of reciprocating peers –Do not upload more than needed for reciprocation

Altruism in Bittorrent

BitTyrant strategy Rank peers by d p /u p Unchoke in decreasing order of peer ranking until upload capacity is saturated Assumption: data is always available, download is not limited by data scarcity p … upup dpdp

Challenges Determining u p –Initialized with the expected equal split capacity obtained from measurement –Periodically update it Increase multiplicatively if peer does not reciprocate Decrease multiplicatively if peer does Estimating d p –Measure from the download rate if downloading from the peer –From choked peers, estimate from peer announced block available rate U: U/ActiveSize of a default client May overestimate Sizing the neighborhood –Request as many peers as possible from trackers

The results

Summary Problem: distributing content without a hot spot near the server Solutions –IP multicast –End system multicast –Proxy caching –Content distribution networks Akamai –P2P cooperative content distribution Bittorrent, BitTyrant