Академический Документы
Профессиональный Документы
Культура Документы
Rijeka, 2012..
SADRAJ
1.
UVOD .............................................................................................................................. 3
1.1.
Hardware.............................................................................................................................................. 7
1.2.
SOFTVER ............................................................................................................................................. 10
1.3.
2.
KOMUNIKACIJA ............................................................................................................ 19
2.1.
2.2.
2.3.
2.4.
2.5.
3.
3.1.
3.2.
3.3.
Mutual Excluison................................................................................................................................ 38
3.4.
Atominost ......................................................................................................................................... 40
4.
PROCESI ........................................................................................................................ 43
4.1.
4.2.
Klijenti ................................................................................................................................................ 46
4.3.
Serveri ................................................................................................................................................ 47
4.4.
Migracija koda.................................................................................................................................... 48
4.5.
5.
IMENOVANJE ................................................................................................................ 51
6.
6.1.
6.2.
7.
7.1.
7.2.
Atominost ......................................................................................................................................... 68
7.3.
Opravak .............................................................................................................................................. 69
8.
SIGURNOST ................................................................................................................... 71
8.1.
8.2.
8.3.
8.4.
8.5.
1. UVOD
Distribuirani sustavi (DS) omoguuje izvoenje obrade podataka koritenjem svih
raspoloivih resursa mree raunala. Za razliku od mrenih sustava koji omoguuju
kontrolirani pristup drugim raunalima i prijenos podataka izmeu raunala, DS
omoguuje izvoenje obrade na vie raunala. Korisnik uporabom DS-a moe pristupati
svim resursima mree kao resursima lokalnog raunala.
DS je skup neovisnih raunala prezentiran korisniku kao jedan koherentan sustav.
Slika 1. prikazuje smjetaj DS-a kao meusloja (middleware) u mrenoj strukturi raunala.
Primjer
Centralizirani server
Centralizirani podaci
Centralizirani algoritmi
1.1. Hardware
DS-i mogu se koristiti za razliite vrste raunala spojenih u raunalnu mreu. Razliitosti
raunala uvjetuju razinu sloenosti DS-a. Razlikujemo:
1. Multiprocesorske raunalne sustave
2. Multiraunale raunalne sustave.
Multiprocesorski sustavi imaju jedan memorijski adresni prostor koji koristi vie procesora,
dok za multiraunalni sustavi svaki procesor koristi svoj zasebni adresni prostor (slika 4.).
Arhitektura sustava moe se zasnivati na sabirnicama (bus) i na prekidaima (switch).
Multiraunalni sustavi mogu bit homogeni i heterogeni. Homogeni sustavi imaju skup
raunala istih karakteristika jer koriste iste procesore (struktura procesora je identina) i
imaju jednu mrenu tehnologiju. Heterogeni sustavi sastoje se od velikog broja razliitih
raunala koja su spojena na razliite mree.
Multiprocesori
Svi procesori koriste jedan adresni prostor. Ukoliko se promjena vrijednosti memorijske
lokacije od jednog procesora moe u 1 mikrosekundi prikazati na drugom procesoru
kaemo da imamo koherentan sustav. Primjena ovog sustava dovodi do optereenja
sabirnica i smanjenja performansi sustava. Zato se koristi cache memorija. Svaki proces
ima malu brzu cache memoriju za pohranu vrijednosti koje trenutno obrauje (slika 5.).
Cache memorijom se rastereuje sabirnica, ali se pojavljuje problem auriranja vrijednosti
cache memorije ukoliko dva procesora obrauju vrijednost na istoj memorijskoj lokaciji.
Kako sva raunala imaju istu strukturu jednostavnija je njihova upotreba u DS-u. Ostaje
jedino problem naina povezivanja i komunikacije raunala. Pri povezivanju raunala
mogua je upotreba strukture reetke (grid) ili hiperkocke (hypercube) to prezentira slika
7.
Sastoje se od veeg broja razliitih raunala spojenih na mreu putem razliitih mrenih
struktura. Primjenom DS-a generira se sloj (middleware) neovisan o hardveru raunala
koje je spojeno na mreu i komunikacija se izvodi primjenom tog sloja. Na taj nain se
izbjegavaju problemi koji nastaju zbog razliitosti raunala.
1.2. SOFTVER
Pri analizi softvera razlikujemo mrena raunala koja koriste OS koji ima kontrolu nad svim
resursima mree (tightly-coupled system) i OS koji kontroliraju resurse lokalnog raunala
(loosely-coupled system). Za prva grupa sustava koristi se DS, a za drugu mreni operativni
sustavi. Tabela 2 prikazuje razlike izmeu OS-a.
Tabela 2. Razlika izmeu OS-a
Sistem
DOS
NOS
Middleware
Opis
Tightly-couped sustavi; primjena za
vieprocesorske i homogene sustave
Loosely-couped sistemi; primjena za
heterogene sustave
dodani sloj na NOS za implementaciju
usluga ope namjene
Ciljevi
prikrivaju nain uporabe
resursa
pruaju lokalne usluge za
udaljene klijente
osigurava transparentnost
10
DISTRIBUIRANI SUSTAVI DS
11
12
14
15
Slika 15. prikazuje troslojnu strukturu Internet aplikacije za pretraivanje (search engine).
Aplikacija prihvata upit, generira upit za bazu podataka (Query), pristupa bazi podataka,
obrauje rezultat upita iz baze podataka i prosljeuje odgovor korisniku.
16
17
18
2. KOMUNIKACIJA
Klijent-server model.
OSI model
Pri komunikaciji dva raunala koristi se vie slojeva za prijenos podataka. Slojevi se mogu
razliito definirati u skladu sa njihovim funkcionalnostima. Ope prihvaeni prijedlog
strukture slojeva predloen je od International Standard Organization (ISO) pa je i
predloeni
19
20
b. Sloj prijenosa podataka (data link layer) grupiranje bitova u vee cjeline ili
pakete frame i provjera ispravnosti prijenosa frame-ova primjenom
postupka za provjeru (checksum); slika 21 prikazuje provjeru podataka.
c. Mreni sloj (network layer) odabir putanje za slanje paketa mreom;
najee koriteni protokol je IP (Internet Protokol); pri brim vezama
(ATM) koriste se virtualni kanali koji povezuju vie komunikacijskih vorova
u jednu cjelinu
2. Transportne protokole funkcija protokola je dijeljenje poruke za prijenos na
manje dijelove, dodjela brojeva dijelovima i njihovo slanje; najee koriten
protokol je TCP (Transmission Control Protokol), zatim UDP (Universal Datagram
Protokol, to je proirenje IP protokola), za real-time prijenos se koristi RTP (Realtime Transport Protocol). Primjena transportnih protokola esta je u klijent-server
interakciji u distribuiranim sustavima primjenom TSP i UDP protokola, pri tome
komunikacija moe biti standardna (normal) ili transakcijska (slika 22.)
3. protokole visoke razine (high-level)
a. protokol sesije nadogradnja transportnog sloja sa funkcijama izvoenja
dijaloga sa niim slojem i sinhronizacije uz mogunost definiranja kontrolnih
toaka za nastavak komunikacije u sluaju neuspjelog prijenosa poruke
b. prezentacijski protokol orijentiran je sadraju poruka pa omoguuje
povezivanje podataka poruke sa formatom prijenosa poruke (poruke mogu
sadravati imena, adrese, novane iznose i sl. pa je prikladno odrediti
strukturu poruke kako bi se jednostavnije manipuliralo porukama).
c. Aplikacijski protokoli orijentiran radu sa aplikacijama sa karakteristikama
protokola ope namjene. Primjeri su FTP (File Transport Protocol), HTTP
(HyperText Transfer Protocol).
d. Middleware protokoli protokoli sadrani u aplikacijskom sloju sa
izvoenje posebnih usluga (protokoli za provjeru autentinosti, protokoli za
implementaciju atominosti izvoenje vie procesa kao jedna nedjeljiva
cjelina)
21
raunalu proces koji je inicirao poziv je suspendiran i eka rezultat izvoenja procedure
(slika 23). Kada pozvana procedura vrati rezultat rada procedure proces na lokalnom
raunalu nastavlja izvoenje, pri emu je cijeli postupak nevidljiv za programera.
23
24
Ukoliko je potrebno koristiti poziv RPC poziva na jednom raunalu koristi se posebna vrsta
procedure ekvivalentna RPC pozivu a zove se door. Door procedura mora biti podrana u
OS raunala. Postupak izvoenja je identian RPC pozivu osim komunikacije putem mree
jer se poziv izvodi na istom raunalu. Slika 26. prikazuje izvedbu door procedure.
Asinhroni RPC poziv omoguuje klijent procesu nastavak izvoenja aktivnosti koje se ne
odnose na rezultat RPC poziva, pa klijent ne mora biti suspendiran za vrijeme izvoenja
RPC poziva (slika 27.). Slika 28. prikazuje izvoenje dva RPC poziva (deffered synhronous
RPC)
25
Rad se zasniva na primjeni distribuiranih objekata opisanih podacima koje sadre (state) i
operacijama na podacima (method). Metode su DStupne primjenom suelje (interface).
Distribuirani sustavi dozvoljavaju smjetaj interface-a na jedno raunalo i objekta na drugo
raunalo (slika 29.).
26
Klijent poziva udaljenog objekta putem interface-a (proxy), koji zahtjev prosljeuje na
server gdje se primjenom interface-a (skeleton) prosljeuje objektu. Nakon to klijent
pristupi objektu on pokree izvoenje metode na objektu. Koriteni interface-i mogu biti
definirani u trenutku izrade aplikacije na klijentu pa se takav nain upotrebe interface-a
zove static invocation. Ukoliko interface nije unaprijed poznat koristi se dinamic
invocation. U tom sluaju aplikacija odabire eljenu metodu te se dinamiki odreuje
potreban interface za selektiranu metodu.
27
28
30
potrebne za realizaciju toka podataka i preuzima kontrolu nad tokom podataka (slika 35.).
31
32
Sinhronizacija je kljuna za rad DS-a. Raunalna mrea ukljuuje niz raunala sa vremenski
usklaenim satovima. Uskladivost vremena na svim raunalima ne moe se potpuno
postii to stvara probleme pri izvoenju operacija (procesa) na razliitim raunalima koji
se moraju izvesti tono odreenim reDSlijedom. Primjer na slici 46. prezentira situaciju pri
kopajliranju datoteke. Na jednom raunalu editiramo datoteku, a na drugom je
kompajliramo. Kompajler prije kompajliranja provjerava vrijeme zadnje promjene
datoteke i ako je to vrijeme manje od zadnjeg procesa kompajliranja ne izvodi postupak
kompajliranja. Zadnje vrijeme kompajliranja je 2144 na prvom raunalu. Poslije tog
trenutka na drugom raunalu se promijeni datoteka i zapamti vrijeme 2143 (sat na
drugom raunalu zaostaje za satom na prvom raunalu). Kompajler pri usporeivanju
utvruje da je promjena datoteke izvedena prije zadnjeg kompajliranja (2134 promjena,
2144 zadnje kopajliranje) i nee kompajlirati datoteku. Jasno je da se ovakve situacije
moraju izbjei.
33
34
Pri usklaivanju replika servera mogu se javiti sljedei problemi. Korisnik u Splitu ulae 100
kuna na raun koji trenutno na centralnom serveru u Zagrebu i kopiji servera u Splitu
iznosi 1000 kn. Istovremeno uposlenik banke u Zagrebu pokree obraun kamata na iznos
korisnika. Kako e oba zahtjeva biti proslijeena na oba servera doi e do izrauna
trenutnog iznosa od 1110 kn u Zagrebu i 1111 u Splitu (slika 51.). Ova situacija izbjegava se
blokiranjem promjena na podacima ija je izmjena u tijeku sve dok se ne dobije potvrda o
zavrenim izmjenama na svim serverima replikama.
35
Ring algoritam koristi krug za odabir procesa. Kada koordinator nije aktivan pokree se
ELECTION poruka koja sadri broj procesa. Ako susjedni proces nije aktivan poruka se
prosljeuje sljedeem procesu u krugu. Pri svakom primitku poruke proces poveava svoj
broj pa e tako proces sa najveim brojem biti izabran. Kada poruka stigne ponovo do
procesa koji ima najvei broj on se proglaava koordinatorom i alje ostalima poruku o
tome i procesima ukljuenim u krug (slika 53.)
36
37
Slika 54. Centralizirani pristup a) slanje upita i dozvola ulaska u kritinu sekciju
b) upit odbijen c) upit prihvaen
38
ostalim procesima poruku koja sadri naziv kritine sekcije, broj procesa i trenutno
vrijeme. Ako svi procesi vrate poruku potvrde (OK) proces ulazi u kritinu sekciju. Ako bi
neki drugi proces poslao nakon toga zahtjev za ulaskom u kritinu sekciju dobio bi odgovor
od svih procesa osim od procesa koji je u kritinoj sekciji. Odgovor od procesa koji je u
kritinoj sekciji uslijediti e kada proces zavri kritinu sekciju. Problem se moe pojaviti
ako dva procesa istovremeno poalju zahtjev za ulaskom u kritinu sekciju, a rjeava se
usporeivanjem vremenskih oznaka dogaaja slanja poruke za ulazak u kritinu sekciju
(time stamps) pa se na taj nain odreuje koji proces prvi ulazi u kritinu sekciju. Problem
nastaje ako jedan proces nije funkcionalan jer tada niti jedan drugi proces ne moe dobiti
poruku potvrde za ulazak u kritinu sekciju pa je nuno detektirati takve procese i iskljuiti
iz komunikacije pri dodjeli dozvola za ulazak u kritinu sekciju. Slika 55. prikazuje rad
centraliziranog pristupa pri izvedbi mutual exclusion-a.
Primjena token-a znai upotreba poruke token za svaki djeljivi resurs koja putuje sustavom
od procesa do procesa. Proces koji eli ui u kritinu sekciju zadrati e token kod sebe sve
dok ne zavri kritinu sekciju i tako osigurati izvoenje mutual exclusion-a. Problem
nastaje ako se poruka token izgubi pa je potrebno provjeravati da li je poruka u sustavu i
ako nije nuno je generirati novu poruku. Slika 56. prikazuje primjenu token-a na
neorganiziranu grupu procesa koja se softverski povezuje u krunu strukturu. Tablica 4.
39
3.4. Atominost
Atominost se odnosi na transakcije odnosno skup akcija koje se moraju izvesti kompletno
kako bi se transakcija mogla zakljuiti. Ukoliko barem jedna akcija nije kompletirana,
cijela transakcija se ponitava i vra na poetak.
Osnovne operacije za izvonenje atominih akcija:
BEGIN_TRANSACTION
END_TRANSACTION
40
ABORT_TRANSACTION
READ_TRANSACTION
WRITE_TRANSACTION
Slika 57. prikazuje izvonenje transkacije pri rezrevaciji karata na relaciji Washington- New
York Nairobi Malindi.
41
Writeahead log ili intention liste liste sadre popis promijenjenih vrijednosti koje se
koriste za obnavljanje poetnih vrijednosti u sluaju ponitenja transkacije (slika 60).
42
4. PROCESI
Procesi u DS-u imaju sve znaajke procesa OS jednog raunala uz dodanu mogunost
izvoenja na vie raunala. Pri tome je mogue prenositi podatke sa drugih raunali,
prenositi obradu i prenositi procese na druga raunala. Prijenos podataka ostvaruje se
djelomino ili potpuno. Podaci se prenose kada je potrebno izvesti obradu samo jednog
manjeg segmenta podataka (npr. jedan slog u bazi podataka). Potpun prijenos je opravdan
ako se obrada izvodi na veem dijelu podataka. Ukoliko je datoteka na kojoj je potrebno
izvesti obradu velika racionalnije je prenijeti cjelokupan proces na udaljeno raunalo,
obaviti obradu i vratiti rezultat na lokalno raunalo. Prijenos obrade na drugo raunalo
ostvaruje se RPC pozivom ili generiranjem procesa na udaljenom raunalu koji obavlja
traenu obradu i vraa rezultat procesu na lokalnom raunalu.
Za analizu procesa u DS-u bitni su:
1. Procesne niti (thread)
2. Klijent procesi
3. Server procesi
4. Migracija koda
5. Softverski agenti.
43
2. kernel nivoa blokiranje jedne procesne niti nee onemoguiti izvoenje ostalih
procesnih niti procesa, ali e svako pokretanje druge niti traiti pohranu stanja niti
koja je zaustavljena i uitavanje stanja niti koja se pokree.
3. lightweight processes (LWT) izvode se u kernel modu i sadre sve podatke
potrebne za izvoenje procesnih niti pa nije potrebna pohrana stanja i uitavanje
novih stanja za procesne niti; preusmjeravanje izvoenja na druge procesne niti
izvodi se bez znanja kernela to ubrzava izvoenje niti. Ukoliko se LWT vie ne
moe izvoditi zbog blokiranog stanja procesnih niti selektira se drugi LWT.
Procesne niti se koriste na serverima. Primjer upotrebe je prikazan slikom 38. Procesna nit
prihvaa zahtjev za itanjem podataka sa vanjske memorije, a zatim se paralelno pokree
vie procesnih niti koje paralelno pokreu zahtjeve za itanjem podataka na vanjskoj
memoriji. Procesne niti se blokiraju dok podaci nisu proitani sa vanjske memorije, a zatim
se putem prekida prevode u ready stanje i izvode kako bi zavrile traeni zahtjev.
44
Procesne niti niti posve neovisne jer dijele adresni prostor procesa, otvorene datoteke,
child procese, timere, semafore i dr.
Implementacija procesnih niti moe biti izvedene u korisnikom prostoru ili u kernel
prostoru te kombinirana (dijelom u korisnikom i kernel prostoru).
Implementaciju u korisnikom karakterizira:
Kernel nije upoznat sa postojanjem procesnih niti
Upravljanje nitima izvodi se neovisno o sheduleru kernela
Problem blokiranja procesnih niti uporaba jacket
Problem upravljanje izmeu procesnih niti
Implementaciju u kernel prostoru karakterizira:
45
4.2. Klijenti
Glavna namjena klijenta je interakcija sa korisnicima i serverima. Slika 68. prezentira
primjer X klijenta koji je odgovoran za kontrolu monitora, te prihvat korisnikih naredbi
putem tipkovnice i mia. Upravljanje monitorom realizira se window managerom koji
upravlja promjenama ekrana (promjena boje prozora, preklapanje prozora itd).
Komunikacija X klijenta sa serverima ostvaruje se primjenom X protokola, pa terminale
zasnovane na ovim postavkama zovemo X terminalima.
46
4.3. Serveri
Server je proces koji implementira odreenu uslugu za potrebe klijenta. Server procesi
mogu biti organizirani kao:
1. Iterativni (Iterative) server samostalno izvodi zahtjev i prosljeuje odgovor
klijentu (ovisno o prirodi zahtjeva)
2. Konkurentni (concurrent) ne izvodi zahtjev samostalno ve prosljeuje zahtjev
drugim procesima i eka na odgovor procesa.
Klijenti komuniciraju sa serverima putem krajnjih toak (endpoint) ili portova. Procesi prije
komunikacije sa serverom moraju poznavati port na kojem server prua traena usluga.
Dobivanje informacije o portu je mogue slanjem upita DCE demonu ili slanjem upita
superserveru. DCE demon vraa klijentu oznaku porta, dok superserver prosljeuje zahtjev
izravno server procesu (slika 71.).
47
Implementacija rada objekta postie se objekt serverima koji prihvaaju zahtjev za rad sa
odreenim objektima i prosljeuju taj zahtjev do traenog objekta. Kontrola koritenja
objekata ostvaruje se upotrebom adaptera objekata (object adapter ili object wrapper)
prikazanog na slici 71.
48
49
50
5. IMENOVANJE
Veliki broj razliitih entiteta u distribuiranim sustavima ukazuje na iznimnu vanost
imenovanja. Ime u distribuiranim sustavima je skup stringova koji oznaavaju entitet. Pod
entitetima podrazumijevamo resurse (pisae, diskove, datoteke, nositelje) i procesi
(korisnici, mailbox-ovi, novinske grupe, web stranice, grafiki prozori, poruke, mrene veze
itd). Pristup entitetima se ostvaruje putem pristupne toke (access point) koju zovemo
adresa. Ukoliko su imena entiteta neovisna o njihovoj adresi govorimo o lokacijskim
neovisnim (location independent) imenima. Oznaka istinskog identifikatora (true identifier)
koristi se za imena sa sljedeim svojstvima:
1. Identifikator se odnosi na najvie jedan entitet
2. Jedan entitet je referiran (definiran) samo sa jednim identifikatorom
3. Identifikator se uvijek odnosi na jedan entitet.
Vrsta imena uvedena sa namjerom pojednostavljenja koritenja raunala su humanfriendly imena definirana nizom stringova razumljivim ljudima (imena server).
Sustav imenovanja koristi strukturu direktorija. Na vrhu se nalazi root vor (node), a na
niim razinama se nalaze direktorij vorovi. vorovi koji prezentiraju entitet i njegova
svojstva i nemaju odlaznih vorova su zavrni vorovi (leaf node). Slika 74. Prikazuje graf
imenovanja sa jednim root vorom.
51
53
54
6. KONZISTENTNOST I REPLIKE
55
56
57
2. Server inicirana replika replike iji nastanak inicira server koji ima originalne
podatke (kopiranje podataka na server raunalo na kojem se pojavljuje veliki broj
zahtjeva slika 81.); replike se mogu stvarati i brisati ovisno o nastalim potrebama
odnosno korisnikim zahtjevima
3. Klijent inicirane replike klijent koristi replike kako bi se smanjilo vrijeme
uitavanja podataka pri sljedeem zahtjevu za uporabom podataka (ei naziv za
replike nastale temeljem zahtjeva korisnika je cache).
58
59
60
61
7. Tolerancija na greke
Rad distribuiranih sustava ovisan je o toleranciji na greke. Povezanost velikog broja
raunala u koherentnu cjelinu odreuje znaaj greaka jednog ili vie raunala na rad
cjelokupnog sustava. Anuliranje posljedica pojava greaka od kljune je vanosti za rad
cjelovitog sustava. Tolerantnost na greke je usko povezana sa svojstvima zavisnih sustava
(dependable systems).
62
63
Sistemske greke odnose se na rad jedne ili vie komponenti sustava. Primjenom
tolerancije na greke nastoji se osigurati funkcionalnost distribuiranog sustava u sluaju
greke jedne ili vie njegovih komponenti.
Sistemske greke mogu biti:
Fail-silent prestanak rada procesora (fail-stop faults) koja drugi procesi lako
otkrivaju slanjem poruka provjere aktivnosti procesa
redundanciju
(npr.
detektiranje
pogreke
pri
prijenosu
bita
komunikacijskom kanalu).
Aktivna zamjene
Backup-a.
Aktivna zamjena mogua je primjenom TMR (Triple Modular Redundancy) ureaja kojima
se maskira pojava greaka na radu pojedinih procesa. Vie procesora izvodi istu obradu i
prosljeuje rezultat na ulaze TMR-a. TMR daju izlaznu vrijednost koja prevladava na ulazu,
odnosno za sluaj da veina procesora radi ispravno TMR maskira neispravan rad
pojedinih procesora (slika 88. za neispravan rad jednog od procesa A, B ili C nee doi do
pojave greke u sustavu).
65
66
Two-army problem ili Byzantine genarals problems prezentiran je na slici 91. Proces 3
konstantno generira greke koje se otkrivaju na sljedei nain. Svaki proces alje ostalima
informaciju o jakosti svojih trupa (slika 91.(a)), te svaki od njih prikuplja podatke od drugih
procesa u obliku vektora (slika 91.(b)). Nakon toga svaki proces prosljeuje svoj vektor
ostalim procesima, te konano svaki proces usporeuje vrijednosti u svakom stupcu, te
onaj stupac koji nema prevladavajuu vrijednost odreuje proces koji generira greke
(slika 91.(c)).
Byzantine general problem rjeiv je ako vie od dvije treine procesora rade ispravno
(2m+1 od 3m). Slika 92. prikazuje situaciju u kojoj nije mogue otkrivanje procesa koji
generira greka jer nije mogue odrediti prevladavajuu vrijednost u stupcima.
67
7.2. Atominost
Rad procesa u grupi, odnosno ponaanje jednog procesa i njegovih replika moe se
razmatrati u kontekstu atominosti. Kompletirana obrada nastaje jedino u sluaju
ispravnog rada svih procesa, odnosno zavretak obrade karakterizira kompletnost obrade
svih procesa (Distributed commit). Atominost se ostvaruje radom koordinatora za
kontrolu provoenja tijeka transakcija. Koordinator moe primjenjivati sljedee protokole
pri kontroli provoenja transakcija:
procesi
odgovaraju
sa
porukama
(VOTE_ABORT
ili
68
7.3. Opravak
Tolerancijom za greke sustav iz stanja postojanje greke dovodimo u stanje u kojem
nema greke to zovemo oporavkom. Oporavak je mogu na dva naina:
69
dva mjesta (slika 95.). Ukoliko proces auriranja nije izveden korektno na oba mjesta,
usporedbom blokova utvruje se ispravno zapisan podatak, nakon ega slijedi
usklaivanje vrijednosti oba bloka. Ako doe do greke pri itanju podataka sa jednog
bloka (prisutnost praine ili fiziko oteenje) podaci mogu biti preuzeti sa njegove
kopije.
70
8. Sigurnost
Sigurnost ima veliku vanost za distribuirane sustave. Koritenje mree raunala kao
koherentnog sustava omoguuje pristup hardverskim i softverskim resursima cjelokupne
mree. Zato je sigurna komunikaciji dvaju korisnika ili procesa iznimno vana to se
ostvaruje koritenjem sigurnosnih kanala. Drugi aspekt sigurnosti odnosi se na
autorizaciju, odnosno osigurava pristup procesima samo dodijeljenim objektima i njihovim
metodama.
71
a. Kriptiranja
korisnicima.
b. Autentifikacija korisnika odreivanje identiteta korisnika, klijenta ili
servera (za korisnike je uobiajene uporaba passworda).
c. Autorizacija provjera dozvola koritenja odreene aktivnosti za
konkretnog korinika.
d. Provjeravanje (auditing) praenje aktivnosti korisika, odnosno vremena i
naina uporabe entiteta (log datoteke).
72
74
75
kodirane vrijednosti broja RB, Chunk alje vrijednost kodiranu vrijednost pretvarajui se
kao Alice te Bob usporedbom dobiva korektnu vrijednost i smatra da komunicira sa Alice.
Ckhunk je slanjem ponovnog zahtjeva za otvaranjem kanala i kodiranja vrijednosti RB uspio
dobiti kodiranu vrijednost te zavarati Boba.
77
Izrada digitalnog potpisa primjenom javnog kljua za kodiranje (slika 105.) ukljuuje
kodiranje poruke m privatnim kljuem od Alice i javnim kljuem Boba (javni kljuevi su
dostupni svim korisnicima). Bob otvara poruku primjenom svog privatnog kljua te je
dekodira primjenom javnog kljua od Alice. Ako Bob mijenja poruku mora dokazati Alice
da je promijenjena poruka potpisana od Alice, dok promjene poruke od Alice Bob
dokazuje razlikama u poslanoj poruci m od Alice i poruci koju je izveo postupkom
kodiranja.
78
79
80
Vatrozid (Firewall) je posebna vrsta reference monitora koja omoguuje odvajanje jednog
dijela distribuiranog sustava od ostatka sustava (slika 110.). Dolazni i odlazni paketi
preusmjereni su na posebno raunalo i provjereni prije dozvole za prijenos. Vatrozid je
zatien od sigurnosnih prijetnji, odnosno ne smije biti izvan funkcije. Vatrozid ima dvije
komponente:
81
82