1 / 14

Design Choices in P2P Infrastructure

This paper discusses the design choices and considerations in peer-to-peer (P2P) infrastructure for collaborative computing in higher education. It explores topics such as locations vs names, network vs app-level routing, RPC vs asynchronous messaging, lookup problem, specialization, incentives, and common ground. The paper also examines the challenges and potential solutions in these areas.

tammara
Download Presentation

Design Choices in P2P Infrastructure

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Design Choices inP2P Infrastructure Wes Felter IBM Austin Research Lab wmf@austin.ibm.com Collaborative Computing in Higher Education

  2. P2P Infrastructure • Choices common to many P2P systems • Locations vs. Names • Network vs. App-Level Routing • RPC vs. Asynchronous Messaging • Lookup • Specialization • Incentives • Common Ground? Collaborative Computing in Higher Education

  3. 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, OceanStore Collaborative Computing in Higher Education

  4. 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 Collaborative Computing in Higher Education

  5. Network Routing Collaborative Computing in Higher Education

  6. Application-Level Routing Collaborative Computing in Higher Education

  7. Application-Level Routing 2 Collaborative Computing in Higher Education

  8. RPC vs. Async Messaging • RPC has easy programming model, but: • Usually requires threads • Can encourage ignoring failures • Asynchronous messaging • A different programming model (maybe) • Use event loops instead of threads • Design protocols as state machines Collaborative Computing in Higher Education

  9. The Lookup Problem • Map keys to values • Minimize memory/storage use • Minimize network round trips • Be reliable (despite unreliable peers) • Have an infinite “horizon” • Resist attacks Collaborative Computing in Higher Education

  10. 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” • Some systems automatically elect “super-peers” based on their resources Collaborative Computing in Higher Education

  11. An Unsolved Problem: Incentives • Many P2P systems ask users to provide resources • Why should they? • Freeloading  Tragedy of the commons • Don’t prohibit what you can’t prevent • Reputations? • Money? Real or Play? Collaborative Computing in Higher Education

  12. Is there a common ground? • Naming • SHA-1 is already popular • Messaging • HTTP and XML protocols (XML-RPC, SOAP) • Sun’s JXTA is trying, with little adoption • Directories Collaborative Computing in Higher Education

  13. Moving Up a Level • We know the primitives • Are architectural models useful? • Data-oriented • Event-oriented • ? Collaborative Computing in Higher Education

  14. The End Wes Felter wmf@austin.ibm.com Collaborative Computing in Higher Education

More Related