87 |
Peer-to-Peer improves scalability and avoids single points of failure. |
Peer-to-Peer improves scalability and avoids single points of failure. |
88 |
|
|
89 |
There are many definitions of Peer-to-Peer networks. Schollmeier \cite{schollmeier01p2pdefinition} |
There are many definitions of Peer-to-Peer networks. Schollmeier \cite{schollmeier01p2pdefinition} |
90 |
describes a Peer-to-Peer system as a system of |
describes Peer-to-Peer system as a system of |
91 |
distributed entities that share their own services. Thus, Peer-to-Peer systems can be characterized as distributed |
distributed entities that share their own services. Thus, Peer-to-Peer systems can be characterized as distributed |
92 |
systems in which all communication is symmetric and all participants entities have similar |
systems in which all communication is symmetric and all participants entities have similar |
93 |
capabilities and responsibilities. Each entity, i.e., \emph{peer}, may contribute services |
capabilities and responsibilities. Each entity, i.e., \emph{peer}, may contribute services |
132 |
|
|
133 |
|
|
134 |
\chapter{Peer-to-Peer architectures} |
\chapter{Peer-to-Peer architectures} |
135 |
In this chapter we will give brief history and overview of Peer-to-Peer networks, |
In this chapter we will give a brief history and overview of Peer-to-Peer networks, |
136 |
review most important Peer-to-Peer algorithms and list key differences between |
review most important Peer-to-Peer algorithms and list key differences between |
137 |
two main approaches. |
two main approaches. |
138 |
|
|
149 |
In subsequent years, the Internet became more restricted to client--server based |
In subsequent years, the Internet became more restricted to client--server based |
150 |
applications. In recent years, however, Peer-to-Peer systems have again emerged |
applications. In recent years, however, Peer-to-Peer systems have again emerged |
151 |
room in computing world. Indeed, Peer-to-Peer has had significant social and technical |
room in computing world. Indeed, Peer-to-Peer has had significant social and technical |
152 |
attention in academia, industry and media. Already deceased Napster \cite{napsterurl}, |
attention in academia \cite{projectirisurl}, industry \cite{p2pworkinggroup}, |
153 |
|
\cite{jxtaurl}. Already deceased Napster \cite{napsterurl}, |
154 |
launched in 1999, was a new starting point for modern Peer-to-Peer computing. After |
launched in 1999, was a new starting point for modern Peer-to-Peer computing. After |
155 |
Napster, hundreds of Peer-to-Peer systems have been developed and proposed. |
Napster, hundreds of Peer-to-Peer systems have been developed and proposed. |
156 |
|
|
165 |
\label{fig:application_level} |
\label{fig:application_level} |
166 |
\end{figure} |
\end{figure} |
167 |
|
|
168 |
Compared to ARPA Net's Peer-to-Peer functionality, modern Peer-to-Peer systems |
Compared to ARPANET's Peer-to-Peer functionality, modern Peer-to-Peer systems |
169 |
are ad-hoc, i.e., peers join and leave the system constantly in a dynamic manner. This |
are ad hoc, i.e., peers join and leave the system constantly in a dynamic manner. This |
170 |
fact constitutes challenging requirements for efficient construction and maintenance |
fact constitutes challenging requirements for efficient construction and maintenance |
171 |
of the overlay network. Even more demanding tasks are how to perform efficient data |
of the overlay network. Even more demanding tasks are how to perform efficient data |
172 |
lookup and maintain security in a varying distributed environment. The most popular |
lookup and maintain security in a varying distributed environment. The most popular |
178 |
In a development of modern Peer-to-Peer systems, lot of influences has been attained from |
In a development of modern Peer-to-Peer systems, lot of influences has been attained from |
179 |
other research areas than computer science. Research has been conducted regarding |
other research areas than computer science. Research has been conducted regarding |
180 |
to self-organizing nature of complex networks \cite{albert-02-statistical}, \cite{albert-00-tolerance}, \cite{watts00dynamics}. |
to self-organizing nature of complex networks \cite{albert-02-statistical}, \cite{albert-00-tolerance}, \cite{watts00dynamics}. |
181 |
It's interesting to realize that chemical properties of cells, the Internet, ad-hoc |
It's interesting to realize that chemical properties of cells, the Internet, ad hoc |
182 |
Peer-to-Peer systems, and social networks have all in common that they self-organize based on same |
Peer-to-Peer systems, and social networks have all in common that they self-organize based on same |
183 |
principles. Furthermore, the association between social relationships among people |
principles. Furthermore, the association between social relationships among people |
184 |
and Peer-to-Peer overlay topology has been studied recently \cite{watts00dynamics}, |
and Peer-to-Peer overlay topology has been studied recently \cite{watts00dynamics}, |
215 |
|
|
216 |
Gnutella \cite{gnutellaurl} is a well-known example of loosely structured overlay network. As in |
Gnutella \cite{gnutellaurl} is a well-known example of loosely structured overlay network. As in |
217 |
other Peer-to-Peer networks, no peer is more important than any other peer in the network. |
other Peer-to-Peer networks, no peer is more important than any other peer in the network. |
218 |
The construction and maintenance of Gnutella network is extremely ad-hoc, since participating |
The construction and maintenance of Gnutella network is extremely ad hoc, since participating |
219 |
peers can form the overlay network based on \emph{local} knowledge. Figure \ref{fig:gnutella_overlay} |
peers can form the overlay network based on \emph{local} knowledge. Figure \ref{fig:gnutella_overlay} |
220 |
illustrates how peers form an overlay network. Initially, peer 1 creates the overlay, since |
illustrates how peers form an overlay network. Initially, peer 1 creates the overlay, since |
221 |
it's the first participating peer. Then, repeatedly new peers join the network and connect to |
it's the first participating peer. Then, repeatedly new peers join the network and connect to |
226 |
\begin{figure} |
\begin{figure} |
227 |
\centering |
\centering |
228 |
\includegraphics[width=6cm, height=6cm]{gnutella_overlay.eps} |
\includegraphics[width=6cm, height=6cm]{gnutella_overlay.eps} |
229 |
\caption{Gnutella's loosely structured ad-hoc connectivity graph.} |
\caption{Gnutella's loosely structured ad hoc connectivity graph.} |
230 |
\label{fig:gnutella_overlay} |
\label{fig:gnutella_overlay} |
231 |
\end{figure} |
\end{figure} |
232 |
|
|