Peer-to-peer systems ”Sharing is caring”
Why P2P? Client-server systems limited by management and bandwidth P2P uses network resources at the edges
Characteristics of P2P All nodes have the same capabilities and responsibilities No central control needed Offers more or less anonymity Data placement algorithm Does not rely on any one node
Early use Xerox Grapevine Lamport’s algorithm, Bayou storage system and classless interdomain IP routing algorithm Need a large number of broadband users 1999 in the US and by 2004 worldwide with over 100 million users
Next generation Three generations of P2P systems Napster Second generation – large improvements. Freenet or Kazaa P2P middleware – Pastry and Tapestry
Napster Created in 1999 by Shawn Fanning Centralized index Shut down 2001
Routing overlay and GUID Network in the application layer Globally Unique Identifiers Addition and removal Secure against tampering Spreads out the GUID Bittorrent and trackers
Middleware – Pastry Prefix routing 128-bit GUID No clashing Uses UDP Sets up routing table using GUID and IP
Middleware – Tapestry Message distribution similar to Pastry DOLR (Distributed Object Location and Routing) Replicas 160-bit
Unstructured P2P No structure for placement, routing or searching No topological order Ad hoc Connect to nearest neighbour Flooding