Peer-to-Peer Information Systems Week 2: File Sharing

Slides:



Advertisements
Similar presentations
Peer-to-Peer and Social Networks An overview of Gnutella.
Advertisements

The Start of Digital Anarchy Shawn Fanning (19-yr-old student nicknamed Napster) developed the original Napster application and service in January 1999.
INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 12 Prof. Crista Lopes.
Peer-to-Peer Computing Ding Choon Hoong Grid Computing and Distributed Systems (GRIDS) Lab. The University of Melbourne Melbourne, Australia
1 An Overview of Gnutella. 2 History The Gnutella network is a fully distributed alternative to the centralized Napster. Initial popularity of the network.
Gnutella 2 GNUTELLA A Summary Of The Protocol and it’s Purpose By
Peer-to-Peer Networks João Guerreiro Truong Cong Thanh Department of Information Technology Uppsala University.
1 Unstructured Routing : Gnutella and Freenet Presented By Matthew, Nicolai, Paul.
Gnutella, Freenet and Peer to Peer Networks By Norman Eng Steven Hnatko George Papadopoulos.
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
Improving Data Access in P2P Systems Karl Aberer and Magdalena Punceva Swiss Federal Institute of Technology Manfred Hauswirth and Roman Schmidt Technical.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
P2P File Sharing Systems
Freenet. Anonymity  Napster, Gnutella, Kazaa do not provide anonymity  Users know who they are downloading from  Others know who sent a query  Freenet.
Peer-to-Peer Computing CS587x Lecture Department of Computer Science Iowa State University.
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
P2P Architecture Case Study: Gnutella Network
Lecture 12 Peer-to-Peer systems (Search Capabilities in Distributed Systems) Sections 10.1, 10.2, plus Paper “The Gnutella Protocol Specification v0.4”
1 Reading Report 4 Yin Chen 26 Feb 2004 Reference: Peer-to-Peer Architecture Case Study: Gnutella Network, Matei Ruoeanu, In Int. Conf. on Peer-to-Peer.
1 Telematica di Base Applicazioni P2P. 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services.
Jonathan Walpole CSE515 - Distributed Computing Systems 1 Teaching Assistant for CSE515 Rahul Dubey.
The Start Shawn Fanning (19-yr-old student nicknamed Napster) developed the original Napster application and service in January 1999 while a freshman.
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 A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
1 Indranil Gupta (Indy) Lecture 4 Peer to Peer Systems January 30, 2014 All Slides © IG CS 525 Advanced Distributed Systems Spring 2014.
P2PComputing/Scalab 1 Gnutella and Freenet Ramaswamy N.Vadivelu Scalab.
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.
Peer-to-Peer By Rui Zhang, Chen Teng, Li Dong, Quanshuan He & Yongzheng Zhang.
ADVANCED COMPUTER NETWORKS Peer-Peer (P2P) Networks 1.
Peer-to-peer systems (part I) Slides by Indranil Gupta (modified by N. Vaidya)
CS Spring 2014 CS 414 – Multimedia Systems Design Lecture 37 – Introduction to P2P (Part 1) Klara Nahrstedt.
Peer-to-Peer (P2P) Networks By Bongju Yu. Contents  What is P2P?  Features of P2P systems  P2P Architecture  P2P Protocols  P2P Projects  Reference.
Two Peer-to-Peer Networking Approaches Ken Calvert Net Seminar, 23 October 2001 Note: Many slides “borrowed” from S. Ratnasamy’s Qualifying Exam talk.
Peer to Peer Networking. Network Models => Mainframe Ex: Terminal User needs direct connection to mainframe Secure Account driven  administrator controlled.
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.
CS Spring 2012 CS 414 – Multimedia Systems Design Lecture 37 – Introduction to P2P (Part 1) Klara Nahrstedt.
1 Indranil Gupta (Indy) Lecture 4 Peer to Peer Systems January 28, 2010 All Slides © IG CS 525 Advanced Distributed Systems Spring 2010.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
1 Indranil Gupta (Indy) Lecture 4 Peer to Peer Systems January 27, 2011 All Slides © IG CS 525 Advanced Distributed Systems Spring 2011.
P2P Networking: Freenet Adriane Lau November 9, 2004 MIE456F.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
Distributed Web Systems Peer-to-Peer Systems Lecturer Department University.
1 Gnutella. 2 Overview r P2P search mechanism r Simple and straightforward r Completely decentralized r Creates overlay network r Different applications.
Peer-to-Peer Information Systems Week 12: Naming
A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004.
IP: Addressing, ARP, Routing
Advanced Computer Networks: Part 1
BitTorrent Vs Gnutella.
CS4470 Computer Networking Protocols
An overview of Gnutella
CHAPTER 3 Architectures for Distributed Systems
Peer-to-Peer and Social Networks
EE 122: Peer-to-Peer (P2P) Networks
A Scalable content-addressable network
CS 162: P2P Networks Computer Science Division
Unstructured Routing : Gnutella and Freenet
Peer-to-Peer Information Systems Week 6: Performance
An Overview of Peer-to-Peer
Peer-to-Peer Information Systems Week 2: File Sharing
Peer-to-Peer Information Systems Week 6: Assignment #4
Peer-to-Peer Information Systems Assignment #3
Peer-to-Peer Information Systems Week 6: Assignment #4
Peer-to-Peer Information Systems Week 6: Assignment #3
Peer-to-Peer Information Systems Week 12: Naming
#02 Peer to Peer Networking
Presentation transcript:

Peer-to-Peer Information Systems Week 2: File Sharing Old Dominion University Department of Computer Science CS 495/595 Fall 2003 Michael L. Nelson <mln@cs.odu.edu> 9/2/03

File Sharing Milieu we make a slightly artificial distinction between file sharing and file storage sharing has less temporal guarantees than storage file sharing projects are covered in a separate lecture Popularity KaZaA Napster Gnutella Freenet Free Haven OceanStore Publius Privacy Intermemory Persistence

Where is Napster in Our Book? Who will write for Napster? Shawn Fanning? incidentally, a Bacon # of 2: http://oracleofbacon.org/cgi-bin/oracle/movielinks?firstname=Kevin+Bacon&game=1&secondname=shawn+fanning Kasaras, “Music in the Age of Free Distribution: MP3 and Society” http://www.firstmonday.dk/issues/issue7_1/kasaras/ should have been a chapter in our book

What is an MP3? Motion Picture Experts Group 3 layers of audio from: http://www.cs.auckland.ac.nz/compsci708s1c/lectures/jpeg_mpeg/mpeg_audio.html Layer 1 : 192 Kbps per channel, simple implementation, no temporal masking. Layer 2 : 128 Kbps per channel, medium complexity, some temporal masking. Layer 3 : 64 Kbps per channel, complex implementation, temporal masking. roughly 1/12 the size of WAV files 1 cd: ~ 700 MB or 80 minutes 8.75 MB / minute mp3: ~ 960 minutes in the same 700 MB! 0.72 MB / minute instead of 16 five minute songs on a CD, you know have 192! an order of magnitude improvement

Disruptive Technologies Computers steady (or falling) price points increasing computational capabilities increasing storage capabilities Networking high speed at home, school, work File an order of magnitude improvement

Innovator’s Dilemma Clayton M. Christensen order of magnitude changes are disruptive technologies disruptive technologies change the community

OpenNap http://opennap.sourceforge.net/ Protocol http://opennap.sourceforge.net/napster.txt format of client<->server communication: <length><type><data> 100+ types!!! client<->client communication upload, download, firewalled upload, firewalled download firewalled clients use the server as a proxy session walkthrough at: http://david.weekly.org/code/napster.php3

Gnutella as described in chapter 8 super nodes to be discussed in “Performance” lecture really a protocol that is supported by many applications http://www.gnutella.com/ http://gnutella.wego.com/ servent == client and server

Gnutella Protocol Descriptor Description Ping used to discover servents on the network Pong Response to a ping; describes the answering servent Query keyword search of a servent’s holdings QueryHit Response to Query; provides information about how to retrieve a file Push Allows firewalled servents to share files Get Get a file from a servent adapted from: http://www.dcs.gla.ac.uk/~iraklis/fyp_report/node11.html

Client-Server Cocktail Party (pp. 98-99) Napster Enter the party of 35M via the foyer Connect, upload your list of files, your list is indexed at the central server Your only friend is the party host Napster tells you your list of files was recvd You ask the host where the snacks are You send your keyword search to Napster’s central server The host points you to where the snacks are Napster server tells you where the files are that match your query You go to the snacks You select a file and the Napster server brokers a download from the machine that holds it

Gnutella Cocktail Party (p. 98) Enter the party, say hello to the first person you meet Connect to any Gnutella host and issue a PING Shortly, your friends see you and say hello Your PING is broadcast to hosts “nearby”, who eventually respond with a PONG You ask your friends where the snacks are You query the hosts you “know” (via PONGs) for a file Nobody knows, so they ask people next to them, and so on until everyone in the room has been asked. If a host has the file, it responds to you. But the query is passed on other hosts as well until the whole network is canvassed. The few folks near the snacks let you know where they are. Several hits are routed back to you. You walk over to the snacks. You select from the hits that are presented to you.

Gnutella Messages Every message has a 128-bit universal unique identifier (UUID) Leach & Salz, “UUIDs and GUIDs” http://www.opengroup.org/dce/info/draft-leach-uuids-guids-01.txt hash of (among others) clock + MAC address more on this in the “Naming” lecture default time-to-live (TTL) of 7

Gnutella Messages when a mesg is recvd, (temporarily) store its UUID, then forward to peers do not forward messages with UUIDs that you have seen before every servent decrements the TTL each time they pass the message on when TTL==0, don’t forward the message Pongs & QueryHits are routed directly back to the originator and not forwarded

Gnutella search mechanism Steps: Node 2 initiates search for file A 7 1 A 4 2 6 3 5 Slide from Matei Ripenau; http://www.comp.lancs.ac.uk/computing/users/blundeln/DeptSite/public/PGNet2002Presentation.ppt

Gnutella search mechanism Steps: Node 2 initiates search for file A Sends message to all neighbors 7 1 4 2 A 6 3 A 5 Slide from Matei Ripenau; http://www.comp.lancs.ac.uk/computing/users/blundeln/DeptSite/public/PGNet2002Presentation.ppt

Gnutella search mechanism Steps: Node 2 initiates search for file A Sends message to all neighbors Neighbors forward message 7 1 4 2 A 6 3 A 5 Slide from Matei Ripenau; http://www.comp.lancs.ac.uk/computing/users/blundeln/DeptSite/public/PGNet2002Presentation.ppt

Gnutella search mechanism Steps: Node 2 initiates search for file A Sends message to all neighbors Neighbors forward message Nodes that have file A initiate a reply message 7 1 4 2 A 6 3 A:5 5 A Slide from Matei Ripenau; http://www.comp.lancs.ac.uk/computing/users/blundeln/DeptSite/public/PGNet2002Presentation.ppt

Gnutella search mechanism Steps: Node 2 initiates search for file A Sends message to all neighbors Neighbors forward message Nodes that have file A initiate a reply message Query reply message is back-propagated 7 1 4 2 A:7 A:5 6 3 A 5 A Slide from Matei Ripenau; http://www.comp.lancs.ac.uk/computing/users/blundeln/DeptSite/public/PGNet2002Presentation.ppt

Gnutella search mechanism Steps: Node 2 initiates search for file A Sends message to all neighbors Neighbors forward message Nodes that have file A initiate a reply message Query reply message is back-propagated 7 1 4 A:7 2 A:5 6 3 5 Slide from Matei Ripenau; http://www.comp.lancs.ac.uk/computing/users/blundeln/DeptSite/public/PGNet2002Presentation.ppt

Gnutella search mechanism Steps: Node 2 initiates search for file A Sends message to all neighbors Neighbors forward message Nodes that have file A initiate a reply message Query reply message is back-propagated File download download A 7 1 4 2 6 3 5 Slide from Matei Ripenau; http://www.comp.lancs.ac.uk/computing/users/blundeln/DeptSite/public/PGNet2002Presentation.ppt

Gnutella Maps from: http://www.cybergeography.org/atlas/more_topology.html; cf. figure 8-3 (p. 109)

A More Centralized Gnutella? Reflectors (p. 112) maintains an index of its neighbors does not re-transmit the query, but answers from its own index “mini-napster” prelude to “super-nodes” (lecture on “performance”) Host caches (p. 113) bootstrapping your connection cf. our list serve for more convenient for users, but it doesn’t produce a nice random graph everyone ends up in the tightly connected cell

Kan’s Take on Scaling Chapter 8 Horizon Cellular telephony analogy number of nodes that can be “seen” within your TTL only your neighbors really matter Cellular telephony analogy coverage radius Ethernet it works!

Ritter’s Take on Scaling Jordan Ritter, “Why Gnutella Can’t Scale. No, Really” http://www.darkridge.com/~jpr5/doc/gnutella.html description of Gnutella ca. early 2001 (go through the figures; not pasted in the slides)

Ripeanu, Iamnitchi & Foster’s Take on Scaling “Mapping the Gnutella Network”, IEEE Internet Computing, 6(1), 2002 http://people.cs.uchicago.edu/~matei/PAPERS/ic.pdf Gnutella continues to grow… figure 1 from Ripeanu, Iamnitchi & Foster, IEEE IC, 6(1), 2002

Sampling of Messaging figure 2 from Ripeanu, Iamnitchi & Foster, IEEE IC, 6(1), 2002

Gnutella - Small World? figures 3&4 from Ripeanu, Iamnitchi & Foster, IEEE IC, 6(1), 2002

Gnutella - Power Law? figures 5&6 from Ripeanu, Iamnitchi & Foster, IEEE IC, 6(1), 2002

Gnutella Topology vs. Network Topology figure 7 from Ripeanu, Iamnitchi & Foster, IEEE IC, 6(1), 2002

Gnutella: 4-Cayley Trees Gunther observes that Gnutella’s architecture is a 4-Cayley Tree Gunther, “Hypernets - Good (G)news for Gnutella” http://www.perfdynamics.com/Papers/Gnews.html http://xxx.lanl.gov/abs/cs.PF/0202019 definition: “A tree in which each non-leaf graph vertex has a constant number of branches n is called an n-Cayley tree.” from: http://mathworld.wolfram.com/CayleyTree.html from Rains & Sloane, we find that Cayley worked on this ca. 1875. Rains & Sloane, “On Cayley's Enumeration of Alkanes (or 4-Valent Trees)”, Journal of Integer Sequences, Vol. 2 (1999), Article 99.1.1 http://www.math.uwaterloo.ca/JIS/cayley.html

Let’s Build a Gnutella Network! N=2, TTL=2 N=2, TTL=5 N=5, TTL=5 N=5, TTL=2