Peer to peer (P2P) computing involves direct sharing of resources and services between systems without centralized control or servers. P2P systems can be either pure, with no central server and peers communicating directly, or hybrid with a centralized server for name resolution but direct peer-to-peer communication. P2P is commonly used for applications that involve parallelizable or componentized tasks, content/file sharing, and collaboration where users can interact and edit shared information.
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.
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.
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.,
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 .