2/15/2001O'Reilly P2P Conference Overview Choices common to many P2P systems Locations vs. Names App-Level vs. Network Routing Indexing vs. Wandering Specialization File-sharing specific Whole Files vs. Blocks Common Ground?
2/15/2001O'Reilly P2P Conference Locations vs. Names Applies to peers, data, services Locations = URLs, Names = URNs Locations are simpler, faster, but inhibit replication Used by Napster, Gnutella Names require directory service and namespace management Used by Freenet, Mojo Nation
2/15/2001O'Reilly P2P Conference Network vs. App-level routing Network routing is free, minimizes latency Used by Napster, Mojo Nation App-level routing can optimize for different metrics (e.g. privacy), provide multicast and replication Used by Freenet, OceanStore Hybrids can work Gnutella routes queries, but sends data direct
2/15/2001O'Reilly P2P Conference Indexing vs. Wandering Searching is used both for peers and data Semi-centralized indices are efficient Used by Napster, Mojo Nation Wandering (or flooding) requires queries to visit potentially many peers Used by Gnutella, Freenet, OceanStore
2/15/2001O'Reilly P2P Conference Specialization All peers can perform exactly the same services Freenet Or peers can specialize Simple case: Sharing or not More sophisticated: Gnutella Reflector, Mojo Nation index trackers
2/15/2001O'Reilly P2P Conference Whole files vs. Blocks Transferring whole files is simple, but resuming downloads becomes tricky Napster, Gnutella, Freenet Breaking files into blocks increases overhead, but allows swarming & easier resuming Mojo Nation, OceanStore, Swarmcast
2/15/2001O'Reilly P2P Conference Is there a common ground? Naming SHA-1 is already popular Messaging HTTP and XML protocols Directories