/[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.182 by hemppah, Tue Mar 25 09:19:25 2003 UTC revision 1.183 by hemppah, Tue Mar 25 09:29:56 2003 UTC
# Line 1870  DHT-based storage systems, such as CFS \ Line 1870  DHT-based storage systems, such as CFS \
1870  severe problems with load balancing in a highly heterogeneous environment \cite{rao03loadbalancing}. The problem is caused by peers  severe problems with load balancing in a highly heterogeneous environment \cite{rao03loadbalancing}. The problem is caused by peers
1871  which may not be able to store relatively large blocks, assigned randomly by the mapping function of the overlay.  which may not be able to store relatively large blocks, assigned randomly by the mapping function of the overlay.
1872    
1873  In our method, each peer maintains the following data structures for local operations: a data structure for listing all  In our method, each peer maintains the following local data structures for local operations: a data structure for listing all
1874  key-value pairs which peer maintains; a data structure for listing all key-value pairs in the  key-value pairs which are assigned by the overlay; a data structure for listing all key-value pairs which are assigned by the overlay
1875  chronological order (the most recent block is topmost) which peer maintains. We use Storm blocks' identifiers  in the chronological order (the most recent block is topmost). We use Storm blocks' identifiers and pointers
1876  as \emph{keys} of the overlay. Every key-value pair consists of either a hash of pointer random string  as \emph{keys} of the overlay.
 (pointer blocks), or a hash of block's content (scroll blocks) as a key. The value is always a reference to a hosting  
 peer (e.g., IP address). Finally, we assume that all local operations can be done in a constant time.  
1877    
1878  We assume that we have resolved the construction of the ''virtual file'' before locating any Storm blocks, i.e.,  We assume that we have resolved the construction of the ''virtual file'' before locating any Storm blocks, i.e.,
1879  when assembling the ''virtual file'' we know all the Storm blocks, which are required to complete the ''virtual file''.  when assembling the ''virtual file'' we know all the Storm blocks, which are required to complete the ''virtual file''.
# Line 1889  performing searches). In the next sectio Line 1887  performing searches). In the next sectio
1887  \item Data lookup with a given identifier of Storm scroll block.  \item Data lookup with a given identifier of Storm scroll block.
1888  \begin{enumerate}  \begin{enumerate}
1889  \item Submit the data lookup using scroll block's identifier.  \item Submit the data lookup using scroll block's identifier.
1890  \item Repeat until the pointer peer is found: each peer forwards the data lookup to a closer peer which hosts the given scroll block identifier.  \item Each peer forwards the data lookup to a closer peer which hosts the given scroll block identifier in the overlay.
1891  \item The pointer peer returns value (e.g., the IP address of provider peer) to the query originator.  \item The pointer peer returns value (e.g., the IP address of provider peer) to the query originator.
1892  \item The query originator requests the provider peer to return the scroll block.  \item The query originator requests the provider peer to return the scroll block.
1893  \end{enumerate}  \end{enumerate}
1894  \end{itemize}  \end{itemize}
1895    
 Figure \ref{fig:storm_query_blockid} illustrates how Storm scroll block is located  
 in a tightly structured overlay using the DOLR abstraction, where the identifier of Storm scroll  
 block is given.  
   
1896    
1897  \begin{itemize}  \begin{itemize}
1898  \item Data lookup with a given pointer random string returning most recent scroll block.  \item Data lookup with a given pointer returning most recent scroll block.
1899  \begin{enumerate}  \begin{enumerate}
1900  \item The query originator locally computes a hash over given pointer random string.  \item The query originator locally computes a hash over given pointer.
1901  \item Repeat until the pointer peer is found: each peer forwards the data lookup to a closer peer which hosts the given hash of pointer random string.  \item Each peer forwards the data lookup to a closer peer which hosts the given hash of pointer in the overlay.
1902  \item The pointer peer returns most recent pointer block's key-value pair (e.g., the IP address of provider peer) to the query originator, using pointer block's own indexing schemes.  \item The pointer peer returns most recent pointer block's key-value pair (e.g., the IP address of provider peer) to the query originator, using pointer block's own indexing schemes.
1903  \item The query originator requests the provider peer to return the scroll block.  \item The query originator requests the provider peer to return the scroll block.
1904  \end{enumerate}  \end{enumerate}
1905  \end{itemize}  \end{itemize}
1906    
1907  \begin{itemize}  \begin{itemize}
1908  \item Data lookup with a given pointer random string returning scroll block(s) for a given date or time range.  \item Data lookup with a given pointer returning scroll block(s) for a given date or time range.
1909  \begin{enumerate}  \begin{enumerate}
1910  \item The query originator locally computes a hash over given pointer random string.  \item The query originator locally computes a hash over given pointer.
1911  \item Repeat until the pointer peer is found: each peer forwards the data lookup to a closer peer which hosts the given hash of pointer random string.  \item Each peer forwards the data lookup to a closer peer which hosts the given hash of pointer in the overlay.
1912  \item Pointer peer returns pointer block's key-value pair(s) (e.g., the IP address of provider peer) to the query originator, using pointer block's own indexing schemes.  \item Pointer peer returns pointer block's key-value pair(s) (e.g., the IP address of provider peer) to the query originator, using pointer block's own indexing schemes.
1913  \item The query originator requests the provider peer to return the scroll block.  \item The query originator requests the provider peer to return the scroll block.
1914  \end{enumerate}  \end{enumerate}
1915  \end{itemize}  \end{itemize}
1916    
 Figure \ref{fig:storm_query_urn5} illustrates how Storm scroll block is located  
 in a tightly structured overlay using the DOLR abstraction, where the pointer random string is given.  
1917    
1918  Each of these algorithms can locate Fenfire blocks in $O(\log{n})$ time at application level overlay:  Each of these algorithms can locate Fenfire blocks in $O(\log{n})$ time at application level overlay:
1919  $O(\log{n})$ time for query routing to pointer peer (Kademlia \cite{maymounkov02kademlia}) and constant time for  $O(\log{n})$ time for query routing to pointer peer (Kademlia \cite{maymounkov02kademlia}) and constant time for
1920  locating hosting peer with a given reference link.  locating hosting peer with a given reference link.
1921    
   
 \begin{figure}  
 \centering  
 \includegraphics[width=10cm, height=7cm]{storm_query_blockid.eps}  
 \caption{Locating Storm block in Peer-to-Peer environment with a given block identifier.}  
 \label{fig:storm_query_blockid}  
 \end{figure}  
   
 \begin{figure}  
 \centering  
 \includegraphics[width=10cm, height=7cm]{storm_query_urn5.eps}  
 \caption{Locating Storm block in Peer-to-Peer environment with a given pointer random string.}  
 \label{fig:storm_query_urn5}  
 \end{figure}  
   
   
1922  \subsection{Problems}  \subsection{Problems}
1923    
1924  Perhaps the most biggest issue in Peer-to-Peer systems is the non-maturity of  Perhaps the most biggest issue in Peer-to-Peer systems is the non-maturity of
1925  security technologies. For instance, online entities cannot be identified  security technologies. For instance, online entities cannot be identified
1926  safely (e.g., the Sybil attack \cite{douceur02sybil}). For the Fenfire system, one  safely (e.g., the Sybil attack \cite{douceur02sybil}). For the Fenfire system, one
1927  security related problem occurs when a user wants to perform a global data lookup with a given  security related problem occurs when a user wants to perform a global data lookup with a given
1928  pointer random string; how the user is able to verify the correctness  pointer; how the user is able to verify the correctness
1929  of the search results, i.e.,  how she or he knows which one is the  of the search results, i.e.,  how she or he knows which one is the
1930  correct Storm scroll block ? The Spam attack \cite{naor03simpledht} is a variation of previously  correct Storm scroll block ? The Spam attack \cite{naor03simpledht} is a variation of previously
1931  mentioned problem; data lookup is performed by a user, but there is no reply  mentioned problem; data lookup is performed by a user, but there is no reply

Legend:
Removed from v.1.182  
changed lines
  Added in v.1.183

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