gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz/Documentation/misc/hemppah-progradu mastert...


From: Hermanni Hyytiälä
Subject: [Gzz-commits] gzz/Documentation/misc/hemppah-progradu mastert...
Date: Wed, 19 Feb 2003 08:58:17 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Hermanni Hyytiälä <address@hidden>      03/02/19 08:58:16

Modified files:
        Documentation/misc/hemppah-progradu: masterthesis.tex 
                                             progradu.bib 

Log message:
        Added refs to thesis doc

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/Documentation/misc/hemppah-progradu/masterthesis.tex.diff?tr1=1.48&tr2=1.49&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/Documentation/misc/hemppah-progradu/progradu.bib.diff?tr1=1.73&tr2=1.74&r1=text&r2=text

Patches:
Index: gzz/Documentation/misc/hemppah-progradu/masterthesis.tex
diff -u gzz/Documentation/misc/hemppah-progradu/masterthesis.tex:1.48 
gzz/Documentation/misc/hemppah-progradu/masterthesis.tex:1.49
--- gzz/Documentation/misc/hemppah-progradu/masterthesis.tex:1.48       Wed Feb 
19 05:55:30 2003
+++ gzz/Documentation/misc/hemppah-progradu/masterthesis.tex    Wed Feb 19 
08:58:16 2003
@@ -27,9 +27,9 @@
 
 \tyyppi{pro gradu-tutkielma}
 
-\keywords{Peer-to-Peer, P2P, networking, distributen computing}
+\keywords{Peer-to-Peer, Peer-to-Peer, networking, distributen computing}
 
-\avainsanat{Vertaisverkot, P2P, tietoverkot, hajautetut järjestelmät}
+\avainsanat{Vertaisverkot, Peer-to-Peer, tietoverkot, hajautetut järjestelmät}
 
 \contactinformation{\\
 Hermanni Hyytiälä\\
@@ -55,635 +55,412 @@
 
 \chapter{Introduction}
 
-Peer-to-Peer (P2P) systems can be characterized as distributed systems in 
which all 
+Peer-to-Peer (Peer-to-Peer) systems can be characterized as distributed 
systems in which all 
 communication is symmetric and all participants have identical capabilities 
and responsabilities. 
 Each participant may contribute data or computing resources (such as unused 
storage) to the overall 
 system, and the welfare of the community can scale with ne number of 
participants. Therefore each 
 participant rely on one another services and resources, rather than solely 
relying on dedicated 
 centralized infracstructure. 
 
-P2P systems have recently received significant attention in both academia and 
industry for a number 
-of reasons. First, the lack of decentralization means that participants can 
form a P2P system without any 
-investment to high-priced hardware to coordinate it. Moreover, P2P systems 
provides aggregation of enormous 
-resources and way to achieve interoperability. Finally, the distributed nature 
of P2P improves scalability 
+Peer-to-Peer systems have recently received significant attention in both 
academia and industry for a number 
+of reasons. First, the lack of decentralization means that participants can 
form a Peer-to-Peer system without any 
+investment to high-priced hardware to coordinate it. Moreover, Peer-to-Peer 
systems provides aggregation of enormous 
+resources and way to achieve interoperability. Finally, the distributed nature 
of Peer-to-Peer improves scalability 
 and reliability againts certain kinds of faults, e.g. single point of failure.
 
-\chapter{Terminology}
+\cite{p2pworkinggroup}
+\cite{graham02lecture}
+\cite{winer00whatisp2p}
+
+\chapter{Peer-to-Peer approaches}
+
+\section{General}
+
+\cite{levy90distributedfilesystems}
+\cite{339345}
+\cite{albert-02-statistical}
+\cite{albert-00-tolerance}
+\cite{balakrishanarticle03lookupp2p}
 
-\chapter{Overview of Peer-to-Peer}
 
-This section discusses briefly general aspects of P2P systems. A more detailed 
general discussion can be found 
-from \cite{milojicic02peertopeer, oram01harnessingpower}. 
+\begin{figure}
+\centering
+\includegraphics[width=10cm, height=8cm]{application_level_overlay.eps}
+\caption{Peer-to-Peer Application Level Overlay}
+\label{fig:application_level}
+\end{figure}
 
 
-\section{What is Peer-to-Peer ?}
-
-\subsection{Definition}
-Altough the exact definition of "peer-to-peer" (P2P) is debatable, these 
systems typically lack dedicated, centralized 
-infrastructure, resources and services depends on the voluntary participation 
of peers. Because of that, the 
-challenge of such systems is to determine a archictecure for deploying 
participants in a such way so that they 
-can efficiently cooperate to provide services and resources to the entire 
system. The resources comprise of 
-computing power, data (content and storage), network bandwidth, and presence 
(human resources). Typical P2P 
-systems reside on the edge of the Internet or in ad-hoc networks. As cited in 
\cite{milojicic02peertopeer}, 
-"P2P enables valuable externalities, by aggregating resources through low-cost 
interoperability, the whole 
-is made greater than the sum of its parts".
-
-Many defitions of P2P have been proposed in P2P community. The Intel P2P 
Working Group \cite{p2pworkinggroup} 
-defines P2P as "the sharing of computer resources and services by direct 
exchange between systems". Ross Lee 
-Graham \cite{graham02lecture} defines P2P through three requirements: 1) 
System has an operational computer 
-of server quality; 2) System has an addressing system independent of DNS; 3) 
System is able 
-to cope with variable connectivity. O'Reilly's Clay Shirky proposes that "P2P 
is a class of applications 
-that takes advantage of resources - storage, cycles, content, human presence - 
available at the edges 
-of the Internet. Because accessing the decentralized resources means operating 
in a environment of unstable 
-connectivity and unpredictable IP addresses, P2P nodes must operate outside 
the DNS system and have significant 
-or total autonomy from central servers". Finally Dave Winer 
\cite{winer00whatisp2p} cites P2P as "A network 
-app that doesn't run in a web browser...the user's machine is a client and a 
server...networks with other 
-users, creating a community". 
- 
-Sharing is an essential part of P2P community. Every participant gives to and 
obtains resources from the community. 
-For example, in Gnutella \cite {gnutellaurl} case, sharing is about offering 
data resources to the rest of the community 
-and getting other data in return. On the another hand, P2P is way to aggregate 
tremendous amounts of computer power, 
-storage, and connectivity from the different kind of computers around the 
world. address@hidden \cite{setiurl} is an 
-obvious an example of this approach. Based on definitions of P2P above, each 
participant in P2P system can be referred 
-as equal as others in the community. Therefore, P2P system is one in which 
autonomous participant depend on other 
-autonomous participants. Autonomy of participants, however, means that they 
cannot trust each other and rely 
-completely on the resources which other peers provides. Issues related to 
scalability and profusion become 
-more important than in centralized or traditional distributed systems.
-
-At the end, of course, P2P systems are an alternative to the centralized and 
client-server types of computing, 
-where there is typically a single server (or small cluster) and many clients. 
See figure 1 for high-level difference 
-of P2P versus centralized, client-server approach.
-
-[Figure 1. Insert picture]
-
-However, more detailed comparison of P2P systems and client-server approach is 
significantly more complex 
-because: "There is no clear border between a client-server and a P2P model. 
Both models can be 
-built on a spectrum of level of characteristics, functionality, organizations, 
components, protocols etc. Furthermore, 
-one mode can be built on top of the other or parts of the components can be 
realized in one or the other model. Finally, 
-both models can execute on different types of platforms and both can server as 
an underlying base for traditional 
-and new applications. Therefore, it should not be a surprise that there is so 
much confusion about what P2P is 
-and what it is not. It is extremely interwined with existing technologies" 
[Morgan 2002 REFERENCE!!!].
-
-
-\subsection{History}
-
-The Internet has been originally established in the late 1960s. The objective 
of the ARPANET-project was to 
-share computers' resources around the United States. The most challenging 
purpose of ARPANET was to 
-integrate different kinds of existing network technologies with one common 
network architecture. The 
-ARPANET connected the first few hosts together not in client/server 
relationship, but rather as 
-equal networking peers. This could be seen as starting point both of P2P 
systems and 
-Internet \cite{oram01harnessingpower}.
-
-While most early distributed applications can be considered P2P, file transfer 
protocol (FTP), Usenet and Telnet 
-systems were probably the most extensively used. A Telnet client logged into a 
server, and 
-an FTP client downloaded and sent data to a file server. In the case of 
Usenet, peer servers connected 
-to other peers to deliver messages into the user's mail box or into a spool 
box containing messages from 
-the newsgroups. Altough  single application could be seen as was client/server 
relationship, the usage model as a 
-whole were symmetric. Every computer on the ARPANET could create connections 
to any other computer and use 
-each other's resources. The symmetry is what made the ARPANET so novel. As a 
implication, early ARPANET 
-made possible to create more complex systems as DNS \cite{rfc1101}. 
-
-In subsequent years, the Internet has become more restricted to client/server 
based applications. In 
-recent years, however, P2P systems have emerged a significant social and 
technical phenomenon. It could 
-be possible the Internet could revert to its initial symmetrical form. At the 
end, FTP can be considered as 
-a predecessor to today's file-sharing P2P systems. The Archie, global indexing 
system, was developed to 
-provide a central search infrastructure over existing FTP servers. Napster 
\cite{napsterurl} is a good 
-example of this kind of approach in modern P2P file-sharing systems.
-
-\subsection{Characteristics of Peer-to-Peer}
-
-Decentralization
-In traditional client-server relationship, resources is preserved in 
centralized servers and distributed 
-through network to client computers. P2P, however, takes a different approach; 
there is no centralized 
-server or authority for distributing resources in the P2P network. Perhaps one 
of the most powerful ideas 
-of decentralization is the stress on the participant's ownership and control 
of resources. As a implication 
-in a fully decentralized system, every peer is an equal participant of the 
community.
-
-Scalability and Adaption
-Natural advantage of decentralization is improved scalability of the system. 
In P2P, scalability is limited 
-by factors such as centralized manageability that needs to be performed and 
the amount of states need to be 
-maintained. As cited in \cite{milojicic02peertopeer}, good scalability should 
not be achieved by the expense 
-of other desirable features, such as determinism and performance guarantees.
- 
+\section{Centralized}
 
+\cite{napsterurl}
 
+\section{Unstructured}
 
-Anonymity and Autonomy\
-Self-organization\
-Cost Of ownership\
-ad-hoc connectivity\
-accountability\
-reputation\
+\begin{figure}
+\centering
+\includegraphics[width=6cm, height=6cm]{gnutella_overlay.eps}
+\caption{Gnutella overlay network}
+\label{fig:gnutella_overlay}
+\end{figure}
 
-\subsection{Adaptations of Peer-to-Peer}
+\subsection{Protocols}
 
-\subsection{Models of Peer-to-Peer}
+\cite{clarke00freenet}
+\cite{zhang02using}
+\cite{milgram67smallworld}
+\cite{adamic99small}
+\cite{ramanathan02goodpeers}
+\cite{kleinberg99small}
+\cite{watts00dynamics}
+\cite{nips02-Kleinberg}
+\cite{ganesan02yappers}
+\cite{gnutellaurl}
+\cite{gnutella2url}
+\cite{shareazaurl}
+\cite{fasttrackurl}
+\cite{morpheusurl}
+\cite{kazaaurl}
+\cite{jxtaurl}
+\cite{jxtaoverview}
+\cite{botros01jxtasearch}
+\cite{kato02gisp}
+\cite{alpineurl}
+\cite{joseph02neurogrid}
 
-\section{Peer-to-Peer file sharing architectures}
 
-\subsection{Flooding broadcast}
+\subsection{Super peers}
 
-\subsection{Distributed hash table}
+\begin{figure}
+\centering
+\includegraphics[width=8cm, height=6cm]{gnutella_overlay_supernodes.eps}
+\caption{Gnutella overlay network with super nodes}
+\label{fig:gnutella_overlay_supernodes}
+\end{figure}
 
-In Distributed Hash Table (DHT) approach, each value is associated with a 
unique key (e.g. SHA-1 \cite{fips-sha-1})in an m-bit virtual address space. The 
virtual 
-address space is partitioned into sections, which form adjoining regions of 
this address space. In general, 
-either a single computer or multiple computers is assigned to each section of 
the virtual address space. Each 
-computer is assigned one or more sections, and they maintains copies of those 
key-value bindings whose key values 
-lie within its assigned cell. This means, in general, that computer that hosts 
corresponding key-value pair, 
-is not owned by the user that decided to provide the resource to the netowork. 
Moreover, the allocation of the address 
-space and the assigment of computers to sections is dynamic. Therefore, 
everytime when a node joins or 
-leaves the network, the address space is reallocated.
+\subsection{Super peer clusters}
 
-\subsection{Hybrid architecture}
+\begin{figure}
+\centering
+\includegraphics[width=10cm, height=6cm]{gnutella_overlay_clusters.eps}
+\caption{Gnutella overlay network with 2-redundant super node clusters}
+\label{fig:gnutella_overlay_cluster}
+\end{figure}
 
-\subsection{Tree based architecture}
 
-\subsection{Small World Networks}
+\begin{figure}
+\centering
+\includegraphics[width=8cm, height=6cm]{gnutella_query.eps}
+\caption{Basic Gnutella query}
+\label{fig:gnutella_query}
+\end{figure}
 
 
 
-\subsection{Social discovery architecture}
 
-\section{Open problems in Peer-to-Peer file sharing}
+\section{Structured}
 
-\subsection{Scalability}
+\cite{aspnes02faultrouting}
+\cite{ratnasamy02ght}
+\cite{236713}
+\cite{258660}
 
-\subsection{Resource discovery}
+\cite{fips-sha-1}
 
-\subsection{Performance}
+\subsection{Protocols}
 
-\subsection{Security}
+\cite{zhao01tapestry}
 
-\subsection{Interoperability}
+\cite{rowston01pastry}
 
+\cite{stoica01chord}
 
+\cite{ratnasamy01can}
 
-\chapter{Summary of existing Peer-to-Peer systems}
+\cite{maymounkov02kademlia}
 
-This section reviews briefly existing algorithms used in existing Peer-to-Peer 
systems. Note that this section 
-is not meant to be an exhaustive survey of Peer-to-Peer systems. Instead, this 
section introduces a few systems 
-from each architectural perspective.
+\cite{freedman02trie}
 
-\section{Plaxton}
-Plaxton \cite{plaxton97accessingnearby} developed the first routing algorithm, 
which can be used with DHTs.
-The algorithm is not designed to be used in dynamic distributed systems, 
because Plaxton algorithm 
-assumes a proportional static node population. However, algorithm provides 
very efficient routing for search 
-lookups. In Plaxton's approach, the routing works as follows: if a node number 
e.g. 88768 received a lookup with key 
-88797, which matches the first three digits, then the routing algorithm 
forwards the query to a node which matches 
-the first four digits. To accomplish this, a each node forwards a packet to a 
neighbor whose label matches (from left 
-to right) incrementally the destination label in one more digit than its own 
label does. For a system with $n$ nodes, 
-Plaxton's algorithm routes in $O(log n)$ hops and requires a routing table 
size of $O(log n)$.  
-  
+\cite{plaxton97accessingnearby}
 
-\section{Tapestry}
-Tapestry \cite{zhao01tapestry} is a adaption of Plaxton's algorithm 
\cite{plaxton97accessingnearby}. As in Plaxton's approach, 
-each node has a identifier. In addition to Plaxton algorithm, Tapestry has 
better fault handling and support for dynamic 
-peers. In Tapestry, using IP addresses as node identifiers make the overlay 
network topology rather similar to the real
-network topology, because IP addresses ``enough close'' to each other share 
some length of the same prefix. Therefore, 
-the latency of the query (messages) hop is minimal. Tapestry routes queries 
with path lengths of $O(log n)$, and each node, 
-for a systems with $n$ nodes, maintains routing table size of $O(log n)$. When 
a node leaves or joins to network,  
-$O(log^2 n)$ messages are required.
+\cite{malkhi02viceroy}
 
-\section{Pastry}
-In Pastry \cite{rowston01pastry}, the key space is considered as a virtual 
circle. Each node is responsible for keys 
-which are closest numerically. The neighbors consist of leaf set, which is the 
set of $|L|$ closest nodes. In addition, 
-Pastry has another set of neighbors randomly spread out in the key space for 
more efficient routing. As in Plaxton approach, 
-Pastry also forwards the query to the neighbor which have the longest shared 
prefix of the key. Pastry routes within 
-the pathlength of $O(log n)$, each node has $O(log n)$ neighbors and departure 
or joining of node requires $(log^2 n)$ messages.
+\cite{bonsma02swan}
 
-\section{CAN}
-In the CAN model \cite{ratnasamy01can}, nodes are mapped into a virtual 
$d$-dimensional coordinate key space. Each node 
-is associated with a hypercubal blocks of this keyspace and every block keeps 
information on its immediate hypercubal 
-neighbors. In CAN, nodes have $O(d)$ neighbors and expected pathlengths are 
$O(dn^\frac{1}{d})$. Node insertion or deletion affects 
-$O(number of dimensions)$ existing nodes. Setting $d = log_2(n)/2$, CAN 
provides similar scalability as Plaxton approach.
+\cite{AspnesS2003}
+\cite{78977}
 
-\section{Chord}
-Chord \cite{stoica01chord} uses virtual circle as the key space. As Pastry, 
Chord also threats node's neighbors as leaf sets. 
-However, in Chord, there are two sets of neighbors: each node has a successor 
list of k nodes which immediately follows the node 
-in the key space. For better efficiency, each node has additional finger list 
of $O(log n)$ nodes placed around the key space.
-In a $n$ node network, each node maintains information about $O(log n)$ 
neighbors, and a lookup is performed within $O(log n)$ 
-hops. Additionally in Chord, a node join or leave requires $O(log^2 n)$ 
messages.
- 
+\cite{gurmeet03symphony}
 
-\section{Kademlia}
+\cite{eriksson03peernet}
 
-Kademlia \cite{maymounkov02kademlia} is based on a XOR-based metric topology. 
In this approach, every query (message) exchanged conveys 
-useful contact information. Furthermore, Kademlia uses this information to 
send parallel query messages. XOR-metrics are used to calculate
-distances between points in key space. XOR is symmetric, allowing nodes to 
receive lookup queries from the same distribution of nodes 
-contained in the key space. Routing table contains ``contact buckets'', which 
allows to accommodate temporarily used nodes more 
-efficiently than other DHT approaches. For a system with $n$ nodes, Kademlia's 
algorithm routes in $O(log n)$ hops and requires 
-a routing table size of $O(log n)$.
-
-\section{Coral}
-
-Coral [NOTYETPUBLISHED] is based on a new abstraction called distributed 
sloppy hash table (DSHT) and is a layer on existing 
-lookup systems, such as Chord, CAN, Kademlia, Pastry and Tapestry. In contrast 
to original DHTs, Coral provides a lookup, which 
-is based on name (instead of hash value). Furthermore, Coral aims to avoid 
DHTs' hot spots and to find nearby data without querying 
-distant nodes. DSHTs sacrifice the consistency of DHTs to support both 
frequent fetches and frequent stores of the same hash table 
-key.  Moreover, the fundamental observation is that a node doesn't need to 
know every replicated location of a resource---it only 
-needs a single nearby copy.
-
-\section{Gnutella}
-Gnutella \cite{gnutellaurl} is a flooding broadcast file-sharing system which 
treats all nodes in the network functionally equivalent. Each peer tries to 
maintain 
-a small number of active connections to its neighbor. These peers are selected 
from a locally maintained host catcher list, which contains 
-the addresses of the neighbor peers. Gnutella uses a Breadt-First-Search (BFS) 
traversal with depth limit L, where L is the system-wide maximum TTL 
-of a message in hops. Every node receiving a query will forward the message to 
all of its neighbour nodes, unless the message has 
-reached the TTL limit. Therefore query results are fast, because BFS sends 
queries to every possible nodes. However, this approach wastes 
-resources, since BFS sends queries to every possible neighbor nodes.
-
-\section{Gnutella2}
-Gnutella2 \cite{gnutella2url} is a second generation flooding broadcast 
file-sharing system. As FasTrack, Gnutella2 uses ``Super nodes'' for better 
scalability. In contrast 
-to FastTrack, Gnutella2 is an open techology. The Gnutella2 system contains 
four logical levels: new protocol, new data transport architecture, new base 
services 
-(including search) and an implementation standard. Unfortunately, currently 
there are no full specifications about Gnutella2 available yet. However, 
-Shareaza \cite{shareazaurl} file-sharing application supports Gnutella2 
technology. More text needed !?!?
-
-
-\section{YAPPERS}
-YAPPERS (Yet Another Peer-to-Peer System) \cite{ganesan02yappers} is hybrid 
peer-to-peer system. YAPPERS operates on top of an arbitrary overlay network 
-, such as Gnutella, while providing DHT-like search efficiency. Furthermore, 
in YAPPERS approach, many small DHTs are built instead 
-of one imposing DHT structure. YABBERS divides a large overlay network into 
many small neighborhoods. The data within each neighborhood is partiotioned 
among 
-other neighbors like a regular DHT. Lookup queries relies on forwarding 
mechanism, similar to Gnutella-style flooding, to traverse all the small 
-DHTs in the network. Specifically, within node's immediate neighborhood, 
YAPPERS behaves like a DHTs. When using extended lookup outside of immediate 
-neighborhood, YAPPERS behaves like Gnutella, but with more intelligence. 
-
-
-\section{FastTrack}
-FastTrack \cite{fasttrackurl} is another hybrid peer-to-peer system. FastTrack 
is based on flooding broadcast technique, but in contrast to Gnutella, 
-it solves some of the Gnutella's scalability issues by introducing ``Super 
nodes''. A SuperNode acts like a local hub, building an index 
-of the resources being shared by each node connected to it and proxying lookup 
queries on behalf of other nodes. This kind of structure reduces 
-network traffic in comparison to a original broadcast query algorithm employed 
on the Gnutella system. There are many peer-to-peer file-sharing applications 
-which uses FastTrack, such as Morpheus and Kazaa \cite{morpheusurl, kazaaurl}.
-
-\section{JXTA}
-JXTA \cite{jxtaurl} is an open colloboration platform which supports a wide 
range of distributed applications. The goal of JXTA is provide a general 
-network programming infrastructure. JXTA consists of multiple layers, 
including core mechanisms, higher level services and number of 
-basic applications. Additionally, at the highest abstraction level, JXTA is a 
set of protocols. Each protocol is defined by one or more messages 
-exchanged among partisipants of the protocol. Furthermore, each message has 
also a predefined format, and may include various data fields 
\cite{jxtaoverview}.
-
-\section{SWAN}
-SWAN (Small World Adaptive Networks) \cite{bonsma02swan} relies heavily on 
Small World Networks (SWN) \cite{kleinberg99small, nips02-Kleinberg}. SWAN 
systems consists of 
-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.
-Each named resource has a unique position in a k-dimensional identity space, 
based on identity's value.
-
-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 
-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,
-SWAN's algorithm routes in $O(log n)$ hops and the total number of links per 
named resource does not depend on $n$.
-
-\section{Freenet}
-Freenet \cite{clarke00freenet} is an example of selective forwarding 
architecture. In this approach, Milgram's \cite{milgram67smallworld} 
small-world 
-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 
-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}.
-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.
-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 
-reasonable of hops in small-world networks, as proposed by Kleingberg 
\cite{kleinberg99small, nips02-Kleinberg}, Adamic \cite{adamic99small} 
-and others \cite{zhang02using}.
-
-\section{Alpine}
-ALPINE \cite{alpineurl} uses an adaptive social discovery mechanism to 
implement lookup queries. In Alpine network, nodes (users) continually discover 
-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 
-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 
-performed by sending queries only nodes who have a connection to a source 
node. To better lookup efficiency, profile operation associated with each node 
-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 
-quality value in future query lookups.
-
-
-\section{Future directions}
-
-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. 
-Furthermore, the majority of these systems are unable to interoperate 
together. According to recent seminar \cite{uclaseminar}, held in the 
University of UCLA, 
-there are few projects that analyse systems' different approaches. However, 
the most important question is that how existing approaches can be combined 
into one 
-practical and high performance approach, currently known as ``Gnutella++''.  
+\cite{harvey03skipnet2}
 
-\chapter{Open Problems in P2P}
 
+\cite{garciamolina03sil}
 
-\scriptsize
-\begin{longtable}{|l|l|l|l|}
-\caption[Security problems in P2P]{Security problems in P2P} 
\label{table_security_problems_p2p} \\
+\cite{rowston03controlloingreliability}
 
+\cite{Bhattacharjee03resultcache}
 
+\cite{byers03dhtbalancing}
 
-\hline 
-\multicolumn{1}{|c|}{\textbf{Problem}} & 
-\multicolumn{1}{c|}{\textbf{Problem description}} & 
-\multicolumn{1}{c|}{\textbf{Solutions}} &
-\multicolumn{1}{c|}{\textbf{Comments/Status}}
-\\ \hline 
-\endfirsthead
+\cite{pias03lighthouse}
 
-\multicolumn{4}{c}%
-{{\tablename\ \thetable{} -- continued from previous page}} \\
-\hline \multicolumn{1}{|c|}{\textbf{Problem}} &
-\multicolumn{1}{c|}{\textbf{Problem description}} &
-\multicolumn{1}{c|}{\textbf{Solutions}} &
-\multicolumn{1}{c|}{\textbf{Comments/Status}} 
-\\ \hline 
-\endhead
+\cite{naor03simpledht}
 
-\endfoot
+\cite{gupta03kelips}
 
+\cite{kaashoek03koorde}
+\cite{debruijn46graph}
 
 
-\parbox{90pt}{Query routing} &                 
-\parbox{110pt}{Incorrect forwarding (hostile), incorrect routing (hostile)} &
-\parbox{110pt}{Query monitoring, cross check routing tables, verify routing 
tables, create routing table invariants} &
-\parbox{110pt}{Increases system complexity} 
-\\ \hline
 
 
-\parbox{90pt}{DoS attack} &
-\parbox{110pt}{Distributed, controlled burden againts specific computer(s)} &
-\parbox{110pt}{Client puzzles, load balancing, traffic measurements, traffic 
models, replication} &
-\parbox{110pt}{Only partial solutions, traffic models most effective}
-\\ \hline 
+\subsection{Distributed Hash Table (DHT)}
 
+\cite{Gribble:2000:SDD}
 
-\parbox{90pt}{Sybil attack} &
-\parbox{110pt}{Single hostile entity present multiple entities} &
-\parbox{110pt}{Identify all nodes simultaneously across the system, collect 
pool of nodes which are validated, distributed node ID creation} &
-\parbox{110pt}{Not practically realizable, research focused on persistence, 
not on identity distinction}
-\\ \hline 
+\cite{dabek01widearea}
 
+\cite{iyer02squirrel}
 
-\parbox{90pt}{Spam attack} &
-\parbox{110pt}{Hostile entity creates false versions of data} &
-\parbox{110pt}{Do not trust to single entity, get information from multiple 
entities, trust on majority's opinion} &
-\parbox{110pt}{Easy to implement, creates more network traffic} 
-\\ \hline
+\cite{harrisoncircle}
 
+\cite{rowstron01storage}
 
-\parbox{90pt}{Resource spoofing} &
-\parbox{110pt}{Hostile entity gives wrong information about the data which 
entity is responsible for/knows about} &
-\parbox{110pt}{Do not trust to single entity, get information from multiple 
entities, trust on majority's opinion} &
-\parbox{110pt}{Easy to implement, creates more network traffic} 
-\\ \hline
+\subsection{Decentralized Object Location and Routing Networks (DOLR)}
 
+\cite{kubiatowicz00oceanstore}
 
-\parbox{90pt}{Entity identification} &
-\parbox{110pt}{Identify participating entities reliably and efficiently        
} &
-\parbox{110pt}{Digital signatures, key infrastructure} &
-\parbox{110pt}{Not practically realizable}
-\\ \hline
+\begin{figure}
+\centering
+\includegraphics[width=14cm, height=8cm]{structured_overlay.eps}
+\caption{Generation of structured overlay network}
+\label{fig:structured_hashing}
+\end{figure}
 
 
-\parbox{90pt}{Data integrity/authenticity} &
-\parbox{110pt}{Integrity/originality of data is unknown} &
-\parbox{110pt}{Cryptographic content hashes, key architectures} &
-\parbox{110pt}{For data integrity, there are working solutions, but for data 
authenticity, some of the solutions are partial, which may be practically 
realizable}
-\\ \hline
 
+\begin{figure}
+\centering
+\includegraphics[width=8cm, height=6cm]{structured_query.eps}
+\caption{Simplified structured system's query}
+\label{fig:structured_query}
+\end{figure}
 
-\parbox{90pt}{Anonymity} &
-\parbox{110pt}{Anonymity cannot be provided in all cases} &
-\parbox{110pt}{Remailers, pre-routing} &
-\parbox{110pt}{Total anonymity cannot be provided yet}
-\\ \hline
+\section{Summary}
 
 
-\parbox{90pt}{Malicious nodes} &
-\parbox{110pt}{How to identify malicious nodes in the system} &
-\parbox{110pt}{Create invariants for node behaviour, verify invariants, 
self-certifying data} &
-\parbox{110pt}{Partial solutions, self-certifying data most realiable}
-\\ \hline
 
 
-\parbox{90pt}{Access Control} &
-\parbox{110pt}{Can we define access control levels in peer-to-peer network ?} &
-\parbox{110pt}{Schema-based rules} &
-\parbox{110pt}{Some initial experiences, need more research}
-\\ \hline
 
 
-\parbox{90pt}{Inconsistent behaviour} &
-\parbox{110pt}{Hostile node could act correctly with its neighbors, but 
incorrectly with others} &
-\parbox{110pt}{Public keys, digital signatures} &
-\parbox{110pt}{Not practical approach/working proposal created yet}
-\\ \hline
 
 
-\parbox{90pt}{Hostile groups} &
-\parbox{110pt}{Joining node may join parallel network, formed a group of 
hostile nodes, hostile node(s) controls the construction of the network} &
-\parbox{110pt}{Use trusted nodes, based on history information, Cryptography, 
key infrastructure} &
-\parbox{110pt}{Not 100\% sure if Centreal Authority (CA) is missing, not 
practical approach/working proposal created yet}
-\\ \hline
 
 
-\parbox{90pt}{External security threats} &
-\parbox{110pt}{Viruses, trojans, sniffers} &
-\parbox{110pt}{Data integrity/authenticity, distributed antivirus software} &
-\parbox{110pt}{Not much research has been done on this}
-\\ \hline
 
 
-\end{longtable}
+\subsection{Protocols}
 
-               
-\begin{longtable}{|l|l|l|l|}
-\caption[Performance and usability problems in P2P]{Performance and usability 
problems in P2P} \label{table_performanceusability_problems_p2p} \\
 
+\scriptsize
+\begin{longtable}{|l|c|c|c|c|l|}
+\caption[Different Peer-to-Peer lookup protocols]{Different Peer-to-Peer 
lookup protocols} 
+\label{table_Peer-to-Peer_protocols} \\
 
-\hline 
-\multicolumn{1}{|c|}{\textbf{Problem}} & 
-\multicolumn{1}{c|}{\textbf{Problem description}} & 
-\multicolumn{1}{c|}{\textbf{Solutions}} &
-\multicolumn{1}{c|}{\textbf{Comments/Status}}
-\\ \hline 
+\hline
+\multicolumn{1}{|c|}{\textbf{Protocol}} &
+\multicolumn{1}{c|}{\textbf{Insert/Delete}} & 
+\multicolumn{1}{c|}{\textbf{Space}} & 
+\multicolumn{1}{c|}{\textbf{Lookup}} &
+\multicolumn{1}{c|}{\textbf{\# of network connections}} &
+\multicolumn{1}{c|}{\textbf{Notes}}
+\\ \hline
 \endfirsthead
 
-\multicolumn{4}{c}%
+\multicolumn{6}{c}%
 {{\tablename\ \thetable{} -- continued from previous page}} \\
-\hline \multicolumn{1}{|c|}{\textbf{Problem}} &
-\multicolumn{1}{c|}{\textbf{Problem description}} &
-\multicolumn{1}{c|}{\textbf{Solutions}} &
-\multicolumn{1}{c|}{\textbf{Comments/Status}} 
+\hline 
+\multicolumn{1}{|c|}{\textbf{Protocol}} &
+\multicolumn{1}{c|}{\textbf{Insert/Delete}} &
+\multicolumn{1}{c|}{\textbf{Space}} &
+\multicolumn{1}{c|}{\textbf{Lookup}} &
+\multicolumn{1}{c|}{\textbf{\# of network connections}} &
+\multicolumn{1}{c|}{\textbf{Notes}}
 \\ \hline 
 \endhead
 
 \endfoot
-               
-\parbox{90pt}{Searching} &
-\parbox{110pt}{Efficient searching requires exploiting of previous queries} &
-\parbox{110pt}{View trees, bloom filters and its variations} &
-\parbox{110pt}{Effective, but not flexible}
-\\ \hline
 
-
-\parbox{90pt}{Efficient data discovery} &
-\parbox{110pt}{Find resources efficiently, if resource exists (broadcasting)} &
-\parbox{110pt}{Super nodes, node clusters, caching techiques} &
-\parbox{110pt}{More efficient, less network traffic, not comparable to DHT's 
efficiency}
+\parbox{37pt}{CAN} &
+\parbox{37pt}{$O$($d$)} &
+\parbox{37pt}{$O$($d$)} &
+\parbox{37pt}{$O(dn^{\frac{1}{d}})$} &
+\parbox{85pt}{2$d$} &
+\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}
 \\ \hline
 
-
-\parbox{90pt}{Richness of queries} &
-\parbox{110pt}{Query languages should be more powerful} &
-\parbox{110pt}{SQL-like queries} &
-\parbox{110pt}{Hard to implement, increases system complexity, not much 
research has been done}
+\parbox{37pt}{Chord} &
+\parbox{37pt}{$O(\log^2{n})$} &
+\parbox{37pt}{$O(\log{n}$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{85pt}{2$(\log{n})$} &
+\parbox{85pt}{System's performance may decrease if nodes are not homogeneous 
and nodes join and leave the system in a dynamic manner}
 \\ \hline
 
 
-\parbox{90pt}{Robustness} &
-\parbox{110pt}{How well system performs under hostile attacks/in the case of 
severe failure ?} &
-\parbox{110pt}{Self-tuning, backup links, use diverse routing paths, power-law 
networks/properties} &
-\parbox{110pt}{Working solutions}
+\parbox{37pt}{Freenet} &
+\parbox{37pt}{$O(1)$} &
+\parbox{37pt}{$O(1)$} &
+\parbox{37pt}{$O(n)$} &
+\parbox{85pt}{Typical configuration e.g., {4--150}} &
+\parbox{85pt}{Average lookup performance is $O(\log{n})$ with tens of 
thousands concurrent users, beyond that, the performace is $O(n)$}
 \\ \hline
 
 
-\parbox{90pt}{Quality of Service} &
-\parbox{110pt}{The system can only provide (at most) best effort services)} &
-\parbox{110pt}{Use network proximity for better network performance 
(bandwidth, latency, jitter, packet loss)} &
-\parbox{110pt}{Increases system complexity, some initial experiences, need 
more research}
+\parbox{37pt}{Gnutella} &
+\parbox{37pt}{$O(1)$} &
+\parbox{37pt}{$O(1)$} &
+\parbox{37pt}{$O(n)$} &
+\parbox{85pt}{Typical configuration is 5 connections (2*5=10 total), however, 
depends on implementation} &
+\parbox{85pt}{Number of messages can grow as fast as $O(n^{2})$}
 \\ \hline
 
 
-\parbox{90pt}{Data availability/persistency} &
-\parbox{110pt}{Data might be temporarily unavailable, or lost permanently} &
-\parbox{110pt}{Data caching, data replication} &
-\parbox{110pt}{Working solutions, but creates more traffic and overhead per 
node}
+\parbox{37pt}{Kademlia} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{85pt}{$2(\log{n})$} &
+\parbox{85pt}{There is no action required when nodes leaves the system}
 \\ \hline
 
 
-\parbox{90pt}{Network proximity} &
-\parbox{110pt}{Can we take account the underlying network's properties better 
when forming overlay network (network-awareness for performance) ?} &
-\parbox{110pt}{Global Network Positioning, Lighthouse technique, trianqulated 
heuristics} &
-\parbox{110pt}{Increases system complexity, no real world experience in a wide 
scale, proposed solutions are susceptible to single point of failure}
+\parbox{37pt}{Kelips} &
+\parbox{37pt}{$O(2(\sqrt{n}*(log^2{n})) + (\sqrt{n} + (log^3{n})))$} &
+\parbox{37pt}{$O$($\sqrt{n}$)} &
+\parbox{37pt}{$O(1)$} &
+\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}{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}
 \\ \hline
 
-
-\parbox{90pt}{Locality} &
-\parbox{110pt}{Could DHTs exploit locality properties better ?} &
-\parbox{110pt}{Constrained Load Balancing, using network properties for 
nearest neighbor selection, self-organizing clusters} &
-\parbox{110pt}{Working solutions}
+\parbox{37pt}{Koorde} &
+\parbox{37pt}{$O(\log^2{n})$} &
+\parbox{37pt}{$O(1)$ or $O(\log{n})$} &
+\parbox{37pt}{$O(\log{n})$ or $O(\frac{\log{n}}{\log{}\log{n}})$} &
+\parbox{85pt}{$2(\log{n})$} &
+\parbox{85pt}{Based on Chord protocol, uses de Bruijn graphs for better 
efficiency/fault-tolerance}
 \\ \hline
 
-
-\parbox{90pt}{Hotspots} &
-\parbox{110pt}{What will happen if some resource is extremely popular and only 
one node is hosting it ?} &
-\parbox{110pt}{Caching, multisource downloads, replication, load balancing, 
sloppy hashing} &
-\parbox{110pt}{For query hotspots, caching and multisource downloads 
efficiently reduces hotspots, for routing hotspots, benefits are smaller}
+\parbox{37pt}{ODHDHT} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{85pt}{$2(\log{n})$} &
+\parbox{85pt}{There are two lookup algorithms. The other is $O(\log{n})$, 
which is robus under random deletion. The second is $O(\log^2{n})$, which is 
also robust under spam generating model}
+\\ \hline
+ 
+ 
+\parbox{37pt}{Pastry} &
+\parbox{37pt}{$O(\log^2{n})$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{85pt}{$(2^{b - 1})\frac{\log{n}}{b}$, where $b$ is a configurable 
parameter for tuning digit-fixing properties (routing table)} &
+\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}
 \\ \hline
 
 
-\parbox{90pt}{Scalability} &
-\parbox{110pt}{Broadcasting doesn't scale when performing searches} &
-\parbox{110pt}{Super peers, peer clusters, mutual index caching} &
-\parbox{110pt}{Better scalability, but not comparable to DHTs}
-\\ \hline
-
-\parbox{90pt}{Load balancing} &
-\parbox{110pt}{Random (but uniformly distributed) identifier selection could 
cause systen imbalance among participants with different capabilities} &
-\parbox{110pt}{Caching, virtual server transfers} &
-\parbox{110pt}{Effective, more research required in fully dynamic environment}
-\\ \hline
-
-\parbox{90pt}{System in flux} &
-\parbox{110pt}{Nodes join and leave system constantly. What about load 
balancing and performance ?} &
-\parbox{110pt}{Half-life phenomenon (for analysis), simple overlay maintenance 
and construction protocol} &
-\parbox{110pt}{Initial theoretical analysis have been created, but not 
comprehensive model for analysing different system states and its variations 
(e.g. complex usage patterns)}
-\\ \hline
-
-
-\end{longtable}
-
-
-\begin{longtable}{|l|l|l|l|}
-\caption[Miscellaneous problems in P2P]{Miscellaneous problems in P2P} 
\label{table_Miscellaneous_problems_p2p} \\
-
-
-\hline 
-\multicolumn{1}{|c|}{\textbf{Problem}} & 
-\multicolumn{1}{c|}{\textbf{Problem description}} & 
-\multicolumn{1}{c|}{\textbf{Solutions}} &
-\multicolumn{1}{c|}{\textbf{Comments/Status}}
-\\ \hline 
-\endfirsthead
-
-\multicolumn{4}{c}%
-{{\tablename\ \thetable{} -- continued from previous page}} \\
-\hline \multicolumn{1}{|c|}{\textbf{Problem}} &
-\multicolumn{1}{c|}{\textbf{Problem description}} &
-\multicolumn{1}{c|}{\textbf{Solutions}} &
-\multicolumn{1}{c|}{\textbf{Comments/Status}} 
-\\ \hline 
-\endhead
-
-\endfoot
-
-
-\parbox{90pt}{Sudden network partition} &
-\parbox{110pt}{Sub network is isolated from other network because of network 
disconnection} &
-\parbox{110pt}{Self-tuning, environment observatorion, localized network 
connection for minimun latency (backup connections)} &
-\parbox{110pt}{Creates more overhead/space requirements per node}
-\\ \hline              
-
-\parbox{90pt}{Fail Stop} &
-\parbox{110pt}{A faulty node stops working} &
-\parbox{110pt}{Failure detectors, informing protocols} &
-\parbox{110pt}{Creates more network traffics, node's information can be 
outdated, failure detectors not reliable}
+\parbox{37pt}{PeerNet} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{85pt}{$O(\log{n})$} &
+\parbox{85pt}{Operates at network layer}
 \\ \hline
 
-
-\parbox{90pt}{Byzantine faults} &
-\parbox{110pt}{Faulty nodes may behave arbitrarily} &
-\parbox{110pt}{Byzantine replication protocols -> get information from 
multiple entities, trust majority's opinion} &
-\parbox{110pt}{Much research has been done on this field, practical solutions, 
decreases system's, performance slighly}
+\parbox{37pt}{Plaxton} &
+\parbox{37pt}{No support} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{85pt}{$O(\log{n})$} &
+\parbox{85pt}{Plaxton's algortihm is designed to operate in static environment 
(e.g., web cache)}
 \\ \hline
 
-
-\parbox{90pt}{Mutual distrust} &
-\parbox{110pt}{Nobody trusts anybody} &
-\parbox{110pt}{Reputation methods, key infrastructures} &
-\parbox{110pt}{Resource demanding, not practical to implement/not working 
solutions, no real world experience in a wide scale}
+\parbox{37pt}{Skip Graphs} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{85pt}{$4r(\log{n}) + (\log{n})$, where r=number of resources 
provided)} &
+\parbox{85pt}{In this approach, node is treated as 'named resource'; in this 
approach, \emph{resources} self-organise (opposite to DHTs)}
 \\ \hline
 
-
-\parbox{90pt}{Lack of motivation to cooperate} &
-\parbox{110pt}{All participants do not behave like they should be, instead 
they go for own profit} &
-\parbox{110pt}{Different reputation methods} &
-\parbox{110pt}{No real world experience in a wide scale}
+\parbox{37pt}{SkipNet} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{85pt}{$2(\log{n})$} &
+\parbox{85pt}{Partially supports underlying network's locality properties} 
 \\ \hline
 
-
-\parbox{90pt}{Heterogeneity} &
-\parbox{110pt}{There are different kind of nodes in the system, in light of 
bandwidth and computing power} &
-\parbox{110pt}{Super peers (broadcasting), cluster (broadcasting) additional 
layer upon DHTs, structural simplicity (DHTs)} &
-\parbox{110pt}{Working solutions, increases system complexity (additional 
layer)}
+\parbox{37pt}{Social} &
+\parbox{37pt}{$O(1)$} &
+\parbox{37pt}{$O(1)$} &
+\parbox{37pt}{$O(n)$} &
+\parbox{85pt}{Can be 1-10000 connections (aka social connections, connections 
are permament)} &
+\parbox{85pt}{Connection number depends on node's memory/network capabilities}
 \\ \hline
 
-
-\parbox{90pt}{Programming guidelines} &
-\parbox{110pt}{Set of programming guidelines/frameworks is needed for better 
interoperability between different systems} &
-\parbox{110pt}{Common frameworks and APIs} &
-\parbox{110pt}{Common framework/API is still missing, a few proposals have 
been made (DHTs)}
+\parbox{37pt}{Symphony} &
+\parbox{37pt}{$O(\log^2{n})$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{85pt}{$2k+2+f$, where k = long range connections, 2 = node's 
neighbors, f = fault-tolerance connections)} &
+\parbox{85pt}{Space can be also $O(1)$. Additional space of $space^2$ can be 
used as a lookahead list for better performance, not necessarily fault-tolerant 
because of constant degree of neighbors}
 \\ \hline
 
-
-\parbox{90pt}{Comprehensive simulations/analysis of peer-to-peer network} &
-\parbox{110pt}{Ability to simulate whole p2p network's usage patterns, network 
traffics, flux state etc} &
-\parbox{110pt}{Use same techniques as simulating/analysing the Internet} &
-\parbox{110pt}{Only small subset of peer-to-peer networks has been able to 
analyse, because of ad hoc properties of network, more poweful solutions needed}
+\parbox{37pt}{SWAN} &
+\parbox{37pt}{$O(1)$} &
+\parbox{37pt}{$O(1)$} &
+\parbox{37pt}{$O(\log^2{n})$} &
+\parbox{85pt}{$r(2b+2s+2l)$ (where r=number of resources provided, b=boot 
connections, s=short range connections, l=long range connections), typical 
connection configuration: 2*(6+7+8)=36} &
+\parbox{85pt}{In this approach, node is treated as 'named resource'; in this 
approach, \emph{resources} self-organise (opposite to DHTs)}
 \\ \hline
 
 
-\parbox{90pt}{Overlay management and health monitoring} &
-\parbox{110pt}{System is self-capable to monitor it's status and health for 
better performance} &
-\parbox{110pt}{Build a metadata overlay atop of structured overlay (such as 
SOMO for structured overlays), make local decisions about overlay 
(unstrucured)} &
-\parbox{110pt}{For structured overlays, efficient and simple to implement, 
fault-tolerance unknowns, for unstructured, not necessarily efficient because 
decisions are based on local knowledge}
+\parbox{37pt}{Tapestry} &
+\parbox{37pt}{$O(\log^2{n})$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{85pt}{$(2^{b - 1})\frac{\log{n}}{b}$, where $b$ is a configurable 
parameter for tuning digit-fixing properties (routing table)} &
+\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}
 \\ \hline
 
-\parbox{90pt}{Locating peer-to-peer network} &
-\parbox{110pt}{How old peers or new peers are able to locate peer-to-peer 
network, if it exists} &
-\parbox{110pt}{Servers maintaining online peers (e.g. gnutellahosts.com), 
peer's history information} &
-\parbox{110pt}{Depends on implementation and purpose of the system, for mobile 
ad hoc networks more research is needed}
+\parbox{37pt}{Viceroy} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{37pt}{$O(1)$} &
+\parbox{37pt}{$O(\log{n})$} &
+\parbox{85pt}{11} &
+\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}
 \\ \hline
 
 
 \end{longtable}
 
+Insert/Delete: 
+Number of messages when a node joins or leaves the network.
+
+Space: 
+Space required for a node's neighbors
 
+Search: 
+Number of messages when an object lookup is performed
 
+\subsection{Differences}
 
 
+\scriptsize
 \begin{longtable}{|l|l|l|}
 \caption[Comparison of Broadicasting and Structured approaches]{Comparison of 
Broadicasting and Structured approaches} 
 \label{table_comparison_approach} \\
@@ -774,248 +551,495 @@
 
 
 
-\begin{longtable}{|l|c|c|c|c|l|}
-\caption[Different peer-to-peer lookup protocols]{Different peer-to-peer 
lookup protocols} 
-\label{table_p2p_protocols} \\
 
-\hline
-\multicolumn{1}{|c|}{\textbf{Protocol}} &
-\multicolumn{1}{c|}{\textbf{Insert/Delete}} & 
-\multicolumn{1}{c|}{\textbf{Space}} & 
-\multicolumn{1}{c|}{\textbf{Lookup}} &
-\multicolumn{1}{c|}{\textbf{\# of network connections}} &
-\multicolumn{1}{c|}{\textbf{Notes}}
-\\ \hline
-\endfirsthead
+\chapter{Open Problems in Peer-to-Peer}
 
-\multicolumn{6}{c}%
-{{\tablename\ \thetable{} -- continued from previous page}} \\
-\hline 
-\multicolumn{1}{|c|}{\textbf{Protocol}} &
-\multicolumn{1}{c|}{\textbf{Insert/Delete}} &
-\multicolumn{1}{c|}{\textbf{Space}} &
-\multicolumn{1}{c|}{\textbf{Lookup}} &
-\multicolumn{1}{c|}{\textbf{\# of network connections}} &
-\multicolumn{1}{c|}{\textbf{Notes}}
-\\ \hline 
-\endhead
+\section{Security problems in Peer-to-Peer}
 
-\endfoot
+\section{Miscellaneous problems in Peer-to-Peer}
 
-\parbox{37pt}{CAN} &
-\parbox{37pt}{$O$($d$)} &
-\parbox{37pt}{$O$($d$)} &
-\parbox{37pt}{$O(dn^{\frac{1}{d}})$} &
-\parbox{85pt}{2$d$} &
-\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}
-\\ \hline
+\section{Performance and usability problems in Peer-to-Peer}
 
-\parbox{37pt}{Chord} &
-\parbox{37pt}{$O(\log^2{n})$} &
-\parbox{37pt}{$O(\log{n}$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{85pt}{2$(\log{n})$} &
-\parbox{85pt}{System's performance may decrease if nodes are not homogeneous 
and nodes join and leave the system in a dynamic manner}
-\\ \hline
+\cite{harren02complex}
 
+\cite{ratnasamy02routing}
 
-\parbox{37pt}{Freenet} &
-\parbox{37pt}{$O(1)$} &
-\parbox{37pt}{$O(1)$} &
-\parbox{37pt}{$O(n)$} &
-\parbox{85pt}{Typical configuration e.g., 4-150} &
-\parbox{85pt}{Average lookup performance is $O(\log{n})$ with tens of 
thousands concurrent users, beyond that, the performace is $O(n)$}
-\\ \hline
+\cite{hildrum02distributedobject}
 
+\cite{oram01harnessingpower}
 
-\parbox{37pt}{Gnutella} &
-\parbox{37pt}{$O(1)$} &
-\parbox{37pt}{$O(1)$} &
-\parbox{37pt}{$O(n)$} &
-\parbox{85pt}{Typical configuration is 5 connections (2*5=10 total), however, 
depends on implementation} &
-\parbox{85pt}{Number of messages can grow as fast as $O(n^{2})$}
-\\ \hline
+\cite{sloppy:iptps03}
 
+\cite{yang02improvingsearch}
 
-\parbox{37pt}{Kademlia} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{85pt}{$2(\log{n})$} &
-\parbox{85pt}{There is no action required when nodes leaves the system}
-\\ \hline
+\cite{daswani03openproblems}
 
+\cite{sit02securitycons}
 
-\parbox{37pt}{Kelips} &
-\parbox{37pt}{$O(2(\sqrt{n}*(log^2{n})) + (\sqrt{n} + (log^3{n})))$} &
-\parbox{37pt}{$O$($\sqrt{n}$)} &
-\parbox{37pt}{$O(1)$} &
-\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}{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}
-\\ \hline
+\cite{lv02searchreplication}
 
-\parbox{37pt}{Koorde} &
-\parbox{37pt}{$O(\log^2{n})$} &
-\parbox{37pt}{$O(1)$ or $O(\log{n})$} &
-\parbox{37pt}{$O(\log{n})$ or $O(\frac{\log{n}}{\log{}\log{n}})$} &
-\parbox{85pt}{$2(\log{n})$} &
-\parbox{85pt}{Based on Chord protocol, uses de Bruijn graphs for better 
efficiency/fault-tolerance}
-\\ \hline
+\cite{libennowell01observations}
 
-\parbox{37pt}{ODHDHT} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{85pt}{$2(\log{n})$} &
-\parbox{85pt}{There are two lookup algorithms. The other is $O(\log{n})$, 
which is robus under random deletion. The second is $O(\log^2{n})$, which is 
also robust under spam generating model}
-\\ \hline
- 
- 
-\parbox{37pt}{Pastry} &
-\parbox{37pt}{$O(\log^2{n})$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{85pt}{$(2^{b - 1})\frac{\log{n}}{b}$, where $b$ is a configurable 
parameter for tuning digit-fixing properties (routing table)} &
-\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}
-\\ \hline
+\cite{krishnamurthy01earlymeasurements}
 
+\cite{golle01incentivesp2p}
 
-\parbox{37pt}{PeerNet} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{85pt}{$O(\log{n})$} &
-\parbox{85pt}{Operates at network layer}
-\\ \hline
+\cite{karger02findingnearest}
 
-\parbox{37pt}{Plaxton} &
-\parbox{37pt}{No support} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{85pt}{$O(\log{n})$} &
-\parbox{85pt}{Plaxton's algortihm is designed to operate in static environment 
(e.g., web cache)}
-\\ \hline
+\cite{cornelli02reputableservents}
 
-\parbox{37pt}{Skip Graphs} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{85pt}{$4r(\log{n}) + (\log{n})$, where r=number of resources 
provided)} &
-\parbox{85pt}{In this approach, node is treated as 'named resource'; in this 
approach, \emph{resources} self-organise (opposite to DHTs)}
+\cite{aberer01trust}
+
+\cite{adamic02localsearch}
+
+\cite{adamic01powerlawsearch}
+
+\cite{saroiu02measurementstudyp2p}
+
+\cite{ripeanu02mappinggnutella}
+
+\cite{kronfol02fasdsearch}
+
+\cite{brinkmann02compactplacement}
+
+\cite{ajmani02conchord}
+
+\cite{362692}
+
+\cite{CuencaAcuna2002DSIWorkshop}
+
+\cite{reiter98crowds}
+
+\cite{352607}
+
+\cite{293447}
+
+\cite{tarzan:ccs9}
+
+\cite{pub00}
+
+\cite{rhea02probabilistic}
+
+\cite{502002}
+
+%dup
+\cite{castro02securitystructured}
+\cite{castro02securerouting}
+
+\cite{zhao02brocade}
+
+\cite{datar02butterflies}
+
+\cite{crespo02semanticoverlay}
+
+\cite{lv02gnutellascalable}
+
+\cite{keleher-02-p2p}
+
+\cite{saia02dynamicfaultcontentnetwork}
+
+\cite{yang02efficientsearch}
+
+%dup
+\cite{liben-nowell02observatorionsp2p}
+\cite{571863}
+
+\cite{lynch02atomicdataaccess}
+
+\cite{yang02comparinghybrid}
+
+\cite{ledlie02selfp2p}
+
+\cite{frise02p2pframework}
+
+\cite{joseph02p2players}
+
+\cite{andrzejak02rangequeries}
+
+\cite{babaoglu02anthill}
+
+\cite{fiat02censorship}
+
+\cite{hearn02mojonation}
+
+\cite{osokine02distnetworks}
+
+\cite{harvey03skipnet1}
+
+\cite{ansaryefficientbroadcast03}
+
+\cite{ng02predicting}
+
+\cite{douceur02sybil}
+
+\cite{castro02networkproximity}
+
+\cite{296824}
+
+\cite{juels99clientpuzzles}
+\cite{357176}
+
+\cite{grahamp2psecurity}
+
+\cite{zhao03api}
+
+\cite{nejdl03accesscontrol}
+
+\cite{bhagwan03availability}
+
+\cite{li03feasibility}
+
+\cite{zhang03somo}
+
+\cite{rao03loadbalancing}
+
+\cite{rhea03benchmarks}
+
+\cite{chord:om_p-meng}
+
+\section{Summary}
+
+\scriptsize
+\begin{longtable}{|l|l|l|l|}
+\caption[Security problems in Peer-to-Peer]{Security problems in Peer-to-Peer} 
\label{table_security_problems_Peer-to-Peer} \\
+
+
+
+\hline 
+\multicolumn{1}{|c|}{\textbf{Problem}} & 
+\multicolumn{1}{c|}{\textbf{Problem description}} & 
+\multicolumn{1}{c|}{\textbf{Solutions}} &
+\multicolumn{1}{c|}{\textbf{Comments/Status}}
+\\ \hline 
+\endfirsthead
+
+\multicolumn{4}{c}%
+{{\tablename\ \thetable{} -- continued from previous page}} \\
+\hline \multicolumn{1}{|c|}{\textbf{Problem}} &
+\multicolumn{1}{c|}{\textbf{Problem description}} &
+\multicolumn{1}{c|}{\textbf{Solutions}} &
+\multicolumn{1}{c|}{\textbf{Comments/Status}} 
+\\ \hline 
+\endhead
+
+\endfoot
+
+
+
+\parbox{90pt}{Query routing} &                 
+\parbox{110pt}{Incorrect forwarding (hostile), incorrect routing (hostile)} &
+\parbox{110pt}{Query monitoring, cross check routing tables, verify routing 
tables, create routing table invariants} &
+\parbox{110pt}{Increases system complexity} 
 \\ \hline
 
-\parbox{37pt}{SkipNet} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{85pt}{$2(\log{n})$} &
-\parbox{85pt}{Partially supports underlying network's locality properties} 
+
+\parbox{90pt}{DoS attack} &
+\parbox{110pt}{Distributed, controlled burden againts specific computer(s)} &
+\parbox{110pt}{Client puzzles, load balancing, traffic measurements, traffic 
models, replication} &
+\parbox{110pt}{Only partial solutions, traffic models most effective}
+\\ \hline 
+
+
+\parbox{90pt}{Sybil attack} &
+\parbox{110pt}{Single hostile entity present multiple entities} &
+\parbox{110pt}{Identify all nodes simultaneously across the system, collect 
pool of nodes which are validated, distributed node ID creation} &
+\parbox{110pt}{Not practically realizable, research focused on persistence, 
not on identity distinction}
+\\ \hline 
+
+
+\parbox{90pt}{Spam attack} &
+\parbox{110pt}{Hostile entity creates false versions of data} &
+\parbox{110pt}{Do not trust to single entity, get information from multiple 
entities, trust on majority's opinion} &
+\parbox{110pt}{Easy to implement, creates more network traffic} 
 \\ \hline
 
-\parbox{37pt}{Social} &
-\parbox{37pt}{$O(1)$} &
-\parbox{37pt}{$O(1)$} &
-\parbox{37pt}{$O(n)$} &
-\parbox{85pt}{Can be 1-10000 connections (aka social connections, connections 
are permament)} &
-\parbox{85pt}{Connection number depends on node's memory/network capabilities}
+
+\parbox{90pt}{Resource spoofing} &
+\parbox{110pt}{Hostile entity gives wrong information about the data which 
entity is responsible for/knows about} &
+\parbox{110pt}{Do not trust to single entity, get information from multiple 
entities, trust on majority's opinion} &
+\parbox{110pt}{Easy to implement, creates more network traffic} 
 \\ \hline
 
-\parbox{37pt}{Symphony} &
-\parbox{37pt}{$O(\log^2{n})$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{85pt}{$2k+2+f$, where k = long range connections, 2 = node's 
neighbors, f = fault-tolerance connections)} &
-\parbox{85pt}{Space can be also $O(1)$. Additional space of $space^2$ can be 
used as a lookahead list for better performance, not necessarily fault-tolerant 
because of constant degree of neighbors}
+
+\parbox{90pt}{Entity identification} &
+\parbox{110pt}{Identify participating entities reliably and efficiently        
} &
+\parbox{110pt}{Digital signatures, key infrastructure} &
+\parbox{110pt}{Not practically realizable}
 \\ \hline
 
-\parbox{37pt}{SWAN} &
-\parbox{37pt}{$O(1)$} &
-\parbox{37pt}{$O(1)$} &
-\parbox{37pt}{$O(\log^2{n})$} &
-\parbox{85pt}{$r(2b+2s+2l)$ (where r=number of resources provided, b=boot 
connections, s=short range connections, l=long range connections), typical 
connection configuration: 2*(6+7+8)=36} &
-\parbox{85pt}{In this approach, node is treated as 'named resource'; in this 
approach, \emph{resources} self-organise (opposite to DHTs)}
+
+\parbox{90pt}{Data integrity/authenticity} &
+\parbox{110pt}{Integrity/originality of data is unknown} &
+\parbox{110pt}{Cryptographic content hashes, key architectures} &
+\parbox{110pt}{For data integrity, there are working solutions, but for data 
authenticity, some of the solutions are partial, which may be practically 
realizable}
 \\ \hline
 
 
-\parbox{37pt}{Tapestry} &
-\parbox{37pt}{$O(\log^2{n})$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{85pt}{$(2^{b - 1})\frac{\log{n}}{b}$, where $b$ is a configurable 
parameter for tuning digit-fixing properties (routing table)} &
-\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{90pt}{Anonymity} &
+\parbox{110pt}{Anonymity cannot be provided in all cases} &
+\parbox{110pt}{Remailers, pre-routing} &
+\parbox{110pt}{Total anonymity cannot be provided yet}
 \\ \hline
 
-\parbox{37pt}{Viceroy} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{37pt}{$O(1)$} &
-\parbox{37pt}{$O(\log{n})$} &
-\parbox{85pt}{11} &
-\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{90pt}{Malicious nodes} &
+\parbox{110pt}{How to identify malicious nodes in the system} &
+\parbox{110pt}{Create invariants for node behaviour, verify invariants, 
self-certifying data} &
+\parbox{110pt}{Partial solutions, self-certifying data most realiable}
+\\ \hline
+
+
+\parbox{90pt}{Access Control} &
+\parbox{110pt}{Can we define access control levels in Peer-to-Peer network ?} &
+\parbox{110pt}{Schema-based rules} &
+\parbox{110pt}{Some initial experiences, need more research}
+\\ \hline
+
+
+\parbox{90pt}{Inconsistent behaviour} &
+\parbox{110pt}{Hostile node could act correctly with its neighbors, but 
incorrectly with others} &
+\parbox{110pt}{Public keys, digital signatures} &
+\parbox{110pt}{Not practical approach/working proposal created yet}
+\\ \hline
+
+
+\parbox{90pt}{Hostile groups} &
+\parbox{110pt}{Joining node may join parallel network, formed a group of 
hostile nodes, hostile node(s) controls the construction of the network} &
+\parbox{110pt}{Use trusted nodes, based on history information, Cryptography, 
key infrastructure} &
+\parbox{110pt}{Not 100\% sure if Centreal Authority (CA) is missing, not 
practical approach/working proposal created yet}
+\\ \hline
+
+
+\parbox{90pt}{External security threats} &
+\parbox{110pt}{Viruses, trojans, sniffers} &
+\parbox{110pt}{Data integrity/authenticity, distributed antivirus software} &
+\parbox{110pt}{Not much research has been done on this}
 \\ \hline
 
 
 \end{longtable}
 
-Insert/Delete: 
-Number of messages when a node joins or leaves the network.
+               
+               
+
+
+\begin{longtable}{|l|l|l|l|}
+\caption[Performance and usability problems in Peer-to-Peer]{Performance and 
usability problems in Peer-to-Peer} 
\label{table_performanceusability_problems_Peer-to-Peer} \\
+
+
+\hline 
+\multicolumn{1}{|c|}{\textbf{Problem}} & 
+\multicolumn{1}{c|}{\textbf{Problem description}} & 
+\multicolumn{1}{c|}{\textbf{Solutions}} &
+\multicolumn{1}{c|}{\textbf{Comments/Status}}
+\\ \hline 
+\endfirsthead
+
+\multicolumn{4}{c}%
+{{\tablename\ \thetable{} -- continued from previous page}} \\
+\hline \multicolumn{1}{|c|}{\textbf{Problem}} &
+\multicolumn{1}{c|}{\textbf{Problem description}} &
+\multicolumn{1}{c|}{\textbf{Solutions}} &
+\multicolumn{1}{c|}{\textbf{Comments/Status}} 
+\\ \hline 
+\endhead
+
+\endfoot
+               
+\parbox{90pt}{Searching} &
+\parbox{110pt}{Efficient searching requires exploiting of previous queries} &
+\parbox{110pt}{View trees, bloom filters and its variations} &
+\parbox{110pt}{Effective, but not flexible}
+\\ \hline
+
+
+\parbox{90pt}{Efficient data discovery} &
+\parbox{110pt}{Find resources efficiently, if resource exists (broadcasting)} &
+\parbox{110pt}{Super nodes, node clusters, caching techiques} &
+\parbox{110pt}{More efficient, less network traffic, not comparable to DHT's 
efficiency}
+\\ \hline
+
+
+\parbox{90pt}{Richness of queries} &
+\parbox{110pt}{Query languages should be more powerful} &
+\parbox{110pt}{SQL-like queries} &
+\parbox{110pt}{Hard to implement, increases system complexity, not much 
research has been done}
+\\ \hline
+
+
+\parbox{90pt}{Robustness} &
+\parbox{110pt}{How well system performs under hostile attacks/in the case of 
severe failure ?} &
+\parbox{110pt}{Self-tuning, backup links, use diverse routing paths, power-law 
networks/properties} &
+\parbox{110pt}{Working solutions}
+\\ \hline
+
+
+\parbox{90pt}{Quality of Service} &
+\parbox{110pt}{The system can only provide (at most) best effort services)} &
+\parbox{110pt}{Use network proximity for better network performance 
(bandwidth, latency, jitter, packet loss)} &
+\parbox{110pt}{Increases system complexity, some initial experiences, need 
more research}
+\\ \hline
+
+
+\parbox{90pt}{Data availability/persistency} &
+\parbox{110pt}{Data might be temporarily unavailable, or lost permanently} &
+\parbox{110pt}{Data caching, data replication} &
+\parbox{110pt}{Working solutions, but creates more traffic and overhead per 
node}
+\\ \hline
+
+
+\parbox{90pt}{Network proximity} &
+\parbox{110pt}{Can we take account the underlying network's properties better 
when forming overlay network (network-awareness for performance) ?} &
+\parbox{110pt}{Global Network Positioning, Lighthouse technique, trianqulated 
heuristics} &
+\parbox{110pt}{Increases system complexity, no real world experience in a wide 
scale, proposed solutions are susceptible to single point of failure}
+\\ \hline
+
+
+\parbox{90pt}{Locality} &
+\parbox{110pt}{Could DHTs exploit locality properties better ?} &
+\parbox{110pt}{Constrained Load Balancing, using network properties for 
nearest neighbor selection, self-organizing clusters} &
+\parbox{110pt}{Working solutions}
+\\ \hline
+
+
+\parbox{90pt}{Hotspots} &
+\parbox{110pt}{What will happen if some resource is extremely popular and only 
one node is hosting it ?} &
+\parbox{110pt}{Caching, multisource downloads, replication, load balancing, 
sloppy hashing} &
+\parbox{110pt}{For query hotspots, caching and multisource downloads 
efficiently reduces hotspots, for routing hotspots, benefits are smaller}
+\\ \hline
+
+
+\parbox{90pt}{Scalability} &
+\parbox{110pt}{Broadcasting doesn't scale when performing searches} &
+\parbox{110pt}{Super peers, peer clusters, mutual index caching} &
+\parbox{110pt}{Better scalability, but not comparable to DHTs}
+\\ \hline
+
+\parbox{90pt}{Load balancing} &
+\parbox{110pt}{Random (but uniformly distributed) identifier selection could 
cause systen imbalance among participants with different capabilities} &
+\parbox{110pt}{Caching, virtual server transfers} &
+\parbox{110pt}{Effective, more research required in fully dynamic environment}
+\\ \hline
+
+\parbox{90pt}{System in flux} &
+\parbox{110pt}{Nodes join and leave system constantly. What about load 
balancing and performance ?} &
+\parbox{110pt}{Half-life phenomenon (for analysis), simple overlay maintenance 
and construction protocol} &
+\parbox{110pt}{Initial theoretical analysis have been created, but not 
comprehensive model for analysing different system states and its variations 
(e.g. complex usage patterns)}
+\\ \hline
+
+
+\end{longtable}
+
+
+
+
+\begin{longtable}{|l|l|l|l|}
+\caption[Miscellaneous problems in Peer-to-Peer]{Miscellaneous problems in 
Peer-to-Peer} \label{table_Miscellaneous_problems_Peer-to-Peer} \\
+
+
+\hline 
+\multicolumn{1}{|c|}{\textbf{Problem}} & 
+\multicolumn{1}{c|}{\textbf{Problem description}} & 
+\multicolumn{1}{c|}{\textbf{Solutions}} &
+\multicolumn{1}{c|}{\textbf{Comments/Status}}
+\\ \hline 
+\endfirsthead
+
+\multicolumn{4}{c}%
+{{\tablename\ \thetable{} -- continued from previous page}} \\
+\hline \multicolumn{1}{|c|}{\textbf{Problem}} &
+\multicolumn{1}{c|}{\textbf{Problem description}} &
+\multicolumn{1}{c|}{\textbf{Solutions}} &
+\multicolumn{1}{c|}{\textbf{Comments/Status}} 
+\\ \hline 
+\endhead
+
+\endfoot
+
+
+\parbox{90pt}{Sudden network partition} &
+\parbox{110pt}{Sub network is isolated from other network because of network 
disconnection} &
+\parbox{110pt}{Self-tuning, environment observatorion, localized network 
connection for minimun latency (backup connections)} &
+\parbox{110pt}{Creates more overhead/space requirements per node}
+\\ \hline              
+
+\parbox{90pt}{Fail Stop} &
+\parbox{110pt}{A faulty node stops working} &
+\parbox{110pt}{Failure detectors, informing protocols} &
+\parbox{110pt}{Creates more network traffics, node's information can be 
outdated, failure detectors not reliable}
+\\ \hline
+
+
+\parbox{90pt}{Byzantine faults} &
+\parbox{110pt}{Faulty nodes may behave arbitrarily} &
+\parbox{110pt}{Byzantine replication protocols -> get information from 
multiple entities, trust majority's opinion} &
+\parbox{110pt}{Much research has been done on this field, practical solutions, 
decreases system's, performance slighly}
+\\ \hline
+
+
+\parbox{90pt}{Mutual distrust} &
+\parbox{110pt}{Nobody trusts anybody} &
+\parbox{110pt}{Reputation methods, key infrastructures} &
+\parbox{110pt}{Resource demanding, not practical to implement/not working 
solutions, no real world experience in a wide scale}
+\\ \hline
+
+
+\parbox{90pt}{Lack of motivation to cooperate} &
+\parbox{110pt}{All participants do not behave like they should be, instead 
they go for own profit} &
+\parbox{110pt}{Different reputation methods} &
+\parbox{110pt}{No real world experience in a wide scale}
+\\ \hline
+
+
+\parbox{90pt}{Heterogeneity} &
+\parbox{110pt}{There are different kind of nodes in the system, in light of 
bandwidth and computing power} &
+\parbox{110pt}{Super peers (broadcasting), cluster (broadcasting) additional 
layer upon DHTs, structural simplicity (DHTs)} &
+\parbox{110pt}{Working solutions, increases system complexity (additional 
layer)}
+\\ \hline
+
+
+\parbox{90pt}{Programming guidelines} &
+\parbox{110pt}{Set of programming guidelines/frameworks is needed for better 
interoperability between different systems} &
+\parbox{110pt}{Common frameworks and APIs} &
+\parbox{110pt}{Common framework/API is still missing, a few proposals have 
been made (DHTs)}
+\\ \hline
+
+
+\parbox{90pt}{Comprehensive simulations/analysis of Peer-to-Peer network} &
+\parbox{110pt}{Ability to simulate whole Peer-to-Peer network's usage 
patterns, network traffics, flux state etc} &
+\parbox{110pt}{Use same techniques as simulating/analysing the Internet} &
+\parbox{110pt}{Only small subset of Peer-to-Peer networks has been able to 
analyse, because of ad hoc properties of network, more poweful solutions needed}
+\\ \hline
+
+
+\parbox{90pt}{Overlay management and health monitoring} &
+\parbox{110pt}{System is self-capable to monitor it's status and health for 
better performance} &
+\parbox{110pt}{Build a metadata overlay atop of structured overlay (such as 
SOMO for structured overlays), make local decisions about overlay 
(unstrucured)} &
+\parbox{110pt}{For structured overlays, efficient and simple to implement, 
fault-tolerance unknowns, for unstructured, not necessarily efficient because 
decisions are based on local knowledge}
+\\ \hline
+
+\parbox{90pt}{Locating Peer-to-Peer network} &
+\parbox{110pt}{How old peers or new peers are able to locate Peer-to-Peer 
network, if it exists} &
+\parbox{110pt}{Servers maintaining online peers (e.g. gnutellahosts.com), 
peer's history information} &
+\parbox{110pt}{Depends on implementation and purpose of the system, for mobile 
ad hoc networks more research is needed}
+\\ \hline
+
+
+\end{longtable}
+
+
+
 
-Space: 
-Space required for a node's neighbors
 
-Search: 
-Number of messages when an object lookup is performed
 
-\begin{figure}
-\centering
-\includegraphics[width=10cm, height=8cm]{application_level_overlay.eps}
-\caption{P2P Application Level Overlay}
-\label{fig:application_level}
-\end{figure}
 
 
-\begin{figure}
-\centering
-\includegraphics[width=14cm, height=8cm]{structured_overlay.eps}
-%\includegraphics[width=14cm, height=8cm]{application_level_overlay.eps}
-\caption{Generation of structured overlay network}
-\label{fig:structured_hashing}
-\end{figure}
 
-\begin{figure}
-\centering
-\includegraphics[width=6cm, height=6cm]{gnutella_overlay.eps}
-\caption{Gnutella overlay network}
-\label{fig:gnutella_overlay}
-\end{figure}
 
-\begin{figure}
-\centering
-\includegraphics[width=8cm, height=6cm]{gnutella_overlay_supernodes.eps}
-\caption{Gnutella overlay network with super nodes}
-\label{fig:gnutella_overlay_supernodes}
-\end{figure}
 
-\begin{figure}
-\centering
-\includegraphics[width=10cm, height=6cm]{gnutella_overlay_clusters.eps}
-\caption{Gnutella overlay network with 2-redundant super node clusters}
-\label{fig:gnutella_overlay_cluster}
-\end{figure}
 
-\begin{figure}
-\centering
-\includegraphics[width=8cm, height=6cm]{gnutella_query.eps}
-\caption{Basic Gnutella query}
-\label{fig:gnutella_query}
-\end{figure}
 
 
-\begin{figure}
-\centering
-\includegraphics[width=8cm, height=6cm]{structured_query.eps}
-\caption{Simplified structured system's query}
-\label{fig:structured_query}
-\end{figure}
 
 \begin{figure}
 \centering
@@ -1032,25 +1056,26 @@
 \end{figure}
 
 
-\chapter{Gzz System}
-
-\section{Overview of Gzz}
+\chapter{Overview of Gzz}
 
 \section{Objectives}
 
-\section{Xanalogical model}
-
-\section{ZigZag hyperstructure}
+\cite{thompson01hypermedia}
+\cite{wiil02p2phypertext}
+\cite{bouvin02openhypermedia}
 
-\subsection{Cells}
+\section{Xanalogical model}
 
-\subsection{Dimensions}
+\cite{nelson99xanalogicalneeded}
 
 \section{Storm}
 
-\subsection{Blocks}
+\cite{lukka02freenetguids}
 
+\subsection{Block storage}
 
+\cite{benja02urn5}
+\cite{balakrishnan03semanticfree}
 
 \chapter{Evaluation of Peer-to-Peer for Gzz}
 
@@ -1062,10 +1087,14 @@
 
 \section{Special needs}
 
+\cite{bittorrenturl}
+\cite{maymounkov03ratelesscodes}
+
 \section{Existing file sharing systems and Gzz}
 
 \section{Possible problems}
 
+\cite{gribble01p2pdatabase}
 
 \chapter{Conclusion} 
 
Index: gzz/Documentation/misc/hemppah-progradu/progradu.bib
diff -u gzz/Documentation/misc/hemppah-progradu/progradu.bib:1.73 
gzz/Documentation/misc/hemppah-progradu/progradu.bib:1.74
--- gzz/Documentation/misc/hemppah-progradu/progradu.bib:1.73   Wed Feb 19 
05:04:11 2003
+++ gzz/Documentation/misc/hemppah-progradu/progradu.bib        Wed Feb 19 
08:58:16 2003
@@ -193,7 +193,7 @@
 
 %Problems related to p2p systems
 @inproceedings{daswani03openproblems,
-       author = {Daswani, Neil; Garcia-Molina, Hector; Yang, Beverly},
+       author = {Neil Daswani, Hector Garcia-Molina, Beverly Yang},
        title = {Open Problems in Data-sharing Peer-to-peer Systems},
        booktitle = {Proceedings of ICDT 2003},
        abstract = { In a Peer-To-Peer (P2P) system, autonomous computers pool 
their resources 
@@ -228,6 +228,8 @@
        howpublished = {http://www.shareaza.com}
 }
 
+%WOW!
+
 @misc{fasttrackurl,
        key = {FastTrack},
        title = {FastTrack},
@@ -542,7 +544,7 @@
 
 %Search methods in p2p networks
 @misc{adamic02localsearch,
-       author = {Lada A. Adamic, Rajan M. Lukose, Bernardo A. Huberman},
+       author = {Lada A. Adamic and Rajan M. Lukose and Bernardo A. Huberman},
        title = {Local Search in Unstructured Networks},
        booktitle = {Review chapter to appear in: 'Handbook of Graphs and 
Networks: From the Genome to the Internet},   
        year = {2002},
@@ -552,12 +554,14 @@
 }
 
 %Search methods in p2p networks (power law)
address@hidden,
-       author = {Lada A. Adamic, Rajan M. Lukose, Amit R. Puniyani, Bernardo 
A. Huberman},
-       title = {Search in power-law networks},
-       booktitle = {Phys. Rev. E 64, 046135},
address@hidden,
+       author = {Lada A. Adamic and Rajan M. Lukose and Amit R. Puniyani and 
Bernardo A. Huberman},
+       title = {Search in power-law networks}, 
+       journal = {Physical Review E},
+       volume = {64},
+       number = {046135},
        pages = {8},
-       year = {2001},
+       year = {2001},  
        url = {http://www.hpl.hp.com/shl/papers/plsearch/PRE46135.pdf}
 }
 
@@ -568,7 +572,7 @@
        booktitle = {Proceedings of the Second Workshop on Infrastructure for 
Agents, MAS and Scalable MAS at the Fourth International Conference on 
Autonomous Agents (ICMAS2001)},
        pages = {209-217},
        year = {2001},
-       url = {http://www.cs.cf.ac.uk/User/O.F.Rana/agents2001/ 
papers/13_gibbins_hall.pdf}
+       url = 
{http://www.cs.cf.ac.uk/User/O.F.Rana/agents2001/papers/13_gibbins_hall.pdf}    
  
 }
 
 %Analysis about p2p systems
@@ -591,7 +595,7 @@
        isbn = {1-58113-099-6},
        pages = {229--237},
        location = {Atlanta, Georgia, United States},
-       url = {http://www.cs.ucsd.edu/~savage/cse291/ 
papers/Harchol-Balter99.pdf},
+       url = 
{http://www.cs.ucsd.edu/~savage/cse291/papers/Harchol-Balter99.pdf},
        publisher = {ACM Press},
  }
 
@@ -614,8 +618,7 @@
        Volume = {6},
        Number = {1},
        Month =  {Jan./Feb.},
-        Year = {2002},
-        Month = {Aug},
+        Year = {2002},        
        url = {http://www.cs.rice.edu/Conferences/IPTPS02/128.pdf}
 }
 
@@ -631,11 +634,12 @@
 }
 
 %Search engine built on Freenet p2p system
address@hidden,
address@hidden,
        author = {Amr Z. Kronfol},
-       title = {FASD: A Fault-tolerant, Adaptive, Scalable, Distributed Search 
Engine},        
-       year = {2002},
-       howpublished = {http://freenetproject.org/twiki/Main/ 
FASD/kronfol_final_thesis.pdf} 
+       title = {{FASD}: A Fault-tolerant, Adaptive, Scalable, Distributed 
Search Engine},
+       school = {Princeton University},
+       month = {May},          
+       year = {2002}
 }
 
 
@@ -880,6 +884,7 @@
        
 }
 
+%WOW!
 %BitTorrent - tool 
 @misc{bittorrenturl,
        key = {BitTorrent},
@@ -1011,7 +1016,7 @@
 
 @inproceedings{gribble01p2pdatabase,
        title = {What Can Peer-to-Peer Do for Databases, and Vice Versa?},
-       author = {Steven Gribble, Alon Halevy, Zachary Ives, Maya Rodrig, and 
Dan Suciu},
+       author = {Steven Gribble and Alon Halevy and Zachary Ives and Maya 
Rodrig and Dan Suciu},
        booktitle = {In Proceedings of the Fourth International Workshop on the 
Web and Databases (WebDB'2001)},
        year = {2001},
        month = {may},
@@ -1024,7 +1029,7 @@
        howpublished = {http://www.internet2.edu}
 }
 
address@hidden dingledine00free,
address@hidden,
        author = "Roger Dingledine and Michael J. Freedman and David Molnar",
        title = "The Free Haven Project: Distributed Anonymous Storage Service",
        booktitle = "Workshop on Design Issues in Anonymity and 
Unobservability",
@@ -1047,7 +1052,7 @@
 }
  
 %Web anonymity
address@hidden reiter98crowds,
address@hidden,
        author = "Michael K. Reiter and Aviel D. Rubin",
        title = "Crowds: anonymity for {Web} transactions",
        journal = "ACM Transactions on Information and System Security",
@@ -1086,7 +1091,7 @@
 }
 
 %Publius publishing system
address@hidden pub00,
address@hidden,
        author =       {Marc Waldman, Aviel D. Rubin and Lorrie Faith Cranor},
        title =        {Publius: A robust, tamper-evident, censorship-resistant,
                        web publishing system },
@@ -1120,7 +1125,7 @@
 }
 
 %The Small world problem
address@hidden adamic99small,
address@hidden,
        author = "Lada A. Adamic",
        title = "The Small World Web",
        booktitle = "Proc. 3rd European Conf. Research and Advanced Technology 
for Digital Libraries, {ECDL}",
@@ -1201,7 +1206,7 @@
 %Security considerations for structured peer-to-peer overlay networks
 @misc{castro02securitystructured, 
        title = "Security for structured peer-to-peer overlay networks", 
-       author = {M. Castro, P. Druschel, A. Ganesh, A. Rowstron, and D. 
Wallach},
+       author = {M. Castro and P. Druschel and A. Ganesh and A. Rowstron and 
and D. Wallach},
        booktitle = {Fifth Symposium on Operating Systems Design and 
Implementation (OSDI'02)},
        location = {Boston, MA},
        month = {December},
@@ -1342,14 +1347,14 @@
 
 @inProceedings{saia02dynamicfaultcontentnetwork,
        title = "Dynamically Fault-Tolerant Content Addressable Networks",
-       author = "Jared Saia, Amos Fiat, Steven Gribble, Anna Karlin, Stefan 
Saroiu",
+       author = "Jared Saia and Amos Fiat and Steven Gribble and Anna Karlin 
and Stefan Saroiu",
        booktitle = {The 1st International Workshop on Peer-to-Peer Systems 
(IPTPS'02)},
        month = {March},
        year = {2002},
        url = {http://www.cs.rice.edu/Conferences/IPTPS02/180.pdf}
 }
 
address@hidden,
address@hidden,
        title = "Efficient search in peer-to-peer networks.",
        author = "Beverly Yang, Hector Garcia-Molina",
        booktitle = {In Proceedings of the 22nd IEEE International Conference 
on Distributed Computing Systems (ICDCS)},
@@ -1367,7 +1372,7 @@
        url = {http://www.cs.rice.edu/Conferences/IPTPS02/187.pdf}
 }
 
address@hidden,
address@hidden,
        title = "Atomic Data Access in Content Addressable Networks",
        author = "Nancy Lynch, Dahlia Malkhi and David Ratajczak",
        booktitle = {The 1st International Workshop on Peer-to-Peer Systems 
(IPTPS'02)},
@@ -1399,7 +1404,7 @@
  
 @inProceedings{ledlie02selfp2p,
        title = "Self-Organization in Peer-to-Peer Systems",
-       author = "Jonathan Ledlie, Jacob Taylor, Laura Serban, Margo Seltzer",
+       author = "Jonathan Ledlie and Jacob Taylor and Laura Serban and Margo 
Seltzer",
        booktitle = {In Proceedings of the 10th ACM SIGOPS European Workshop},
        location = {Saint-?milion, France},
        month = {September},    
@@ -1408,7 +1413,7 @@
 }
 
 @inProceedings{castro02securerouting,
-       author = {Miguel Castro, Peter Druschel, Ayalvadi Ganesh, Antony 
Rostron, Dan S. Wallach},
+       author = {Miguel Castro and Peter Druschel and Ayalvadi Ganesh and 
Antony Rostron and Dan S. Wallach},
        title = {Secure Routing for Structured Peer-to-Peer Overlay Networks},
        booktitle = {Proceedings of the 5th Usenix Symposium on Operating 
Systems Design and Implementation},
        location = {Boston, MA},
@@ -1417,8 +1422,9 @@
        url = {http://www.cs.rice.edu/~dwallach/pub/osdi2002.pdf}       
 }
 
+%WOW!
 @inProceedings{frise02p2pframework,
-       author = {T. Friese, B. Freisleben, S. Rusitschka, A. Southhall},
+       author = {T. Friese and B. Freisleben and S. Rusitschka and A. 
Southhall},
        title = {A Framework for Resource Management in Peer-to-Peer Networks},
        booktitle = {In the Proceedings of NetObjectdays 2002},
        month = {October},
@@ -1427,7 +1433,7 @@
 }
 
 @inProceedings{schlosser-scalable,
-       author = "Mario Schlosser, Michael Sintek, Stefan Decker, Wolfgang 
Nejdl",
+       author = "Mario Schlosser and Michael Sintek and Stefan Decker and 
Wolfgang Nejdl",
        title = "A Scalable and Ontology-Based P2P Infrastructure for Semantic 
Web Services",
        booktitle = "In Proceedings of the Second IEEE International Conference 
on Peer-to-Peer Computing (P2P2002)",
        month = {September},
@@ -1517,15 +1523,15 @@
 
 @misc{urn-5,
        key = {urn-5 namespace},
-       title = {urn-5 namespace}
+       title = {urn-5 namespace},
        howpublished = {http://www.iana.org/assignments/urn-informal/urn-5}
 }
 
 @inproceedings{AspnesS2003,
        title="Skip Graphs",
        author="James Aspnes and Gauri Shah",
-       booktitle="Fourteenth Annual ACM-SIAM Symposium on Discrete Algorithms".
-       month={12--14~} #jan,
+       booktitle="Fourteenth Annual ACM-SIAM Symposium on Discrete Algorithms",
+       month={12--14~},
        year="2003",
        address={Baltimore, MD, USA},
 } 
@@ -1574,14 +1580,6 @@
        publisher = {ACM Press},
 }
 
address@hidden, 
-       author = {Bryce Wilcox-O'Hearn},
-       title = {Experiences Deploying a Large-Scale Emergent Network},
-       booktitle = {The 1st International Workshop on Peer-to-Peer Systems 
(IPTPS'02)},
-       month = {March},
-       year = {2002},
-       url = {http://www.cs.rice.edu/Conferences/IPTPS02/188.pdf}      
-}
 
 @misc{osokine02distnetworks,
        author = {Serguei Osokine},
@@ -1620,7 +1618,7 @@
 
 
 @inproceedings{harvey03skipnet1,
-       author = {Nicholas J. A. Harvey, Michael B. Jones, Marvin Theimer, Alec 
Wolman},
+       author = {Nicholas J. A. Harvey and Michael B. Jones and Marvin Theimer 
and Alec Wolman},
        title = {Efficient Recovery From Organizational Disconnects in SkipNet},
        booktitle = {The 2nd International Workshop on Peer-to-Peer Systems 
(IPTPS'03)},
        month = {Mar},
@@ -1629,7 +1627,7 @@
 }
 
 @inproceedings{ansaryefficientbroadcast03,
-       author = {Sameh El-Ansary, Luc Onana Alima, Per Brand, Seif Haridi},
+       author = {Sameh El-Ansary and Luc Onana Alima and Per Brand and Seif 
Haridi},
        title = {Efficient Broadcast in Stuctured P2P Networks},
        booktitle = {The 2nd International Workshop on Peer-to-Peer Systems 
(IPTPS'03)},
        month = {Mar},
@@ -1638,7 +1636,7 @@
 }
 
 @inproceedings{harvey03skipnet2,
-       author = {Nicholas J.A. Harvey, Michael B. Jones, Stefan Saroiu, Marvin 
Theimer, Alec Wolman},
+       author = {Nicholas J.A. Harvey and Michael B. Jones and Stefan Saroiu 
and Marvin Theimer and Alec Wolman},
        title = {SkipNet: A Scalable Overlay Network with Practical Locality 
Properties},
        booktitle = {In proceedings of the 4th USENIX Symposium on Internet 
Technologies and System (USITS '03)},
        month = {March},
@@ -1693,7 +1691,7 @@
 }
 
 @inproceedings{pias03lighthouse,
-       author = {Marcelo Pias, Jon Crowcroft, Steve Wilbur, Tim Harris, Saleem 
Bhatti},
+       author = {Marcelo Pias and Jon Crowcroft and Steve Wilbur and Tim 
Harris and Saleem Bhatti},
        title = {Lighthouses for Scalable Distributed Location},
        booktitle = {The 2nd International Workshop on Peer-to-Peer Systems 
(IPTPS'03)},
        month = {February},
@@ -1711,7 +1709,7 @@
 }
 
 @inproceedings{gupta03kelips,
-       author = {Indranil Gupta, Ken Birman, Prakash Linga, Al Demers, Robbert 
van Renesse},
+       author = {Indranil Gupta and Ken Birman and Prakash Linga and Al Demers 
and Robbert van Renesse},
        title = {Kelips: Building an Efficient and Stable P2P DHT Through 
Increased Memory and Background Overhead},
        booktitle = {The 2nd International Workshop on Peer-to-Peer Systems 
(IPTPS'03)},
        month = {February},
@@ -1747,7 +1745,7 @@
 }
 
 @techreport{castro02networkproximity,
-       author = {Miguel Castro, Peter Druschel, Y. Charlie Hu, Antony 
Rowstron},       
+       author = {Miguel Castro and Peter Druschel and Y. Charlie Hu and Antony 
Rowstron},      
        title = {Exploiting network proximity in peer-to-peer overlay networks},
        number = {MSR-TR-2002-82},
        institution = {Microsoft Research},     
@@ -1798,7 +1796,7 @@
 }
 
 @misc{zhao03api,
-       author = "Frank Dabek, Ben Zhao, Peter Druschel, Ion Stoica",
+       author = "Frank Dabek and Ben Zhao and Peter Druschel and Ion Stoica",
        title = "A Common API for Structured Peer to Peer Overlays",
        howpublished = "Talk at OceanStore/ROC/Sahara Winter Retreat", 
        month = jan,
@@ -1808,11 +1806,11 @@
 
 %Schema based access control
 @misc{nejdl03accesscontrol,
-       author = {Wolfgang Nejdl, Wolf Siberski, Martin Wolpers, Alexander 
Löser},
+       author = {Wolfgang Nejdl and Wolf Siberski and Martin Wolpers and 
Alexander Löser},
        title = {Information Integration in Schema-Based Peer-To-Peer Networks},
        booktitle = {Submitted at the 15th Conference On Advanced Information 
Systems Engineering(CAiSE)},
        year = {2003},
-       location = {Klagenfurt/Velden Austria}
+       location = {Klagenfurt/Velden Austria},
        howpublished = 
{http://cis.cs.tu-berlin.de/~aloeser/gk/publications/Caise03_submission_Loeser_Nejdl_Wolpers_Siberski.PDF}
 }
 
@@ -1836,7 +1834,7 @@
 }
 
 @inproceedings{li03feasibility,
-       author = {Jinyang Li, Boon Thau Loo, Joe Hellerstein, Frans Kaashoek, 
David R. Karger, Robert Morris},
+       author = {Jinyang Li and Boon Thau Loo and Joe Hellerstein and Frans 
Kaashoek and David R. Karger and Robert Morris},
        title = {On the Feasibility of Peer-to-Peer Web Indexing and Search},
        booktitle = {The 2nd International Workshop on Peer-to-Peer Systems 
(IPTPS'03)},
        month = {February},
@@ -1872,7 +1870,7 @@
 }
 
 @inproceedings{rao03loadbalancing,
-       author = {Ananth Rao, Karthik Lakshminarayanan, Sonesh Surana, Richard 
Karp, Ion Stoica},
+       author = {Ananth Rao and Karthik Lakshminarayanan and Sonesh Surana and 
Richard Karp and Ion Stoica},
        title = {Load Balancing in Structured P2P Systems},
        booktitle = {The 2nd International Workshop on Peer-to-Peer Systems 
(IPTPS'03)},
        month = {February},
@@ -1889,14 +1887,6 @@
        url = {http://iptps03.cs.berkeley.edu/final-papers/benchmark.ps}
 }
 
address@hidden,
-       author = {Michael Freedman, David Mazieres},
-       title = {Sloppy hashing and self-organizing clusters},
-       booktitle = {The 2nd International Workshop on Peer-to-Peer Systems 
(IPTPS'03)},
-       month = {February},
-       year = {2003},  
-       url = {http://iptps03.cs.berkeley.edu/final-papers/coral.pdf}
-}
 
 @inproceedings{debruijn46graph,
        author = {N.G. Bruijn},
@@ -1916,7 +1906,7 @@
 }
 
 @article{balakrishanarticle03lookupp2p,
-        author = {Hari Balakrishnan, M. Frans Kaashoek, David Karger, Robert 
Morris, Ion Stoica},
+        author = {Hari Balakrishnan and M. Frans Kaashoek and David Karger and 
Robert Morris and Ion Stoica},
         title = {Looking up data in P2P systems},
         journal = {Communications of the ACM},
         volume = {46},




reply via email to

[Prev in Thread] Current Thread [Next in Thread]