Hui Zhang, Fall 2012 1 15-441 Computer Networking CDN and P2P.

Slides:



Advertisements
Similar presentations
P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
Advertisements

Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Peer to Peer and Distributed Hash Tables
Course on Computer Communication and Networks Lecture 10 Chapter 2; peer-to-peer applications (and network overlays) EDA344/DIT 420, CTH/GU.
Clayton Sullivan PEER-TO-PEER NETWORKS. INTRODUCTION What is a Peer-To-Peer Network A Peer Application Overlay Network Network Architecture and System.
1 Server Selection & Content Distribution Networks (slides by Srini Seshan, CS CMU)
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Peer-to-Peer Architecture Steve Ko Computer Sciences and Engineering University at Buffalo.
CompSci 356: Computer Network Architectures Lecture 21: Content Distribution Chapter 9.4 Xiaowei Yang
L-19 P2P. Scaling Problem Millions of clients  server and network meltdown 2.
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Lecture XV: Real P2P Systems.
Application Layer Overlays IS250 Spring 2010 John Chuang.
Peer-to-Peer
Peer-to-Peer Jeff Pang Spring Spring 2004, Jeff Pang2 Intro Quickly grown in popularity –Dozens or hundreds of file sharing applications.
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
FRIENDS: File Retrieval In a dEcentralized Network Distribution System Steven Huang, Kevin Li Computer Science and Engineering University of California,
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
Peer-to-Peer Credits: Slides adapted from J. Pang, B. Richardson, I. Stoica, M. Cuenca, B. Cohen, S. Ramesh, D. Qui, R. Shrikant, Xiaoyan Li and R. Martin.
P2P: Advanced Topics Filesystems over DHTs and P2P research Vyas Sekar.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
1 Peer-to-Peer Applications Reading: 9.4 COS 461: Computer Networks Spring 2008 (MW 1:30-2:50 in COS 105) Jennifer Rexford Teaching Assistants: Sunghwan.
Peer-to-Peer Networking Credit slides from J. Pang, B. Richardson, I. Stoica.
Winter 2008 P2P1 Peer-to-Peer Networks: Unstructured and Structured What is a peer-to-peer network? Unstructured Peer-to-Peer Networks –Napster –Gnutella.
Peer-to-Peer Scaling Problem Millions of clients  server and network meltdown.
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
Peer-to-Peer Outline p2p file sharing techniques –Downloading: Whole-file vs. chunks –Searching Centralized index (Napster, etc.) Flooding (Gnutella,
CS 640: Introduction to Computer Networks Yu-Chi Lai Lecture 18 - Peer-to-Peer.
Distributed Systems Lecture 21 – CDN & Peer-to-Peer.
P2P File Sharing Systems
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
Freenet. Anonymity  Napster, Gnutella, Kazaa do not provide anonymity  Users know who they are downloading from  Others know who sent a query  Freenet.
1 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
Introduction Widespread unstructured P2P network

Content Overlays (Nick Feamster). 2 Content Overlays Distributed content storage and retrieval Two primary approaches: –Structured overlay –Unstructured.
Introduction of P2P systems
Peer to Peer Research survey TingYang Chang. Intro. Of P2P Computers of the system was known as peers which sharing data files with each other. Build.
Peer-to-Peer Networks University of Jordan. Server/Client Model What?
Jonathan Walpole CSE515 - Distributed Computing Systems 1 Teaching Assistant for CSE515 Rahul Dubey.
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.
Peer-to-Pee Computing HP Technical Report Chin-Yi Tsai.
Peer-to-Peer File Sharing Jennifer Rexford COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
Peer-to-Peer Network Tzu-Wei Kuo. Outline What is Peer-to-Peer(P2P)? P2P Architecture Applications Advantages and Weaknesses Security Controversy.
SIGCOMM 2001 Lecture slides by Dr. Yingwu Zhu Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
PEER TO PEER (P2P) NETWORK By: Linda Rockson 11/28/06.
CS 640: Introduction to Computer Networks Aditya Akella Lecture 24 - Peer-to-Peer.
Computer Networking P2P. Why P2P? Scaling: system scales with number of clients, by definition Eliminate centralization: Eliminate single point.
EE324 DISTRIBUTED SYSTEMS L17 P2P. Scaling Problem 2  Millions of clients  server and network meltdown.
6° of Darkness or Using Webs of Trust to Solve the Problem of Global Indexes.
Peer-to-Peer File Sharing
Distributed Systems Lecture 21 – CDN & Peer-to-Peer.
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
1 Overlay Networks. 2 Routing overlays –Experimental versions of IP (e.g., 6Bone) –Multicast (e.g., MBone and end-system multicast) –Robust routing (e.g.,
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
P2P Search COP6731 Advanced Database Systems. P2P Computing  Powerful personal computer Share computing resources P2P Computing  Advantages: Shared.
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
Aditya Akella The Web Aditya Akella 18 Apr, 2002.
Distributed Computing Systems Peer-to-Peer. Definition of Peer-to-Peer (P2P) Significant autonomy from central servers Exploits resources at edges of.
Topologies and behavioral properties of the network Yvon Kermarrec Based on tml.
Marina Papatriantafilou – Overlays and peer-to-peer applications Based on the book Computer Networking: A Top Down Approach, Jim Kurose, Keith Ross, Addison-Wesley.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
(some slides from D. Anderson, K. Harras and others)
Lecture XV: Real P2P Systems
Distributed Systems CDN & Peer-to-Peer.
مظفر بگ محمدی دانشگاه ایلام
EE 122: Peer-to-Peer (P2P) Networks
CPE 401/601 Computer Network Systems
Presentation transcript:

Hui Zhang, Fall Computer Networking CDN and P2P

Hui Zhang, Fall Content Distribution Networks(CDNs)  A third-party caching networks for content publishers -proxy caches deployed by network providers  Goals -Load balancing -Fast response -High availability -Handling flash crowd  Commercially successful -Akamai, Limelight, CDNetworks, … content replica Origin Server 2

Hui Zhang, Fall Two Key Questions  How does CDN intercept a web request?  How does CDN select a good server for a given request?

Hui Zhang, Fall Intercepting the Request: DNS Re-Direction  Root server gives NS record for akamai.net  Akamai.net name server returns NS record for g.akamaitech.net -Name server chosen to be in region of client’s name server -TTL is large  G.akamaitech.net nameserver chooses server in region -Should try to chose server that has file in cache - How to choose? -Uses aXYZ name and hash -TTL is small  why?

Hui Zhang, Fall DNS Re-Direction In Action End-user cnn.com (content provider) DNS root server Akamai high-level DNS server Akamai low-level DNS server Nearby matching Akamai server Get index. html Get foo.jpg 5Local DNS server Control Plane Call Data Plane Call

Hui Zhang, Fall P2P System  Leverage the resources of client machines (peers) -Computation, storage, bandwidth  Self-scaling

Hui Zhang, Fall P2P Design Choices  Data plane -whole-file vs. chunks  Control plane -Centralized index (Napster, etc.) -Flooding (Gnutella, etc.) -Smarter flooding (KaZaA, …) -Routing (Freenet, etc.)

Hui Zhang, Fall How Different Solutions Fit In CentralFloodSuper- node flood Route Whole File NapsterGnutellaFreenet Chunk Based BitTorrentKaZaA (bytes, not chunks) DHTs eDonkey 2000

Hui Zhang, Fall Searching Internet N1N1 N2N2 N3N3 N6N6 N5N5 N4N4 Publisher Key= “ title ” Value=MP3 data… Client Lookup( “ title ” ) ?

Hui Zhang, Fall Searching 2  Needles vs. Haystacks -Searching for top 40, or an obscure punk track from 1981 that nobody’s heard of?  Search expressiveness -Whole word? Regular expressions? File names? Attributes? Whole-text search? (e.g., p2p gnutella or p2p google?)

Hui Zhang, Fall Framework  Common Primitives: -Join: how to I begin participating? -Publish: how do I advertise my file? -Search: how to I find a file? -Fetch: how to I retrieve a file?

Hui Zhang, Fall Next Topic...  Centralized Database -Napster  Query Flooding -Gnutella  Intelligent Query Flooding -KaZaA  Swarming -BitTorrent  Unstructured Overlay Routing -Freenet  Structured Overlay Routing -Distributed Hash Tables

Hui Zhang, Fall Napster: History  1999: Sean Fanning launches Napster  Peaked at 1.5 million simultaneous users  Jul 2001: Napster shuts down

Hui Zhang, Fall Napster: Overiew  Centralized Database: -Join: on startup, client contacts central server -Publish: reports list of files to central server -Search: query the server => return someone that stores the requested file -Fetch: get the file directly from peer

Hui Zhang, Fall Napster: Publish I have X, Y, and Z! Publish insert(X, )

Hui Zhang, Fall Napster: Search Where is file A? Query Reply search(A) --> Fetch

Hui Zhang, Fall Napster: Discussion  Pros: -Simple -Search scope is O(1) -Controllable (pro or con?)  Cons: -Server maintains O(N) State -Server does all processing -Single point of failure

Hui Zhang, Fall Next Topic...  Centralized Database -Napster  Query Flooding -Gnutella  Intelligent Query Flooding -KaZaA  Swarming -BitTorrent  Unstructured Overlay Routing -Freenet  Structured Overlay Routing -Distributed Hash Tables

Hui Zhang, Fall Gnutella: History  In 2000, J. Frankel and T. Pepper from Nullsoft released Gnutella  Soon many other clients: Bearshare, Morpheus, LimeWire, etc.  In 2001, many protocol enhancements including “ultrapeers”

Hui Zhang, Fall Gnutella: Overview  Query Flooding: -Join: on startup, client contacts a few other nodes; these become its “neighbors” -Publish: no need -Search: ask neighbors, who ask their neighbors, and so on... when/if found, reply to sender. TTL limits propagation -Fetch: get the file directly from peer

Hui Zhang, Fall I have file A. Gnutella: Search Where is file A? Query Reply

Hui Zhang, Fall Gnutella: Discussion  Pros: -Fully de-centralized -Search cost distributed each node permits powerful search semantics  Cons: -Search scope is O(N) -Search time is O(???) -Nodes leave often, network unstable  TTL-limited search works well for haystacks. -For scalability, does NOT search every node. May have to re-issue query later

Hui Zhang, Fall KaZaA: History  In 2001, KaZaA created by Dutch company Kazaa BV  Single network called FastTrack used by other clients as well: Morpheus, giFT, etc.  Eventually protocol changed so other clients could no longer talk to it  Most popular file sharing network today with >10 million users (number varies)

Hui Zhang, Fall KaZaA: Overview  “Smart” Query Flooding: -Join: on startup, client contacts a “supernode”... may at some point become one itself -Publish: send list of files to supernode -Search: send query to supernode, supernodes flood query amongst themselves. -Fetch: get the file directly from peer(s); can fetch simultaneously from multiple peers

Hui Zhang, Fall KaZaA: Network Design “Super Nodes”

Hui Zhang, Fall KaZaA: File Insert I have X! Publish insert(X, )

Hui Zhang, Fall KaZaA: File Search Where is file A? Query search(A) --> search(A) --> Replies

Hui Zhang, Fall KaZaA: Fetching  More than one node may have requested file...  How to tell? -Must be able to distinguish identical files -Not necessarily same filename -Same filename not necessarily same file...  Use Hash of file -KaZaA uses UUHash: fast, but not secure -Alternatives: MD5, SHA-1  How to fetch? -Get bytes [ ] from A, [ ] from B -Alternative: Erasure Codes

Hui Zhang, Fall KaZaA: Discussion  Pros: -Tries to take into account node heterogeneity: Bandwidth Host Computational Resources Host Availability (?) -Rumored to take into account network locality  Cons: -Mechanisms easy to circumvent -Still no real guarantees on search scope or search time  Similar behavior to gnutella, but better.

Hui Zhang, Fall Stability and Superpeers  Why superpeers? -Query consolidation Many connected nodes may have only a few files Propagating a query to a sub-node would take more b/w than answering it yourself -Caching effect Requires network stability  Superpeer selection is time-based -How long you’ve been on is a good predictor of how long you’ll be around.

Hui Zhang, Fall BitTorrent: History  In 2002, B. Cohen debuted BitTorrent  Key Motivation: -Popularity exhibits temporal locality (Flash Crowds) -E.g., Slashdot effect, CNN on 9/11, new movie/game release  Focused on Efficient Fetching, not Searching: -Distribute the same file to all peers -Single publisher, multiple downloaders  Has some “real” publishers: -Blizzard Entertainment using it to distribute the beta of their new game

Hui Zhang, Fall BitTorrent: Overview  Swarming: -Join: contact centralized “tracker” server, get a list of peers. -Publish: Run a tracker server. -Search: Out-of-band. E.g., use Google to find a tracker for the file you want. -Fetch: Download chunks of the file from your peers. Upload chunks you have to them.  Big differences from Napster: -Chunk based downloading (sound familiar? :) -“few large files” focus -Anti-freeloading mechanisms

Hui Zhang, Fall BitTorrent: Publish/Join Tracker

Hui Zhang, Fall BitTorrent: Fetch

Hui Zhang, Fall BitTorrent: Sharing Strategy  Employ “Tit-for-tat” sharing strategy -A is downloading from some other people A will let the fastest N of those download from him -Be optimistic: occasionally let freeloaders download Otherwise no one would ever start! Also allows you to discover better peers to download from when they reciprocate -Let N peop  Goal: Pareto Efficiency -Game Theory: “No change can make anyone better off without making others worse off” -Does it work? (don’t know!)

Hui Zhang, Fall BitTorrent: Summary  Pros: -Works reasonably well in practice -Gives peers incentive to share resources; avoids freeloaders  Cons: -Pareto Efficiency relative weak condition -Central tracker server needed to bootstrap swarm -Tracker is a design choice, not a requirement. Could easily combine with other approaches.