316 |
exchanged among partisipants of the protocol. Furthermore, each message has also a predefined format, and may include various data fields \cite{jxtaoverview}. |
exchanged among partisipants of the protocol. Furthermore, each message has also a predefined format, and may include various data fields \cite{jxtaoverview}. |
317 |
|
|
318 |
\section{SWAN} |
\section{SWAN} |
319 |
|
SWAN (Small World Adaptive Networks) \cite{bonsma02swan} relies heavily on Small World Networks (SWN) \cite{kleinberg99small, nips02-Kleinberg}. SWAN systems consists of |
320 |
|
named resources which all have an address. In addition to address, each named resource has a binary identity associated with it, which is independent of its address. |
321 |
|
Each named resource has a unique position in a k-dimensional identity space, based on identity's value. |
322 |
|
|
323 |
|
In SWAN, euclidean distance is used to calculate distances in the identity space. As required by SWN theory for proper link distribution, each node has several links |
324 |
|
to other nodes. All links are uni-directional and are created locally, storing the the identity and address of another named resource. For a systems with $n$ nodes, |
325 |
|
SWAN's algorithm routes in $O(log n)$ hops and the total number of links per named resource does not depend on $n$. |
326 |
|
|
327 |
\section{Freenet} |
\section{Freenet} |
|
|
|
328 |
Freenet \cite{clarke00freenet} is an example of selective forwarding architecture. In this approach, Milgram's \cite{milgram67smallworld} small-world |
Freenet \cite{clarke00freenet} is an example of selective forwarding architecture. In this approach, Milgram's \cite{milgram67smallworld} small-world |
329 |
phenomenon is fundamental factor. Freenet lookup queries are forwarded from one node to the next according node's local decisions. The decision is based on |
phenomenon is a fundamental factor. Freenet lookup queries are forwarded from one node to the next according node's local decisions. The decision is based on |
330 |
which one of node's neighbors make the most progress towards target node. For the lookup algorithm to work proprely, two properties must hold \cite{oram01harnessingpower}. |
which one of node's neighbors make the most progress towards target node. For the lookup algorithm to work proprely, two properties must hold \cite{oram01harnessingpower}. |
331 |
First, the Freenet overlay network graph must connected in that way, so that any query eventually reach at least one node where the resource is located. |
First, the Freenet overlay network graph must connected in that way, so that any query eventually reach at least one node where the resource is located. |
332 |
Second, regardless of the number of nodes, short links must exist between any two arbitrary nodes. This makes possible to pass queries between nodes in |
Second, regardless of the number of nodes, short links must exist between any two arbitrary nodes. This makes possible to pass queries between nodes in |
334 |
and others \cite{zhang02using}. |
and others \cite{zhang02using}. |
335 |
|
|
336 |
\section{Alpine} |
\section{Alpine} |
337 |
|
ALPINE \cite{alpineurl} uses an adaptive social discovery mechanism to implement lookup queries. In Alpine network, nodes (users) continually discover |
338 |
|
new nodes to communicate with and determine which properties each node have. More important, every node has a total control over the connections in the |
339 |
|
network. With every lookup query, a node determines how proficient a given node is to another node's objectives. The resource discovery in Alpine is |
340 |
|
performed by sending queries only nodes who have a connection to a source node. To better lookup efficiency, profile operation associated with each node |
341 |
|
is used to evaluate the order in which each is sent a query. As in real social life, nodes who have returned relevant results in the past, will have a high |
342 |
|
quality value in future query lookups. |
343 |
|
|
|
\section{Napster} |
|
344 |
|
|
345 |
\section{Future directions} |
\section{Future directions} |
346 |
|
|
347 |
|
Since peer-to-peer concept was reinvented by Napster \cite{napsterurl} a few years ago, great amount of peer-to-peer systems have been introduced. |
348 |
|
Furthermore, the majority of these systems are unable to interoperate together. According to recent seminar \cite{uclaseminar}, held in the University of UCLA, |
349 |
|
there are few projects that analyse systems' different approaches. However, the most important question is that how existing approaches can be combined into one |
350 |
|
practical and high performance approach, currently known as ``Gnutella++''. |
351 |
|
|
352 |
\chapter{Gzz System} |
\chapter{Gzz System} |
353 |
|
|
367 |
|
|
368 |
\subsection{Blocks} |
\subsection{Blocks} |
369 |
|
|
370 |
|
|
371 |
|
|
372 |
\chapter{Evaluation of Peer-to-Peer for Gzz} |
\chapter{Evaluation of Peer-to-Peer for Gzz} |
373 |
|
|
374 |
\section{Motivation} |
\section{Motivation} |