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

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

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

revision 1.211 by hemppah, Thu Oct 9 09:49:00 2003 UTC revision 1.212 by hemppah, Thu Oct 9 09:56:49 2003 UTC
# Line 135  of both the Peer-to-Peer concept and the Line 135  of both the Peer-to-Peer concept and the
135    
136  The most popular form of modern Peer-to-Peer computing is file-sharing. In this scenario,  The most popular form of modern Peer-to-Peer computing is file-sharing. In this scenario,
137  participants of Peer-to-Peer networking share their file resources.  participants of Peer-to-Peer networking share their file resources.
138  This is form of a distributed file system (e.g., \cite{levy90distributedfilesystems}).  This is form of a distributed file system (see \cite{levy90distributedfilesystems}).
139  A modern Peer-to-Peer system is composed of an \emph{application} level overlay network, i.e.,  A modern Peer-to-Peer system is composed of an \emph{application} level overlay network, i.e.,
140  the network operates at the application level and forms a logical network overlay on top of the physical  the network operates at the application level and forms a logical network overlay on top of the physical
141  network with regard to the ISO-OSI reference model (e.g., \cite{800902}). Figure \ref{fig:application_level}  network with regard to the ISO-OSI reference model (see \cite{800902}). Figure \ref{fig:application_level}
142  illustrates the Peer-to-Peer application level overlay network.  illustrates the Peer-to-Peer application level overlay network.
143  Compared to ARPANET's Peer-to-Peer functionality, modern Peer-to-Peer systems  Compared to ARPANET's Peer-to-Peer functionality, modern Peer-to-Peer systems
144  are ad hoc, i.e., peers join and leave the system constantly. Thus, this property  are ad hoc, i.e., peers join and leave the system constantly. Thus, this property
# Line 324  peer identifiers are assigned to partici Line 324  peer identifiers are assigned to partici
324  a large identifier space by the overlay. Globally unique identifiers, known as \emph{keys},  a large identifier space by the overlay. Globally unique identifiers, known as \emph{keys},
325  are also assigned to application-specific data items  are also assigned to application-specific data items
326  that are selected from the same identifier space. For instance, globally unique keys can be created  that are selected from the same identifier space. For instance, globally unique keys can be created
327  using a cryptographic content hash function (e.g., SHA-1 \cite{fips-sha-1}) over the contents of a data item.  using a cryptographic content hash function (see SHA-1 \cite{fips-sha-1}) over the contents of a data item.
328  The form of identifier space differs between proposed systems. A geometrical circular form of identifier space (and variants)  The form of identifier space differs between proposed systems. A geometrical circular form of identifier space (and variants)
329  is most widely used. For instance, Chord \cite{stoica01chord}, Koorde \cite{kaashoek03koorde},  is most widely used. For instance, Chord \cite{stoica01chord}, Koorde \cite{kaashoek03koorde},
330  Pastry \cite{rowston01pastry}, SWAN \cite{bonsma02swan}, Tapestry \cite{zhao01tapestry}  Pastry \cite{rowston01pastry}, SWAN \cite{bonsma02swan}, Tapestry \cite{zhao01tapestry}
# Line 333  value of $n$ varies among systems. On th Line 333  value of $n$ varies among systems. On th
333  model to implement the form of identifier space.  model to implement the form of identifier space.
334    
335  To store data in a tightly structured overlay, each application-specific  To store data in a tightly structured overlay, each application-specific
336  unique key (e.g., SHA-1 \cite{fips-sha-1}) is mapped uniformly (e.g., using consistent  unique key (see SHA-1 \cite{fips-sha-1}) is mapped uniformly (e.g., using consistent
337  hashing \cite{258660}) to an existing peer in the overlay. Thus, a tightly  hashing \cite{258660}) to an existing peer in the overlay. Thus, a tightly
338  structured overlay assigns a subset of all possible keys to every participating peer.  structured overlay assigns a subset of all possible keys to every participating peer.
339  We say that a peer is responsible for the keys that are assigned by the overlay.  We say that a peer is responsible for the keys that are assigned by the overlay.
# Line 369  decreases with a logarithmic efficiency. Line 369  decreases with a logarithmic efficiency.
369  Kademlia \cite{maymounkov02kademlia}, Pastry \cite{rowston01pastry} and Tapestry  Kademlia \cite{maymounkov02kademlia}, Pastry \cite{rowston01pastry} and Tapestry
370  \cite{zhao01tapestry} use balanced k-trees to implement the data structure of the identifier space. Figure  \cite{zhao01tapestry} use balanced k-trees to implement the data structure of the identifier space. Figure
371  \ref{fig:kademlia_lookup} shows the process of Kademlia's  \ref{fig:kademlia_lookup} shows the process of Kademlia's
372  data lookup. Viceroy \cite{malkhi02viceroy} maintains a butterfly data structure (e.g., \cite{226658}),  data lookup. Viceroy \cite{malkhi02viceroy} maintains a butterfly data structure (see \cite{226658}),
373  which requires only a constant number of neighbor peers while providing $O(\log{n})$ data lookup  which requires only a constant number of neighbor peers while providing $O(\log{n})$ data lookup
374  efficiency where $n$ is the number of peers in the system. Koorde \cite{kaashoek03koorde}, a recent modification of Chord, uses de Bruijn graphs  efficiency where $n$ is the number of peers in the system. Koorde \cite{kaashoek03koorde}, a recent modification of Chord, uses de Bruijn graphs
375  \cite{debruijn46graph} to maintain local routing tables. It requires  \cite{debruijn46graph} to maintain local routing tables. It requires
# Line 449  In the DOLR abstraction, a data item is Line 449  In the DOLR abstraction, a data item is
449  In tightly structured systems, messages are routed across the overlay toward peers, whose  In tightly structured systems, messages are routed across the overlay toward peers, whose
450  peer identifier is gradually ''closer'' to the key's identifier  peer identifier is gradually ''closer'' to the key's identifier
451  in the identifier space. The distance can be measured by numerical  in the identifier space. The distance can be measured by numerical
452  difference between identifiers (e.g., Chord \cite{stoica01chord}), number of  difference between identifiers (see Chord \cite{stoica01chord}), number of
453  same prefix bits between identifiers (e.g., Pastry \cite{rowston01pastry} and Tapestry  same prefix bits between identifiers (see Pastry \cite{rowston01pastry} and Tapestry
454  \cite{zhao01tapestry}) or Bit-Wise Exclusive Or (XOR) (e.g., Kademlia \cite{maymounkov02kademlia}).  \cite{zhao01tapestry}) or Bit-Wise Exclusive Or (XOR) (see Kademlia \cite{maymounkov02kademlia}).
455  Chord's \cite{stoica01chord} distance function does have the property of unidirection  Chord's \cite{stoica01chord} distance function does have the property of unidirection
456  (for a given point $p_i$ in the identifier space and distance $d$ > 0, there  (for a given point $p_i$ in the identifier space and distance $d$ > 0, there
457  is exactly one point $p_j$ in a way that the distance between $p_i$ and $p_j$  is exactly one point $p_j$ in a way that the distance between $p_i$ and $p_j$
# Line 836  Various problems apply to both the loose Line 836  Various problems apply to both the loose
836  For instance, since the introduction of Gnutella \cite{gnutellaurl}, the primary concern has been the scalability problem of loosely structured  For instance, since the introduction of Gnutella \cite{gnutellaurl}, the primary concern has been the scalability problem of loosely structured
837  systems. However, the scalability of this loosely structured approach is often misunderstood:  systems. However, the scalability of this loosely structured approach is often misunderstood:
838  the network overlay of loosely structured systems is scalable, but the data lookup model is not, because  the network overlay of loosely structured systems is scalable, but the data lookup model is not, because
839  the data lookup process creates too much extra network traffic (e.g., \cite{yang02improvingsearch}).  the data lookup process creates too much extra network traffic (see \cite{yang02improvingsearch}).
840    
841  In tightly structured systems, the leading objective is to make overlay's data lookup process  In tightly structured systems, the leading objective is to make overlay's data lookup process
842  more fault tolerant against hostile attacks (e.g., \cite{castro02securerouting}). Other key problems in tightly structured  more fault tolerant against hostile attacks (see \cite{castro02securerouting}). Other key problems in tightly structured
843  systems are the lack of keyword searches \cite{harren02complex, ansaryefficientbroadcast03}, support for heterogeneous peers  systems are the lack of keyword searches \cite{harren02complex, ansaryefficientbroadcast03}, support for heterogeneous peers
844  \cite{rowston03controlloingreliability}, and load balancing \cite{balakrishanarticle03lookupp2p, byers03dhtbalancing}.  \cite{rowston03controlloingreliability}, and load balancing \cite{balakrishanarticle03lookupp2p, byers03dhtbalancing}.
845    
# Line 946  peers (e.g., peer identifiers of a tight Line 946  peers (e.g., peer identifiers of a tight
946  Anonymity is widely used in a Peer-to-Peer system in which data publication and non-censorship are important. Forwarding  Anonymity is widely used in a Peer-to-Peer system in which data publication and non-censorship are important. Forwarding
947  proxies are used in Freenet \cite{clarke00freenet}, Crowds \cite{reiter98crowds} and Free Haven \cite{dingledine00free}  proxies are used in Freenet \cite{clarke00freenet}, Crowds \cite{reiter98crowds} and Free Haven \cite{dingledine00free}
948  in order to provide various types of anonymity. Tangler \cite{502002} and Publius \cite{pub00} use cryptographic sharing methods  in order to provide various types of anonymity. Tangler \cite{502002} and Publius \cite{pub00} use cryptographic sharing methods
949  to split data into fragments \cite{Shamir1979a}. Mix mailer networks (e.g., \cite{mixminionurl}) are commonly used in  to split data into fragments \cite{Shamir1979a}. Mix mailer networks (see \cite{mixminionurl}) are commonly used in
950  distributed systems and are able to provide some level of anonymity (e.g., \cite{mneturl}).  distributed systems and are able to provide some level of anonymity (see \cite{mneturl}).
951    
952  Even if many existing Peer-to-Peer systems are able to provide some types of anonymity, no  Even if many existing Peer-to-Peer systems are able to provide some types of anonymity, no
953  current system is able to provide complete anonymity at all levels. Specifically, the conflicts  current system is able to provide complete anonymity at all levels. Specifically, the conflicts
# Line 1250  several studies show, the popularity of Line 1250  several studies show, the popularity of
1250  distributions\footnote{Zipf-distribution is a variant of power-law function.  distributions\footnote{Zipf-distribution is a variant of power-law function.
1251  Zipf-distribution can be used in observing the frequency of occurrence event $E$, as a function of the rank  Zipf-distribution can be used in observing the frequency of occurrence event $E$, as a function of the rank
1252  $i$ when the rank is determined by the frequency of occurrence, is a power-law function $E_i \sim \frac{1}{i^{a}}$,  $i$ when the rank is determined by the frequency of occurrence, is a power-law function $E_i \sim \frac{1}{i^{a}}$,
1253  where the exponent $a$ is close to unity.} (e.g., \cite{breslau98implications}).  where the exponent $a$ is close to unity.} (see \cite{breslau98implications}).
1254  Therefore, according to Li et al., caching and pre-computation can be done for optimizing search indices.  Therefore, according to Li et al., caching and pre-computation can be done for optimizing search indices.
1255  Li et al. use gap compression \cite{wittengigabytes}, adaptive set intersections \cite{338634}    Li et al. use gap compression \cite{wittengigabytes}, adaptive set intersections \cite{338634}  
1256  and clustering with their search optimizations. Regular compression algorithms, Bloom filters \cite{362692}, vector  and clustering with their search optimizations. Regular compression algorithms, Bloom filters \cite{362692}, vector
# Line 1801  addressed, as described in Chapter 3. Th Line 1801  addressed, as described in Chapter 3. Th
1801  tolerance in presence of system flux, non-optimal distance functions in identifier space,  tolerance in presence of system flux, non-optimal distance functions in identifier space,
1802  proximity routing, hostile entities and flexible search \cite{balakrishanarticle03lookupp2p}.  proximity routing, hostile entities and flexible search \cite{balakrishanarticle03lookupp2p}.
1803  Additionally, there are few real world experiments with tightly structured systems  Additionally, there are few real world experiments with tightly structured systems
1804  (e.g., \cite{overneturl, edonkey2kurl}). Therefore, we cannot say explicitly, how well these  (see \cite{overneturl, edonkey2kurl}). Therefore, we cannot say explicitly, how well these
1805  systems would perform in a real Peer-to-Peer environment. However, we believe that these issues will be  systems would perform in a real Peer-to-Peer environment. However, we believe that these issues will be
1806  solved in the near future, since much current research is concentraing on tightly structured  solved in the near future, since much current research is concentraing on tightly structured
1807  overlays \cite{projectirisurl}.  overlays \cite{projectirisurl}.
# Line 1825  locating data efficiently in the Peer-to Line 1825  locating data efficiently in the Peer-to
1825  reasons for this. First, Kademlia's XOR-based distance function is superior  reasons for this. First, Kademlia's XOR-based distance function is superior
1826  to the  distance functions of other systems (see section 2.3.2). Secondly, Kademlia  to the  distance functions of other systems (see section 2.3.2). Secondly, Kademlia
1827  is one of the few tightly structured systems that has been deployed in practical applications  is one of the few tightly structured systems that has been deployed in practical applications
1828  (e.g., \cite{overneturl, edonkey2kurl, kashmirurl,kato02gisp}), which means that  (see \cite{overneturl, edonkey2kurl, kashmirurl,kato02gisp}), which means that
1829  Kademlia's algorithm is simple and easy to implement.  Kademlia's algorithm is simple and easy to implement.
1830    
1831  In addition to Kademlia, we propose the use of sloppy hashing \cite{sloppy:iptps03} which  In addition to Kademlia, we propose the use of sloppy hashing \cite{sloppy:iptps03} which

Legend:
Removed from v.1.211  
changed lines
  Added in v.1.212

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