|
Kako to radi?
Ovakvom problemu se može pristupiti na više načina. U konkretnom slučaju, korišćena je klijent-server arhitektura. Klijenti su samostalni programi koji sadrže više modula, koji omogućavaju istom klijentu da učestvuje u više zadataka. Serveri, sa druge strane, pružaju podatke za obradu i koordiniraju rad klijenata. Osnovu celog sistema čine javni serveri velikih kapaciteta, koji su raspoređeni po svim kontinentima. Oni direktno ne opslužuju klijente, već ih na osnovu IP broja upućuju na najbliže servere drugog nivoa. Dodatni kriterijum je opterećenost i broj nerešenih blokova.
Drugi nivo sadrži servere koji rade najveći deo posla. Njih ima više stotina i oni raspoređuju blokove podataka po personalnim proxy serverima i individualnim korisnicima. Svaki od servera drugog kruga je zadužen za određeni interval; tako se osigurava da pretraga teče odjednom na celom intervalu. Dalje, svaki od tih servera, kada podeli sve ključeve u svom intervalu, klijentima počinje ponovo da deli najstarije blokove za koje nije dobio odgovor. Ovaj proces se ponavlja dok se ne dobije rešenje za sve kombinacije intervala za koji je server zadužen. Ova "dopunska kola" osiguravaju uspešnost projekta za slučajeve da se neki blokovi zagube ili neki učesnici odustanu, a ne reše blokove koje su preuzeli.
Personalne proxy servere obično postavljaju korisnici na mašine koje non-stop ili povremeno ostvaruju vezu sa Internetom. Njihov cilj je da drže veći broj blokova spremnih za procesiranje, tako da klijenti koji nemaju direktan pristup Internetu (modemska veza i/ili firewall) mogu razmeniti podatke u bilo koje doba dana. Izlazni i ulazni podaci se drže u posebnim baferima, a grafički prikaz ove strukture možete videti na slici 4.
Klijenti mogu da rade u tri osnovna mrežna režima. Prvi je direktni, koji se koristi kada se klijent, koristeći TCP/IP, obraća serveru. Ovaj pristup je pogodan kada se koristi proxy server na lokalnoj mreži ili postoji stalna veza sa Internetom. Podaci se ne razmenjuju kontinualno, već samo kada se nagomila veća količina izlaznih podataka. Klijent je u stanju da po potrebi koristi pored default porta i telnet i http portove, ako treba i uz sedmobitni prenos.
Drugi pristup je tzv. lurk mode. U tom slučaju klijent pokušava razmenu samo ako detektuje TCP/IP vezu (nejčešće telefonsku vezu ka Internet provajderu) i trudi se da ulazne bafere uvek drži punim, a izlazne praznim. U slučaju da ponestane blokova predviđenih za proračun, klijent u ovom režimu rada generiše proizvoljne blokove na kojima radi dok ne dođe do razmene.
Treći način je off-line mod, kada klijent uopšte ne razmenjuje blokove. Ovaj pristup se koristi kada računar na kome radi klijent nema TCP/IP mrežni protokol. U ovom slučaju treba da se obezbedi razmena preko drugog klijenta: klijenti imaju vrlo vešto rešen pristup bafer fajlovima, tako da su u stanju da ih dele sa praktično proizvoljnim brojem drugih klijenata. U praksi se ovaj metod koristi na Novell mrežama koje nemaju instaliran TCP/IP. Baferi se postave na Novell server, pa klijenti koji su na računarima u lokalnoj mreži pristupaju tim bafer fajlovima. Fleksibilnost klijenta pokazuje da se bafer fajlovi mogu menjati "na živo". Slobodno možemo kopirati i pomerati bafere dok su klijenti aktivni, uvek će automatski da primete promenu i reagovati kako je zadato. Tako se, u krajnjem slučaju, razmena podataka može vršiti i kopiranjem bafer fajlova preko disketa.
|