Computer Networking Lecture Notes
22 November 2012 • Peer-to-Peer Architectures
Outline
Architectures
The
architecture
relates the pieces to the whole.
The purpose of each piece.
The relation among pieces.
Apart from organization, architectures allow
Comparison among similar systems.
A hook for analysis.
Navigation through the design space.
Centralized Architectures
A distributed architecture with distinguished pieces
The pieces are usually called
servers
.
Servers off-load specific functions from other nodes.
Routing servers, storage servers, indexing servers, …
Nodes needing a function contact the appropriate server.
Decentralized Architectures
A distributed architecture with uniform nodes.
Each node provides system services.
Usually with help from other nodes.
Distributed service delivery.
Navigation (as opposed to location) becomes important.
A single node will be most ways unsatisfactory.
Structure and Topology
Decentralized structure measures hierarchy.
Hierarchical structures are organized into
tiers
or
levels
.
Flat structures are without levels.
Decentralized topology characterizes logical relations among nodes.
Structured topologies impose definite node relations.
Unstructured topologies result in random (or undefined) relations.
Structured Topology
A structured topology defines levels into which nodes are slotted.
The placement of nodes into levels can be
precise, always guaranteed to hold for particular nodes, or
probabilistic, holding in general for nodes collectively.
Structured topologies can be thought of as mappings between important system features.
Unstructured Topology
An unstructured topology leaves everything up to the nodes to discover.
The most important discovery are one-hop neighbors.
Other important topological attributes follow.
Configuration discoveries can be
statically determined, almost
a priori
, or
reconfigurable, in response to changing conditions.
Centralized Systems
An inheritance from client-server systems.
The servers are “thinner” in peer-to-peer systems.
Peer-server contact tends to be brief and to establish or re-establish, relations in the system.
Directory servers for example.
Centralized Analysis
Servers in a system
Increase efficiency by reducing search.
Focus and amortize build and run costs.
Make network management easier.
Unfortunately, they’re also
Unscalable with respect to peer count.
A single failure point.
Napster
Napster was one of the first successful peer-to-peer systems.
A system devoted to file sharing.
Each Napster peer offered files for sharing.
Peers registered file lists with the Napster server.
A server query was a list of file names, the response was a list of hosting peers.
The querying peer directly contacted hosting peers.
Napster Characteristics
Unscalable and unreliable.
The server is a bottleneck under load.
Copyright holds had an obvious take-down target.
Efficient and effective.
Storage was distributed, effectively unlimited.
Performing search was easy and fast (modulo scalability).
SETI@home
Another early peer-to-peer success.
A peer-to-peer system exploiting idle CPUs.
The SETI server maintained small, well-defined computation chunks (code + data).
Peers queried the server for work, replied to the server with results.
Lots of other services required: peer sign-up, results checking, credit management, team organization, …
SETI Characteristics
Unscalable and unreliable.
The server is a bottleneck under load.
Work storage is part of the problem.
Efficient and effective.
Distributed computation, effectively unlimited at an excellent price/performance ratio.
Privacy, anonymity, and security.
Peers are in the dark, servers aren’t.
Summary
Peer-to-peer network architecture can be unstructured, structured, or hybrid.
Unstructured: arbitrary nodes and links.
Structured: constrained links, arbitrary nodes.
Hybrid: constrained links and nodes.
Choices weigh between efficiency and reliability, adaptability and overhead, and others.
References
Architecture of Peer-to-Peer Systems (Chapter 2) in
Peer-to-Peer Computing
by Quang Hieu Vu, Mihai Lupu, Beng Chin Ooi from Springer, 2010.
A Survey and Comparison of Peer-to-Peer Overlay Network Schemes
by Eng Keong Lua, Jon Crowcroft, Marcelo Pias, Ravi Sharma and Steven Lim in
IEEE Communications Surveys and Tutorials
, v. 7, n. 2, 2005.
This page last modified on 2011 October 9.