174 |
\begin{figure} |
\begin{figure} |
175 |
\centering |
\centering |
176 |
\includegraphics[width=10cm, height=8cm]{application_level_overlay.eps} |
\includegraphics[width=10cm, height=8cm]{application_level_overlay.eps} |
177 |
\caption{Peer-to-Peer Application Level Overlay} |
\caption{Peer-to-Peer application level overlay network.} |
178 |
\label{fig:application_level} |
\label{fig:application_level} |
179 |
\end{figure} |
\end{figure} |
180 |
|
|
237 |
\begin{figure} |
\begin{figure} |
238 |
\centering |
\centering |
239 |
\includegraphics[width=6cm, height=6cm]{gnutella_overlay.eps} |
\includegraphics[width=6cm, height=6cm]{gnutella_overlay.eps} |
240 |
\caption{Basic loosely structured overlay's ad hoc connectivity graph} |
\caption{Gnutella's loosely structured ad-hoc connectivity graph.} |
241 |
\label{fig:gnutella_overlay} |
\label{fig:gnutella_overlay} |
242 |
\end{figure} |
\end{figure} |
243 |
|
|
258 |
\begin{figure} |
\begin{figure} |
259 |
\centering |
\centering |
260 |
\includegraphics[width=8cm, height=6cm]{gnutella_query.eps} |
\includegraphics[width=8cm, height=6cm]{gnutella_query.eps} |
261 |
\caption{Basic Gnutella query} |
\caption{Gnutella's data lookup process.} |
262 |
\label{fig:gnutella_query} |
\label{fig:gnutella_query} |
263 |
\end{figure} |
\end{figure} |
264 |
|
|
299 |
\begin{figure} |
\begin{figure} |
300 |
\centering |
\centering |
301 |
\includegraphics[width=10cm, height=6cm]{gnutella_overlay_clusters.eps} |
\includegraphics[width=10cm, height=6cm]{gnutella_overlay_clusters.eps} |
302 |
\caption{Power-law network overlay with 2-redundant super node clusters} |
\caption{Power-law network overlay with 2-redundant super node clusters.} |
303 |
\label{fig:gnutella_overlay_cluster} |
\label{fig:gnutella_overlay_cluster} |
304 |
\end{figure} |
\end{figure} |
305 |
|
|
361 |
\begin{figure} |
\begin{figure} |
362 |
\centering |
\centering |
363 |
\includegraphics[width=12cm, height=6cm]{structured_overlay.eps} |
\includegraphics[width=12cm, height=6cm]{structured_overlay.eps} |
364 |
\caption{Basic idea of structured overlay} |
\caption{Principal idea of tightly structured overlays.} |
365 |
\label{fig:structured_hashing} |
\label{fig:structured_hashing} |
366 |
\end{figure} |
\end{figure} |
367 |
|
|
433 |
\begin{figure} |
\begin{figure} |
434 |
\centering |
\centering |
435 |
\includegraphics[width=10cm, height=6cm]{structured_query.eps} |
\includegraphics[width=10cm, height=6cm]{structured_query.eps} |
436 |
\caption{Simplified data lookup of tightly structured system} |
\caption{Chord's simplified data lookup process on top of tightly structured overlay.} |
437 |
\label{fig:structured_query} |
\label{fig:structured_query} |
438 |
\end{figure} |
\end{figure} |
439 |
|
|
441 |
\begin{figure} |
\begin{figure} |
442 |
\centering |
\centering |
443 |
\includegraphics[width=10cm, height=8cm]{kademlia_lookup.eps} |
\includegraphics[width=10cm, height=8cm]{kademlia_lookup.eps} |
444 |
\caption{Data lookup process of Kademlia} |
\caption{Kademlia's simplified data lookup process on top of tightly structured overlay.} |
445 |
\label{fig:kademlia_lookup} |
\label{fig:kademlia_lookup} |
446 |
\end{figure} |
\end{figure} |
447 |
|
|
474 |
\begin{figure} |
\begin{figure} |
475 |
\centering |
\centering |
476 |
\includegraphics[width=10cm, height=8cm]{DHT_lookup.eps} |
\includegraphics[width=10cm, height=8cm]{DHT_lookup.eps} |
477 |
\caption{DHT abstraction of tightly structured overley} |
\caption{Distributed Hash Table (DHT) abstraction of tightly structured overlay.} |
478 |
\label{fig:Structured_lookup_using_DHT_model} |
\label{fig:Structured_lookup_using_DHT_model} |
479 |
\end{figure} |
\end{figure} |
480 |
|
|
482 |
\begin{figure} |
\begin{figure} |
483 |
\centering |
\centering |
484 |
\includegraphics[width=10cm, height=8cm]{DOLR_lookup.eps} |
\includegraphics[width=10cm, height=8cm]{DOLR_lookup.eps} |
485 |
\caption{DOLR abstraction of tightly structured overley} |
\caption{Decentralized Object Lcation (DOLR) abstraction of tightly structured overlay.} |
486 |
\label{fig:Strucutred_lookup_using_DOLR_model} |
\label{fig:Strucutred_lookup_using_DOLR_model} |
487 |
\end{figure} |
\end{figure} |
488 |
|
|
1709 |
\begin{figure} |
\begin{figure} |
1710 |
\centering |
\centering |
1711 |
\includegraphics[width=14cm, height=12cm]{xanadu_model.eps} |
\includegraphics[width=14cm, height=12cm]{xanadu_model.eps} |
1712 |
\caption{Xanalogical nodel} |
\caption{Xanalogical storage model.} |
1713 |
\label{fig:xanalogical_model} |
\label{fig:xanalogical_model} |
1714 |
\end{figure} |
\end{figure} |
1715 |
|
|
1735 |
\begin{figure} |
\begin{figure} |
1736 |
\centering |
\centering |
1737 |
\includegraphics[width=10cm, height=10cm]{storm_uml.eps} |
\includegraphics[width=10cm, height=10cm]{storm_uml.eps} |
1738 |
\caption{Simplified Storm block storage model} |
\caption{Simplified Storm storage model.} |
1739 |
\label{fig:storm_model} |
\label{fig:storm_model} |
1740 |
\end{figure} |
\end{figure} |
1741 |
|
|
1745 |
we discuss only pointers as they are part of the thesis' research problems. |
we discuss only pointers as they are part of the thesis' research problems. |
1746 |
More information about diffs can be found from \cite{fallenstein03storm}. |
More information about diffs can be found from \cite{fallenstein03storm}. |
1747 |
|
|
1748 |
Pointer \cite{benja02urn5} is an updatable reference to Storm data block, i.e., Storm scroll block. |
Pointer \cite{benja02urn5} is a semantic-free, updatable reference to |
1749 |
In practice, pointer is a random string created automatically by Storm , |
Storm data block, i.e., Storm scroll block. |
1750 |
associated with a collection of \emph{pointer blocks}. Each pointer block has a single |
In practice, pointer is random string, which resembles Universal Resource Names |
1751 |
|
(URN) \cite{rfc2396}. Pointers are created automatically by Storm and each pointer is |
1752 |
|
associated with a collection of \emph{pointer blocks}. Pointer block has a single |
1753 |
target for the pointer. In figure \ref{fig:storm_model}, we present overal |
target for the pointer. In figure \ref{fig:storm_model}, we present overal |
1754 |
pointer creation process. Pointer block may contain zero or more obsoleted |
pointer creation process. Pointer block may contain zero or more obsoleted |
1755 |
pointer blocks, i.e., when a new version of scroll block is created, it supersedes |
pointer blocks, i.e., when a new version of scroll block is created, it supersedes |
1761 |
\begin{figure} |
\begin{figure} |
1762 |
\centering |
\centering |
1763 |
\includegraphics[width=15cm, height=10cm]{storm_pointerblock_creation.eps} |
\includegraphics[width=15cm, height=10cm]{storm_pointerblock_creation.eps} |
1764 |
\caption{Pointer block creation process} |
\caption{Creation process of Storm pointer block.} |
1765 |
\label{fig:storm_model} |
\label{fig:storm_model} |
1766 |
\end{figure} |
\end{figure} |
1767 |
|
|
1891 |
real-life systems (e.g., \cite{overneturl}, \cite{edonkey2kurl}, \cite{kashmirurl}, |
real-life systems (e.g., \cite{overneturl}, \cite{edonkey2kurl}, \cite{kashmirurl}, |
1892 |
\cite{kato02gisp}), which means that Kademlia's algorithm is simple and easy to implement. |
\cite{kato02gisp}), which means that Kademlia's algorithm is simple and easy to implement. |
1893 |
|
|
1894 |
In top of Kademlia, we propose the usage of Sloppy hashing \cite{sloppy:iptps03} which |
On top of Kademlia, we propose the usage of Sloppy hashing \cite{sloppy:iptps03} which |
1895 |
optimized for DOLR abstraction of tightly structured overlays. With Sloppy hashing, |
optimized for DOLR abstraction of tightly structured overlays. With Sloppy hashing, |
1896 |
we are able reduce of generation of query hotspots. Sloppy hashing enables to |
we are able reduce of generation of query hotspots. Sloppy hashing enables to |
1897 |
locate nearby data without looking up data from distant nodes. Moreover, authors' |
locate nearby data without looking up data from distant nodes. Moreover, authors' |
1984 |
\begin{figure} |
\begin{figure} |
1985 |
\centering |
\centering |
1986 |
\includegraphics[width=11cm, height=8cm]{storm_query_blockid.eps} |
\includegraphics[width=11cm, height=8cm]{storm_query_blockid.eps} |
1987 |
\caption{Locating owner peer for a given Storm block identifier} |
\caption{Locating Storm block in Peer-to-Peer environment with a given block identifier.} |
1988 |
\label{fig:storm_query_blockid} |
\label{fig:storm_query_blockid} |
1989 |
\end{figure} |
\end{figure} |
1990 |
|
|
1991 |
\begin{figure} |
\begin{figure} |
1992 |
\centering |
\centering |
1993 |
\includegraphics[width=11cm, height=8cm]{storm_query_urn5.eps} |
\includegraphics[width=11cm, height=8cm]{storm_query_urn5.eps} |
1994 |
\caption{Locating owner peer for a given pointer random string} |
\caption{Locating Storm block in Peer-to-Peer environment with a given pointer random string.} |
1995 |
\label{fig:storm_query_urn5} |
\label{fig:storm_query_urn5} |
1996 |
\end{figure} |
\end{figure} |
1997 |
|
|
2037 |
to Fenfire's needs. We proposed, that tightly structured approach is the |
to Fenfire's needs. We proposed, that tightly structured approach is the |
2038 |
best alternative to Fenfire's needs for the following reasons. First, Storm, xanalogical |
best alternative to Fenfire's needs for the following reasons. First, Storm, xanalogical |
2039 |
model and tightly structured systems use global unique identifiers |
model and tightly structured systems use global unique identifiers |
2040 |
for identifying data. Second, our Storm design uses semantic-free references |
for identifying data. Second, our Storm design uses \emph{semantic-free references} |
2041 |
for locating data in distributed networks generated by SHA-1 cryptographic content |
(block identifiers, pointer random strings) for locating data in distributed |
2042 |
|
networks generated by SHA-1 cryptographic content |
2043 |
hash \cite{fips-sha-1}. As the authors of \cite{balakrishnan03semanticfree}, |
hash \cite{fips-sha-1}. As the authors of \cite{balakrishnan03semanticfree}, |
2044 |
we also agree that tightly structured overlays provide general purpose |
we also agree that tightly structured overlays provide general purpose |
2045 |
interface to next-generation reference resolution services. Third, by using |
interface to next-generation reference resolution services. Third, by using |