16-02-2011, 04:20 PM
Peer to Peer Technologies
Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or work loads between peers. Peers are equally privileged, equipotent participants in the application. They are said to form a peer-to-peer network of nodes.
Peers make a portion of their resources, such as processing power, disk storage or network bandwidth, directly available to other network participants, without the need for central coordination by servers or stable hosts. Peers are both suppliers and consumers of resources, in contrast to the traditional client–server model where only servers supply, and clients consume
What is P2P?
Peer-to-Peer computing put in a simple way is described is the sharing of computer resources and services by direct exchange between systems.
Peer (Servent) - this is defined as a computer that has both Client and Server roles. It is also called a Servent with the same meaning as above.
P2P features(1)
All peers in P2P network are the same.
Data and computation is decentralized.
Search for information in P2P networks is more relevant compared to static searches (such as Google or Yahoo).
Peers and their connections are volatile
Properties:
– no central coordination
– no central database
– no peer has a global view of the
system
– global behavior emerges from local
interactions
– all existing data and services are
accessible from any peer
– peers are autonomous
– peers and connections are unreliable
Types of P2P System (Apps)
E-commerce systems
– eBay, B2B market places…
File sharing systems
– Napster, Gnutella, Freenet, …
Distributed Databases
– Mariposa [Stonebraker96], …
Networks
– Arpanet
– Mobile ad-hoc networks
P2P architectures
P2P qualities
Easy to modify or upgrade the system with minimum effort
A high need for performance quality
A high ask on the Usability quality
Flexible enough to handle infinite requests form peers - scalability
The principle of remote access
Peer structure
Each peer provides a basic set of core services.
Using the some protocols(http, ftp…) peers page link together in networks to share information and services
Architectural styles
Call and Return Style
- Object Oriented system (wait until the other component replies)
- Layered Architecture
(when the task can be divided )
Examples of P2P Systems
Existing P2P systems Napster
Gnutella
Freenet
OceanStore Farsite FastTrack Tornado Chord CAN Gridella