492 |
the system and $O(\log{n})$ data lookup efficiency. |
the system and $O(\log{n})$ data lookup efficiency. |
493 |
|
|
494 |
|
|
495 |
\section{Summary} |
\section{Differences} |
|
|
|
|
In this section we compare the loosely structured approach and the tightly structured approach. |
|
|
We also summarize proposed Peer-to-Peer algorithms and their key properties with regard |
|
|
to performance and scalability aspects. |
|
|
|
|
|
\subsection{Differences} |
|
496 |
|
|
497 |
Even though the loosely structured and the tightly structured approach are both Peer-to-Peer schemes, they |
Even though the loosely structured and the tightly structured approach are both Peer-to-Peer schemes, they |
498 |
have very little in common. Indeed, the only thing they share is the fact that no other peer is more |
have very little in common. Indeed, the only thing they share is the fact that no other peer is more |
499 |
important than any other in the Peer-to-Peer network. Fault tolerance \emph{may} |
important than any other in the Peer-to-Peer network. Fault tolerance \emph{may} |
500 |
be an area, in which approaches have similar properties (e.g., no single point of failure). |
be an area, in which approaches have similar properties (e.g., no single point of failure) \cite{milojicic02peertopeer}. |
501 |
Fault tolerance properties of both approaches are currently only initial calculations, or |
Fault tolerance properties of both approaches are currently only initial calculations, or |
502 |
experimented in simulation environments. In real-life, however, measuring fault tolerance is a much more |
experimented in simulation environments. In real-life, however, measuring fault tolerance is a much more |
503 |
challenging task and requires more research to get reliable answers. |
challenging task and requires more research to get reliable answers. |
504 |
|
|
505 |
The most important difference between approaches is performance and scalability properties. Generally |
The most important difference between approaches is performance and scalability properties \cite{balakrishanarticle03lookupp2p}. |
506 |
tightly structured systems can perform all internal operations in a poly-logarithmic time\footnote{However, it is unknown |
Generally tightly structured systems can perform all internal operations in a poly-logarithmic time |
|
whether all proposed algorithms can preserve logarithmic properties in real-life applications or not.} |
|
507 |
while the performance of loosely structured systems is not always even linear. |
while the performance of loosely structured systems is not always even linear. |
508 |
Moreover, loosely structured systems scale to millions of peers, whereas tightly structured systems are able |
Moreover, loosely structured systems scale to millions of peers, |
509 |
to cope with billions of concurrent peers \cite{osokine02distnetworks}, \cite{kubiatowicz00oceanstore}. |
whereas tightly structured systems are able to cope with billions of concurrent |
510 |
|
peers \cite{osokine02distnetworks}, \cite{kubiatowicz00oceanstore}. However, it is unknown |
511 |
|
whether all proposed algorithms can preserve logarithmic efficiency and scalability properties |
512 |
|
in real-life applications or not; several tightly structured systems |
513 |
|
assume that participating peers are homogeneous, and the rate of join or leave operation is low \cite{gurmeet03symphony, |
514 |
|
\cite{libennowell01observations}}. |
515 |
|
|
516 |
To end user, the biggest difference between these systems is how data lookups are performed. Loosely |
To end user, the biggest difference between these systems is how data lookups are performed. Loosely |
517 |
structured systems provide more rich and user friendly way of searching data than tightly structured systems |
structured systems provide more rich and user friendly way of searching data than tightly structured systems |
518 |
as they have a support for keyword searches. Tightly structured |
as they have a support for keyword searches. Tightly structured |
519 |
systems support only exact key lookups since each data item is identified by globally unique keys. |
systems support only exact key lookups since each data item is identified by globally unique keys. |
520 |
|
|
521 |
In the end, both systems have open problems and issues. We will discuss these aspects more detail in |
Table \ref{table_comparison_approach} lists the key differences between the loosely structured |
|
chapter 3. Table \ref{table_comparison_approach} lists the key differences between the loosely structured |
|
522 |
approach and the tightly structured approach. |
approach and the tightly structured approach. |
523 |
|
|
524 |
|
|
606 |
|
|
607 |
|
|
608 |
|
|
609 |
\subsection{Algorithms} |
\section{Algorithms} |
610 |
|
|
611 |
Table \ref{table_Peer-to-Peer_algorithms} lists proposed Peer-to-Peer algorithms |
Table \ref{table_Peer-to-Peer_algorithms} lists proposed Peer-to-Peer algorithms |
612 |
and their key properties with regard to performance and scalability. The list |
and their key properties with regard to performance and scalability. The list |