Introduction to Peer-to-Peer Networks


Published on

Published in: Technology
  • Be the first to comment

Introduction to Peer-to-Peer Networks

  1. 1. Peer to Peer?? --An introduction.
  2. 2. What is Peer to Peer Computing?? <ul><li>Peer to Peer is most commonly known as P2P. </li></ul><ul><li>Definitions: </li></ul><ul><li>Intel: The sharing of computer resources and services by direct exchange between systems. </li></ul><ul><li>SETI@home: Director David Anderson says, </li></ul><ul><li>“ P2P projects that do not involve communication are “inverted client – server”!” </li></ul><ul><li>Meaning, </li></ul><ul><li>nodes at the edge provide power and those at the core co-ordinate them. </li></ul>
  3. 3. Definitions (cont) <ul><li>Kindberg defines P2P systems as those with independent lifetimes [Kindberg 2002]. </li></ul><ul><li>Finally, </li></ul><ul><li>P2P is about sharing: giving to and obtaining from a peer community. A peer gives some resources and obtains other resources in return. </li></ul>
  4. 4. Selecting P2P approach. <ul><li>The selection of the type of approach to use when working with P2P is mainly based on the user’s need. </li></ul><ul><li>Cost sharing. </li></ul><ul><li>Resource aggregation. </li></ul><ul><li>Improved scalability. </li></ul><ul><li>Anonymity. </li></ul><ul><li>Increased autonomy. </li></ul><ul><li>Dynamism. </li></ul>
  5. 5. High level view (P2P Vs. Centralized approach)
  6. 6. Intertwined with other technologies.
  7. 7. Taxonomy of comp. systems architecture
  8. 8. Pure Vs. Hybrid P2P <ul><li>Pure P2P – Totally no centralized server. All peers talk to each other directly. </li></ul><ul><li>Hybrid P2P . </li></ul><ul><li>- There is just one server for name resolution purposes only. </li></ul><ul><li>- Further communications are between the peers directly. </li></ul>
  9. 9. Taxonomy of P2P systems.
  10. 10. P2P Applications.
  11. 11. Applications (cont.) <ul><li>Parallelizable. </li></ul><ul><li>Computer intensive tasks. </li></ul><ul><li>- many subtasks across many peers. </li></ul><ul><li>- all peers performing same task with different values. </li></ul><ul><li>Componentized applications. </li></ul><ul><li>- same tasks needing different components. </li></ul><ul><li>- each peer runs a separate component. </li></ul><ul><li>e.g., scientific applications like, searching for extraterrestrial life, code breaking etc. </li></ul>
  12. 12. Applications (cont.) <ul><li>Content and file management. </li></ul><ul><li>- storing information on and retrieving information from peers. </li></ul><ul><li>- data mining, filtering and searching. </li></ul><ul><li>Collaborative. </li></ul><ul><li>- shared applications. </li></ul><ul><li>- viewers can interact while viewing and/or editing the same info. </li></ul><ul><li>- email, IM, News etc., </li></ul>
  13. 13. P2P system architecture.
  14. 14. Architecture (cont.) <ul><li>Communication – cable/ wire oriented connections and wireless connections. Challenge is to overcome the dynamism of mobile peers. </li></ul><ul><li>Group management – discovery of other peers, location and routing between those peers. </li></ul><ul><li>Robustness – security , resource aggregation and reliability. </li></ul><ul><li>Class specific layer – abstracts functionality from each task. E.g., </li></ul><ul><li>scheduling – scientific , meta data – content and file mgmt , messaging – collaborative. </li></ul><ul><li>Application specific layer – applications are performed by corresponding tools like, calendaring, notes, chatting etc. </li></ul>
  15. 15. P2P Algorithms. <ul><li>Three algorithms currently used for P2P systems are, </li></ul><ul><li> - Centralized Directory Model. </li></ul><ul><li> - Flooded Requests Model. </li></ul><ul><li> - Document Routing Model. </li></ul><ul><li>Centralized directory model. </li></ul><ul><li>matching based on request type. </li></ul>
  16. 16. Algorithms (cont.) <ul><li>Flooded requests model . </li></ul><ul><li>- pure P2P. </li></ul><ul><li>- all peers flood every connected peer with requests till, </li></ul><ul><li>* the maximum number of requests is reached. </li></ul><ul><li>* the peer with that capability responds. </li></ul>
  17. 17. Algorithms (cont.) <ul><li>Documents routing model. </li></ul><ul><li>- Each peer is assigned an ID. </li></ul><ul><li>- When a document is published (shared), it is assigned an ID. </li></ul><ul><li>- When routing, the Peer that has the application matching the contents of the document ( based on which ID was created), is routed and sent the document . </li></ul>
  18. 18. Case studies. <ul><li>Distributed computing. </li></ul><ul><ul><li>Avaki </li></ul></ul><ul><ul><li>SETI@home (search for extraterrestrial intelligence) </li></ul></ul>
  19. 19. Case studies (cont.) <ul><li>Collaboration. </li></ul><ul><li>- groove. - magi </li></ul>
  20. 20. Case studies (cont.) <ul><li>Content distribution. </li></ul><ul><li>- Freenet. </li></ul><ul><li>- gnutella. </li></ul><ul><li>Platforms. </li></ul><ul><li>- GXTA. </li></ul><ul><li>- .NET </li></ul>