27 |
|
|
28 |
\tyyppi{Master's Thesis} |
\tyyppi{Master's Thesis} |
29 |
|
|
30 |
\keywords{Peer-to-Peer, P2P, security, Distributed systems} |
\keywords{Peer-to-Peer, P2P, security, Distributed systems, Hypermedia systems} |
31 |
|
|
32 |
\avainsanat{Vertaisverkot, P2P, tietoturva, hajautetut järjestelmät} |
\avainsanat{Vertaisverkot, P2P, tietoturva, hajautetut järjestelmät, hypermedia-järjestelmät} |
33 |
|
|
34 |
\contactinformation{\\ |
\contactinformation{\\ |
35 |
Hermanni Hyytiälä\\ |
Hermanni Hyytiälä\\ |
307 |
\end{figure} |
\end{figure} |
308 |
|
|
309 |
Previously presented improvements are only partial solutions. Obviously, more |
Previously presented improvements are only partial solutions. Obviously, more |
310 |
research is required to make loosely structured approach's data lookup more |
research is required to make data lookup of loosely structured approach more |
311 |
scalable and effective. More advanced techniques to improve loosely strcutured |
scalable and effective. More advanced techniques to improve data lookup of |
312 |
systems' data lookup is presented in chapter 3. |
loosely strcutured systems is presented in chapter 3. |
313 |
|
|
314 |
|
|
315 |
\subsection{Sketch of formal definition} |
\subsection{Sketch of formal definition} |
329 |
|
|
330 |
\section{Tightly structured} |
\section{Tightly structured} |
331 |
|
|
332 |
Partly due to loosely structured systems' scalability problems, several tightly |
Partly due to scalability problems of loosely structured systems, several tightly |
333 |
structured overlays has been proposed. |
structured overlays has been proposed. |
334 |
This list includes CAN \cite{ratnasamy01can}, Chord \cite{stoica01chord}, |
This list includes CAN \cite{ratnasamy01can}, Chord \cite{stoica01chord}, |
335 |
Kademlia \cite{maymounkov02kademlia}, Kelips \cite{gupta03kelips}, |
Kademlia \cite{maymounkov02kademlia}, Kelips \cite{gupta03kelips}, |
344 |
data items are also assigned globally unique identifiers, \emph{keys}, |
data items are also assigned globally unique identifiers, \emph{keys}, |
345 |
which are selected from the same identifier space. The form of identifier |
which are selected from the same identifier space. The form of identifier |
346 |
space differs between proposed systems. Circular identifier space (and variants) |
space differs between proposed systems. Circular identifier space (and variants) |
347 |
is most widely used. For instance, Chord, Koorde, Pastry, SWAN, Tapestry |
is most widely used. For instance, Chord \cite{stoica01chord}, Koorde \cite{kaashoek03koorde}, |
348 |
and Viceroy use a circular identifier space of $n$-bit integers modulo $2^{n}$. The |
Pastry \cite{rowston01pastry}, SWAN \cite{bonsma02swan}, Tapestry \cite{zhao01tapestry} |
349 |
value of $n$ varies among approaches. Again, CAN uses a $d$-dimensional cartesian |
and Viceroy \cite{malkhi02viceroy} use a circular identifier space of $n$-bit integers modulo $2^{n}$. The |
350 |
|
value of $n$ varies among approaches. Again, CAN \cite{ratnasamy01can} uses a $d$-dimensional cartesian |
351 |
to implement identifier space. |
to implement identifier space. |
352 |
|
|
353 |
Stoica et al. \cite{balakrishanarticle03lookupp2p} have listed |
Stoica et al.. \cite{balakrishanarticle03lookupp2p} have listed |
354 |
four requirements for tightly structured overlays, which have to be |
four requirements for tightly structured overlays, which have to be |
355 |
addressed in order to perform data lookups in tightly structured overlays. |
addressed in order to perform data lookups in tightly structured overlays. |
356 |
First, mapping of keys to peers must be done in a load-balanced |
First, mapping of keys to peers must be done in a load-balanced |
424 |
\begin{figure} |
\begin{figure} |
425 |
\centering |
\centering |
426 |
\includegraphics[width=10cm, height=6cm]{structured_query.eps} |
\includegraphics[width=10cm, height=6cm]{structured_query.eps} |
427 |
\caption{Simplified structured system's query} |
\caption{Simplified data lookup of tightly structured system} |
428 |
\label{fig:structured_query} |
\label{fig:structured_query} |
429 |
\end{figure} |
\end{figure} |
430 |
|
|
432 |
\begin{figure} |
\begin{figure} |
433 |
\centering |
\centering |
434 |
\includegraphics[width=10cm, height=8cm]{kademlia_lookup.eps} |
\includegraphics[width=10cm, height=8cm]{kademlia_lookup.eps} |
435 |
\caption{Kademlia's lookup process} |
\caption{Data lookup process of Kademlia} |
436 |
\label{fig:kademlia_lookup} |
\label{fig:kademlia_lookup} |
437 |
\end{figure} |
\end{figure} |
438 |
|
|
511 |
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 |
512 |
important than other peer in the Peer-to-Peer network. Fault tolerance \emph{may} may |
important than other peer in the Peer-to-Peer network. Fault tolerance \emph{may} may |
513 |
be an area, in which approaches have similar properties (e.g., single point of failure). |
be an area, in which approaches have similar properties (e.g., single point of failure). |
514 |
However, both approaches' fault-tolerance properties are currently only initial calculations, or |
However, fault-tolerance properties of both approaches are currently only initial calculations, or |
515 |
experimented in simulation environments. In real-life, measuring fault tolerance is much more |
experimented in simulation environments. In real-life, measuring fault tolerance is much more |
516 |
challenging task and requires more research to get reliable answers. |
challenging task and requires more research to get reliable answers. |
517 |
|
|
518 |
Thus, there are significant differences between loosely structured and tightly structured approaches. |
Thus, there are significant differences between loosely structured and tightly structured approaches. |
519 |
The most important aspect is the performance and scalability. While loosely structured approach's performance |
The most important aspect is the performance and scalability. While performance of loosely structured approach |
520 |
is not always even linear, generally tightly structured approach can perform all internal operations in |
is not always even linear, generally tightly structured approach can perform all internal operations in |
521 |
poly-logarithmic time\footnote{However, it is unknown whether all proposed algorithms can preserve |
poly-logarithmic time\footnote{However, it is unknown whether all proposed algorithms can preserve |
522 |
logarithmic properties in real-life applications or not.}. |
logarithmic properties in real-life applications or not.}. |
695 |
\parbox{37pt}{$O$($d$)} & |
\parbox{37pt}{$O$($d$)} & |
696 |
\parbox{37pt}{$O(dn^{\frac{1}{d}})$} & |
\parbox{37pt}{$O(dn^{\frac{1}{d}})$} & |
697 |
\parbox{85pt}{2$d$} & |
\parbox{85pt}{2$d$} & |
698 |
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner, where $d$ is the dimension of virtual key space} |
\parbox{85pt}{The performance of system may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner, where $d$ is the dimension of virtual key space} |
699 |
\\ \hline |
\\ \hline |
700 |
|
|
701 |
\parbox{37pt}{Chord \cite{stoica01chord}} & |
\parbox{37pt}{Chord \cite{stoica01chord}} & |
703 |
\parbox{37pt}{$O(\log{n}$} & |
\parbox{37pt}{$O(\log{n}$} & |
704 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
705 |
\parbox{85pt}{2$(\log{n})$} & |
\parbox{85pt}{2$(\log{n})$} & |
706 |
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner} |
\parbox{85pt}{The performance of system may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner} |
707 |
\\ \hline |
\\ \hline |
708 |
|
|
709 |
|
|
739 |
\parbox{37pt}{$O$($\sqrt{n}$)} & |
\parbox{37pt}{$O$($\sqrt{n}$)} & |
740 |
\parbox{37pt}{$O(1)$} & |
\parbox{37pt}{$O(1)$} & |
741 |
\parbox{85pt}{$\frac{n}{\sqrt{n}} + c*(\sqrt{n}-1) + \frac{Totalnumber of files}{\sqrt{n}}$, where n is the number of nodes and c the number of contacts/foreign affinity group} & |
\parbox{85pt}{$\frac{n}{\sqrt{n}} + c*(\sqrt{n}-1) + \frac{Totalnumber of files}{\sqrt{n}}$, where n is the number of nodes and c the number of contacts/foreign affinity group} & |
742 |
\parbox{85pt}{Insert/delete overhead is constant and performed background, System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner} |
\parbox{85pt}{Insert/delete overhead is constant and performed background, the performance of system may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner} |
743 |
\\ \hline |
\\ \hline |
744 |
|
|
745 |
\parbox{37pt}{Koorde \cite{kaashoek03koorde}} & |
\parbox{37pt}{Koorde \cite{kaashoek03koorde}} & |
764 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
765 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
766 |
\parbox{85pt}{$(2^{b - 1})\frac{\log{n}}{b}$, where $b$ is a configurable parameter for tuning digit-fixing properties (routing table)} & |
\parbox{85pt}{$(2^{b - 1})\frac{\log{n}}{b}$, where $b$ is a configurable parameter for tuning digit-fixing properties (routing table)} & |
767 |
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner, based on Plaxton's algorithm} |
\parbox{85pt}{The performance of system performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner, based on Plaxton's algorithm} |
768 |
\\ \hline |
\\ \hline |
769 |
|
|
770 |
|
|
830 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
831 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
832 |
\parbox{85pt}{$(2^{b - 1})\frac{\log{n}}{b}$, where $b$ is a configurable parameter for tuning digit-fixing properties (routing table)} & |
\parbox{85pt}{$(2^{b - 1})\frac{\log{n}}{b}$, where $b$ is a configurable parameter for tuning digit-fixing properties (routing table)} & |
833 |
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner, based on Plaxton's algorithm} |
\parbox{85pt}{The performance of system performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner, based on Plaxton's algorithm} |
834 |
\\ \hline |
\\ \hline |
835 |
|
|
836 |
\parbox{37pt}{Viceroy \cite{malkhi02viceroy}} & |
\parbox{37pt}{Viceroy \cite{malkhi02viceroy}} & |
838 |
\parbox{37pt}{$O(1)$} & |
\parbox{37pt}{$O(1)$} & |
839 |
\parbox{37pt}{$O(\log{n})$} & |
\parbox{37pt}{$O(\log{n})$} & |
840 |
\parbox{85pt}{11} & |
\parbox{85pt}{11} & |
841 |
\parbox{85pt}{System's performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner, not necessarily fault-tolerant because of constant degree of neighbors} |
\parbox{85pt}{The performance of system performance may decrease if nodes are not homogeneous and nodes join and leave the system in a dynamic manner, not necessarily fault-tolerant because of constant degree of neighbors} |
842 |
\\ \hline |
\\ \hline |
843 |
|
|
844 |
|
|
873 |
Since Napster \cite{napsterurl} and Gnutella \cite{gnutellaurl} was first time introduced |
Since Napster \cite{napsterurl} and Gnutella \cite{gnutellaurl} was first time introduced |
874 |
to public, researchers' main concern has been scalability problem of loosely structured |
to public, researchers' main concern has been scalability problem of loosely structured |
875 |
approach. However, people often misunderstand the scalability problem of loosely structured |
approach. However, people often misunderstand the scalability problem of loosely structured |
876 |
approach; loosely structured systems' \emph{network} is scalable, but the \emph{query model} is not. |
approach; \emph{network} of loosely structured systems is scalable, but the \emph{query model} is not. |
877 |
Tightly structured system's main concern is to make overlay's data lookup |
The main concern of tightly structured system is to make overlay's data lookup |
878 |
routing more flexible againts hostile attacks. Another key problems in tightly structured |
routing more flexible againts hostile attacks. Another key problems in tightly structured |
879 |
approach are the lack of keyword searches and support for heterogeneous peers. |
approach are the lack of keyword searches and support for heterogeneous peers. |
880 |
|
|
894 |
Fail-stop attack, Spam attack \cite{naor03simpledht}, Byzantine problem \cite{357176} and \cite{296824}, and |
Fail-stop attack, Spam attack \cite{naor03simpledht}, Byzantine problem \cite{357176} and \cite{296824}, and |
895 |
general Distrubuted Denial of Service attack. |
general Distrubuted Denial of Service attack. |
896 |
|
|
897 |
In Sybil attack model, hostile entity presents multpile |
In Sybil attack model, hostile entity presents multiple |
898 |
entities. Therefore, one hostile entity can control a large fraction of the Peer-to-Peer system. Optimal |
entities. Therefore, one hostile entity can control a large fraction of the Peer-to-Peer system. Optimal |
899 |
possible solution to Sybil attack would be that system could \emph{distinct} system's entities reliably. Unfortunately, |
possible solution to Sybil attack would be that system could \emph{distinct} entities of system reliably. Unfortunately, |
900 |
currently there no realizable techiques for this task. Partial solutions for Sybil is attack is to replicate |
currently there no realizable techiques for this task. Partial solutions for Sybil is attack is to replicate |
901 |
and fragment data randomly among several participating peer. However, both suggestions assume that two different |
and fragment data randomly among several participating peer. However, both suggestions assume that two different |
902 |
remote entities are actually different; Sybil attacks are still possible and therefore, would need centralized |
remote entities are actually different; Sybil attacks are still possible and therefore, would need centralized |
915 |
attack, hostile or faulty peer may produce false information of the data. Possible solution againts this attack |
attack, hostile or faulty peer may produce false information of the data. Possible solution againts this attack |
916 |
is that peer should not trust to single entity. Instead peer should get information from multiple entities and trust |
is that peer should not trust to single entity. Instead peer should get information from multiple entities and trust |
917 |
on majority's opinion. However, Spam attack is combined with Sybil attack, obviously previously mentioned solution |
on majority's opinion. However, Spam attack is combined with Sybil attack, obviously previously mentioned solution |
918 |
won't work. Again, more research is required to solve this attack model reliability. Naor et al \cite{naor03simpledht} |
won't work. Again, more research is required to solve this attack model reliability. Naor et al. \cite{naor03simpledht} |
919 |
has proposed a partial solution againts Spam attack with \emph{faulty} peers (not hostile). |
has proposed a partial solution againts Spam attack with \emph{faulty} peers (not hostile). |
920 |
|
|
921 |
Traditional overload of targeted peers is best known form of distrubuted Denial of Service attack (DDoS). For example, |
Traditional overload of targeted peers is best known form of distrubuted Denial of Service attack (DDoS). For example, |
922 |
hostile entity can attempt to burden targetted peers with garbage packets. As a implication, peers may act |
hostile entity can attempt to burden targetted peers with garbage packets. As a implication, peers may act |
923 |
incorrectly or stop working. DDoS attack may be very severe, especially if rate of replication and caching |
incorrectly or stop working. DDoS attack may be very severe, especially if rate of replication and caching |
924 |
in Peer-to-Peer system is low. This may lead to data loss in the Peer-to-Peer system. Daswani et al |
in Peer-to-Peer system is low. This may lead to data loss in the Peer-to-Peer system. Daswani et al. |
925 |
\cite{daswani02queryflooddos} has done research regarding to this subject. Authors suggest efficient load balancing |
\cite{daswani02queryflooddos} has done research regarding to this subject. Authors suggest efficient load balancing |
926 |
policies for Peer-to-Peer system in order to prevent massive system failures. Sit et al \cite{sit02securitycons} |
policies for Peer-to-Peer system in order to prevent massive system failures. Sit et al. \cite{sit02securitycons} |
927 |
suggests that identifier assignment algorithm for peers would assign identifier with respect to network topology |
suggests that identifier assignment algorithm for peers would assign identifier with respect to network topology |
928 |
and replicas should be located physically to different locations. |
and replicas should be located physically to different locations. |
929 |
|
|
930 |
|
As stated in \cite{naor03simpledht}, an important aspect is that when it comes to general security aspects and |
931 |
|
byzantine faults in any Peer-to-Peer system, there should be a clear distinction between attacks on the |
932 |
|
algorihms assuming the construction of overlay is correct, and attacks on the construction itself. Clearly, Sybil |
933 |
|
and Spam attack belongs to the first category, and rest of the attacks to the latter category. |
934 |
|
|
935 |
\subsection{Trust, data authenticity and integrity} |
\subsection{Trust, data authenticity and integrity} |
936 |
|
|
967 |
of anonymity in which no one can link author to a specific document. In publisher-anonymity system, |
of anonymity in which no one can link author to a specific document. In publisher-anonymity system, |
968 |
no one is able to link publisher to a specific document. Reader-anonymity means that a specific |
no one is able to link publisher to a specific document. Reader-anonymity means that a specific |
969 |
document cannot be linked to document's readers. This form of anonymity protects the privacy of a |
document cannot be linked to document's readers. This form of anonymity protects the privacy of a |
970 |
system's users. Furthermore, in peer-anonymity means that no peer can be linked to a specific document, i.e. |
users of the system. Furthermore, in peer-anonymity means that no peer can be linked to a specific document, i.e. |
971 |
no one is able to determine the peer, where document was originally published. Document-anonymity |
no one is able to determine the peer, where document was originally published. Document-anonymity |
972 |
means that peer doesn't know which data it is currently hosting. Finally, query-anonymity refers is form |
means that peer doesn't know which data it is currently hosting. Finally, query-anonymity refers is form |
973 |
of document-anonymity; when other peers performs data lookups, peer doesn't know which data it servers |
of document-anonymity; when other peers performs data lookups, peer doesn't know which data it servers |
983 |
the peers responsible to given data in Peer-to-Peer system. Of course, when we know the peers responsible |
the peers responsible to given data in Peer-to-Peer system. Of course, when we know the peers responsible |
984 |
for the data, the anonymity of peer is lost. Fortunately, there are partial solutions to previously |
for the data, the anonymity of peer is lost. Fortunately, there are partial solutions to previously |
985 |
mentioned situations, i.e. \emph{pseudonym} which is a partial form of anonymity. For instance, pseudonym can used for |
mentioned situations, i.e. \emph{pseudonym} which is a partial form of anonymity. For instance, pseudonym can used for |
986 |
addressing peer-anonymity by providing anonymous-like identifiers to peers (e.g., tightly structured system's |
addressing peer-anonymity by providing anonymous-like identifiers to peers (e.g., peer identifiers of tightly |
987 |
peer identifiers). |
structured system). |
988 |
|
|
989 |
Anonymity is widely used in those Peer-to-Peer system in which data publication and non-censorship are important properties |
Anonymity is widely used in those Peer-to-Peer system in which data publication and non-censorship are important properties |
990 |
of the system. These include |
of the system. These include |
1008 |
there has been a lot of violation of copyright laws by users of Peer-to-Peer filesharing systems. As a |
there has been a lot of violation of copyright laws by users of Peer-to-Peer filesharing systems. As a |
1009 |
consequence, some lawsuits has been created againts the companies how have build popular file-sharing programs. |
consequence, some lawsuits has been created againts the companies how have build popular file-sharing programs. |
1010 |
|
|
1011 |
To our knowledge, Nejdl et al \cite{nejdl03accesscontrol} have proposed very recently first practical solution to access |
To our knowledge, Nejdl et al. \cite{nejdl03accesscontrol} have proposed very recently first practical solution to access |
1012 |
control problem in Peer-to-Peer systems. They use RDF-based schema policies to restrict access to certain |
control problem in Peer-to-Peer systems. They use RDF-based schema policies to restrict access to certain |
1013 |
data. Unfortunately, their current prototype works only in loosely structured systems. |
data. Unfortunately, their current prototype works only in loosely structured systems. |
1014 |
|
|
1047 |
approach is not very efficient, since proposals create a lot of additional network traffic when |
approach is not very efficient, since proposals create a lot of additional network traffic when |
1048 |
in function. |
in function. |
1049 |
|
|
1050 |
Additionally, Lynch et al. \cite{lynch02atomicdataaccess} propose a solution to secure routing table |
Additionally, Lynch et al.. \cite{lynch02atomicdataaccess} propose a solution to secure routing table |
1051 |
maintenance, but their solution seems to have to major problems \cite{castro02securitystructured}. First, |
maintenance, but their solution seems to have to major problems \cite{castro02securitystructured}. First, |
1052 |
the solution is very expensive even without faulty or hostile entities. Second, each group of replicas |
the solution is very expensive even without faulty or hostile entities. Second, each group of replicas |
1053 |
in their solution must have less than 1/3 of its peer faulty. Thus, this feature results in a low |
in their solution must have less than 1/3 of its peer faulty. Thus, this feature results in a low |
1054 |
probability of succesfull routing. |
probability of succesfull routing. |
1055 |
|
|
1056 |
Aspnes et al in \cite{aspnes02faultrouting} and Kaashoek et all in \cite{kaashoek03koorde} formally |
Aspnes et al. in \cite{aspnes02faultrouting} and Kaashoek et al.l in \cite{kaashoek03koorde} formally |
1057 |
prove the lower and upper bounds for space requirements of locating a specific date item in |
prove the lower and upper bounds for space requirements of locating a specific date item in |
1058 |
Peer-to-Peer system. They show that to provide high degree of fault tolerance and efficiency, each |
Peer-to-Peer system. They show that to provide high degree of fault tolerance and efficiency, each |
1059 |
participating peer must maintain $O(\log{n})$ neighbors. |
participating peer must maintain $O(\log{n})$ neighbors. |
1060 |
|
|
1061 |
Fiat et al in \cite{fiat02censorship}, \cite{saia02dynamicfaultcontentnetwork} and Datar in \cite{datar02butterflies} |
Fiat et al. in \cite{fiat02censorship}, \cite{saia02dynamicfaultcontentnetwork} and Datar in \cite{datar02butterflies} |
1062 |
describe tightly structured overlay with analytical results in the presence of hostile entities. However, |
describe tightly structured overlay with analytical results in the presence of hostile entities. However, |
1063 |
none of these proposals doesn't address an efficient, dynamic tightly structured overlay and multiple rounds |
none of these proposals doesn't address an efficient, dynamic tightly structured overlay and multiple rounds |
1064 |
of hostile attack. Also, above mentioned propsals are not very efficient. In \cite{fiat02censorship}, each node |
of hostile attack. Also, above mentioned propsals are not very efficient. In \cite{fiat02censorship}, each node |
1097 |
originator starts a flood with small TTL value. If the search is not succesful, |
originator starts a flood with small TTL value. If the search is not succesful, |
1098 |
the query originator increases the TTL value and performs another flood. This |
the query originator increases the TTL value and performs another flood. This |
1099 |
process is repeated until the desired data is found or maximumum depth $D$ |
process is repeated until the desired data is found or maximumum depth $D$ |
1100 |
has been reached. Expanding ring, proposed by Shenker et al., \cite{lv02searchreplication}, |
has been reached. Expanding ring, proposed by Shenker et al.., \cite{lv02searchreplication}, |
1101 |
is similar to iterative deepening techique. With these techniques, search |
is similar to iterative deepening techique. With these techniques, search |
1102 |
may not be fast when desired data item requires many consecutive flooding rounds. |
may not be fast when desired data item requires many consecutive flooding rounds. |
1103 |
|
|
1124 |
depth-first traversal and peers' routing tables are dynamically built |
depth-first traversal and peers' routing tables are dynamically built |
1125 |
using caching. This is an outcome of Freenet's main design priciples, |
using caching. This is an outcome of Freenet's main design priciples, |
1126 |
i.e., anonymity. Additional improvements to Freenet's data lookup using |
i.e., anonymity. Additional improvements to Freenet's data lookup using |
1127 |
''small-world phenomenon'' has been proposed by Zhang et al. \cite{zhang02using}. |
''small-world phenomenon'' has been proposed by Zhang et al.. \cite{zhang02using}. |
1128 |
|
|
1129 |
|
|
1130 |
Since tightly structured systems have efficient data lookup at the application level overlay, |
Since tightly structured systems have efficient data lookup at the application level overlay, |
1161 |
better performance. |
better performance. |
1162 |
|
|
1163 |
Some studies have been concentraded on SQL-like queries \cite{harren02complex} |
Some studies have been concentraded on SQL-like queries \cite{harren02complex} |
1164 |
in tightly structured overlays. Another approaches includes adapting loosely structured approache's |
in tightly structured overlays. Another approaches includes adaption of data lookup model of loosely |
1165 |
data lookup model into tightly structured systems \cite{ansaryefficientbroadcast03}, \cite{chord:om_p-meng}. |
structured approach into tightly structured systems \cite{ansaryefficientbroadcast03}, \cite{chord:om_p-meng}. |
1166 |
Additional studies include additional layer upon overlay network \cite{kronfol02fasdsearch}, |
Additional studies include additional layer upon overlay network \cite{kronfol02fasdsearch}, |
1167 |
\cite{joseph02p2players} and range queries \cite{andrzejak02rangequeries}. |
\cite{joseph02p2players} and range queries \cite{andrzejak02rangequeries}. |
1168 |
|
|
1169 |
Many techniques have been developed in order to provide more efficient search indexing. As |
Many techniques have been developed in order to provide more efficient search indexing. As |
1170 |
studies queries follow Zipf-like distributions \cite{breslau98implications} caching and precomputation |
studies queries follow Zipf-like distributions\footnote{Zipf distribution is a variant of power-law function. |
1171 |
|
Zipf-distribution can be used in observation of frequency of occurrence event $E$, as a function of the rank |
1172 |
|
$i$ when the rank is determined by the frequency of occurrence, $E_i \sim \frac{1}{i^{a}}$, where the exponent |
1173 |
|
$a$ is close to unity.} \cite{breslau98implications} caching and precomputation |
1174 |
can be done for optimizting search indices \cite{li03feasibility}. Regular compression algorithms, |
can be done for optimizting search indices \cite{li03feasibility}. Regular compression algorithms, |
1175 |
Bloom filters \cite{362692}, vector space models \cite{CuencaAcuna2002DSIWorkshop} and view |
Bloom filters \cite{362692}, vector space models \cite{CuencaAcuna2002DSIWorkshop} and view |
1176 |
trees \cite{Bhattacharjee03resultcache} can be used for even better optimizations. Authors |
trees \cite{Bhattacharjee03resultcache} can be used for even better optimizations. Authors |
1177 |
in \cite{li03feasibility} use Gap compression \cite{wittengigabytes}, Adaptive Set Intersection \cite{338634} |
in \cite{li03feasibility} use Gap compression \cite{wittengigabytes}, Adaptive Set Intersection \cite{338634} |
1178 |
and clustering with their search optimizations. |
and clustering with their search optimizations. |
1179 |
|
|
1180 |
|
|
1181 |
While it is expected that web-like searches can be layered on top of tightly structured overlay, much |
While it is expected that web-like searches can be layered on top of tightly structured overlay, much |
1182 |
more research is required to make indexing and searching more efficient. |
more research is required to make indexing and searching more efficient. |
1183 |
|
|
1192 |
neighbors on behalf of peer itself and maps data items randomly throughout the overlay network. However, |
neighbors on behalf of peer itself and maps data items randomly throughout the overlay network. However, |
1193 |
Peer-to-Peer system is \emph{never} in ''ideal'' state as it is always evolving system. |
Peer-to-Peer system is \emph{never} in ''ideal'' state as it is always evolving system. |
1194 |
|
|
1195 |
Current research has been focused on tightly structured systems' system management, since all presented |
Current research has been focused on system management of tightly structured systems, since all presented |
1196 |
tightly structured approache's algorithms have been analyzed under static simulation environments. Furthermore, propsed tightly structured |
algorithms of tightly structured approach have been analyzed under static simulation environments. Furthermore, propsed tightly structured |
1197 |
overlays are configured statically to achieve the desired reliability even in uncommon and adverse environment |
overlays are configured statically to achieve the desired reliability even in uncommon and adverse environment |
1198 |
\cite{rowston03controlloingreliability}. The most important factor for |
\cite{rowston03controlloingreliability}. The most important factor for |
1199 |
future research is to get real-life experiences from tightly structured system, when there are frequent |
future research is to get real-life experiences from tightly structured system, when there are frequent |
1208 |
more efficient analytical tools for modelling complex Peer-to-Peer system. |
more efficient analytical tools for modelling complex Peer-to-Peer system. |
1209 |
|
|
1210 |
Some research has been done with regard to load balancing properties of tightly structured |
Some research has been done with regard to load balancing properties of tightly structured |
1211 |
overlays. Byers et al. suggest "power of two choices" whereby an item is stored at the less loaded |
overlays. Byers et al.. suggest "power of two choices" whereby an item is stored at the less loaded |
1212 |
of two (or more) random alternatives \cite{byers03dhtbalancing}. Rao et al. uses virtual servers |
of two (or more) random alternatives \cite{byers03dhtbalancing}. Rao et al.. uses virtual servers |
1213 |
to control load balance in Peer-to-Peer systems \cite{rao03loadbalancing}. Their work rests on |
to control load balance in Peer-to-Peer systems \cite{rao03loadbalancing}. Their work rests on |
1214 |
idea which was originally introduced by Chord system. |
idea which was originally introduced by Chord system. |
1215 |
|
|
1216 |
Also, query and routing hotspots may be an issue in tightly structured overlays \cite{ratnasamy02routing}. |
Also, query and routing hotspots may be an issue in tightly structured overlays \cite{ratnasamy02routing}. |
1217 |
Hotspots happen, when specific key is being requested extremely often in tightly structured overlays. Recent study |
Hotspots happen, when specific key is being requested extremely often in tightly structured overlays. Recent study |
1218 |
by Freedman et al. tries to reduce hot spots in the system by performing \emph{sloppy} hashing |
by Freedman et al.. tries to reduce hot spots in the system by performing \emph{sloppy} hashing |
1219 |
\cite{sloppy:iptps03}. Another key feature of their work is that peers self-organize into clusters, |
\cite{sloppy:iptps03}. Another key feature of their work is that peers self-organize into clusters, |
1220 |
therefore enabling peers to find nearby data without looking up data from distant peers. |
therefore enabling peers to find nearby data without looking up data from distant peers. |
1221 |
|
|
1222 |
An implicit assumption of almost every tightly structured system is that there is random, uniform |
An implicit assumption of almost every tightly structured system is that there is random, uniform |
1223 |
distribution of peer and key identifiers. Even if participating peers are extremely heterogeneous in |
distribution of peer and key identifiers. Even if participating peers are extremely heterogeneous in |
1224 |
face of computing power, or network bandwidth, data items are distributed uniformly. Clearly, this |
face of computing power, or network bandwidth, data items are distributed uniformly. Clearly, this |
1225 |
a serious problem of tightly structured overlays , since measurement study by Saroiu et al. shows |
a serious problem of tightly structured overlays , since measurement study by Saroiu et al.. shows |
1226 |
that there extreme heterogeneity among participating peers in already deployed Peer-to-Peer systems. |
that there extreme heterogeneity among participating peers in already deployed Peer-to-Peer systems. |
1227 |
\cite{saroiu02measurementstudyp2p}. Symphony seems to be the first tightly structured overlay system |
\cite{saroiu02measurementstudyp2p}. Symphony seems to be the first tightly structured overlay system |
1228 |
which support hetergeneity. However, Zhao et al. have proposed a secondary layer a top of structured overlay |
which support hetergeneity. However, Zhao et al.. have proposed a secondary layer a top of structured overlay |
1229 |
to support hetergeneity better \cite{zhao02brocade}. |
to support hetergeneity better \cite{zhao02brocade}. |
1230 |
|
|
1231 |
Research has been done on self-organization. Ledlie et al. propose techniques for forming and maintaining |
Research has been done on self-organization. Ledlie et al.. propose techniques for forming and maintaining |
1232 |
groups in highly dynamic environment \cite{ledlie02selfp2p}. Unfortunately their work relies on idea that |
groups in highly dynamic environment \cite{ledlie02selfp2p}. Unfortunately their work relies on idea that |
1233 |
participating peers would create multiple hierarchical groups; it's not clear whether this approach |
participating peers would create multiple hierarchical groups; it's not clear whether this approach |
1234 |
is fault-tolerant and suitable to Peer-to-Peer environment. More promising work has been done by Rowston et al. |
is fault-tolerant and suitable to Peer-to-Peer environment. More promising work has been done by Rowston et al.. |
1235 |
in \cite{rowston03controlloingreliability}. Authors propose techiques for self-tuning, dealing with |
in \cite{rowston03controlloingreliability}. Authors propose techiques for self-tuning, dealing with |
1236 |
uncommon conditions (e.g., network partition and high failure rates). Moreover, authors arque that |
uncommon conditions (e.g., network partition and high failure rates). Moreover, authors arque that |
1237 |
these techniques, the concerns over the tightly structured overlay maintenance costs are no more |
these techniques, the concerns over the tightly structured overlay maintenance costs are no more |
1238 |
an open issue. |
an open issue. |
1239 |
|
|
1240 |
Finally, little research has been done regarding self-monitoring and data availability. Zhang et al. |
Finally, little research has been done regarding self-monitoring and data availability. Zhang et al.. |
1241 |
describe a arbitrary data structure on top of tightly structured overlay \cite{zhang03somo}. They |
describe a arbitrary data structure on top of tightly structured overlay \cite{zhang03somo}. They |
1242 |
call their proposal as \emph{data overlay}, since it support several fundamental data structures. |
call their proposal as \emph{data overlay}, since it support several fundamental data structures. |
1243 |
Authors use this data overlay to build Self-Organized Metadata Overlay (SOMO), which can be used |
Authors use this data overlay to build Self-Organized Metadata Overlay (SOMO), which can be used |
1269 |
|
|
1270 |
Somewhat surprisingly little research has been in this area, especially when considering |
Somewhat surprisingly little research has been in this area, especially when considering |
1271 |
the possible impact of this \emph{unwanted socical behaviour} to performance of Peer-to-Peer |
the possible impact of this \emph{unwanted socical behaviour} to performance of Peer-to-Peer |
1272 |
system. Problem is addressed by Golle et al. \cite{golle01incentivesp2p}. Some |
system. Problem is addressed by Golle et al.. \cite{golle01incentivesp2p}. Some |
1273 |
research has been focused on semantic properties of the overlay in order to increase |
research has been focused on semantic properties of the overlay in order to increase |
1274 |
cooperation among participating peers \cite{crespo02semanticoverlay}. Ramanathan et al. |
cooperation among participating peers \cite{crespo02semanticoverlay}. Ramanathan et al.. |
1275 |
\cite{ramanathan02goodpeers} and Bernstein et al. \cite{bernstein03selection} use |
\cite{ramanathan02goodpeers} and Bernstein et al.. \cite{bernstein03selection} use |
1276 |
empirical metrics and decision trees when teaching peers to make better decisions |
empirical metrics and decision trees when teaching peers to make better decisions |
1277 |
when contacting other peers in Peer-to-Peer system. Alpine \cite{alpineurl} is an example of |
when contacting other peers in Peer-to-Peer system. Alpine \cite{alpineurl} is an example of |
1278 |
Peer-to-Peer system, which uses empirical metrics for peer selection. |
Peer-to-Peer system, which uses empirical metrics for peer selection. |
1282 |
|
|
1283 |
Very little research has been done on simulating the \emph{global} Peer-to-Peer system. Presumably, this |
Very little research has been done on simulating the \emph{global} Peer-to-Peer system. Presumably, this |
1284 |
is due to complex nature of Peer-to-Peer system, which makes comprehensive simulations very |
is due to complex nature of Peer-to-Peer system, which makes comprehensive simulations very |
1285 |
diffucult. Floyd et al. has been studying the simulation of the Internet in \cite{504642}. Authors |
diffucult. Floyd et al.. has been studying the simulation of the Internet in \cite{504642}. Authors |
1286 |
state that simulating the Internet is very challenging task, because of Internet's heterogeneity |
state that simulating the Internet is very challenging task, because of Internet's heterogeneity |
1287 |
and rapid change. Obviously, these factors exist also in Peer-to-Peer system even with higher |
and rapid change. Obviously, these factors exist also in Peer-to-Peer system even with higher |
1288 |
rates. |
rates. |
1542 |
\parbox{90pt}{Byzantine faults \cite{296824}} & |
\parbox{90pt}{Byzantine faults \cite{296824}} & |
1543 |
\parbox{110pt}{Faulty nodes may behave arbitrarily} & |
\parbox{110pt}{Faulty nodes may behave arbitrarily} & |
1544 |
\parbox{110pt}{Byzantine replication algorithms -> get information from multiple entities, trust majority's opinion} & |
\parbox{110pt}{Byzantine replication algorithms -> get information from multiple entities, trust majority's opinion} & |
1545 |
\parbox{110pt}{Much research has been done on this field, practical solutions, decreases system's, performance slighly} |
\parbox{110pt}{Much research has been done on this field, practical solutions, decreases the performance of system slighly} |
1546 |
\\ \hline |
\\ \hline |
1547 |
|
|
1548 |
\caption{Performance and usability problems in Peer-to-Peer.} |
\caption{Performance and usability problems in Peer-to-Peer.} |