-
P2P sistēmu izstrāde JXTA platformā
Nr. | Chapter | Page. |
IEVADS | 7 | |
1. | P2P ARHITEKTŪRA | 10 |
1.1. | Sadalītas sistēmas | 10 |
1.1.1. | Sadalītas sistēmas modelēšana ar grafa palīdzību | 10 |
1.1.2. | Sadalītas sistēmas topoloģija | 11 |
1.2. | Sadalītu sistēmu topoloģijas | 11 |
1.2.1. | Sadalītu sistēmu topoloģiju novērtēšanas kritēriji | 11 |
1.2.2. | Vienkāršas sadalītu sistēmu topoloģijas | 12 |
1.2.3. | Hibrīdas sadalītu sistēmu topoloģijas | 14 |
1.2.4. | Sadalītu sistēmu īpašības atkarībā no topoloģijas | 18 |
1.2.5. | Piedāvātā modelēšanas paņēmiena ierobežojumi | 18 |
1.3. | P2P vēsture | 19 |
1.3.1. | Usenet | 20 |
1.3.2. | DNS | 22 |
1.4. | P2P lietojumprogrammu piemēri | 23 |
1.5. | Klientservera arhitektūra vs. P2P arhitektūra | 24 |
1.5.1. | Līdzīgas īpašības | 24 |
1.5.2. | Atšķirības | 24 |
1.5.3. | P2P modeļa priekšrocības salīdzinājumā ar klientservera modeli | 25 |
1.5.4. | P2P modeļa trūkumi salīdzinājumā ar klientservera modeli | 26 |
1.6. | P2P sistēmu izmantošanas iespējas | 27 |
1.6.1. | Sadalītas datu glabāšanas un apmaiņas sistēmas | 27 |
1.6.2. | Sadalīta skaitļošana | 27 |
1.6.3. | Sadalīta sazināšanās | 27 |
1.6.4. | Sadalīta meklēšana un indeksēšana | 28 |
1.7. | Kopējās problēmas, realizējot P2P sistēmas | 28 |
1.7.1. | Adreses vs. vārdi | 29 |
1.7.2. | Tīkla līmeņa vs. aplikāciju līmeņa maršrutēšana | 29 |
1.7.3. | Indeksēšana vs. multiraide | 30 |
1.7.4. | Specializācija | 30 |
1.7.5. | Veselu failu pārraide vs. bloku pārraide | 31 |
1.8. | Dažādu P2P sistēmu savietojamības problēma | 31 |
2. | PROJEKTS JXTA | 33 |
2.1. | Projekta JXTA filozofija un vīzija | 33 |
2.2. | Projekta JXTA vēsture | 33 |
2.3. | Projekta JXTA licencēšanas nosacījumi | 34 |
3. | JXTA PLATFORMA | 35 |
3.1. | JXTA tehnoloģijas pamatjēdzieni un koncepcijas | 35 |
3.1.1. | Identifikatori | 35 |
3.1.2. | Līdzinieki | 37 |
3.1.3. | Līdzinieku grupas | 39 |
3.1.4. | Tīkla servisi | 41 |
3.1.5. | Sludinājumi | 43 |
3.1.6. | Ziņojumi | 44 |
3.1.7. | Kanāli | 44 |
3.1.8. | Kodati | 46 |
3.1.9. | Moduļi | 46 |
3.2. | JXTA protokoli | 48 |
3.2.1. | Līdzinieku atklāšanas protokols PDP | 49 |
3.2.2. | Līdzinieku izšķiršanas protokols PRP | 50 |
3.2.3. | Līdzinieku informācijas protokols PIP | 50 |
3.2.4. | Rendezvous protokols RVP | 51 |
3.2.5. | Kanālu piesaistes protokols PBP | 52 |
3.2.6. | Maršrutēšanas protokols ERP | 53 |
4. | JXTA PLATFORMAS ETALONREALIZĀCIJA VALODĀ JAVA | 54 |
4.1. | Identifikatori | 54 |
4.2. | JXTA un ugunsmūri | 54 |
4.3. | Programmēšana JXTA platformā | 55 |
4.3.1. | Atkarības | 55 |
4.3.2. | JXTA konfigurēšanas rīks | 56 |
4.3.3. | Starpprogrammu komunikācija | 62 |
4.3.4. | JXTA servisi | 62 |
4.3.5. | Problēmu risināšana | 63 |
5. | SJPCA – VIENKĀRŠS PARALĒLĀS SKAITĻOŠANAS JAVA API | 68 |
5.1. | Paralēlās skaitļošanas teorētiskie pamati | 68 |
5.2. | SJPCA | 71 |
5.2.1. | Paralēla skaitļošana heterogēnā un nepastāvīgā vidē | 71 |
5.2.2. | Interfeiss sjpca.Task | 73 |
5.2.3. | Interfeiss sjpca.SubTask | 73 |
5.2.4. | Observable – Observer projektēšanas šablona izmantošana | 73 |
5.2.5. | Parametru un rezultātu interfeisi | 74 |
5.2.6. | SJPCA realizācijas iespējas | 75 |
5.3. | SJPCA izmantošanas demonstrācijas piemēri | 76 |
5.3.1. | Skaitīšana | 76 |
5.3.2. | Portu skanēšana | 76 |
5.3.3. | Vienvirziena funkcijas argumenta atrašana | 77 |
5.3.4. | Pirmskaitļu pārbaude | 78 |
6. | KOMUNIKĀCIJAS LIETOJUMPROGRAMMU PIEMĒRI | 80 |
6.1. | MVC projektēšanas šablona izmantošana | 80 |
6.2. | JMeetingPlace – tradicionāls klientservera variants | 82 |
6.3. | JPeerTalk – P2P variants, neizmantojot JXTA | 83 |
6.4. | jUxtaTalk – JXTA P2P variants | 83 |
6.4.1. | Klātbūtnes informācijas serviss vs. protokols | 83 |
6.4.2. | Sludinājumi vs. Paziņojumi | 84 |
6.5. | Novērojumi un secinājumi | 84 |
6.5.1. | Protokoli | 84 |
6.5.2. | Komunikācijas starp sadalītas sistēmas elementiem | 84 |
6.5.3. | Paralēla apstrāde | 85 |
6.5.4. | Centralizācijas nepieciešamība | 85 |
6.5.5. | Lietojumprogrammu drošība | 85 |
NOBEIGUMS | 86 | |
LITERATŪRA | 88 | |
PIELIKUMI | 90 |
P2P ir samērā jauns, ļoti perspektīvs un diezgan interesants virziens mūsdienu informācijas tehnoloģijās. Īpaši lielu interesi tas izraisa Internet kontekstā, kur līdz šim “vienpersoniski” ir valdījusi klientservera arhitektūra: e-mail, FTP,
Telnet, WWW, utt. Par to, ka P2P ir perspektīvs informācijas sistēmu attīstības virziens,
pastarpināti liecina fakts, ka šo tehnoloģiju savās jaunākajās izstrādēs atbalsta
tādas kompānijas kā Sun Microsystems (ONE – Open Network Environment, JXTA), Microsoft (.Net), IBM, Intel, Hewlett-Packard. Tomēr dzīve ir iemācījusi mūs ar piesardzību un veselīgu skepsi uztvert ziņas par to, ka kāda tehnoloģija ir radīta, lai izmainītu mūsu dzīvi, darba stilu un
ražīgumu, iespējas, radikāli samazinātu izmaksas, vairākkārt palielinātu veiktspēju vai ievērojami samazinātu izstrādes laiku. Šajā kontekstā P2P arhitektūra var iekarot skeptiķu simpātijas ar to, ka tā pēc savas būtības ir
evolucionāra, nevis revolucionāra. Kaut gan P2P bieži pretstata klientservera arhitektūrai un salīdzina ar to (tam ir veltīta arī šī darba ievērojama daļa), P2P nav klientservera (vai citu tehnoloģiju) noliegums. P2P ir šo ideju vispārinājums un tālākā attīstība. Uz klientservera arhitektūru, tāpat kā uz, piemēram, daudzlīmeņu vai kādu citu arhitektūru, var skatīties kā uz ļoti specifisku P2P arhitektūras speciālgadījumu, kā uz galējību. P2P reizē ir arī jauna filozofija, jauna pieeja veciem jautājumiem. Izmantojot P2P, ir iespējams veidot aktuālo problēmu oriģinālus un pievilcīgus risinājumus. P2P filozofija diezgan stipri atšķiras no citu arhitektūru filozofijām, un tieši tāpēc ir drīzāk to papildinājums nekā aizvietojums. Izmantojot OOP, ir iespējams programmēt tajās pašās kategorijās, kādās mēs domājam. Izmantojot P2P pieeju, ir iespējams pārnest cilvēku attiecības uz tīkla lietojumprogrammas arhitektūru. P2P pieeja piedāvā ”sociālāku”
domāšanas veidu par tīkla lietojumprogrammu organizāciju. P2P piedāvā iespēju nodibināt tiešu un intuitīvi saprotamu atbilstību starp cilvēku-lietotāju un sadalītas sistēmas elementu, starp cilvēka darbībām un līdzinieka (peer) darbībām tīklā attiecībā pret citiem līdziniekiem: ”apmainīties ziņojumiem”, ”pievienoties grupai”, ”izstāties no grupas”, ”izmantot cita sniegtos
pakalpojumus”, ”sniegt pakalpojumu”, ”apvienojot resursus, veikt uzdevumu” – to visu var teikt ne tikai par cilvēkiem, bet arī par P2P programmnodrošinājuma elementiem – līdziniekiem (peers).
”Vienranga skaitļošana var izrādīties tik pat svarīga Internet nākotnei, cik tīmekļa pārlūkprogramma ir bijusi tā pagātnei.”
P2P tehnoloģiju sauc par revolucionāru, bet tas ir nevis tāpēc, ka tā noraida tehnoloģijas-priekšteces, bet tāpēc, ka piedāvā jaunas iespējas un izraisa kvalitatīvas izmaiņas.
Šodienas personālo datoru veiktspēja līdzinās serveru jaudai pirms pāris gadiem. Web-serveri eksistēja un tika darbināti ilgāk nekā pāris gadu. Nekas netraucē ikvienam, kurš vēlas, palaist uz savas darbstacijas, piemēram, web- serveri un reizē strādāt ar web-pārlūkprogrammu. Tāpat nekas netraucē organizēt uz savas darbstacijas privātu ftp-serveri. Personālo datoru jauda to
atļauj. P2P arhitektūra nostiprina šo de facto izveidojušos situāciju, ka katram var būt savs serveris. Tas ir bijis iespējams arī agrāk, bet tas nebija standarts, tas bija izņēmums. Situācija, kad lietotājam ir savs serveris, kļūst normāla.
Lietotājs ienāk tīklā ne tikai kā patērētājs, bet arī kā pakalpojumu sniedzējs (service provider). Iespējas, ko agrāk piedāvāja tikai aparatūras nodrošinājums (hardware), tagad nostiprina un standartizē programmu nodrošinājums
(software).
Pateicoties P2P, šodien notiek Internet tīkla pamatīpašību revolucionāras izmaiņas. Internet lietotāji, kas izmanto galda datorus (desktop computers), mobilos telefonus, kabatas datorus (pocket computers), personālos asistentus
(PDA – Personal Digital Assistant) u.c., pieprasa sava statusa uzlabojumu tīklā.
Vienranga tīkli ir pazīstami jau salīdzinoši sen, bet tikai tagad, kad pievienošanās tīklam ir kļuvusi vienkāršāka, kad elektroniskās ierīces ir
kļuvušas pieejamākas un līdz ar to ievērojami pieaudzis to lietotāju skaits, kad personālas elektroniskās ierīces ir pārvērtušās no informācijas patērētājiem par informācijas piegādātājiem, ir iespējams pilnvērtīgi izmantot P2P tīklu potenciālu.…
Darbs ir veltīts P2P (Peer-to-Peer) tīkla mijiedarbības modelim – šajā brīdī valdošā centralizētā (klientservera vai daudzlīmeņu) modeļa alternatīvai. Darbā ir apskatīta P2P arhitektūra tīkla programmu izstrādei un JXTA platforma kā perspektīvākā no pašlaik esošajām P2P infrastruktūras realizācijām. P2P tīkla lietojumu izstrāde ir demonstrēta ar komunikācijas (instant messaging) programmas izstrādes piemēru. Darba autors piedāvā viņa izstrādāto programmēšanas interfeisu (API) kā sadalītas skaitļošanas organizācijas līdzekli vienranga tīklos. Iecerēts interfeisa izmantošanas veids ir demonstrēts ar strādājošiem piemēriem.
- E-pārvaldes ieviešanas problēmas Latvijas pašvaldībās
- P2P sistēmu izstrāde JXTA platformā
-
Telefonu sarunu uzskaties sistēma
Term Papers59 Communications, Transport, Economics, Computers, Consumer Electronics
-
You can quickly add any paper to your favourite. Cool!Telefonu sarunu uzskaties sistēma
Term Papers for university59
-
E-pārvaldes ieviešanas problēmas Latvijas pašvaldībās
Term Papers for university64
Evaluated! -
Lēmumu analīze informācijas tehnoloģijas projekta izstrādē
Term Papers for university71
-
Internetā ievietojamo JAVA appletu izstrāde mācību līdzekļiem
Term Papers for university86
-
PHP portāla izveide ar satura pārvaldes sistēmu Xoops
Term Papers for university90