You are on page 1of 33

Peer-to-Peer Computing

What is P2P ?
Peer is a entity that has attributes similar to other entities in system P2P is a technology and not a protocol Process whereby computers trade information between each other without having to pass the information through a centrally controlled server Sharing of computer resources (information, processing) and services by direct exchange between systems

What is P2P ?
Computer Systems

Centralized Systems E.g.. Mainframes

Distributed Systems

Client Server

Peer to peer

Flat

Hierarchical

Pure

Hybrid

Definition
The term peer-to-peer computing refers to use a class of systems and applications that employ distributed resources to perform a function in a decentralized manner to compute

Models
Multiple Peer Relationship PCs are connected/networked to each other through servers, and files can be shared and collected from anyone else on that same network.

Models
Distributed Peer Relationship A group of computers connected together to combine their computing and processing abilities to search the Internet or solve very complex problems requiring massive process crunching

Models
Collaborative Peer Relationship A small group of people agree to collaborate through a common interface, such as on-line gaming, chat rooms, instant messaging, or e-learning environment

The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) that enables software components written in multiple computer languages and running on multiple computers to work together (i.e., it supports multiple platforms). The .NET Framework (pronounced dot net) is a software framework that runs primarily on Microsoft Windows. It includes a large library and provides language interoperability (each language can use code written in other languages) across several programming languages.

Goals
Cost sharing/reduction Improved scalability/reliability Resource aggregation and interoperability Increased autonomy Anonymity/privacy Dynamism Enabling ad-hoc communication and collaboration

Terminology
Centralized systems

Single-unit solutions

Distributed Systems Client Server

Terminology
Client-Server model Peer P2P model Distributed computing

Computing cluster, grids, global computing systems

Grid computing Ad-hoc communication

P2P Taxonomies
Computer Systems

Centralized Systems Distributed Systems


Flat Hierarchical Pure: Gnutella Hybrid: Napster

Client-Server

Peer-to-Peer

Communication & Collaboration

Platforms

JXTA, .NET Groove, Jabber SETI@HOME, Avaki Napster, Gnutella

Collaboration

Computing

File sharing

P2P applications

Infrastructure Components

Class-Specific

Scheduling Meta-data Messaging Management

Application-Specific

CHARACTERISTICS

Decentralization Scalability Anonymity Self-organization Cost of ownership Ad-hoc connectivity Performance Security Transparency Usability Fault resilience interoperability

Decentralization

Anonymity

Avaki

SETI@home

scientific experiment that uses Internet-connected computers in the Search for Extraterrestrial Intelligence

Groove

Magi

JXTA

An open source peer-to-peer protocol specification begun by Sun Microsystems in 2001

Summary

Strengths and Weaknesses

You might also like