43 |
In this thesis, we review existing Peer-to-Peer approaches, algorithms and their |
In this thesis, we review existing Peer-to-Peer approaches, algorithms and their |
44 |
key properties. We summarize open problems in Peer-to-Peer systems and divide |
key properties. We summarize open problems in Peer-to-Peer systems and divide |
45 |
problems into three sub-categories. We observe that there are many |
problems into three sub-categories. We observe that there are many |
46 |
problems, which have no solutions at all, or problems that have proposed |
problems which have no solutions at all, or problems that have proposed |
47 |
solutions but they are practically unrealizable. |
solutions but which are practically unrealizable. |
48 |
|
|
49 |
Then, we give an overview of Fenfire system. We evaluate existing |
Then, we give an overview of the Fenfire system. We evaluate existing |
50 |
Peer-to-Peer approaches-- loosely and tightly structured overlays-- with regard |
Peer-to-Peer approaches-- loosely and tightly structured overlays-- with regard |
51 |
to Fenfire's needs. Finally, we propose simple methods to efficiently find Fenfire |
to Fenfire's needs. Finally, we propose simple methods to efficiently find Fenfire |
52 |
data from Peer-to-Peer network. |
data from Peer-to-Peer network. |
81 |
\chapter{Introduction} |
\chapter{Introduction} |
82 |
|
|
83 |
Peer-to-Peer systems have recently received considerable attention in both |
Peer-to-Peer systems have recently received considerable attention in both |
84 |
academia \cite{projectirisurl} and industry \cite{p2pworkinggroup}, \cite{jxtaurl} for a |
academia \cite{projectirisurl} and industry \cite{p2pworkinggroup, jxtaurl} for a |
85 |
number of reasons. The lack of centralization |
number of reasons. The lack of centralization in Peer-to-Peer systems |
86 |
means that the participants can form a distributed system without any investment to |
means that the participants can form a distributed system without any investment to |
87 |
centralized hardware which would coordinate it by sharing their services |
centralized hardware which would coordinate it by sharing their services |
88 |
and connecting to each other directly. Additionally, the distributed and ad hoc nature of |
and connecting to each other directly. Additionally, the distributed and ad hoc nature of |
91 |
There are many definitions of Peer-to-Peer networks. Schollmeier \cite{schollmeier01p2pdefinition} |
There are many definitions of Peer-to-Peer networks. Schollmeier \cite{schollmeier01p2pdefinition} |
92 |
describes Peer-to-Peer system as a system of |
describes Peer-to-Peer system as a system of |
93 |
distributed entities that share their own services. Indeed, Peer-to-Peer systems can be characterized as distributed |
distributed entities that share their own services. Indeed, Peer-to-Peer systems can be characterized as distributed |
94 |
systems in which all communication is symmetric and all participants entities have similar |
systems in which all communication is symmetric and all participant entities have similar |
95 |
capabilities and responsibilities. Each entity, i.e., \emph{peer}, may contribute services |
capabilities and responsibilities. Each entity, i.e., \emph{peer}, may contribute services |
96 |
to the overall system. |
to the overall system. |
97 |
|
|
98 |
Fenfire project is an attempt to build hyperstructured, seamlessly interoperating desktop |
The Fenfire project is an attempt to build hyperstructured, seamlessly interoperating desktop |
99 |
environment. In Fenfire, all data is stored in the same format, i.e., data blocks. |
environment. In Fenfire, all data is stored as data blocks. |
100 |
All blocks have globally unique identifiers and they can be referred by other blocks, i.e., |
All data blocks have globally unique identifiers and they can be referred by pointer blocks. |
101 |
pointer blocks. Additional features of Fenfire include innovative user |
Other features of Fenfire include innovative user |
102 |
interfaces for viewing data and usage of Peer-to-Peer networking for network transparency. |
interfaces for viewing data and usage of Peer-to-Peer networking for network transparency. |
103 |
|
|
104 |
In this thesis, we\footnote{Use of the plural is customary even if research |
In this thesis, we\footnote{Use of the plural is customary even if research |
106 |
choose the best alternative to Fenfire's needs. |
choose the best alternative to Fenfire's needs. |
107 |
|
|
108 |
We start by reviewing existing Peer-to-Peer approaches, algorithms and their key properties. |
We start by reviewing existing Peer-to-Peer approaches, algorithms and their key properties. |
109 |
We observe that despite of great amount of proposed Peer-to-Peer systems, all systems fall either to |
We observe that despite the great amount of proposed Peer-to-Peer systems, all systems fall either to |
110 |
loosely structured approach or tightly structured approach. We also discuss open problems in |
loosely structured approach or tightly structured approach. We also discuss open problems in |
111 |
Peer-to-Peer systems and divide problems into three sub-categories: security problems, |
Peer-to-Peer systems and divide problems into three sub-categories: security problems, |
112 |
performance problems and miscellaneous problems. |
performance problems and miscellaneous problems. |
113 |
|
|
114 |
Then, we give an overview of Fenfire project, and evaluate Peer-to-Peer approaches to Fenfire's |
Then, we give an overview of Fenfire project, and evaluate Peer-to-Peer approaches to Fenfire's |
115 |
needs. Finally, we propose yet simple but 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 |
116 |
environment. |
environment. |
117 |
|
|
118 |
We have attempted to comprehensively summarize existing algorithms and open problems in |
We attempt to comprehensively summarize existing algorithms and open problems in |
119 |
Peer-to-Peer domain. However, this thesis is not meant to be detailed work. More detailed |
Peer-to-Peer domain. However, this thesis is not meant to be detailed work. More detailed |
120 |
information can be found from references written by original authors. |
information can be found from the references. |
121 |
|
|
122 |
There are three research problems related to this thesis. First research problem |
There are three research problems discussed in this thesis. First research problem |
123 |
is to find the most efficient way to locate and fetch Fenfire data blocks from the |
is to find the most efficient way to locate and fetch Fenfire data blocks from a |
124 |
Peer-to-Peer network, where block's identifier is given. Second, we want |
Peer-to-Peer network, where the block's identifier is given. Second, we want |
125 |
to find the most efficient way to locate and fetch most recent Fenfire data block from the |
to find the most efficient way to locate and fetch the most recent Fenfire data block from a |
126 |
Peer-to-Peer network referred by a pointer block. Third problem |
Peer-to-Peer network referred by a pointer block. The third problem |
127 |
is otherwise same as the second problem, except we want to locate and fetch Fenfire |
is otherwise the same as the second problem, except we want to locate and fetch the Fenfire |
128 |
data block from the Peer-to-Peer network, where given date and/or time range is given. |
data block, where date and or time range is given. |
129 |
|
|
130 |
This thesis is structured as follows. In next chapter, we give an overview of |
This thesis is structured as follows. In the next chapter, we give an overview of |
131 |
existing Peer-to-Peer approaches, algorithms and key differences between them. In chapter 3, we |
existing Peer-to-Peer approaches, algorithms and key differences between them. In chapter 3, we |
132 |
address open problems in Peer-to-Peer domain and divide problems into three |
address open problems in Peer-to-Peer domain and divide problems into three |
133 |
sub-categories. Chapter 4 gives an overview of Fenfire system. In chapter |
sub-categories. Chapter 4 gives an overview of Fenfire system. In chapter |
134 |
5, we evaluate existing Peer-to-Peer approaches with regard to Fenfire system. |
5, we evaluate existing Peer-to-Peer approaches with regard to Fenfire system. |
135 |
Finally, in chapter 6 we present conclusions and future work. |
Finally, in chapter 6 we conclusions and future work. |
136 |
|
|
137 |
|
|
138 |
\chapter{Peer-to-Peer architectures} |
\chapter{Peer-to-Peer architectures} |