/[gzz]/gzz/Documentation/misc/hemppah-progradu/masterthesis.tex
ViewVC logotype

Diff of /gzz/Documentation/misc/hemppah-progradu/masterthesis.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.111 by hemppah, Tue Mar 4 15:02:09 2003 UTC revision 1.112 by hemppah, Wed Mar 5 07:45:33 2003 UTC
# Line 27  Line 27 
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ä\\
# Line 307  them stress the overhead of nearly entir Line 307  them stress the overhead of nearly entir
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}
# Line 329  where $ps$ = $summaryindex(provider(s)) Line 329  where $ps$ = $summaryindex(provider(s))
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},
# Line 344  a large \emph{identifier space}. Further Line 344  a large \emph{identifier space}. Further
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
# Line 423  about two links to other peers to to pro Line 424  about two links to other peers to to pro
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    
# Line 431  about two links to other peers to to pro Line 432  about two links to other peers to to pro
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    
# Line 510  Even loosely structured and tightly stru Line 511  Even loosely structured and tightly stru
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.}.
# Line 694  Here, we describe the listed properties Line 695  Here, we describe the listed properties
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}} &
# Line 702  Here, we describe the listed properties Line 703  Here, we describe the listed properties
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    
# Line 738  Here, we describe the listed properties Line 739  Here, we describe the listed properties
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}} &
# Line 763  Here, we describe the listed properties Line 764  Here, we describe the listed properties
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    
# Line 829  Here, we describe the listed properties Line 830  Here, we describe the listed properties
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}} &
# Line 837  Here, we describe the listed properties Line 838  Here, we describe the listed properties
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    
# Line 872  Both loosely structured and tightly stru Line 873  Both loosely structured and tightly stru
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    
# Line 893  There are five well known attack models Line 894  There are five well known attack models
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
# Line 914  Spam generating attack is another known Line 915  Spam generating attack is another known
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    
# Line 961  According to \cite{dingledine00free}, th Line 967  According to \cite{dingledine00free}, th
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
# Line 977  Peer-to-Peer system. Let's consider anon Line 983  Peer-to-Peer system. Let's consider anon
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
# Line 1002  systems doesn't support working and dist Line 1008  systems doesn't support working and dist
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    
# Line 1041  to observe lookup progress and cross-che Line 1047  to observe lookup progress and cross-che
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
# Line 1091  or the maximumum depth $D$ has been reac Line 1097  or the maximumum depth $D$ has been reac
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    
# Line 1118  random walk searches in query lookups. I Line 1124  random walk searches in query lookups. I
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,
# Line 1155  efficient. Second, Peer-to-Peer systems Line 1161  efficient. Second, Peer-to-Peer systems
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    
# Line 1182  other hand, however, peers in tightly st Line 1192  other hand, however, peers in tightly st
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
# Line 1198  minimum half-life over all times $t$. Co Line 1208  minimum half-life over all times $t$. Co
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
# Line 1259  and peers are unwilling to cooperate \ci Line 1269  and peers are unwilling to cooperate \ci
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.
# Line 1272  Peer-to-Peer system, which uses empirica Line 1282  Peer-to-Peer system, which uses empirica
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.
# Line 1532  we list miscellaneous open problems. Line 1542  we list miscellaneous open problems.
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.}

Legend:
Removed from v.1.111  
changed lines
  Added in v.1.112

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26