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

Introduction to Peer-to-Peer Networks

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