/[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.155 by hemppah, Tue Mar 18 14:32:00 2003 UTC revision 1.156 by hemppah, Wed Mar 19 09:20:49 2003 UTC
# Line 82  vertaisverkosta Fenfire-tietoa. Line 82  vertaisverkosta Fenfire-tietoa.
82  Peer-to-Peer systems have recently received considerable attention in both  Peer-to-Peer systems have recently received considerable attention in both
83  academia \cite{projectirisurl} and industry \cite{p2pworkinggroup, jxtaurl} for a  academia \cite{projectirisurl} and industry \cite{p2pworkinggroup, jxtaurl} for a
84  number of reasons. The lack of centralization in Peer-to-Peer systems  number of reasons. The lack of centralization in Peer-to-Peer systems
85  means that the participants can form a distributed system without any investment to centralized  means that the participants can form a distributed system \cite{couloris94distributedsystems}
86  hardware, which would coordinate it by sharing their services and connecting to each other directly  without any investment to centralized hardware by sharing their services and connecting to each
87  \cite{couloris94distributedsystems}. The distributed and ad hoc nature of Peer-to-Peer improves  other directly. Peer-to-Peer systems can be characterized as distributed systems in which all
88  scalability and avoids single points of failure. Schollmeier \cite{schollmeier01p2pdefinition}  communication is symmetric and all participant entities have similar capabilities and responsibilities
89  describes Peer-to-Peer system as a system of distributed entities that share their own services.  \cite{oram01harnessingpower}. Schollmeier \cite{schollmeier01p2pdefinition} describes Peer-to-Peer system as a system of
90  Peer-to-Peer systems can be characterized as distributed systems in which all communication is  distributed entities that share their own services.
91  symmetric and all participant entities have similar capabilities and responsibilities.  Each entity, i.e., \emph{peer}, may contribute services to the overall system. The distributed
92  Each entity, i.e., \emph{peer}, may contribute services to the overall system.  and ad hoc nature of Peer-to-Peer improves scalability and avoids single points of failure.  
93    
94  The Fenfire project is an attempt to build a hyperstructured, seamlessly interoperating desktop  The Fenfire project is an attempt to build a hyperstructured, seamlessly interoperating desktop
95  environment. In the Fenfire, all data is stored as data blocks.    environment. In the Fenfire, all data is stored in same format, i.e., data blocks.  
96  All data blocks have globally unique identifiers and they can be referred by pointer blocks.  Each data block have a globally unique identifier and it can be referred, by pointer blocks.
97  Other features of the Fenfire include innovative user  Other features of the Fenfire include innovative user
98  interfaces for viewing data and usage of Peer-to-Peer networking for network transparency.  interfaces for viewing data and the use of Peer-to-Peer networking for network transparency.
99    
100  In this thesis, we evaluate existing Peer-to-Peer approaches and  There are three research problems discussed in this thesis: first, finding the most efficient
101  choose the best alternative to Fenfire's needs.  way to locate and fetch Fenfire data blocks from a Peer-to-Peer network, when the block's
102    identifier is given. Second, we want to find the most efficient way to locate and fetch the most
103    recent Fenfire data block from a Peer-to-Peer network referred by a pointer. The third problem
104    is similar to the second problem, except we want to locate and fetch the Fenfire
105    data block, when date and or time range is given.
106    
107  We start by reviewing existing Peer-to-Peer approaches, algorithms and their key properties.  In this thesis, we evaluate existing Peer-to-Peer approaches and
108  We observe that despite the great amount of proposed Peer-to-Peer systems, all systems fall either to loosely or  evaluate them to Fenfire's needs. We start by reviewing existing Peer-to-Peer approaches,
109    algorithms and their key properties. We emphasize that despite the great amount of proposed
110    Peer-to-Peer systems, we are able to classify \emph{all} systems either to loosely or
111  tightly structured approach. We also discuss open problems in  tightly structured approach. We also discuss open problems in
112  Peer-to-Peer systems and divide problems into three sub-categories: security, performance, and miscellaneous  Peer-to-Peer systems and divide problems into three sub-categories: security, performance, and miscellaneous
113  problems.    problems. We attempt to comprehensively summarize existing algorithms and open problems in
114    Peer-to-Peer domain, this thesis doesn't give detailed information about reviewed algorithms nor
115    open problems. More detailed information can be found from the references.
116    
117  Then, we give an overview of the Fenfire project, and evaluate Peer-to-Peer approaches to Fenfire's  Then, we give an overview of the Fenfire project, and evaluate Peer-to-Peer approaches to Fenfire's
118  needs. Finally, we propose simple but yet efficient methods to be used for data lookups in Peer-to-Peer  needs. Finally, we propose simple but yet efficient methods to be used for data lookups in Peer-to-Peer
119  environment.  environment.
120    
 We attempt to comprehensively summarize existing algorithms and open problems in  
 Peer-to-Peer domain. However, this thesis is not meant to be detailed work. More detailed  
 information can be found from the references.  
   
 There are three research problems discussed in this thesis. First research problem  
 is finding the most efficient way to locate and fetch Fenfire data blocks from a  
 Peer-to-Peer network, where the block's identifier is given. Second, we want  
 to find the most efficient way to locate and fetch the most recent Fenfire data block from a  
 Peer-to-Peer network referred by a pointer block. The third problem  
 is otherwise the same as the second problem, except we want to locate and fetch the Fenfire  
 data block, where date and or time range is given.  
   
 This thesis is structured as follows. In the next chapter, we give an overview of  
 existing Peer-to-Peer approaches, algorithms and key differences between them. In chapter 3, we  
 address open problems in Peer-to-Peer domain and divide problems into three  
 sub-categories. Chapter 4 gives an overview of the Fenfire system. In chapter  
 5, we evaluate existing Peer-to-Peer approaches with regard to the Fenfire system.  
 Finally, in chapter 6 we conclusions and future work.  
   
   
121  \chapter{Peer-to-Peer architectures}  \chapter{Peer-to-Peer architectures}
122  In this chapter we will give a brief history and overview of Peer-to-Peer networks,  In this chapter we will give a brief history and overview of Peer-to-Peer networks,
123  review most the important Peer-to-Peer algorithms and list key differences between the  review most the important Peer-to-Peer algorithms and list key differences between the
# Line 137  two main approaches. Line 125  two main approaches.
125    
126  \section{Brief history and overview}  \section{Brief history and overview}
127    
128  The Internet was originally established in the late 1960s. The objective  The Internet was originally established in the late 1960s \cite{253741}. The objective
129  of the ARPANET-project was to share computers' resources among military computers  of the ARPANET-project was to share computers' resources among military computers
130  around the United States. The most challenging purpose of ARPANET was to integrate  around the United States. The most challenging purpose of ARPANET was to integrate
131  different kinds of existing network technologies with one common network architecture.  different kinds of existing network technologies with one common network architecture.
# Line 145  The ARPANET connected the first few host Line 133  The ARPANET connected the first few host
133  but rather as equal networking \emph{peers}. This could be seen as the starting point  but rather as equal networking \emph{peers}. This could be seen as the starting point
134  of both the Peer-to-Peer concept and the Internet \cite{oram01harnessingpower}.  of both the Peer-to-Peer concept and the Internet \cite{oram01harnessingpower}.
135    
136  In subsequent years, the Internet became more restricted to client--server based  The most popular form of modern Peer-to-Peer computing is file-sharing. In this scenario,
137  applications. In recent years, however, Peer-to-Peer systems have again emerged  participants of Peer-to-Peer network share their file resources with other participants.
138  in computing world. Indeed, Peer-to-Peer has had significant social and technical  This can be seen as a variant of distributed file system (e.g., \cite{levy90distributedfilesystems}).
139  attention in academia \cite{projectirisurl} and industry \cite{p2pworkinggroup, jxtaurl}.  A modern Peer-to-Peer system is composed of an \emph{application} level overlay network, i.e.,
140  The deceased Napster \cite{napsterurl},  network operates at the application level and forms a logical network overlay on top of physical
141  launched in 1999, was a new starting point for modern Peer-to-Peer computing. After  network. Figure \ref{fig:application_level} illustrates the Peer-to-Peer application level overlay network.
142  Napster, hundreds of Peer-to-Peer systems have been developed and proposed.  Compared to ARPANET's Peer-to-Peer functionality, modern Peer-to-Peer systems
143    are \emph{ad hoc}, i.e., peers join and leave the system constantly. Thus, this property
144  A modern Peer-to-Peer system is composed of an \emph{application} level overlay network.  poses challenges for efficient construction and maintenance
145  Figure \ref{fig:application_level} illustrates the analogy of Peer-to-Peer network with  of the overlay network, performing efficient data lookups and maintaining security in
146  regard to OSI model. Compared to ARPANET's Peer-to-Peer functionality, modern Peer-to-Peer systems  a distributed environment.
 are ad hoc, i.e., peers join and leave the system constantly in a dynamic manner. This  
 fact constitutes challenging requirements for efficient construction and maintenance  
 of the overlay network. Even more demanding tasks are performing efficient data  
 lookup and maintaining security in a varying distributed environment. The most popular  
 form of modern Peer-to-Peer computing is file-sharing. In this scenario, participants  
 of Peer-to-Peer network share their file resources with other participants.  
  This can be seen as a variant of distributed file system  
 (e.g., \cite{levy90distributedfilesystems}).  
147    
148  \begin{figure}  \begin{figure}
149  \centering  \centering
# Line 174  of Peer-to-Peer network share their file Line 154  of Peer-to-Peer network share their file
154    
155    
156    
157  In the development of modern Peer-to-Peer systems, lot of influence has been attained from  In the development of modern Peer-to-Peer systems, lot of influence has been derived from
158  other research areas than computer science. Research has been conducted regarding  outside of computer science. First, it is interesting to realize that chemical properties of biological cells, the Internet, ad hoc
159  the self-organizing nature of complex networks \cite{albert-02-statistical, albert-00-tolerance, watts00dynamics}.  Peer-to-Peer systems, and social network self-organize based on the same
160  It is interesting to realize that chemical properties of biological cells, the Internet, ad hoc  principles \cite{albert-02-statistical, albert-00-tolerance, watts00dynamics}.  Second, the
161  Peer-to-Peer systems, and social networks have all in common that they self-organize based on the same  association between social relationships among people and Peer-to-Peer overlay topology has been
162  principles.  Furthermore, the association between social relationships among people  studied recently \cite{watts00dynamics, kleinberg99small, nips02-Kleinberg}.
163  and Peer-to-Peer overlay topology has been studied recently \cite{watts00dynamics, kleinberg99small, nips02-Kleinberg}.  This insight is motivated by Milgram \cite{milgram67smallworld}, who noticed that people are very effective in
164  This insight is motivated by Milgram, who noticed that people are very effective in locating other people in a wide scale  locating other people in a wide scale based on local knowledge. This phenomenon is called as
165  based on local knowledge. This phenomenon is called as ''small-world phenomenon''  ''small-world phenomenon''. As a consequence, many modern Peer-to-Peer systems
166  \cite{milgram67smallworld}. As a consequence, many modern Peer-to-Peer systems  have applied similar techniques when constructing and maintaining the application level
167  have applied techniques outside of computer science when constructing and maintaining  overlay network.
 the application level overlay network.  
168    
169  In the end, however, there are two main approaches in which all modern Peer-to-Peer  In the end, however, we observe that there are only two approaches in which all modern Peer-to-Peer
170  systems fall: the loosely structured approach and the tightly structured approach. In the loosely  systems fall: the loosely structured approach and the tightly structured approach. In the loosely
171  structured approach the construction and the maintenance of the overlay is controlled  structured approach the construction and the maintenance of the overlay is controlled
172  loosely. This approach gives freedom for participating peers  loosely. This approach gives freedom for participating peers
173  to perform certain tasks in a Peer-to-Peer network. On the other hand, the tightly structured  to perform certain tasks in a Peer-to-Peer network. On the other hand, the tightly structured
174  approach has some rules, which all participating peers have to obey.  approach the overlay is constructed determistically, which all participating peers have to follow.
175    
176    
177  \section{Centralized}  \section{Centralized}
178    
179  Napster\footnote{We decided to include Napster in this section only because it has  Napster\footnote{We decided to include Napster in this section only because it has
180  historical value (see previous section).} \cite{napsterurl}  was designed to allow  historical value (see previous section).} \cite{yang02comparinghybrid}  was designed to allow
181  people to share music. It was a hybrid Peer-to-Peer file-sharing system, i.e., the search  people to share music. It was a hybrid Peer-to-Peer file-sharing system, i.e., the search
182  index was centralized and the distribution of storage and serving of files was distributed.  index was centralized and the distribution of storage and serving of files was distributed.
183  Peers in the Napster network made requests to the central directory server to find  Peers in the Napster network made requests to the central directory server to find
# Line 209  directory, and had a single point of fai Line 188  directory, and had a single point of fai
188    
189  \section{Loosely structured}  \section{Loosely structured}
190    
191  Gnutella \cite{gnutellaurl} is a well-known example of loosely structured overlay network. As in  Gnutella \cite{ripeanu02mappinggnutella} is a well-known example of loosely structured overlay network. Gnutella
192  other pure Peer-to-Peer networks, no peer is more important than any other peer in the network.  is a pure Peer-to-Peer network as no peer is more important than any other peer in the network.
193  The construction and maintenance of Gnutella network is extremely ad hoc, since participating  The construction and maintenance of Gnutella network is extremely ad hoc, since participating
194  peers can form the overlay network based on \emph{local} knowledge. Figure \ref{fig:gnutella_overlay}  peers can form the overlay network based on \emph{local} knowledge. Figure \ref{fig:gnutella_overlay}
195  illustrates how peers form an overlay network. Initially, peer 1 creates the overlay, since  illustrates how peers form an overlay network. Initially, peer 1 creates the overlay, since
196  it is the first participating peer. Then, repeatedly new peers join the network and connect to  it is the first participating peer. Then, repeatedly new peers join the network and connect to
197  other peers in a random manner. Thus, Gnutella can be considered as a variation of \emph{scale-free  other peers randomly. Thus, Gnutella can be considered as a variation of \emph{scale-free
198  graph}\footnote{In scale-free graphs (also known as power-law graphs) only a few peers have high number of neighbor  graph}\footnote{In scale-free graphs (also known as power-law graphs) only a few peers have high number of neighbor
199  links and the majority of peers have low number of neighbor links.}.  links and the majority of peers have low number of neighbor links.}.
200    

Legend:
Removed from v.1.155  
changed lines
  Added in v.1.156

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