/[gzz]/gzz/Documentation/misc/hemppah-luk/jxta_luk.tex
ViewVC logotype

Diff of /gzz/Documentation/misc/hemppah-luk/jxta_luk.tex

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

revision 1.3 by hemppah, Mon Oct 21 13:19:14 2002 UTC revision 1.4 by hemppah, Tue Oct 22 08:31:40 2002 UTC
# Line 14  Line 14 
14  %***********************  %***********************
15  %   Tyyliluokan pakolliset määritykset  %   Tyyliluokan pakolliset määritykset
16  %***********************  %***********************
   
 \selectlanguage{finnish}  
   
17  \title{JXTA-arkkitehtuuri}  \title{JXTA-arkkitehtuuri}
18    
19  \author{Hermanni Hyytiälä}  \author{Hermanni Hyytiälä}
# Line 31  Line 28 
28    
29  \avainsanat{Vertaisverkot, P2P, tietoverkot, tietoturva, hajautetut järjestelmät}  \avainsanat{Vertaisverkot, P2P, tietoverkot, tietoturva, hajautetut järjestelmät}
30    
31  \contactinformation{Hermanni Hyytiälä\\  \contactinformation{\\
32    Hermanni Hyytiälä\\
33  Huhtalammentie 5 as. 17\\  Huhtalammentie 5 as. 17\\
34  40640 JYVÄSKYLÄ\\  40640 JYVÄSKYLÄ\\
35  sähköposti: hemppah@cc.jyu.fi}  sähköposti: hemppah@cc.jyu.fi}
# Line 74  Tutkielma jakaantuu kolmeen osaan. Luvui Line 72  Tutkielma jakaantuu kolmeen osaan. Luvui
72    
73  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ää
74  hallitsemaan kaikkea tietoa. On arvioitu, että uusien langattomien laitteiden markkinoille tulo kasvattaa  hallitsemaan kaikkea tietoa. On arvioitu, että uusien langattomien laitteiden markkinoille tulo kasvattaa
75  tietoverkoissa käytettävien laitteiden määrää miljardeilla uusilla laitteilla \cite{Gong 2002}.  tietoverkoissa käytettävien laitteiden määrää miljardeilla uusilla laitteilla \cite{Joy}.
76    
77  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-
78  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)
79  voi aiheuttaa järjestelmän jumiutumisen, jolloin kaikki tietojärjestelmän tarjoavat palvelut lakkaavat toimimasta.  voi aiheuttaa järjestelmän jumiutumisen, jolloin kaikki tietojärjestelmän tarjoamat palvelut lakkaavat toimimasta.
80    
81  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.
82  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
# Line 98  tiedostonjako-ohjelmistoja, jotka pohjau Line 96  tiedostonjako-ohjelmistoja, jotka pohjau
96    
97    
98  JXTA \cite{JXTA 2002a} 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
99  mahdollistaa tehokkaan ja turvallisen tiedonsiirron vertaisverkoissa. JXTA-arkkitehtuuri perustuu vertaisverkko-  mahdollistaa tehokkaan ja turvallisen tiedonsiirron vertaisverkoissa. JXTA-arkkitehtuuri perustuu vertaisverkkoideologiaan.
100  ideologiaan. JXTAn avulla voidaan tietoverkoissa viestiä, tehdä yhteystyötä, jakaa resursseja ja hakea tietoa. JXTA on  JXTAn avulla voidaan tietoverkoissa viestiä, tehdä yhteystyötä, jakaa resursseja ja hakea tietoa. JXTA on        
101  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
102  käytön samassa vertaisverkossaa.  käytön samassa vertaisverkossaa.
103    
# Line 109  käytön samassa vertaisverkossaa. Line 107  käytön samassa vertaisverkossaa.
107  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.
108  Kun projekti alkoi, luotiin kolme tavoitetta \cite{Gong 2002}:  Kun projekti alkoi, luotiin kolme tavoitetta \cite{Gong 2002}:
109    
110  Yhteensopivuus  \begin{itemize}
111    
112    \item \textbf{Yhteensopivuus}
113    
114  Lähes kaikki saatavilla olevat vertaisverkkoarkkitehtuurit ovat keskenään yhteensopimattomia. Projektin  Lähes kaikki saatavilla olevat vertaisverkkoarkkitehtuurit ovat keskenään yhteensopimattomia. Projektin
115  tavoitteena on luoda universaalinen vertaisverkkoarkkitehtuuri, jolloin kaikki tätä arkkitehtuuria käyttävät  tavoitteena on luoda universaalinen vertaisverkkoarkkitehtuuri, jolloin kaikki tätä arkkitehtuuria käyttävät
116  sovellukset ja olisivat keskenään yhteensopivia ja voisivat käyttää hyväksi toistensa palveluita.  sovellukset ja olisivat keskenään yhteensopivia ja voisivat käyttää hyväksi toistensa palveluita.
117    
118  Alusta riippumattomuus  \item \textbf{Alusta riippumattomuus}
119  Useat vertaisverkko-arkkitehtuurit ovat sidottuja tiettyyn alustaan, koska ne ovat suunniteltu  
120    Useat vertaisverkkoarkkitehtuurit ovat sidottuja tiettyyn alustaan, koska ne ovat suunniteltu
121  ja toteutettu tietyillä kielityökaluilla. Esimerkiksi jos vertaisverkko-ohjelma on toteutettu C++-ohjelmointikielellä,  ja toteutettu tietyillä kielityökaluilla. Esimerkiksi jos vertaisverkko-ohjelma on toteutettu C++-ohjelmointikielellä,
122  voi ohjelman siirrettävyys eri järjestelmien välillä olla vaikeaa tai jopa mahdotonta. JXTA on kielityökalu-,  voi ohjelman siirrettävyys eri järjestelmien välillä olla vaikeaa tai jopa mahdotonta. JXTA on kielityökalu-,
123  laitteisto- ja verkkoriippumaton vertaisverkkoarkkitehtuuri.  laitteisto- ja verkkoriippumaton vertaisverkkoarkkitehtuuri.
124    
125  Kaikkialla läsnäoleva  \item \textbf{Kaikkialla läsnäoleva}
126    
127  JXTA-teknologia on suunniteltu toimivan erilaisissa digitaalisissa laitteissa. Esimerkiksi  JXTA-teknologia on suunniteltu toimivan erilaisissa digitaalisissa laitteissa. Esimerkiksi
128  erilaiset taskutietokoneet, kulutuselektroniikka- ja verkkolaitteistot ja tavalliset tietokoneet voivat keskustella  erilaiset taskutietokoneet, kulutuselektroniikka- ja verkkolaitteistot ja tavalliset tietokoneet voivat keskustella
129  keskenään JXTA-teknologian ansiosta.  keskenään JXTA-teknologian ansiosta.
130    
131    \end{itemize}
132    
133  \chapter{JXTA-arkkitehtuuri}  \chapter{JXTA-arkkitehtuuri}
134    
135    
136  JXTA-arkkitehtuurin protokollat \cite{Gong 2002} 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
137  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
138  laitteiden kesken. Kuvassa \ref{fig:virtualnetwork} on esitetty JXTA-verkon virtuaalisen verkon rakenne.  laitteiden kesken. Kuvassa \ref{fig:virtualnetwork} on esitetty JXTA-verkon virtuaalisen verkon rakenne.
139    
140    
# Line 160  laiterajapinnan, laite A voi valita parh Line 165  laiterajapinnan, laite A voi valita parh
165    
166    
167  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
168  yhteydet verkon laitteiden välillä voivat olla ohimeneviä. Tiedon välitysreitit voivat vaihtua ja olla lisäksi  yhteydet verkon laitteiden välillä voivat olla ohimeneviä. Tiedon välitysreitit voivat vaihtua ja olla asynkronisia.
169  asynkronisia. JXTA-verkossa siirtyvät viestit on suunniteltu tällaisia tarpeita ajatellen.  JXTA-verkossa siirtyvät viestit on suunniteltu tällaisia tarpeita ajatellen.
170    
171  Jokainen JXTA-verkon viesti sisältää otsikon (eng. Header), ei-pakollisen tiivistelmän (eng. Digest), päällysen  Jokainen JXTA-verkon viesti sisältää otsikon (eng. Header), ei-pakollisen tiivistelmän (eng. Digest), päällysen
172  (eng. Envelope) ja pinon (eng. Stack) sisältäen eri protokollien otsikot ja tiedot (eng. Body). Päällynen sisältää  (eng. Envelope) ja pinon (eng. Stack) sisältäen eri protokollien otsikot ja tiedot (eng. Body). Päällynen sisältää
# Line 177  lähteen. Line 182  lähteen.
182    
183  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
184  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
185  voidaan käyttää mainosten luomisessa: Vertaissolmu-mainos (eng. Peer advertisement), vertaissolmu-ryhmämainos (eng. Peer  voidaan käyttää mainosten luomisessa: Vertaissolmu-mainos (eng. Peer advertisement), vertaissolmuryhmä-mainos (eng. Peer
186  Group advertisement), piippu-mainos (eng. Pipe advertisement), moduuli-mainos (eng. Module advertisement),  Group advertisement), piippu-mainos (eng. Pipe advertisement), moduuli-mainos (eng. Module advertisement),
187  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-
188  mainos (eng. Peer Endpoint advertisement).  mainos (eng. Peer Endpoint advertisement).
189    
190  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
191  tallentavat, julkaisevat ja siirtävät mainoksia JXTA-verkossa. Kaikkiin mainoksiin liittyy elämänpituus-arvo  tallentavat, julkaisevat (eng. Publish) ja siirtävät mainoksia JXTA-verkossa. Kaikkiin mainoksiin liittyy elämänpituus-arvo
192  (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 (eng. Republish),
193  jolloin elämänpituus-arvoa voidaan tarvittaessa kasvattaa. Kuvassa \ref{fig:advertisement} on esitetty eräs  jolloin elämänpituus-arvoa voidaan tarvittaessa kasvattaa. Kuvassa \ref{fig:advertisement} on esitetty eräs
194  JXTA-arkkitehtuurin mukainen mainos.  JXTA-arkkitehtuurin mukainen mainos.
195    
# Line 216  samanaikaisesti useaan eri vertaissolmur Line 221  samanaikaisesti useaan eri vertaissolmur
221    
222  Vertaissolmuryhmien olemassaoloon JXTA-arkkitehtuurin kehittäjät ovat löytäneet kolme motiivia: luottamuksellisen tiedon  Vertaissolmuryhmien olemassaoloon JXTA-arkkitehtuurin kehittäjät ovat löytäneet kolme motiivia: luottamuksellisen tiedon
223  siirto rajoitetussa ympäristössä, samanlaisten intressien jakaminen rajoitetussa ympärisössä sekä rajoitetun ympäristön  siirto rajoitetussa ympäristössä, samanlaisten intressien jakaminen rajoitetussa ympärisössä sekä rajoitetun ympäristön
224  monitorointi ja analsyointi. JXTA-verkossa on implisiittinen, koko verkon laajuinen World Peer Group-vertaissolmuryhmä  monitorointi ja analysointi. JXTA-verkossa on implisiittinen, koko verkon laajuinen, World Peer Group-vertaissolmuryhmä
225  (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
226  voisivat löytää kaikki muut vertaissolmut.  voisivat löytää kaikki muut vertaissolmut ja niiden palvelut.
227    
228  \section{Piiput (eng. Pipes)}  \section{Piiput (eng. Pipes)}
229    
230  Piiput ovat asynkronisia kanavia, joiden kautta viestejä lähetetään JXTA-verkossa. Piiput ovat myös virtuaalisia, piipun  Piiput ovat virtuaalisia asynkronisia kanavia, joiden kautta viestejä lähetetään JXTA-verkossa.  Piippuja käyttävät
231  kohde voidaan yhdistää yhteen tai useaan vertaissolmuun. Piippuja käyttävät JXTA-verkon palvelut sekä sovellukset.  JXTA-verkon palvelut sekä sovellukset.
232    
233  Piippu yhdistetään yleensä ajonaikaisesti vertaissolmuun käyttäen piipun yhdistys protokollaa (eng. Pipe Binding  Piippu yhdistetään yleensä ajonaikaisesti vertaissolmuun käyttäen piipun yhdistys protokollaa (eng. Pipe Binding
234  Protocol). Yksittäinen piippu voidaan yhdistää eri aikoina eri vertaissolmuihin. Tämä on hyöydyllinen omainaisuus  Protocol). Yksittäinen piippu voidaan yhdistää eri aikoina eri vertaissolmuihin. Tämä on hyöydyllinen omainaisuus
235  silloin kun halutaan varmistaa järjestelmän toimivuus kriittisissä tilanteissa. Vioittunut vertaissolmu esimerkiksi  silloin kun halutaan varmistaa järjestelmän toimivuus kriittisissä tilanteissa. Vioittunut vertaissolmu esimerkiksi
236  verkossa voidaan korvata toisella toimivalla vertaissolmulla.  voidaan korvata toisella toimivalla vertaissolmulla.
237    
238  Pisteestä-pisteeseen-piipulla (eng. Point-to-point pipe) voidaan yhdistää tasan kaksi vertaissolmua keskenään. Tällöin  Pisteestä-pisteeseen-piipulla (eng. Point-to-point pipe) voidaan yhdistää tasan kaksi vertaissolmua keskenään. Tällöin
239  piippu on ulosmeno-piippu lähettäjälle ja sisäänmeno-piippu vastaanottajalle. Liikenne on yksisuuntaista, lähettäjältä  piippu on ulosmeno-piippu lähettäjälle ja sisäänmeno-piippu vastaanottajalle. Liikenne on yksisuuntaista, lähettäjältä
# Line 238  keskenään. Line 243  keskenään.
243  \section{Resurssien kartoitus (eng. Universal Resource Binding and Rendezvous)}  \section{Resurssien kartoitus (eng. Universal Resource Binding and Rendezvous)}
244    
245  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ä
246  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, liittäjän (eng. Socket)
247  liittäminen porttiin, palvelun löytäminen LDAP-hakemistopalvelun avulla ja tiedon etsintä hajautetussa  liittäminen porttiin, palvelun löytäminen LDAP-hakemistopalvelun avulla ja tiedon etsintä hajautetussa
248  tiedostojärjestelmässä (eng. Network Filesystem, NFS). Kaikki edellä mainitut operaatiot käyttävät JXTA-verkon mainoksia  tiedostojärjestelmässä (eng. Network Filesystem, NFS). Kaikki edellä mainitut operaatiot käyttävät JXTA-verkon mainoksia
249  hyväkseen.  hyväkseen.
# Line 260  Tässä kappaleessa on esitelty JXTA-verko Line 265  Tässä kappaleessa on esitelty JXTA-verko
265  \section{Peer Discovery Protocol}  \section{Peer Discovery Protocol}
266    
267    
268  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-verkosta. Jos
269  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 kaikki saatavilla olevat mainokset
270  haun tuloksena.  haun tuloksena.
271    
272  \section{Peer Resolver Protocol}  \section{Peer Resolver Protocol}
273    
274    
275  Mahdollistaa vertaissolmun lähettää ja vastaanottaa yleisiä kyselyitä vertaissolmuun, vertaissolmuryhmään, piippuihin  Mahdollistaa vertaissolmun lähettää ja vastaanottaa yleisiä kyselyitä vertaissolmuun, vertaissolmuryhmään, piippuihin
276  tai tietoon liittyen. Yleensä tämä protokolla on ainoastaan käytössä kohtauspaikka-vertaissolmuissa.  tai resurssiin liittyen. Yleensä tämä protokolla on ainoastaan käytössä kohtauspaikka-vertaissolmuissa.
277    
278  \section{Peer Information Protocol}  \section{Peer Information Protocol}
279    
280    
281  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ää
282  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
283  saatavilla.  saatavilla (eng. Available).
284    
285  \section{Peer Membership Protocol}  \section{Peer Membership Protocol}
286    
# Line 295  Mahdollistaa vertaissolmun liittää piipu Line 300  Mahdollistaa vertaissolmun liittää piipu
300    
301    
302  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
303  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 (NAT-tekniikka) on vertaissolmujen välissä.
304  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.
305    
306  \chapter{Ohjelmistoarkkitehtuuri}  \chapter{Ohjelmistoarkkitehtuuri}
# Line 333  Ytimessä on tuki myös anonyymeille tai r Line 338  Ytimessä on tuki myös anonyymeille tai r
338  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
339  jakamiseen, tiedon indeksointiin ja tiedon tallentamiseen.  jakamiseen, tiedon indeksointiin ja tiedon tallentamiseen.
340    
341  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 vertaisverkkosovelluksia.
 sovelluksia.  
342    
343  \section{Sovellukset (eng. Applications)}  \section{Sovellukset (eng. Applications)}
344    
345    
346  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
347  esimerkiksi pikaviestimet, sähköposti- ja kalenteri-pavelut sekä resurssien hakuun tai siirtoon erikoistuneet  esimerkiksi pikaviestimet, sähköposti- ja kalenteri-palvelut sekä resurssien hakuun tai siirtoon erikoistuneet
348  sovellukset.  sovellukset.
349    
350  \section{Esimerkki sovellus: Kuori (eng. JXTA Shell)}  \section{Esimerkki sovellus: Kuori (eng. JXTA Shell)}
351    
352    
353  Kuori on hyvä esimerkki JXTA-arkkitehtuurin päälle rakennetusta sovelluksesta. Kuori on interaktiivinen  Kuori on esimerkki JXTA-arkkitehtuurin päälle rakennetusta sovelluksesta. Kuori on interaktiivinen
354  komentorivipohjainen sovellus, samanlainen mitä yleimmät kuoret ovat Unix-järjestelmissä. Suurin ero Unix-kuoren ja  komentorivipohjainen sovellus, samanlainen mitä yleisimmät kuoret ovat Unix-järjestelmissä. Suurin ero Unix-kuoren ja
355  JXTA-kuoren välillä on se, että Unix-kuoren komennot on tarkoitettu suoritettavaksi paikallisessa ympäristössä, kun taas  JXTA-kuoren välillä on se, että Unix-kuoren komennot on tarkoitettu suoritettavaksi paikallisessa ympäristössä, kun taas
356  JXTA-kuoren komennot suoritetaan hajautetussa verkkoympäristössä.  JXTA-kuoren komennot suoritetaan hajautetussa verkkoympäristössä.
357    
# Line 381  esitetty arkkitehtuurin perusrakenne. Line 385  esitetty arkkitehtuurin perusrakenne.
385  \end{figure}  \end{figure}
386    
387    
388  JXTA-verkossa käytetään Poblano-tietoturva-arkkitehtuuria \cite{Poblano}. Tiedon kuljettamiseen käytetään TSL 1.0-protokollaa ja  JXTA-verkossa käytetään Poblano-tietoturva-arkkitehtuuria \cite{Poblano}. Poblanossa tiedon salaamiseen käytetään RSA 1024-, 3DES- ja SHA-1-algoritmeja
389  tiedon salaamiseen RSA 1024-, 3DES- ja SHA-1-algoritmeja. TLS 1.0-protokollan on kehittänyt  ja tiedonsiirtoon TLS 1.0-protokollaa. TLS 1.0-protokollan on kehittänyt
390  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-
391  protokolalle. TSL 1.0-protokolla on kaksisuuntainen ja tieto siirtyy JXTA-verkossa 16 kilotavun osissa. Koska  protokolalle (SSL v3.0). TSL 1.0-protokolla on kaksisuuntainen, ja tieto siirtyy JXTA-verkossa 16 kilotavun osissa. Koska
392  tiedonsiirtoväylä on kaksi suuntainen, pitää tiedonsiirron molemmat osapuolet pystyä tunnistamaan. Vertaissolmun pitää  tiedonsiirtoväylä on kaksi suuntainen, pitää tiedonsiirron molemmat osapuolet pystyä tunnistamaan. Vertaissolmun pitää
393  hankkia itselleen toisen vertaissolmun X509.V3-juuriserfifikaatti (eng. Root Certificate), jotta tiedonsiirto tapahtuisi  hankkia itselleen toisen vertaissolmun X509.V3-juurisertifikaatti (eng. Root Certificate), jotta tiedonsiirto tapahtuisi
394  turvallisesti. Sertifikaatti sisältää RSA 1024-algoritmin mukaisen julkisen avaimen, jonka avulla vertaissolmu voi  turvallisesti. Sertifikaatti sisältää RSA 1024-algoritmin mukaisen julkisen avaimen, jonka avulla vertaissolmu voi
395  tunnistaa X509.V3-palvelusertifikaatin yksityisen avaimen. TLS 1.0-protokolla käyttää palvelusertifikaatteja  tunnistaa X509.V3-palvelusertifikaatin yksityisen avaimen. TLS 1.0-protokolla käyttää palvelusertifikaatteja
396  vertaissolmujen tunnistamiseen.  vertaissolmujen tunnistamiseen.
397    
398  Vertaissolmut voivat hankkia toisen vertaissolmun juurisertifikaatin itselleen kahdella eri tavalla. Ensimmäinen tapa on  Vertaissolmut voivat hankkia toisen vertaissolmun juurisertifikaatin itselleen kahdella eri tavalla. Ensimmäinen tapa on
399  levittää vertaissolmun juurisertifikaattia JXTA-verkon mainoksissa. Tämä ei kuitenkaan suositeltavaa, koska silloin  levittää vertaissolmun juurisertifikaattia JXTA-verkon mainoksissa. Tämä ei kuitenkaan suositeltavaa, koska silloin
400  "Mies keskellä"-hyökkäys (eng. Man In The Middle Attack, MITM) saattaa tapahtua. MITM-hyökkäys on käytännössä vaikea  "Mies keskellä"-hyökkäys (eng. Man In The Middle Attack, MITM) saattaa tapahtua. MITM-hyökkäystä on käytännössä vaikea
401  suorittaa, koska sertifikaatit on vahvasti salattuja. Toinen, turvallisempi tapa levittää juurisertifikaatteja on liitää  suorittaa, koska sertifikaatit on vahvasti salattuja. Toinen, turvallisempi tapa levittää juurisertifikaatteja on liitää
402  juurisertifikaatti binäärisen tiedon sekaan, jolloin MITM-hyökkäykset eivät olet mahdollisia.  juurisertifikaatti binäärisen tiedon sekaan, jolloin MITM-hyökkäykset eivät olet mahdollisia.
403    
# Line 414  Tiedon hakeminen hajautetussa vertaisver Line 418  Tiedon hakeminen hajautetussa vertaisver
418  sisältävät tarvittavat tiedot haun suorittamiseen. Yleensä nämä solmut ovat palvelimia, jotka pitävät yllä erilaisia  sisältävät tarvittavat tiedot haun suorittamiseen. Yleensä nämä solmut ovat palvelimia, jotka pitävät yllä erilaisia
419  hakemistoja verkossa liikkuvasta tiedosta ja tietoon liittyvistä solmuista. Ei-sisältöpohjaista hakutekniikkaa käyttävät  hakemistoja verkossa liikkuvasta tiedosta ja tietoon liittyvistä solmuista. Ei-sisältöpohjaista hakutekniikkaa käyttävät
420  esimerkiksi Napster- ja Gnutella-tiedostonjako-ohjelmat. Ei-sisältöpohjaisen haun etuina ovat haun nopeus sekä pieni  esimerkiksi Napster- ja Gnutella-tiedostonjako-ohjelmat. Ei-sisältöpohjaisen haun etuina ovat haun nopeus sekä pieni
421  verkon kuormitus. Heikkouksina voidaan pitää virheensietokykyä, laajennettavuutta sekä keskitettyä ylläpitoa.  verkon kuormitus. Heikkouksina voidaan pitää virheensietokykyä, laajennettavuutta sekä keskitettyä ylläpitoa (Napster).
422    
423  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ä
424  (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
425  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
426  hausta ovat (CAN) sekä Chord. Kun uusi solmu liittyy tietoverkkoon, jossa  hausta ovat CAN sekä Chord. Kun uusi solmu liittyy tietoverkkoon, jossa
427  käytetään tietopohjaista hakua, tulee solmun ensimmäiseksi luoda hakemisto (eng. Index) oman alueen (eng. Zone)  käytetään sisältöpohjaista hakua, tulee solmun ensimmäiseksi luoda hakemisto (eng. Index) oman alueen (eng. Zone)
428  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
429  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
430  poistumisesta verkosta tai liittymisestä verkkoon. Kun verkon solmu haluaa julkaista uuden mainoksen resurssiin tai  poistumisesta verkosta tai liittymisestä verkkoon. Kun verkon solmu haluaa julkaista uuden mainoksen resurssiin tai
431  tietoon liittyen, se tutkii mainoksen sisällön. Sisällön perusteella solmu osaa lähettää mainoksen verkossa oikeaan  tietoon liittyen, se laskee mainokselle arvon sen sisällön perusteella. Mainoksesta lasketun arvon avulla solmut osaavat
432  paikkaan. Hajautus on yleisin tapa laskea mainoksen paikka tietoverkossa.  reitittää (eng. Routing) mainoksen oikeaan paikkaan verkossa. Hajautus (eng. Hashing) on yleisin tapa laskea tiedolle arvo tai tunniste
433    sen sisällön perusteella.
434    
435  \section{Tiedonhaku JXTA-verkossa}  \section{Tiedonhaku JXTA-verkossa}
436    
# Line 443  JXTA-verkon verkkotopologia tiedonhaun y Line 448  JXTA-verkon verkkotopologia tiedonhaun y
448    
449  Tietoa voidaan hakea JXTA-verkossa joko syvyys- tai leveyssuunnassa. Tämä mahdollistaa tehokkaat hakualgorimit sekä  Tietoa voidaan hakea JXTA-verkossa joko syvyys- tai leveyssuunnassa. Tämä mahdollistaa tehokkaat hakualgorimit sekä
450  vähentää verkon kuormitusta. Kun vertaissolmut julkaisevat mainoksia, ne tallennetaan keskitin-vertaissolmuihin.  vähentää verkon kuormitusta. Kun vertaissolmut julkaisevat mainoksia, ne tallennetaan keskitin-vertaissolmuihin.
451  Yksittäiset keskitin-vertaissolmut voivat ohjata kyselyjä toisiin keskitin-vertaissolmuihin. Lisäksi keskitin-  Yksittäiset keskitin-vertaissolmut voivat ohjata kyselyjä toisiin keskitin-vertaissolmuihin.
 vertaissolmut voivat keskittyä maantieteellisesti sekä sisällön tai sovelluksen perusteella.  
452    
453  JXTA-verkossa käytetään hakujen suorittamiseen Query Routing-protokollaa (QRP). Koska protokolla on XML-muotoinen  JXTA-verkossa käytetään hakujen suorittamiseen Query Routing-protokollaa (QRP). Koska protokolla on XML-muotoinen
454  viesti, on se kevyt ja yhteensopiva eri järjestelmien välillä. QRP koostuu kolmesta viestimuodosta, rekisteröinnistä  viesti, on se kevyt ja yhteensopiva eri järjestelmien välillä. QRP koostuu kolmesta viestimuodosta, rekisteröinnistä
# Line 487  yhteensopivuus sekä laitteistoriippumatt Line 491  yhteensopivuus sekä laitteistoriippumatt
491  vertaisverkkojärjestelmistä. Erityisesti JXTAn kehittynyt tietoturva-arkkitehtuuri mahdollistaa vertaisverkkosovellusten  vertaisverkkojärjestelmistä. Erityisesti JXTAn kehittynyt tietoturva-arkkitehtuuri mahdollistaa vertaisverkkosovellusten
492  käytön tilanteissa, joihin aiemmat vertaisverkkotekniikat eivät ole soveltuneet.  käytön tilanteissa, joihin aiemmat vertaisverkkotekniikat eivät ole soveltuneet.
493  JXTA-arkkitehtuuri auttaa sovelluskehittäjiä keskittymään olennaiseen. Ohjelmoijan ei tarvitse syventyä erilaisiin  JXTA-arkkitehtuuri auttaa sovelluskehittäjiä keskittymään olennaiseen. Ohjelmoijan ei tarvitse syventyä erilaisiin
494  yksityikohtiin, vaan voi heti alkaa kehittämään turvallisia ja tehokkaita ja ennen kaikkea hajautettuja sovelluksia  yksityikohtiin, vaan hän voi heti aloittaa kehittämään turvallisia ja tehokkaita hajautettuja sovelluksia
495  vertaisverkkoympäristöön  vertaisverkkoympäristöön
496    
497    
# Line 513  viitattu 11.10.2002 Line 517  viitattu 11.10.2002
517  \bibitem{Gong 2001}Gong Li, ''JXTA: A Network Programming Environment'',  \bibitem{Gong 2001}Gong Li, ''JXTA: A Network Programming Environment'',
518  1089-7801/01 IEEE / IEEE Internet Computing May-June 2001  1089-7801/01 IEEE / IEEE Internet Computing May-June 2001
519    
520    \bibitem{Joy} Joy B., ''The 6 Webs'', saatavilla WWW-muodossa
521    <URL: \url{http://content.techweb.com/wire/story/TWB20000111S0009}>, viitattu 11.10.2002
522    
523  \bibitem{Oram} Oram Andy, ''Harnessing the Power of Disruptive Technologies'',  \bibitem{Oram} Oram Andy, ''Harnessing the Power of Disruptive Technologies'',
524  O'Reilly, 2001  O'Reilly, 2001
525    

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

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