2 |
% Käytetään gradu2-tyyliluokkaa |
% Käytetään gradu2-tyyliluokkaa |
3 |
%*********************** |
%*********************** |
4 |
\documentclass[a4paper,12pt]{gradu2} |
\documentclass[a4paper,12pt]{gradu2} |
|
\selectlanguage{finnish} |
|
5 |
|
|
6 |
\usepackage[T1]{fontenc} |
\usepackage[T1]{fontenc} |
7 |
\usepackage[finnish]{babel} |
\usepackage[finnish]{babel} |
9 |
\usepackage{amsmath} % AmS-LaTeX konstruktiot (align, aligned,...) |
\usepackage{amsmath} % AmS-LaTeX konstruktiot (align, aligned,...) |
10 |
\usepackage{amsfonts} % AmS-LaTeX fontit |
\usepackage{amsfonts} % AmS-LaTeX fontit |
11 |
\usepackage{graphicx} % EPS-tiedostojen ottaminen mukaan, PS-temput,... |
\usepackage{graphicx} % EPS-tiedostojen ottaminen mukaan, PS-temput,... |
12 |
|
\usepackage{url} |
13 |
|
|
14 |
%*********************** |
%*********************** |
15 |
% Tyyliluokan pakolliset määritykset |
% Tyyliluokan pakolliset määritykset |
16 |
%*********************** |
%*********************** |
17 |
|
|
18 |
|
\selectlanguage{finnish} |
19 |
|
|
20 |
\title{JXTA-arkkitehtuuri} |
\title{JXTA-arkkitehtuuri} |
21 |
|
|
22 |
\author{Hermanni Hyytiälä} |
\author{Hermanni Hyytiälä} |
47 |
|
|
48 |
\begin{document} |
\begin{document} |
49 |
|
|
|
|
|
|
%\newpage |
|
50 |
%*********************** |
%*********************** |
51 |
% sisällysluettelo |
% Sisällysluettelo |
52 |
%*********************** |
%*********************** |
53 |
|
|
54 |
\mainmatter |
\mainmatter |
58 |
%*********************** |
%*********************** |
59 |
|
|
60 |
|
|
61 |
\chapter{} |
\chapter{Johdanto} |
|
|
|
|
\section{Johdanto} |
|
62 |
|
|
63 |
Tämä tutkielma käsittelee JXTA-vertaisverkkoarkkitehtuuria. Se on järjestelmäkokonaisuus, jonka avulla vertaisverkoissa |
Tämä tutkielma käsittelee JXTA-vertaisverkkoarkkitehtuuria. Se on järjestelmäkokonaisuus, jonka avulla vertaisverkoissa |
64 |
voidaan siirtää tiedostoja, keskustella, jakaa työpöytiä ja hakea tietoa. JXTA poikkeaa useista muista |
voidaan siirtää tiedostoja, keskustella, jakaa työpöytiä ja hakea tietoa. JXTA poikkeaa useista muista |
70 |
5, 6 ja 7 keskitytään JXTA-järjestelmän ominaisuuksiin. Luku 8 käsittelee tiedonhakua vertaisverkossa. |
5, 6 ja 7 keskitytään JXTA-järjestelmän ominaisuuksiin. Luku 8 käsittelee tiedonhakua vertaisverkossa. |
71 |
|
|
72 |
|
|
73 |
\section{Vertaisverkot ja JXTA} |
\chapter{Vertaisverkot ja JXTA} |
74 |
|
|
75 |
Viimeisen kymmenen vuoden aikana tiedon määrä tietoverkoissa on kasvanut niin suureksi, että kukaan ei pysty enää |
Viimeisen kymmenen vuoden aikana tiedon määrä tietoverkoissa on kasvanut niin suureksi, että kukaan ei pysty enää |
76 |
hallitsemaan kaikkea tietoa. On arvioitu, että uusien langattomien laitteiden markkinoille tulo kasvattaa |
hallitsemaan kaikkea tietoa. On arvioitu, että uusien langattomien laitteiden markkinoille tulo kasvattaa |
77 |
tietoverkoissa käytettävien laitteiden määrää miljardeilla uusilla laitteilla [5]. |
tietoverkoissa käytettävien laitteiden määrää miljardeilla uusilla laitteilla \cite{Gong 2002}. |
78 |
|
|
79 |
Tiedon määrän kasvusta johtuen nykyisten tietoverkkojen rakenteiden heikkoudet ovat tulleet esille. Esimerkiksi laaja- |
Tiedon määrän kasvusta johtuen nykyisten tietoverkkojen rakenteiden heikkoudet ovat tulleet esille. Esimerkiksi laaja- |
80 |
alaisen ja paljon tietoa sisältävän tietokonejärjestelmän kuormittaminen keskitetysti (eng. Denial of service attack) |
alaisen ja paljon tietoa sisältävän tietokonejärjestelmän kuormittaminen keskitetysti (eng. Denial of service attack) |
82 |
|
|
83 |
Keskitettyjen palveluiden haavoittuvuudesta johtuen on alettu kehittämään vaihtoehtoisia tapoja viestiä tietoverkoissa. |
Keskitettyjen palveluiden haavoittuvuudesta johtuen on alettu kehittämään vaihtoehtoisia tapoja viestiä tietoverkoissa. |
84 |
Vertaisverkot ovat tietoverkkoja, joissa kaikki verkkoon kuuluvat laitteet ovat tasavertaisia. Tiedon siirtoon ei |
Vertaisverkot ovat tietoverkkoja, joissa kaikki verkkoon kuuluvat laitteet ovat tasavertaisia. Tiedon siirtoon ei |
85 |
tarvita keskuskoneita, vaan verkon laitteet keskustelevat ainoastaan keskenään. IEEE 802.11b-standardi [16] on esimerkki |
tarvita keskuskoneita, vaan verkon laitteet keskustelevat ainoastaan keskenään. IEEE 802.11b-standardi \cite{IEEE 802.11} on esimerkki |
86 |
vertaisverkkoarkkitehtuurista, jossa verkon laitteet eivät tarvitse keskustietokoneiden palveluita verkkoon |
vertaisverkkoarkkitehtuurista, jossa verkon laitteet eivät tarvitse keskustietokoneiden palveluita verkkoon |
87 |
liityttäessä. |
liityttäessä. |
88 |
|
|
89 |
Tiedotusvälineissä paljon julkisuutta saanut Napster-tiedostonjakoarkkitehtuuri [14] ei perustu |
Tiedotusvälineissä paljon julkisuutta saanut Napster-tiedostonjakoarkkitehtuuri \cite{Napster} ei perustu |
90 |
vertaisverkkoteknologiaan, koska Napsterissa käytetään keskustietokoneita tiedon tallentamiseen (eng. Indexing). Itse |
vertaisverkkoteknologiaan, koska Napsterissa käytetään keskustietokoneita tiedon tallentamiseen (eng. Indexing). Itse |
91 |
tiedonsiirto tapahtuu kuitenkin ilman keskustietokoneita. Napsterin syntymän jälkeen on tehty lukuisia muita |
tiedonsiirto tapahtuu kuitenkin ilman keskustietokoneita. Napsterin syntymän jälkeen on tehty lukuisia muita |
92 |
tiedostonjako-ohjelmistoja, jotka pohjautuvat enemmän vertaisverkkoideologiaan [6], [15]. |
tiedostonjako-ohjelmistoja, jotka pohjautuvat enemmän vertaisverkkoideologiaan \cite{Oram}, \cite{Zeropaid}. |
93 |
|
|
94 |
|
|
95 |
\section{JXTA-projekti} |
\chapter{JXTA-projekti} |
96 |
|
|
97 |
\subsection{Yleistä} |
\section{Yleistä} |
98 |
|
|
99 |
|
|
100 |
JXTA [12] on alunperin Sun Microsystemsin aloittama projekti. Projektin tavoitteena on luoda avoin arkkitehtuuri, joka |
JXTA \cite{JXTA 2002a} on alunperin Sun Microsystemsin aloittama projekti. Projektin tavoitteena on luoda avoin arkkitehtuuri, joka |
101 |
mahdollistaa tehokkaan ja turvallisen tiedonsiirron vertaisverkoissa. JXTA-arkkitehtuuri perustuu vertaisverkko- |
mahdollistaa tehokkaan ja turvallisen tiedonsiirron vertaisverkoissa. JXTA-arkkitehtuuri perustuu vertaisverkko- |
102 |
ideologiaan. JXTAn avulla voidaan tietoverkoissa viestiä, tehdä yhteystyötä, jakaa resursseja ja hakea tietoa. JXTA on |
ideologiaan. JXTAn avulla voidaan tietoverkoissa viestiä, tehdä yhteystyötä, jakaa resursseja ja hakea tietoa. JXTA on |
103 |
laitteisto- tai kieliriippumaton, joten se mahdollistaa erilaisten digitaalisten laitteiden- ja viestimien yhtäaikaisen |
laitteisto- tai kieliriippumaton, joten se mahdollistaa erilaisten digitaalisten laitteiden- ja viestimien yhtäaikaisen |
104 |
käytön samassa vertaisverkossaa. |
käytön samassa vertaisverkossaa. |
105 |
|
|
106 |
\subsection{Tavoiteet} |
\section{Tavoiteet} |
107 |
|
|
108 |
|
|
109 |
JXTA-projektin päämääränä on luoda vertaisverkkoarkkitehtuuri, josta hyötyisivät sekä yksityishenkilöt että yritykset. |
JXTA-projektin päämääränä on luoda vertaisverkkoarkkitehtuuri, josta hyötyisivät sekä yksityishenkilöt että yritykset. |
110 |
Kun projekti alkoi, luotiin kolme tavoitetta [4]: |
Kun projekti alkoi, luotiin kolme tavoitetta \cite{Gong 2002}: |
111 |
|
|
112 |
Yhteensopivuus |
Yhteensopivuus |
113 |
Lähes kaikki saatavilla olevat vertaisverkkoarkkitehtuurit ovat keskenään yhteensopimattomia. Projektin |
Lähes kaikki saatavilla olevat vertaisverkkoarkkitehtuurit ovat keskenään yhteensopimattomia. Projektin |
125 |
erilaiset taskutietokoneet, kulutuselektroniikka- ja verkkolaitteistot ja tavalliset tietokoneet voivat keskustella |
erilaiset taskutietokoneet, kulutuselektroniikka- ja verkkolaitteistot ja tavalliset tietokoneet voivat keskustella |
126 |
keskenään JXTA-teknologian ansiosta. |
keskenään JXTA-teknologian ansiosta. |
127 |
|
|
128 |
\section{JXTA-arkkitehtuuri} |
\chapter{JXTA-arkkitehtuuri} |
129 |
|
|
130 |
|
|
131 |
JXTA-arkkitehtuurin protokollat [5] luovat virtuaalisen verkon fyysisen verkon päälle. Virtuaaliverkon tarkoituksena on |
JXTA-arkkitehtuurin protokollat \cite{Gong 2002} luovat virtuaalisen verkon fyysisen verkon päälle. Virtuaaliverkon tarkoituksena on |
132 |
piilottaa alla olevan fyysisen verkon monimutkaisuus, esimerkiksi palomuurit, ja luoda yhtenäinen kokonaisuus verkon |
piilottaa alla olevan fyysisen verkon monimutkaisuus, esimerkiksi palomuurit, ja luoda yhtenäinen kokonaisuus verkon |
133 |
laitteiden kesken. Kuvassa 1 on esitetty JXTA-verkon virtuaalisen verkon rakenne. |
laitteiden kesken. Kuvassa \ref{fig:virtualnetwork} on esitetty JXTA-verkon virtuaalisen verkon rakenne. |
134 |
|
|
135 |
|
|
136 |
\begin{figure} |
\begin{figure} |
137 |
\begin{center} |
\begin{center}{h} |
138 |
\includegraphics{figure_sun_virtualnetwork.eps} |
\includegraphics{figure_sun_virtualnetwork.eps} |
139 |
\end{center} |
\end{center} |
140 |
\caption{JXTA-arkkitehtuurin virtuaaliverkko (© Sun Microsystems).} |
\caption{JXTA-arkkitehtuurin virtuaaliverkko (© Sun Microsystems).} |
141 |
|
\label{fig:virtualnetwork} |
142 |
\end{figure} |
\end{figure} |
143 |
|
|
144 |
|
|
145 |
Seuraavissa kappaleissa esitellään JXTAn verkkoarkkitehtuurin tärkeimmät ominaisuudet. |
Seuraavissa kappaleissa esitellään JXTAn verkkoarkkitehtuurin tärkeimmät ominaisuudet. |
146 |
|
|
147 |
\subsection{Verkkolaitteiden tunnistus (eng. Uniform Peer Addressing)} |
\section{Verkkolaitteiden tunnistus (eng. Uniform Peer Addressing)} |
148 |
|
|
149 |
|
|
150 |
Uniform Peer Addressing on tekniikka, jonka avulla verkon laitteet tunnistetaan JXTA-arkkitehtuurin mukaisessa |
Uniform Peer Addressing on tekniikka, jonka avulla verkon laitteet tunnistetaan JXTA-arkkitehtuurin mukaisessa |
156 |
laiterajapinnan, laite A voi valita parhaan tiedonsiirtokäytännön laitteen B kanssa. |
laiterajapinnan, laite A voi valita parhaan tiedonsiirtokäytännön laitteen B kanssa. |
157 |
|
|
158 |
|
|
159 |
\subsection{Viestit (eng. Messages)} |
\section{Viestit (eng. Messages)} |
160 |
|
|
161 |
|
|
162 |
Kuten muissa ei-suunnitelluissa (eng. Ad-Hoc) ja mukautuvissa (eng. Adaptive) vertaisverkoissa, myös JXTA-verkossa |
Kuten muissa ei-suunnitelluissa (eng. Ad-Hoc) ja mukautuvissa (eng. Adaptive) vertaisverkoissa, myös JXTA-verkossa |
172 |
viestin lähettäjä ja vastaanottaja. Tunniste voi olla esimerkiksi digitaalinen allekirjoitus, joka määrittää viestin |
viestin lähettäjä ja vastaanottaja. Tunniste voi olla esimerkiksi digitaalinen allekirjoitus, joka määrittää viestin |
173 |
lähteen. |
lähteen. |
174 |
|
|
175 |
\subsection{Mainokset (eng. Advertisements)} |
\section{Mainokset (eng. Advertisements)} |
176 |
|
|
177 |
|
|
178 |
Mainos on JXTA-verkossa siirtyvä XML-muotoinen viesti, joka kuvaa verkossa olevan laitteen palveluita. Kaikki |
Mainos on JXTA-verkossa siirtyvä XML-muotoinen viesti, joka kuvaa verkossa olevan laitteen palveluita. Kaikki |
179 |
JXTA-verkon resurssit ja palvelut kuvataan mainoksilla. JXTA-arkkitehtuurissa on seitsemän valmista mainospohjaa, joita |
JXTA-verkon resurssit ja palvelut kuvataan mainoksilla. JXTA-arkkitehtuurissa on seitsemän valmista mainospohjaa, joita |
180 |
voidaan käyttää mainosten luomisessa: Vertaissolmu-mainos (eng. Peer advertisement), vertaissolmuryhmä-mainos (eng. Peer |
voidaan käyttää mainosten luomisessa: Vertaissolmu-mainos (eng. Peer advertisement), vertaissolmu-ryhmämainos (eng. Peer |
181 |
Group advertisement), piippu-mainos (eng. Pipe advertisement), moduuli-mainos (eng. Module advertisement), |
Group advertisement), piippu-mainos (eng. Pipe advertisement), moduuli-mainos (eng. Module advertisement), |
182 |
vertaissolmutieto-mainos (eng. Peer Info advertisement), sisällys-mainos (eng. Content advertisement) ja laiterajapinta- |
vertaissolmutieto-mainos (eng. Peer Info advertisement), sisällys-mainos (eng. Content advertisement) ja laiterajapinta- |
183 |
mainos (eng. Peer Endpoint advertisement). |
mainos (eng. Peer Endpoint advertisement). |
185 |
Mainoksia analysoimalla verkon laitteet pystyvät löytämään halumansa palvelut JXTA-verkosta. Kaikki vertaissolmut |
Mainoksia analysoimalla verkon laitteet pystyvät löytämään halumansa palvelut JXTA-verkosta. Kaikki vertaissolmut |
186 |
tallentavat, julkaisevat ja siirtävät mainoksia JXTA-verkossa. Kaikkiin mainoksiin liittyy elämänpituus-arvo |
tallentavat, julkaisevat ja siirtävät mainoksia JXTA-verkossa. Kaikkiin mainoksiin liittyy elämänpituus-arvo |
187 |
(eng. Lifetime), joka määrittelee mainoksessa eliniän JXTA-verkossa. Mainos voidaan uudelleen julkaista, |
(eng. Lifetime), joka määrittelee mainoksessa eliniän JXTA-verkossa. Mainos voidaan uudelleen julkaista, |
188 |
jolloin elämänpituus-arvoa voidaan tarvittaessa kasvattaa. Kuvassa 2 on esitetty eräs JXTA-arkkitehtuurin mukainen |
jolloin elämänpituus-arvoa voidaan tarvittaessa kasvattaa. Kuvassa \ref{fig:advertisement} on esitetty eräs |
189 |
mainos. |
JXTA-arkkitehtuurin mukainen mainos. |
190 |
|
|
191 |
\begin{figure} |
\begin{figure} |
192 |
\begin{center} |
\begin{center} |
193 |
\includegraphics{figure_sun_jxtaadvertisement.eps} |
\includegraphics{figure_sun_jxtaadvertisement.eps} |
194 |
\end{center} |
\end{center} |
195 |
\caption{XML-muotoinen mainos (© Sun Microsystems).} |
\caption{XML-muotoinen mainos (© Sun Microsystems).} |
196 |
|
\label{fig:advertisement} |
197 |
\end{figure} |
\end{figure} |
198 |
|
|
199 |
|
|
200 |
|
|
201 |
\subsection{Vertaissolmu (eng. Peer)} |
\section{Vertaissolmu (eng. Peer)} |
202 |
|
|
203 |
|
|
204 |
JXTA-verkko koostuu vertaissolmuista. Vertaissolmu voi olla tietokone, kämmentietokone tai langaton puhelin. |
JXTA-verkko koostuu vertaissolmuista. Vertaissolmu voi olla tietokone, kämmentietokone tai langaton puhelin. |
205 |
Vertaissolmun pitää osata keskustella muiden vertaissolmujen kanssa JXTA-arkkitehtuurin mukaisten protokollien avulla. |
Vertaissolmun pitää osata keskustella muiden vertaissolmujen kanssa JXTA-arkkitehtuurin mukaisten protokollien avulla. |
206 |
|
|
207 |
\subsection{Vertaissolmuryhmät (eng. Peer Groups)} |
\section{Vertaissolmuryhmät (eng. Peer Groups)} |
208 |
|
|
209 |
|
|
210 |
JXTA-verkossa voi muodostua vertaissolmuryhmiä. Vertaissolmuryhmät ovat virtuaalisia konaisuuksia, jotka koostuvat |
JXTA-verkossa voi muodostua vertaissolmuryhmiä. Vertaissolmuryhmät ovat virtuaalisia konaisuuksia, jotka koostuvat |
220 |
(WPG), joka kattaa kaikki verkon vertaissolmut. Tämä ei kuitenkaan tarkoita sitä, että kaikki WGP-ryhmän vertaissolmut |
(WPG), joka kattaa kaikki verkon vertaissolmut. Tämä ei kuitenkaan tarkoita sitä, että kaikki WGP-ryhmän vertaissolmut |
221 |
voisivat löytää kaikki muut vertaissolmut. |
voisivat löytää kaikki muut vertaissolmut. |
222 |
|
|
223 |
\subsection{Piiput (eng. Pipes)} |
\section{Piiput (eng. Pipes)} |
224 |
|
|
225 |
Piiput ovat asynkronisia kanavia, joiden kautta viestejä lähetetään JXTA-verkossa. Piiput ovat myös virtuaalisia, piipun |
Piiput ovat asynkronisia kanavia, joiden kautta viestejä lähetetään JXTA-verkossa. Piiput ovat myös virtuaalisia, piipun |
226 |
kohde voidaan yhdistää yhteen tai useaan vertaissolmuun. Piippuja käyttävät JXTA-verkon palvelut sekä sovellukset. |
kohde voidaan yhdistää yhteen tai useaan vertaissolmuun. Piippuja käyttävät JXTA-verkon palvelut sekä sovellukset. |
235 |
vastaanottajalle. Levittäytyvät-piiput (eng. Propagate pipe) pystyvät yhdistämään usean vertaissolmun laiterajapinnat |
vastaanottajalle. Levittäytyvät-piiput (eng. Propagate pipe) pystyvät yhdistämään usean vertaissolmun laiterajapinnat |
236 |
keskenään. |
keskenään. |
237 |
|
|
238 |
\subsection{Resurssien kartoitus (eng. Universal Resource Binding and Rendezvous)} |
\section{Resurssien kartoitus (eng. Universal Resource Binding and Rendezvous)} |
239 |
|
|
240 |
JXTA-verkossa käytetään universaalia päättäjä-palvelua (eng. Resolver), joka hoitaa verkon palveluihin liittyviä |
JXTA-verkossa käytetään universaalia päättäjä-palvelua (eng. Resolver), joka hoitaa verkon palveluihin liittyviä |
241 |
perustehtäviä. Näitä ovat esimerkiksi vertaissolmun nimen liittäminen IP-osoitteeseen, IP-pistorasian (eng. Socket) |
perustehtäviä. Näitä ovat esimerkiksi vertaissolmun nimen liittäminen IP-osoitteeseen, IP-pistorasian (eng. Socket) |
248 |
tarjoten palveluita muille ryhmän jäsenille. Ryhmä voi sisältää mielivaltaisen monta kohtauspaikka- vertaissolmua. |
tarjoten palveluita muille ryhmän jäsenille. Ryhmä voi sisältää mielivaltaisen monta kohtauspaikka- vertaissolmua. |
249 |
|
|
250 |
Yleisesti vertaisverkoissa ylemmän tason (eng. High level) hakupalvelut tarjoavat tehokkaammat hakumenetelmät, |
Yleisesti vertaisverkoissa ylemmän tason (eng. High level) hakupalvelut tarjoavat tehokkaammat hakumenetelmät, |
251 |
koska palveluilla on parempi tietous tiedon levinneisyydestä vertaissolmujen keskuudessa (esimerkkeinä Chord [2], |
koska palveluilla on parempi tietous tiedon levinneisyydestä vertaissolmujen keskuudessa (esimerkkeinä Chord \cite{Dabek}, |
252 |
CAN [7]). Kohtauspaikka-arkkitehtuuri tarjoaa sekä alemman tason hakupalvelut mainosten löytämiseen sekä koukkuja |
Content Addressable Network (CAN) \cite{Ratnasamy}). Kohtauspaikka-arkkitehtuuri tarjoaa sekä alemman tason hakupalvelut |
253 |
(eng. Hooks), joita voidaan käyttää hyväksi ylemmän tason mainosten etsintään. |
mainosten löytämiseen sekä koukkuja (eng. Hooks), joita voidaan käyttää hyväksi ylemmän tason mainosten etsintään. |
254 |
|
|
255 |
|
|
256 |
\section{Protokollat} |
\chapter{Protokollat} |
257 |
|
|
258 |
Tässä kappaleessa on esitelty JXTA-verkon pääprotokollat. |
Tässä kappaleessa on esitelty JXTA-verkon pääprotokollat. |
259 |
|
|
260 |
\subsection{Peer Discovery Protocol} |
\section{Peer Discovery Protocol} |
261 |
|
|
262 |
|
|
263 |
Auttaa yksittäistä vertaissolmua löytämään mainoksia, toisia vertaissolmuja ja vertaissolmuryhmiä JXTA-verkossa. Jos |
Auttaa yksittäistä vertaissolmua löytämään mainoksia, toisia vertaissolmuja ja vertaissolmuryhmiä JXTA-verkossa. Jos |
264 |
vertaissolmun tai vertaissolmuryhmän nimeä ei ole määritelty, protokolla palauttaa kaikkia saatavilla olevat mainokset |
vertaissolmun tai vertaissolmuryhmän nimeä ei ole määritelty, protokolla palauttaa kaikkia saatavilla olevat mainokset |
265 |
haun tuloksena. |
haun tuloksena. |
266 |
|
|
267 |
\subsection{Peer Resolver Protocol} |
\section{Peer Resolver Protocol} |
268 |
|
|
269 |
|
|
270 |
Mahdollistaa vertaissolmun lähettää ja vastaanottaa yleisiä kyselyitä vertaissolmuun, vertaissolmuryhmään, piippuihin |
Mahdollistaa vertaissolmun lähettää ja vastaanottaa yleisiä kyselyitä vertaissolmuun, vertaissolmuryhmään, piippuihin |
271 |
tai tietoon liittyen. Yleensä tämä protokolla on ainoastaan käytössä kohtauspaikka-vertaissolmuissa. |
tai tietoon liittyen. Yleensä tämä protokolla on ainoastaan käytössä kohtauspaikka-vertaissolmuissa. |
272 |
|
|
273 |
\subsection{Peer Information Protocol} |
\section{Peer Information Protocol} |
274 |
|
|
275 |
|
|
276 |
Auttaa vertaissolmua ymmärtämään muiden vertaissolmujen palveluita sekä tiloja. Esimerkiksi vertaissolmu voi lähettää |
Auttaa vertaissolmua ymmärtämään muiden vertaissolmujen palveluita sekä tiloja. Esimerkiksi vertaissolmu voi lähettää |
277 |
testi-viestin (eng. Ping message) toiselle vertaissolmulle varmistaakseen, että onko kohteena ollut vertaissolmu |
testi-viestin (eng. Ping message) toiselle vertaissolmulle varmistaakseen, että onko kohteena ollut vertaissolmu |
278 |
saatavilla. |
saatavilla. |
279 |
|
|
280 |
\subsection{Peer Membership Protocol} |
\section{Peer Membership Protocol} |
281 |
|
|
282 |
|
|
283 |
Mahdollistaa yksittäisen vertaissolmun tulla vertaissolmuryhmän jäseneksi, luoda hakemus vertaissolmuryhmään |
Mahdollistaa yksittäisen vertaissolmun tulla vertaissolmuryhmän jäseneksi, luoda hakemus vertaissolmuryhmään |
285 |
tietoja. |
tietoja. |
286 |
|
|
287 |
|
|
288 |
\subsection{Pipe Binding Protocol} |
\section{Pipe Binding Protocol} |
289 |
|
|
290 |
|
|
291 |
Mahdollistaa vertaissolmun liittää piipun mainos piipun kohteeseen. |
Mahdollistaa vertaissolmun liittää piipun mainos piipun kohteeseen. |
292 |
|
|
293 |
|
|
294 |
\subsection{Peer Endpoint Protocol} |
\section{Peer Endpoint Protocol} |
295 |
|
|
296 |
|
|
297 |
Auttaa vertaissolmua kysymään reititin-vertaissolmulta (eng. Peer Router) polkuja kohde vertaissolmuun. Tämä on |
Auttaa vertaissolmua kysymään reititin-vertaissolmulta (eng. Peer Router) polkuja kohde vertaissolmuun. Tämä on |
298 |
hyödyllistä silloin, kun vertaissolmut ovat fyysisesti eri verkoissa tai kun palomuuri on vertaissolmujen välissä. |
hyödyllistä silloin, kun vertaissolmut ovat fyysisesti eri verkoissa tai kun palomuuri on vertaissolmujen välissä. |
299 |
Vertaissolmu voi luoda itsestään reititin-vertaissolmun hyödyntämällä Peer Endpoint-tekniikkaa. |
Vertaissolmu voi luoda itsestään reititin-vertaissolmun hyödyntämällä Peer Endpoint-tekniikkaa. |
300 |
|
|
301 |
\section{Ohjelmistoarkkitehtuuri} |
\chapter{Ohjelmistoarkkitehtuuri} |
302 |
|
|
303 |
|
|
304 |
JXTA-teknologian ohjelmistoarkkitehtuuri jakaantuu kolmeen päällekkäiseen kerrokseen, ytimeen, palveluihin ja |
JXTA-teknologian ohjelmistoarkkitehtuuri jakaantuu kolmeen päällekkäiseen kerrokseen, ytimeen, palveluihin ja |
305 |
sovelluksiin. Kuvassa 3 on esitetty JXTAn ohjelmistoarkkitehtuuri. |
sovelluksiin. Kuvassa \ref{fig:jxtalayers} on esitetty JXTAn ohjelmistoarkkitehtuuri. |
306 |
|
|
307 |
|
|
308 |
|
|
311 |
\includegraphics{figure_sun_jxtalayers.eps} |
\includegraphics{figure_sun_jxtalayers.eps} |
312 |
\end{center} |
\end{center} |
313 |
\caption{JXTAn ohjelmistoarkkitehtuuri (© Sun Microsystems).} |
\caption{JXTAn ohjelmistoarkkitehtuuri (© Sun Microsystems).} |
314 |
|
\label{fig:jxtalayers} |
315 |
\end{figure} |
\end{figure} |
316 |
|
|
317 |
|
|
318 |
|
|
319 |
Seuraavissa kappaleissa käsitellään JXTAn ohjelmistoarkkitehtuurin eri kerroksia. |
Seuraavissa kappaleissa käsitellään JXTAn ohjelmistoarkkitehtuurin eri kerroksia. |
320 |
|
|
321 |
\subsection{Ydin (eng. Core)} |
\section{Ydin (eng. Core)} |
322 |
|
|
323 |
|
|
324 |
JXTAn ydin tarjoaa peruspavelut vertaissolmu-palveluille sekä -sovelluksille. Turvallinen suoritusympäristö, |
JXTAn ydin tarjoaa peruspavelut vertaissolmu-palveluille sekä -sovelluksille. Turvallinen suoritusympäristö, |
327 |
Ytimessä on tuki myös anonyymeille tai rekisteröityneille käyttäjille sekä salatulle tai ei-salatulle tiedolle. |
Ytimessä on tuki myös anonyymeille tai rekisteröityneille käyttäjille sekä salatulle tai ei-salatulle tiedolle. |
328 |
|
|
329 |
|
|
330 |
\subsection{Palvelut (eng. Services)} |
\section{Palvelut (eng. Services)} |
331 |
|
|
332 |
|
|
333 |
Palvelut-kerros laajentaa ydin-kerroksen palveluita. Palvelu-kerros tarjoaa palvelut tiedon hakemiseen, tiedon |
Palvelut-kerros laajentaa ydin-kerroksen palveluita. Palvelu-kerros tarjoaa palvelut tiedon hakemiseen, tiedon |
336 |
Palvelu-kerros sisältää lisäksi tietoturvapalveluita, joiden avulla voidaan rakentaa turvallisia vertaisverkko- |
Palvelu-kerros sisältää lisäksi tietoturvapalveluita, joiden avulla voidaan rakentaa turvallisia vertaisverkko- |
337 |
sovelluksia. |
sovelluksia. |
338 |
|
|
339 |
\subsection{Sovellukset (eng. Applications)} |
\section{Sovellukset (eng. Applications)} |
340 |
|
|
341 |
|
|
342 |
JXTA-sovellukset on rakenettu käyttäen ydin- ja palvelu-kerroksen palveluita hyväksi. JXTA-sovelluksia voivat olla |
JXTA-sovellukset on rakenettu käyttäen ydin- ja palvelu-kerroksen palveluita hyväksi. JXTA-sovelluksia voivat olla |
343 |
esimerkiksi pikaviestimet, sähköposti- ja kalenteri-pavelut sekä resurssien hakuun tai siirtoon erikoistuneet |
esimerkiksi pikaviestimet, sähköposti- ja kalenteri-pavelut sekä resurssien hakuun tai siirtoon erikoistuneet |
344 |
sovellukset. |
sovellukset. |
345 |
|
|
346 |
\subsection{Esimerkki sovellus: Kuori (eng. JXTA Shell)} |
\section{Esimerkki sovellus: Kuori (eng. JXTA Shell)} |
347 |
|
|
348 |
|
|
349 |
Kuori on hyvä esimerkki JXTA-arkkitehtuurin päälle rakennetusta sovelluksesta. Kuori on interaktiivinen |
Kuori on hyvä esimerkki JXTA-arkkitehtuurin päälle rakennetusta sovelluksesta. Kuori on interaktiivinen |
356 |
järjestelmissä. Kuoren omainaisuuksiin kuuluu "piiputus", (vertaa edelleen perinteiset Unix-järjestelmät), jonka avulla |
järjestelmissä. Kuoren omainaisuuksiin kuuluu "piiputus", (vertaa edelleen perinteiset Unix-järjestelmät), jonka avulla |
357 |
tietyn komennon vaste voidaan antaa toisen komennon syötteeksi. |
tietyn komennon vaste voidaan antaa toisen komennon syötteeksi. |
358 |
|
|
359 |
\section{Tietoturva} |
\chapter{Tietoturva JXTA-arkkitehtuurissa} |
360 |
|
|
361 |
|
|
362 |
Kuten muissakin tietojärjestelmissä, myös vertaisverkoissa tarvitaan tiedon salaamista. Luottamus, koskemattomuus ja |
Kuten muissakin tietojärjestelmissä, myös vertaisverkoissa tarvitaan tiedon salaamista. Luottamus, koskemattomuus ja |
364 |
tunnistusta, valvontaa, tiedon sekä liikenteen salausta. |
tunnistusta, valvontaa, tiedon sekä liikenteen salausta. |
365 |
|
|
366 |
Jos JXTA-verkossa halutaan käyttää tiedonsiirron yhteydessä salausta, on käytettävä Transport Secutiry Layer 1.0- |
Jos JXTA-verkossa halutaan käyttää tiedonsiirron yhteydessä salausta, on käytettävä Transport Secutiry Layer 1.0- |
367 |
protokollaa (TSL 1.0)[3] . TSL-protokollan käyttö jakaa JXTA-verkon kahteen päällekkäiseen kerrokseen. Alempi kerros |
protokollaa (TSL 1.0) \cite{Dierks} . TSL-protokollan käyttö jakaa JXTA-verkon kahteen päällekkäiseen kerrokseen. Alempi kerros |
368 |
koostuu JXTA-verkon pohjalla olevasta virtuaaliverkosta, joka mahdollistaa tiedon siirron kahden vertaissolmun välillä, |
koostuu JXTA-verkon pohjalla olevasta virtuaaliverkosta, joka mahdollistaa tiedon siirron kahden vertaissolmun välillä, |
369 |
vaikka fyysisessä verkossa tämä olisi huomattavan vaikeaa. Ylempi kerros koostuu TLS 1.0-protokollaa käyttävästä, |
vaikka fyysisessä verkossa tämä olisi huomattavan vaikeaa. Ylempi kerros koostuu TLS 1.0-protokollaa käyttävästä, |
370 |
edelleen virtuaalisesta verkosta. Ero alemman kerroksen virtuaaliseen verkkoon on se, että TLS-protokolla luo |
edelleen virtuaalisesta verkosta. Ero alemman kerroksen virtuaaliseen verkkoon on se, että TLS-protokolla luo |
371 |
turvallisen siirtoyhteyden niiden vertaissolmujen välille, joiden keskuudessa tiedosiirto tapahtuu. Kuvassa 4 on |
turvallisen siirtoyhteyden niiden vertaissolmujen välille, joiden keskuudessa tiedosiirto tapahtuu. Kuvassa \ref{fig:tslnetwork} on |
372 |
esitetty arkkitehtuurin perusrakenne. |
esitetty arkkitehtuurin perusrakenne. |
373 |
|
|
374 |
|
|
377 |
\includegraphics{figure_sun_tslnetwork.eps} |
\includegraphics{figure_sun_tslnetwork.eps} |
378 |
\end{center} |
\end{center} |
379 |
\caption{TSL-protokolla JXTA-arkkitehtuurissa (© IEEE).} |
\caption{TSL-protokolla JXTA-arkkitehtuurissa (© IEEE).} |
380 |
|
\label{fig:tslnetwork} |
381 |
\end{figure} |
\end{figure} |
382 |
|
|
383 |
|
|
384 |
JXTA-verkossa käytetään Poblano-tietoturva-arkkitehtuuria [17]. Tiedon kuljettamiseen käytetään TSL 1.0-protokollaa ja |
JXTA-verkossa käytetään Poblano-tietoturva-arkkitehtuuria \cite{Poblano}. Tiedon kuljettamiseen käytetään TSL 1.0-protokollaa ja |
385 |
tiedon salaamiseen RSA 1024-, 3DES- ja SHA-1-algoritmeja. TLS 1.0-protokollan on kehittänyt |
tiedon salaamiseen RSA 1024-, 3DES- ja SHA-1-algoritmeja. TLS 1.0-protokollan on kehittänyt |
386 |
Internet Engineering Task Forde (IETF) ja se on jatkokehitysversio aiemmin luodulle Secure Sockey Layer 3.0- |
Internet Engineering Task Forde (IETF) ja se on jatkokehitysversio aiemmin luodulle Secure Sockey Layer 3.0- |
387 |
protokolalle. TSL 1.0-protokolla on kaksisuuntainen ja tieto siirtyy JXTA-verkossa 16 kilotavun osissa. Koska |
protokolalle. TSL 1.0-protokolla on kaksisuuntainen ja tieto siirtyy JXTA-verkossa 16 kilotavun osissa. Koska |
405 |
perustajan yksityisellä juurisertifikaatti-avaimella. |
perustajan yksityisellä juurisertifikaatti-avaimella. |
406 |
|
|
407 |
|
|
408 |
\section{Tiedonhaku vertais- ja JXTA-verkoissa} |
\chapter{Tiedonhaku vertais- ja JXTA-verkoissa} |
409 |
|
|
410 |
\subsection{Tiedonhaku vertaisverkoissa} |
\section{Tiedonhaku vertaisverkoissa} |
411 |
|
|
412 |
Tiedon hakeminen hajautetussa vertaisverkossa voidaan jakaa kahteen eri osaan \cite{Counihan}. Ensimmäinen, ei-sisältöpohjainen haku |
Tiedon hakeminen hajautetussa vertaisverkossa voidaan jakaa kahteen eri osaan \cite{Counihan}. Ensimmäinen, ei-sisältöpohjainen haku |
413 |
(eng. Content-agnostic Search), pohjautuu menetelmään, jossa tarkoituksena on löytää verkosta muita solmuja, jotka |
(eng. Content-agnostic Search), pohjautuu menetelmään, jossa tarkoituksena on löytää verkosta muita solmuja, jotka |
419 |
Toinen tekniikka on nimeltään sisältöpohjainen haku (eng. Content-based Search). Sisältöpohjaisessa haussa haun kyselyä |
Toinen tekniikka on nimeltään sisältöpohjainen haku (eng. Content-based Search). Sisältöpohjaisessa haussa haun kyselyä |
420 |
(eng. Search Query) ohjataan haun sisällön perusteella verkon solmujen välillä. Jossain vaiheessa kysely ohjautuu |
(eng. Search Query) ohjataan haun sisällön perusteella verkon solmujen välillä. Jossain vaiheessa kysely ohjautuu |
421 |
verkossa oikealle solmulle, joka pystyy vastaamaan kyselyyn ja palauttamaan haun tulokseen. Esimerkkejä tietopohjaisesta |
verkossa oikealle solmulle, joka pystyy vastaamaan kyselyyn ja palauttamaan haun tulokseen. Esimerkkejä tietopohjaisesta |
422 |
hausta ovat Content Addressable Network (CAN) [7] sekä Chord [2]. Kun uusi solmu liittyy tietoverkkoon, jossa |
hausta ovat (CAN) sekä Chord. Kun uusi solmu liittyy tietoverkkoon, jossa |
423 |
käytetään tietopohjaista hakua, tulee solmun ensimmäiseksi luoda hakemisto (eng. Index) oman alueen (eng. Zone) |
käytetään tietopohjaista hakua, tulee solmun ensimmäiseksi luoda hakemisto (eng. Index) oman alueen (eng. Zone) |
424 |
mainoksista. Yksittäisten alueiden hakemisto-unioni muodostaa olemassa olevan verkon koko tietovaraston. Alue, joka |
mainoksista. Yksittäisten alueiden hakemisto-unioni muodostaa olemassa olevan verkon koko tietovaraston. Alue, joka |
425 |
uudellee solmulle varataan, on dynaaminen ja se rippuu verkon solmujen lukumäärästä sekä yksittäisten solmujen |
uudellee solmulle varataan, on dynaaminen ja se rippuu verkon solmujen lukumäärästä sekä yksittäisten solmujen |
427 |
tietoon liittyen, se tutkii mainoksen sisällön. Sisällön perusteella solmu osaa lähettää mainoksen verkossa oikeaan |
tietoon liittyen, se tutkii mainoksen sisällön. Sisällön perusteella solmu osaa lähettää mainoksen verkossa oikeaan |
428 |
paikkaan. Hajautus on yleisin tapa laskea mainoksen paikka tietoverkossa. |
paikkaan. Hajautus on yleisin tapa laskea mainoksen paikka tietoverkossa. |
429 |
|
|
430 |
\subsection{Tiedonhaku JXTA-verkossa} |
\section{Tiedonhaku JXTA-verkossa} |
431 |
|
|
432 |
Haku JXTA-verkoissa pohjautuu keskitin-solmuihin (eng. Hub Peer) sekä XML-pohjaisiin viesteihin. Kuvassa 5 on esitetty |
Haku JXTA-verkoissa pohjautuu keskitin-solmuihin (eng. Hub Peer) sekä XML-pohjaisiin viesteihin. Kuvassa \ref{fig:searchtopology} on esitetty |
433 |
JXTA-verkon verkkotopologia tiedonhaun yhteydessä. |
JXTA-verkon verkkotopologia tiedonhaun yhteydessä. |
434 |
|
|
435 |
\begin{figure} |
\begin{figure} |
437 |
\includegraphics{figure_ieee_searchtopology.eps} |
\includegraphics{figure_ieee_searchtopology.eps} |
438 |
\end{center} |
\end{center} |
439 |
\caption{Tiedon haku JXTA-verkossa (© IEEE).} |
\caption{Tiedon haku JXTA-verkossa (© IEEE).} |
440 |
|
\label{fig:searchtopology} |
441 |
\end{figure} |
\end{figure} |
442 |
|
|
443 |
|
|
451 |
(eng. Registration), pyynnöstä (eng. Request) sekä vastauksesta (eng. Response). Rekisteröinti-viestimuotoa käytetään |
(eng. Registration), pyynnöstä (eng. Request) sekä vastauksesta (eng. Response). Rekisteröinti-viestimuotoa käytetään |
452 |
uusien resurssien julkituomiseen, pyyntö-viestimuotoa tiedon ja resurssien hakemiseen sekä vastaus-viestimuotoa haun |
uusien resurssien julkituomiseen, pyyntö-viestimuotoa tiedon ja resurssien hakemiseen sekä vastaus-viestimuotoa haun |
453 |
tuottamien vastausten palauttamiseen. Kaikki komponentit sijaitsevat kyselyavaruudessa (eng. Query Space), joka vastaa |
tuottamien vastausten palauttamiseen. Kaikki komponentit sijaitsevat kyselyavaruudessa (eng. Query Space), joka vastaa |
454 |
XML-standardin nimiavaruuksia (eng. Namespace). |
XML-standardin nimiavaruuksia (eng. Namespace). Kuvassa \ref{fig:searchquery} esitetty pyyntö-viesti. |
455 |
|
|
456 |
|
|
457 |
|
|
460 |
\includegraphics{figure_ieee_searchmessagequery.eps} |
\includegraphics{figure_ieee_searchmessagequery.eps} |
461 |
\end{center} |
\end{center} |
462 |
\caption{Eräs XML-muotoinen pyyntö-viesti (© IEEE).} |
\caption{Eräs XML-muotoinen pyyntö-viesti (© IEEE).} |
463 |
|
\label{fig:searchquery} |
464 |
\end{figure} |
\end{figure} |
465 |
|
|
466 |
|
|
467 |
Pyyntöjen palauttamiin hakutuloksiin voidaan vaikuttaa Query Node Pattern-tekniikan (QNP) avulla. Se on tekniikka, jossa |
Pyyntöjen palauttamiin hakutuloksiin voidaan vaikuttaa Query Node Pattern-tekniikan (QNP) avulla. Se on tekniikka, jossa |
468 |
loogisia predikaatteja käytetään kuvamaan tietoa tai resurssia. Predikaatit voivat olla yksittäisiä sanoja tai loogisia |
loogisia predikaatteja käytetään kuvamaan tietoa tai resurssia. Predikaatit voivat olla yksittäisiä sanoja tai loogisia |
469 |
operaattoreita, kuten "Tai" (eng. Or) ja "Ja" (eng. And). Kuvassa 7 on esitetty rekisteröinti-viesti. Viestissä rivi |
operaattoreita, kuten "Tai" (eng. Or) ja "Ja" (eng. And). Kuvassa \ref{fig:searchprovider} on esitetty rekisteröinti-viesti. Viestissä rivi |
470 |
"http://big-bookseller.com/jxtasearch" määrää käytettävän kyselyavaruuden. Tämä viesti rekisteröi kyselyavaruuteen uudet |
"http://big-bookseller.com/jxtasearch" määrää käytettävän kyselyavaruuden. Tämä viesti rekisteröi kyselyavaruuteen uudet |
471 |
avainsanat "Joy", "Stephenson", "Java", "JXTA", "XML" ja "Cryptography". Kaikki pyyntö-viestit, jotka hakevat edellä |
avainsanat "Joy", "Stephenson", "Java", "JXTA", "XML" ja "Cryptography". Kaikki pyyntö-viestit, jotka hakevat edellä |
472 |
mainittuja sanoja (esimerkiksi kuvan 6 viesti), suoritetaan "http://big-bookseller.com/jxtasearch"-palvelimella. |
mainittuja sanoja (esimerkiksi kuvan \ref{fig:searchquery} viesti), suoritetaan "http://big-bookseller.com/jxtasearch"-palvelimella. |
473 |
|
|
474 |
|
|
475 |
\begin{figure} |
\begin{figure} |
477 |
\includegraphics{figure_ieee_searchmessageprovider.eps} |
\includegraphics{figure_ieee_searchmessageprovider.eps} |
478 |
\end{center} |
\end{center} |
479 |
\caption{Eräs XML-muotoinen rekisteröinti-viesti (© IEEE).} |
\caption{Eräs XML-muotoinen rekisteröinti-viesti (© IEEE).} |
480 |
|
\label{fig:searchprovider} |
481 |
\end{figure} |
\end{figure} |
482 |
|
|
483 |
\section{Yhteenveto} |
\chapter{Yhteenveto} |
484 |
|
|
485 |
JXTA-projektin tuotoksena on syntynyt monipuolinen vertaisverkkojärjestelmä. Avoimuus, tietoturva, sovellusten |
JXTA-projektin tuotoksena on syntynyt monipuolinen vertaisverkkojärjestelmä. Avoimuus, tietoturva, sovellusten |
486 |
yhteensopivuus sekä laitteistoriippumattomuus ovat asioita, jotka erottavat JXTA-arkkitehtuurin muista |
yhteensopivuus sekä laitteistoriippumattomuus ovat asioita, jotka erottavat JXTA-arkkitehtuurin muista |
491 |
vertaisverkkoympäristöön |
vertaisverkkoympäristöön |
492 |
|
|
493 |
|
|
|
\thebibliography |
|
494 |
|
|
495 |
\bibitem{Botros} Botros Sherif, Waterhouse Steve, ''Search in JXTA and Other Distributed Networks'', 0-7695-1503-07/02 IEEE, 2002 |
%*********************** |
496 |
|
% Viitteet |
497 |
|
%*********************** |
498 |
|
|
499 |
|
\begin{thebibliography}{88} |
500 |
|
|
501 |
|
\bibitem{Botros} Botros Sherif, Waterhouse Steve, ''Search in JXTA and Other Distributed Networks'', |
502 |
|
0-7695-1503-07/02 IEEE, 2002 |
503 |
|
|
504 |
\bibitem{Dabek} Dabek F. ym., ''Building Peer-to-Peer Systems with Chord'', a Distributed Lookup Service, 2001 |
\bibitem{Dabek} Dabek F. ym., ''Building Peer-to-Peer Systems with Chord'', |
505 |
|
a Distributed Lookup Service, 2001 |
506 |
|
|
507 |
\bibitem{Dierks} Dierks T., Allen C., ''The TLS Protocol'', IETF RFC2246, January 1999 |
\bibitem{Dierks} Dierks T., Allen C., ''The TLS Protocol'', IETF RFC2246, January 1999 |
508 |
|
|
509 |
\bibitem{Gong 2002} Gong Li, ''Project JXTA: A Technology Overview'', saatavilla WWW-muodossa <URL: http://www.jxta.org/project/www/docs/TechOverview.pdf>, viitattu 11.10.2002 |
\bibitem{Gong 2002} Gong Li, ''Project JXTA: A Technology Overview'', |
510 |
|
saatavilla WWW-muodossa <URL: \url{http://www.jxta.org/project/www/docs/TechOverview.pdf}>, |
511 |
|
viitattu 11.10.2002 |
512 |
|
|
513 |
\bibitem{Gong 2001}Gong Li, ''JXTA: A Network Programming Environment'', 1089-7801/01 IEEE / IEEE Internet Computing May-June 2001 |
\bibitem{Gong 2001}Gong Li, ''JXTA: A Network Programming Environment'', |
514 |
|
1089-7801/01 IEEE / IEEE Internet Computing May-June 2001 |
515 |
|
|
516 |
\bibitem{Oram} Oram Andy, ''Harnessing the Power of Disruptive Technologies'', O'Reilly, 2001 |
\bibitem{Oram} Oram Andy, ''Harnessing the Power of Disruptive Technologies'', |
517 |
|
O'Reilly, 2001 |
518 |
|
|
519 |
\bibitem{Ratnasamy} Ratnasamy S. ym., ''A Scalable Content Addressable Network'', ACM SIGCOM, 2001 |
\bibitem{Ratnasamy} Ratnasamy S. ym., ''A Scalable Content Addressable Network'', |
520 |
|
ACM SIGCOM, 2001 |
521 |
|
|
522 |
\bibitem{Traversat} Traversat Bernard ym., ''Project JXTA Virtual Netowk'', saatavilla WWW-muodossa <URL: http://www.jxta.org/project/www/docs/JXTAprotocols.pdf>, viitattu 11.10.2002 |
\bibitem{Traversat} Traversat Bernard ym., ''Project JXTA Virtual Netowk'', |
523 |
|
saatavilla WWW-muodossa <URL: \url{http://www.jxta.org/project/www/docs/JXTAprotocols.pdf}>, |
524 |
|
viitattu 11.10.2002 |
525 |
|
|
526 |
\bibitem{Yeager} Yeager William, William Joseph, ''Secure Peer-to-Peer Networking, The JXTA Example'', 1520-9202/02 IEEE / IT Professional Volume: 4; Issue: 2, March-April 2002 |
\bibitem{Yeager} Yeager William, William Joseph, ''Secure Peer-to-Peer Networking, |
527 |
|
The JXTA Example'', 1520-9202/02 IEEE / IT Professional Volume: 4; Issue: 2, |
528 |
|
March-April 2002 |
529 |
|
|
530 |
\bibitem{Waterhouse} Waterhouse Steve ym., ''Distributed Serach in P2P Networks'', 1089-7801/02 IEEE / IEEE Internet Computing, January-February 2002 |
\bibitem{Waterhouse} Waterhouse Steve ym., ''Distributed Serach in P2P Networks'', |
531 |
|
1089-7801/02 IEEE / IEEE Internet Computing, January-February 2002 |
532 |
|
|
533 |
\bibitem{JXTA 2002} ''Project JXTA: An Open, Innovative Colloboration'', saatavilla WWW-muodossa <URL: http://www.jxta.org/project/www/docs/OpenInnovative.pdf>, viitattu 11.10.2002 |
\bibitem{JXTA 2002} ''Project JXTA: An Open, Innovative Colloboration'', |
534 |
|
saatavilla WWW-muodossa <URL: \url{http://www.jxta.org/project/www/docs/OpenInnovative.pdf}>, |
535 |
|
viitattu 11.10.2002 |
536 |
|
|
537 |
\bibitem{JXTA 2002a} JXTA-projekti, saatavilla WWW-muodossa <URL: http://www.jxta.org>, viitattu 11.10.2002 |
\bibitem{JXTA 2002a} JXTA-projekti, saatavilla WWW-muodossa <URL: \url{http://www.jxta.org}>, |
538 |
|
viitattu 11.10.2002 |
539 |
|
|
540 |
\bibitem{Gnutella} Gnutella, saatavilla WWW-muodossa <URL: http://www.gnutella.wego.com>, viitattu 11.10.2002 |
\bibitem{Gnutella} Gnutella, saatavilla WWW-muodossa <URL: \url{http://www.gnutella.wego.com}>, |
541 |
|
viitattu 11.10.2002 |
542 |
|
|
543 |
\bibitem{Napster} Napster, saatavilla WWW-muodossa <URL: http://www.napster.com>, viitattu 11.10.2002 |
\bibitem{Napster} Napster, saatavilla WWW-muodossa <URL: \url{http://www.napster.com}>, |
544 |
|
viitattu 11.10.2002 |
545 |
|
|
546 |
\bibitem{Zeropaid} Zeropaid Portal, saatavilla WWW-muodossa <URL: http://www.zeropaid.com>, viitattu 11.10.2002 |
\bibitem{Zeropaid} Zeropaid Portal, saatavilla WWW-muodossa <URL: \url{http://www.zeropaid.com}>, |
547 |
|
viitattu 11.10.2002 |
548 |
|
|
549 |
\bibitem{IEEE 802.11} IEEE 802.11 WLAN WORKING GROUP, saatavilla WWW-muodossa <URL: http://grouper.ieee.org/groups/802/11/>, viitattu 11.10.2002 |
\bibitem{IEEE 802.11} IEEE 802.11 WLAN WORKING GROUP, |
550 |
|
saatavilla WWW-muodossa <URL: \url{http://grouper.ieee.org/groups/802/11/}>, viitattu 11.10.2002 |
551 |
|
|
552 |
\bibitem{Poblano} Poblano, a Distributed Trust Model for Peer-to-Peer Networks, saatavilla WWW-muodossa <URL: http://www.jxta.org/project/www/docs/trust.pdf>, viitattu 11.10.2002 |
\bibitem{Poblano} Poblano, a Distributed Trust Model for Peer-to-Peer Networks, |
553 |
|
saatavilla WWW-muodossa <URL: \url{http://www.jxta.org/project/www/docs/trust.pdf}>, viitattu 11.10.2002 |
554 |
|
|
555 |
|
\end{thebibliography} |
556 |
|
|
557 |
\end{document} |
\end{document} |