1. Distribuiran program. Razlike u odnosu na paralelan program.
Distribuirano programiranje je jedan od dva osnovna pristupa za postizanje konkurentnosti. U distribuiranom
programiranju(DP) program koristi isti princip paralelnog programiranja(PP),ali procesi mogu biti,za razliku od paralelnog programa, u razlicitim racunarima. Distribuirani program nekad rade u paraleli.(2. Slike,slajd 8,9).
2. Prednosti I mane distribuiranih programa
DP omogucava server da koristi resurse locirane na racunarskoj mrezi. Program moze da pristupi hardveru drugog racunara ili dobije uslugu od softvera drugog racunara. Moguc je pristup velikoj kolicini informacija koja prevazilazi kapacitete jednog racunara. Omogucena je veca procesorska(racunarska) moc. Mana distr. programa je manja brzina u odnosu na paralelni program.
3. Distribuirano programiranje I konkurentnost
Za dogadjaje kazemo das u konkurenti ako se pojave u istom vremenskom interval(VI). Zadaci koji se izvrsavaju u istom VI su konkurentni zadaci. Konkurentnost se koristi da bi program uradio vise tokom istog perioda,istovremeno opsluzivao vise korisnika,bio jenostavniji. Dobrim dizajnom,program se moze podeliti na zadatke koji se mogu izvrsavati jednovremeno. DP je jedan od osnovnih pristupa za postizanje konkurentnosti. Procesi koji se izvrsavaju mogu(a ne moraju) biti u razlicitim racunarima. Konkurentnost se moze javiti u vise nivoa:1. nivo instrukcije(delovi instrukcije se mogu paralelno izvrsiti); 2.nivo funkcije/procedure(funkcionalne celine se izvrsavaju jednovremeno); 3.nivo objekta(vise objekata ucestvuje u resavanju zadatka); 4.nivo aplikacije(nekoliko aplikacija moze saradjivati u resavanju istog problema).
4. Distribuiran raunarski sistem ( definicija, primeri primene)
Distribuiran sistem je mnotvo povezanih raunara koje korisnik doivljava kao jedan skladan sistem. Sastoji se od hardvera tj. mnotva raunara povezanih komunikacionom mreom a radi kao skladan sistem zahvaljujudi softveru. Distribuiran sistem integrie razliite aplikacije koje se izvravaju na razliitim raunarima u jedan sistem i on je zapravo suprotan centralizovanom sistemu. Primeri aplikacija u distribuiranom sistemu su: Sistem mobilne telefonije GPS sistem sa brojnim primenama World Wide Web model distribuiranih dokumenata Nadzorno upravljaki sistemi u industriji ( SCADA) Sistem elektronskog pladanja Raunarsko poslovanje velike kompanije
5. Osobine distribuiranog sistema
Dobre osobine distribuiranog sistema su: Razlike meu raunarima i nain komunikacije sakriven je od korisnika Korisnici i aplikacije interaguju sa distribuiranim sistemom na konzistentan i jednoobrazan nain bez obzira na mesto i vreme interakcije Lako se proiruje podrava heterogene raunare i mree jer ima softver slojevito organizovan
Loe osobine DS-a su: Veoma sloen softver Umanjene performanse zadataka koji se mogu obaviti u jednom raunaru zbog trajanja komunikacije Teorijski zahtevi koji se postavljaju pred DS se ne mogu u potpunosti realizovati (dobro ovo ali onda posledino loe ono)
Povezivanje korisnika i udaljenih resursa podrazumeva deljenje ureaja (tampaa, skenera, diska...), razmenu datoteka, rad na daljinu ( telekonferencije, elektronska trgovina). Bezbednost sistema je veoma vana. DS je transparentan kada ga korisnici i aplikacije doivljavaju kao jedan raunarski sistem. Postoje razliiti tipovi transparentnosti prema. Pristupu-skriva razlike u predstavi ( reprezentaciji) podataka Npr. Little-big endian format brojeva Lokaciji-korisnik ne zna gde se resurs fiziki nalazi Npr. Ne znas gde je server na kojem je neki sajt Migraciji-resursi se mogu premetati bez uticaja na korisnike Isti program pokrenem danas na prvom raunaru a sutra na drugom Relokaciji-odnosi se na premetanje resursa tokom upotrebe Dok se program izvrava skoi (program) s jedne na drugu mainu Replikaciji-sakriva postojanje kopija resursa koje postoje zbog eventualne otpornosti sistema na otkaze Konkurentnosti-prividno istovremena upotreba deljenih resursa tj. da ne vidimo da nismo jedini na sistemu Otkazima-DS se neprimetno oporavi od nepravilnog rada resursa Perzistenciji-sakriva se gde je resurs sauvan ( u RAM-u ili na disku) Iako je transparentnost poeljna nekad nije dobro sakrivati aspekte distribuiranosti od klijenta jer treba uzeti u obzir realnost. Recimo zahtev da 24 SATA stignu u elektronsko sandue u 7 ujutru nema smisla kad smo u vremenskoj zoni daleko od mesta tampanja. Uglavnom postoji balans izmeu visoke transparentnosti i brzine rada Na primer mnoge internet aplikacije predugo pokuavaju da uspostave vezu sa serverom pre nego to se obrate drugom serveru. Otvorenost Otvoren DS prua servise (usluge) po standardnim pravilima ( i sintaksnim i semantikim) Servisi se obino specificiraju preko interfejsa Sintaksa interfejsa se opisuje IDL-om a semantika servisa se neformalno opisuje Uvoenje interfejsa omoguduje da proces kome treba usluga moe komunicirati sa procesom koji implementira servis i da postoje razliite implementacije servisa o emu korisnik ne brine. Dobro definisan interfejs je kompletan,neutralan (implementacioni detalji nisu spolja vidljivi, interoperabilan( delovi razliitih proizvoaa mogu da rade zajedno i komuniciraju preko interfejsa) i portabilan to znai da se aplikacija razvijana za jedan sistem moe izvravati bez modifikacija na drugom sistemu koji ima iste interfejse. Otvoren sistem je fleksibilan jer je orgabizovan preko mnotva malih komponenti koje se mogu lako zameniti ili izmeniti (prilagoditi) i jer komponente implementiraju poznate interfejse. Skalabilnost se odnosi na rast odnosno na: dodavanje novih korisnika i resursa geografsko proirenje sistema (pristup sa udaljenih mesta) ouvanje jednostavne administracije sistema iako se sistem proiruje. Skalabilan je u suprotnosti sa centralizovan jer: Centralizovan servis se izvrava samo na jednom serveru Centralizovani podaci se nalaze samo na jednom mestu Centralizovan algoritam-odluka se donosi samo na osnovu kompletne informacije.
7. Tipovi distribuiranih sistema (klaster, grid computing).
Tipovi distribuiranih sistema su: Distribuirani sistemi za intenzivno racunanje koji obicno izvrsavaju jednu aplikaciju, a to su klaster i grid computing. Distribuirani informacioni sistemi i Distribuirani rasplinuti (pervasive) sistemi Klaster se tipicno upotrebljava u sistemima gde postoji potreba za intenzivnim racunanjem-vise racunara radi u paraleli. Jedan racunar nema nama dovoljnu snagu a klaster cini nekoliko slicnih (cesto identicnih) racunara smestenih na jednoj lokaciji. Oni izvrsavaju isti operativni sistem i povezani su u istu mrezu. Ceo klaster se logicki ponasa kao jedan racunar. Grid computing predstavlja veci broj dislociranih racunara koji ucestvuju u racunanju. Ti racunari se razlikuju u hardveru, operativnom sistemu, mrezi, administraciji, bezbednosti i organizovani su u virtualnu organizaciju iako fizicki pripadaju razlicitim organizacijama. Arhitektura grid computing sistema je slojevita. Komunikacioni protokoli omogucuju transakcije u gridu.
Procesiranje transakcija je tipicno prisutno u aplikacijama koje rade sa bazama podataka. Tipican scenario integracije je sledeci: Mrezna aplikacija se sastoji ood jednog ili vise servera. Udaljeni programi (klijenti) upucuju zahteve serverima. Nekoliko zahteva klijenata se objedinjuje u jedan veci zahtev koji se izvrsava kao distribuirana transakcija. Procesiranje transakcija se zasniva na nekoliko osnovnih operacija ( primitiva ): Begin_transaction, end_transaction ( banka na primer ne sme da ne zavrsi transakciju da bi se imalo pravo stanje na racunu u svakom trenutku), abort_transaction-prekida transakciju i restaurira stare vrednosti, read, write. Osobine transakcija su: Atomicnost-prema spoljasnjem svetu transakcija je nedeljiva Konzistentnost-transakcija ne narusava ispravnost podataka Izolovanost-istovremene transakcije ne uticu jedna na drugu Postojanost-kada se transakcija uspesno zavrsi promene koje je izazvala postaju trajne. Omogucene su i ugnjezdene transakcije. Osnovna transakcija sadrzi vise podtransakcija sto je prirodan nacin podele posla u DS. Podtransakcije mogu postojati u vise nivoa. Prekidanje podtransakcije restaurira stare vrednosti u svim drugim podtransakcijama( iako su se izvrsile bez gresaka). Monitor procesiranja transakcije je komponenta koja izvrsava distribuiranu transakciju. Globalna integracija aplikacija Middleware posreduje u povezivanju aplikacija-softverska magistrala-Enterprise Service bus (ESB) Service Oriented Architecture (SOA) je savremen koncept gde serverske aplikacije pruzaju usluge-servise, klijent aplikacije su korisnici usluga i servisi i korisnici usluga su slabo povezani. Koristi se komunikacija zasnovana na porukama (Message Oriented Middleware).
9. Softverska i sistemska arhitektura?
Treba razlikovati Logiku organizaciju softverskih komponenti Softverska arhitektura Podela posla u DS(distribuirani sistemi) po celinama komponentama
Fiziku realizaciju softverskih komponenti Sistemska arhitektura Realizacija gde se primerci komponenti rasporeuju na stvarne raunare Softverske komponente: Komponenta je modularna softverska jedinica Sa jasno definisanim interfejsom Implementacija je izmenjiva Softverske komponente su gradivne jedinice DS Komponente su povezane i razmenjuju podatke Nain povezivanja komponenti definie stil softverske arhitekture Sistemske arhitekture:
Govori o fizikom rasporedu komponenti Organizacije komponenti Centralizovana organizacija (klijent,server) Decentralizovana organizacija(vertikialna distribucija,horizontalna distribucija) meovita
Cilj je da se uspostavi distribuciona transparentnost.Otezavaju poteskoce koje se odnose na: - Performanse -Tolerantnost otkaza Lakocu programiranja ... Vani stilovi arhitekture DS: 1. Slojevite arhitekture - Layered architectures 2. Objektno-orijentisane arhitekture - Object-based architectures 3. Podacima usresreene arhitekture - Data-centered architectures 4. Arhitekture zasnovane na dogaajima - Event-based architectures Ne postoji jedan stil koji se moe upotrebiti u vecini DS.
1. Slojevita arhitektura
Komponente su organizovane po slojevima Postoji hijerarhija slojeva Samo susedni slojevi komuniciraju
2. Objektno-orijentisana arhitektura
Slobodnija organizacija komponenti u odnosu na slojevitu arhitekturu Svaki objekat odgovara komponenti Objekti su tipino dislocirani i komuniciraju upotrebom Remote Procedure Call (RPC) Veze su po modelu klijent-server
3.Podacima usresreena arhitektura:
Komponente (tanije, procesi) komuniciraju preko zajednikih skladita podataka Aktivnih ili pasivnih Postoje implementacije DS gde se sva komunikacija odvija preko deljenih datoteka. 4. Arhitektura zasnovana na dogaajima:
Komponente komuniciraju (uglavnom) preko propagacije dogaaja Pri tome se prenose i podaci koji se odnose na dogaaj Ovi DS se nazivaju i Publish/Subscribe sistemi Neke komponente emituju poruke Druge komponente primaju poruke pretplate se na neke tipove poruka i onda samo takve poruke primaju Middleware se brine o mehanizmima razmene poruka Efekat je slaba povezanost komponenti Komponente ne moraju eksplicitno da se obracaju jedna drugoj
11. Centralizovana arhitektura. Klijent-server model ?
- Poznatija kao Klijent-Server model -Ucesnici su dve komponente(procesa): Server - implementira sevis Klijent koristi uslugu servisa -Upit-odgovor ponaanje
Klijent server arhitekture: -Fizicka dvoslojna arhitektura(klijent-server) ima svoje alternative
12. Viseslojna arhitektura.Middleware?
-Slojevitost prati loginu organizaciju aplikacije - esto se koristi troslojna arhitektura softvera: 1. sloj korisnikog interfejsa (UI User Interface) unos i prikaz podataka 2. sloj obrade (processing) obrada zahteva ili rezultata 3. sloj podataka (data) skladitenje (perzistencija) podataka Komunikacija izmeu slojeva se odvija po Klijent-Server modelu
Middleware Middleware je sloj izmeu distribuiranih aplikacija i platformi(operativnih sistema) Treba da pomogne u postizanju (distributivne) transparentnosti Sakriva Distribuiranost podataka Distribuiranost procesiranja Upravljanje iz aplikacija Postojeci middleware-i su pratili specifine stilove u arhitekturi OMG CORBA; Microsof DCOM adaptiran objektno-orijentisan stil TIBCO prati stil arhitekture zasnovane na dogaajima ... Upotreba middleware namece arhitektonski stil Savremena reenja DS trae prilagodljiv middleware
13. Procesi i niti u distribuiranom sistemu
Gledano sa strane operativnog sistema(OP),proces je program koji se izvrava.Zadatak OS-a je da rukuje i rasporeuje procese na izvrenje.A gledano sa strane procesa(dok ga OP opsluuje),proces ima utisak da je procesor samo njegov.OP brzo smenjuje procese u izvrenju,tako da se stie utisak jednovremenog rada ili ti multitaskinga. Nijedan valjan posao nemoemo poeti bez resursa,a oni su tu da se troe i dele,pa stim u vezi vie procesa moe koristiti isti resurs,a OP je tu da nam da nam da mehanizam za pristup deljenim resursima. Procesi i Niti Proces -izvrava program -Stanje procesa (Kontekst procesa) je veliko *CPU kontekst *Memoriskem mape,modifikovanje registara u MMU *informacije za upravljanje procesima npr.blokiranje na mutex-u. *otvorene datoteke ,brojake(statistike)informacije,privilegije...
Nit(Thread) -Izvrava deo zadatka procesa-takoe se prikljuuje na procesor. -Kontekst niti je manji od konteksta procesa *OS ga bre sauva i restaurira Procesi i niti u Distribuiranom sistemu Efikasna organizacija klijent-server veze zahteva vie programskih niti -Jednovremeno izvravanje komunikacije i lokalne obrade podataka Klijent sa vie niti -Viestruke komunikacije sa blokirajudim pozivima -Izdvojena obrada podataka koji pristiu -Jednovremeno pribavljanje podataka od vie servera -Primer:Web browser Server sa vie niti -Jednovremeno obsluivanje vie klijenata -(ostale ved navedene prednosti)
14. Niti i dizajn server
Server je proces koji prua neku uslugu klijentima(servis) -eka na zahtev klijenta -procesira zahtev -eka na novi zahtev Organizacija servera -Iterativan server sam obrauje zahtev i vrada rezultat -Konkurentan server-zahtev prosleuje drugoj niti/procesu i odmah je spreman da prihvata novi zahtev
15. Objektno orijentisana arhitektura servera.Adapter objekat
Unutar servera postije lokalni objekti koji pruaju usluge -Relativno je jednostavno iriti skup usluga dodavanjem novih objekata Poseban objekat prihvata pozive klijenata i prosleuje ih (rasporeuje) lokalnim objektima -Politike aktivacije-pre poziva metode kod objekata se moraju uitati *npr.objekat postoji samo tokom poziva klijenta *npr.objekat se smeta u izolovani adresni prostor -Politika u odnosu na niti 1.Jedna kontrolna nit za ceo server(najjednostavniji pristup) 2.Za svaki objekat posebna nit -Server prosleuje poziv niti objekta -Ako je nit zauzeta,novi poziv se privremeno stavlja u red. -Serijalizacija poziva metoda objekta Jednostavna implementacija 3.Svaki poziv u zasebnoj niti -Metode implementiraju zatitu od konkurentnog pristupa Adapter objekta Jedan server moe imati vie politika aktivacija u isto vreme -Sprovode ih adapteri objekta Adapter objekta -implementira odreenu politiku aktivacije (moe se konfigurisati) -je generika komponenta(ima jednostavan interfejs koji ne zavisi od interfejsa objekta) -moe upravljati sa vie objekata
16. Migracija koda i softverski agenti
Razlog migracije koda -prebacivanje sa opteredenog na neoptereden CPU -esto se minimizuju komunikacije (a ne opteredenje CPU-a) *primer:obrada velikog broja DB podataka se moe preseliti na server Modeli migracije koda -Weak mobility Nakon prenosa proces se pokrede od poetka *primer:Java applet -Strong mobility-Proces se privremeno zaustavi,prenese i nastavi da radi Problemi migracije -Pristum lokalnim resursima *Kod koji koristi lokalni resurse se nekada nemoe migrirati -Heterogeni sistemi(drugaiji hardver) *upotreba skript jezika i virtualne maine (npr.java,c#)
Softverski agenti Softverski agenti su autonomne jedinice sposobne da obavljaju zadatke u saradnji sa drugim agentima(po mogudnosti sa udaljenim) -Agent je proces -Sposoban je da preuzme inicijativu *npr.agenti koji dogovaraju sastanak Agentska tehnologija predstavlja osnovu za rad agenata -Podrane su migracije
17. Slojevitost komunikacionog protokola. OSI model.
ISO referentni model - pojednostavljuje dogovaranje kod prenosa poruke. Protokoli odreuju pravila (standardna) Format poruka; Sadraj; Znaenje poruka Promene u jednom sloju ne utiu na druge slojeve. OSI model Open Systems Interconnection Reference Model Uveden radi razumevanja raunarskih mrea Protokoli razvijeni kao deo OSI modela , nisu iroko upotrebljeni OSI model omogucava komunikacije u otvorenom sistemu. Ima 7 slojeva-protokol stack: svaki se odnosi na poseban aspekt i svaki ima interfejs ka gornjrm nivou. Pri slanju poruke svaki sloj doda svoj header koji se kod prijema uklanja. 1.Fiziki sloj: bavi se prenosom 0 i 1 alje bite. Ne daje zaglavlje tokom slanja, bavi se hardwerskim informacijama. Standardizuje elektrine, mehanike i signalne interfejse i odreuje napon, brzinu prenosa, obostranost slanja, veliinu i oblik konektora, broj i znaenje pinova. 2.Data-link sloj: detekcija greaka u prenosu i ispravka, grupie bite u frame-ove. Postavlja bit-pattern na poetku i na kraju, dodaje checksum kontrolu i redni broj poruke u zaglavlje frame-a. 3.Mreni sloj: Bavi se rutiranjem poruka, ali najkradi put ne znai i najbolji, na put poruke utie: kanjenje, gustina saobradaja, broj poruka koje su spremne za slanje i te promjene su dinamine. Primjer: IP, ATM. 4.Transportni protokoli:Namjena je isporuiti poruku do odredita. Reuzima poruku od vieg sloja, razbija je na djelove, svakom djelu dodaje redni broj i alje. Zaglavlje sadri informacije o: koji djelovi su poslati, koji su primljeni, koje treba ponovo poslati, koliki je prihvatni prostor na prijemnoj strani. Connection oriented: prvo se uspostavlja veza i vri dogovor oko daljih protokala, npr. telegonski razgovor. TCP- pouzdan u svakoj mrei. Connectionless- pimjer slanja pisma potom. UDP- neznatno proiruje IP, potrebna dodatna kontrola greke i prenosa paketa. TCP/UDP su pogodni za klijent-server model.
18. Povezivanje klijenta i servera.
Server se registruje, a klijent locira raunar-treba mu IP adresa i proces u okviru maine-treba mu endpoint(port). Sve ovo se deava na aplikacionom nivou, primjer je kalkulator.
19. Komunikacija upotrebom Berkeley Sockets.
To je biblioteka f-ja koja omogudava slanje I prijem poruka preko Internet transportnih protokola. Socket je endpoint(port) u koji aplikacija upisuje podatke, i iz njega se mogu itati podaci. Socket rutine za TCP/IP: socket kreira novi endpoint bind povee lokalnu adresu sa soketom listen objavi spremnost prihvatanja konekcija accept blokira dok se ne pojavi zahtev za konekcijom connect namerava da uspostavi konekciju send alje podatke preko konekcije receive prima podatke preko konekcije close oslobaa konekciju Server de napraviti vie niti za vie klijenata, jedna glavna i druge koje komuniciraju, to je kod TCP-a. Kod UDP-a je mnogo jednostavnije.
Posmatramo na jo viem nivou apstrahovanja. Ovo je protokol za pozivanje procedura iz udaljene maine, treba da lii na poziv lokalne procedure. Upotreba stub-ova. Primjer inverzne matrice. Sinhroni poziv: Potekode koje rjeava su: izvravanje koda u dvije maine, prosleivanje ulaznih parametara i rezultata kroz mreu, predstava brojeva, prenos po reference, prenos sloenih struktura. Koraci RPC-a: 1. Klijent poziva klijent stub na normalan nain 2. Klient stub formira poruku i poziva OS 3. Klijent OS alje poruku u server OS 4. Server OS predaje poruku server stub-u 5. Server stub otpakuje parametre i poziva metodu servera 6. Server izvrava metodu i vrada rezultat stub-u 7. Server stub pakuje odgovor u poruku u predaj u OS 8. Server OS salje poruku u klijent OS 9. Klijent OS predaje odogovor klijent stub-u 10. Klijent stub raspakuje odgovor i predaje klijent program
Proireni RPC model: Originalni RPC razmenjuje poruke izmeu raunara Zbog transparentnosti RPC se moe upotrebiti i za lokalne pozive Efikasnije je koristiti Interprocess Communication (IPC) umesto slanja poruka u okviru jednog raunara Upotebom proirenog RPC modela nema razlika izmeu lokalnih i udaljenih poziva Migracija koda se lako sprovodi Asinhroni RPC: Da klijent saopti neto serveru, ne treba mu povratni rezultat, sporiji je od sinhronog, klijent je rastereden.
21. Povezivanje na udaljeni objekat.
Remote Method Invocation (RMI) je naziv za pozivanje metoda udaljenog objekta (zasnovan na RPC) Postoje stub-ovi nazvani: Proxy i Skeleton Povezivanjem na udaljeni objekat se kreira referenca na objekat Preko reference se pozivaju metode objekta Reference se mogu prenositi izmeu procesa na razliitim mainama
22. Komunikacija zasnovana na porukama (Messaging).
RPC i RMI Su jedan nain komunikacije u DS Nisu uvek pogodni( mora da se pogodi server I port) Messaging je drugi nain Komunkacija zasnovana na porukama, jedan dogadjaj -> jedna poruka. Tu se koristi mehanizam dojava.
23. Perzistencija i sinhronizam u komunikaciji.
Hostovi (poiljaoc i primaoc) su povezani mreom
a) Persistent asynchronous communication b) Persistent synchronous communication
c) Transient asynchronous communication d) Receipt-based transient synchronous communication
e) Delivery-based transient synchronous communication f) Response-based transient synchronous communication
24. Message-Oriented Middleware (MOM).
Koristi message- orjentisanu perzistentnu komunikaciju. Ovdje postoji skladistenje poruka i ne zahtjeva se da posiljaoc ili primalac poruka bude aktivan. Osnovna ideja : Kod slanja poruka se upisuju u red poruka Poruka se prenosi do odredita preko niza servera Isporuka u odredite eka da ono bude raspoloivo (spremno) Posledice: poruka de biti isporuena, ali se ne zna kada ne garantuje se da de biti proitana (ili obraena) Svaka aplikacija ima svoj red za poruka koje cita , a druge aplikacije u njega salju poruke. Vise aplikacija moye citati isti red poruka.
-Dobra strana MOM-a je slaba povezanost posiljaoca I primaoca: - Primaoc ne mora da radi kada se pruka salje - Ppsiljaoc ne mora da radi kada seporuka obradjuje - Posiljaoc i primaoc rade nezavisno -Adresa odredista treba da je poznata = adresa reda poruka -Postoji ogranicenje na velicinu poruke -Osnovne rutine: Put- dodaj poruku u red Get- blokiraj ako je red prazan, inace izvadi prvu poruku Poll- provjeri da li ima poruka I ako ima izvadi prvu Notify- postavi metodu koja ce biti pozvana kada pristigne poruka -Adresa reda poruka se mapira na adresu maine - Rutiranje poruka omogudava MOM Preko adaptivne eme mapiranja u ruterima - Omogucavaju Sekundarno procesiranje (razlozi: fault tolerance, security) Transformisanje sadraja poruke Multicast poruke
25. Imena entiteta u distribuiranom sistemu (upotreba, tip, prostor imena, putanja).
Sinhronizacija. -Imena se koriste za oznaavanje i referenciranje entiteta. -Postoje tri tipa imena:1.Adresa ime access point-a entiteta; 2. Identifikator; 3. itljiva adresa (human-friendly name) kao tekst; -Imena se organizuju u prostor imena (name space).Prostor imena se predstavlja imenovanim grafom.vor predstavlja entitet.Naziv grane je ime po kome se entitet poznaje.Direktorijum je vor koji ima vie odlaznih grana kolekcija entiteta. -Putanja je niz naziva koji referenciraju entitet
26. Utvrivanje redosleda dogaaja. Sinhronizacija logikog vremena.
-Utvrivanje redosleda dogaaja odnosi se na sinhronizaciju rada distribuiranih procesa. Problem: Nema globalno poznatog sata, tj.procesi na razliitim mainama imaju sopstvenu predstavu o vremenu. -Sinhronizacija logikog vremena - Poznavanje tanog vremena nije od presudnog znaaja ved je bitno da se dogaaji u razliitim procesima deavaju u eljenom redosledu. -Lamport je uveo logiki asovnik. Grupa distribuiranih procesa se moe dogovoriti o redosledu dogaaja. Algoritam daje nain utvrivanja globalnog redosleda dogaaja. Svakom dogaaju E se dodeljuje globalna logika vremenska znaka (timestamp) C(E). Informacije o vremenu se prenose porukama gde slanje poruke svakako prethodi njenom prijemu. Pravila: 1. Ako dogaaj A prethodi B (u istom procesu) tada je C(A) < C(B) 2. Ako je A slanje, a B prijem poruke tada je C(A) < C(B) 3.
27. Delenje resursa i meusobna iskljuivost. Algoritmi za dodelu pristupa.
-U mnogo sluajeva procesi jednovremenopristupaju istom resursu. Meusobna iskljuivost (mutual exclusion) u pristupu procesa treba da sprei korumpiranje resursa (da bi njegovi podaci ostali konzistentni). Obezbeuje da u svakom trenutku pristup deljenom resursu ima samo jedan proces. Primenjuju se sinhronizacioni algoritmi. -Postoje brojni algoritmi: 1) Zasnovani na dozvoli pristupa Centralizovana odluka preko koordinatora Decentralizovana odluka Distribuirna odluka 2) Zasnovani na prosleivanju token-a Svi algoritmi su osetljivi na greke u komunikaciji i otkaze u procesima.
28. Sinhronizacija upotrebom koordinatora. Izbor koordinatora. Replikacija i konzistencija podataka.
-Sinhronizacija procesa obino zahteva postojanje koordinatora(dodatni proces) Posveden proces (nepromenljiv)i dinamiki izabran proces. Prvenstveno je bitan ako posveden koordinator moe da zataji. Dinamiki koordinator treba da bude izabran.Potrebno je da se procesi dogovore koji proces de biti koordinatotor. Postoji nekoliko algoritama za izbor:Bully algoritam i algoritam prstena. Bully algoritam:Preduslov je da svi procesi imaju jedinstven broj (prioritet). Proces P shvati da nema koordinatora i pokrene izbore. alje poruku izbori svim procesima vedeg broja. Ako niko ne odgovori on se promovie u koordinatora. Onome ko odgovori se predaje uloga inicijatora. Algoritam prstena: Preduslov je procesi se nalaze u lancu (fizikom ili logikom) i imaju brojeve (prioritete). Proces P shvati da nema koordinatora pokrene izbore. alje poruku u koju svaki P ubacuje svoj broj. Kada se krug zatvori P odredi koordinatora sa najviim prioritetom i obavesti sve procese (poalje novu poruku). - Postoje dva dobra razloga za replikaciju podataka: Povedanje pouzdanosti sistema i poboljanje performansi.Repliciracija zahteva kopiranje podataka kroz mreu(Potreban je balans: brzina pristupa / opteredenje mree) pa se radja problem konzistentosti. Kada se podaci replike promene tada replika postaje drugaija. Promene u replikama se moraju propagirati. Da bi se replike ouvale konzistentnim neophodno je propagirati promene tako da privremene nekonzistentnosti nisu uoljive.
29. Replikacija podataka
Postoje dva dobra razloga za replikaciju podataka: -povecanje pouzdanosti sistema(ako se jedna replica osteti,mogu se koristiti podaci iz drugih replika) -poboljsanje performansi(podaci se premestaju blize procesu koji ih koristi) Replikacija zahteva kopiranje podataka kroz mrezu,pa je potreban balans izmedju brzine pristupa I opterecenja mreze. Replikacija radja problem konzistentonsti: -kada se podaci sa replike promene I replica postaje drugacija; -promene u replikama se moraju propagirati,a time se obaraju performance sistema; -da bi se replike ocuvale konzistentnim neophodno je propagirati promene tako da privremene nekonzistentnosti nisu uocljive; -Replikacija kao tehnika skaliranja: Skalabilan system podrazumeva I bolje performanse,odnosno upsljavanje vise procesa koji rade sa kopijama podataka. Sinhrona replikacija podrazumeva da se promena podataka propagira u sve kopije kao jedna ,,atomska operacija-transakcija. Tada treba sinhronizovati redosled promena nastalih na raznim mestima. Takodje,sinhrona transakcija podrazumeva dosta komunikacija. Sve ovo sinhronu replikaciju cini ,,skupom,te je prakticno resenje u smanjenju njenih ogranicenja.
30. Konzistencija podataka. Modeli konzistencije.
Konzistencija se odnosi na operacije citanja I pisanja nad deljenim podacima u skladistu podataka(Data Store). Postoje (distribuirana) deljena memorija,(distribuirana) deljena baza podataka,(distribuiran) deljen system datoteka(File System). Svaki process koji pristupa podacima ima lokalnu kopiju celog skladista-repliku. Operacija koja menja podatke je operacija zapisa(Write). Ona se propagira u svim replikama. Ostale operacije su tipa Read. -Model konzistencije Model konzistencije je ugovor procesa I lokalnog skladista podataka. Ako process postuje pravila,skladiste podatka ce biti korektno(npr. Nakon operacije write,read treba da vrati ono sto je promenjeno). Osnovni modeli konzistencije su:Kontinualna konzistencija I konzistentan redosled operacija. Cilj kontinualne konzistencije je da se postave granice na: -dozvoljene razlike u numerickim vrednostima izmedju replika(primer: vrednosti merenje u sistemu za nadzor se stalno menjaju zbog prisutnog suma,ali merni uredjaji imaju konacnu tacnost). -maksimalno dozvoljena odlaganja osvezavanja podataka. Definise se period u kome se smatra da je replika konzistenta iako se tokom tog perioda dogadjaju promene vrednosti(primer:merenja se ocitavaju brze nego sto je klijentu potrebno). -dozvoljene razlike u redosledu operacija:definise se maksimalan dozvoljen broj privremenih zapisa(promena) u serveru koji cekaju na sinhronizaciju sa serverima ostalih replika. Konzistentan redosled operacija je osnova za brojne modele konzistencije medju kojima su: -sekvencijalna konzistencija-obzbedjuje da se sve write operacije svuda vide u istom redosledu; -uzrocna(kauzalna)konzistenicja:obezbedjuje da operacije koje potencijalno zavise jedna od druge moraju biti primenjene prema zahtevanom redosledu; Modeli klijent centricne konzistencije. Oni su bitni za mobilne klijente(pretpostavlja se da se isti klijent povezuje na razlicite replike). Ne razmatra se slucaj da se podaci dele izmedju vise klijenata vec se razmatra konzistentnost podataka prem samo jednom klijentu. U osnovi,ovi modeli obezbedjuju da klijent uvek zatekne stanje koje je poslednje ostavio cak I kada se poveze na novu repliku.
Replikacija podataka pravi kopije. Za implementaaciju distribuiranog skladista potrebno je znati: gde se vrsi replikacija,kada se vrsi,ko je vrsi. Tipovi replika:stalne(permanentne),server-inicirane,klijent-inicirane.(nisam pisao o svakoj posebno,cini mi se da se pitanje ne odnosi na to). Propagiranje promena. Promena izazvana klijentom se prenosi u kopiju. Nadalje promena propagira u ostale kopije. Ne moraju se sve replike trenutno izmeniti! Mogucnosti: -propagira obavestenje da je nastala promena; -prenose se podaci sa kopije na kopiju; -prenose se operacije (koje prave izmene) sa kopije na kopiju; Propagacija obavestenja:Obicno se navodi koji deo podatka je promenjen. Kda se pristupa podacima koji su oznaceni kao promenjeni(nisu vlaidni) prvo se moraju osveziti. Zbog velikog broja dojava moze da optereti mrezu. Propagacija podataka:korisno je kada je Read/Write veliko (?!?!?!). mogu se beleziti samo promene I one slatiu kopije-pogodno je pakovanje vise promena u jednu poruku. Propagacija operacija:slanje operacija koje ce u kopijama izazvati istu promenu podataka. Prenose se I parametri operacija. Kod slozenih operacija,nekad je jednostavnije poslati rezultate. Push/Pull protokoli Moguci su: Push modeli-slanje promena; Pull modeli-ocitavanje promena; Lease-hibridni model. Push model salje promene u kopije(replike) I kada one to ne traze. Primenjuje se kada se zahteva visok stepen konzistencije-identicne replike. Model je efikasan kada je read/write odnos visok u svakoj replici. Pull model:zahteva od drugog server da posalje podatke. Primena je kod kes klijenta. Efikasan za mali read/write odnos. Unicast/Multicast propagiranja promena. Multicast je pogodan za osvezavanje vise replica na LAN-u. Multicast je zapravo slanje poruke na vise adresa-racunara. Unicast je pogodnije kada postoji jedan klijent.
32. Sistem tolerantan na otkaze (osobina, cilj).
Osobina distribuiranog sistema (DS) je postojanje dinamikog otkaza (kja ih razlikuje od sistema na jednoj maini). Dinamiki otkaz nastaje kada deo sistema (komponente) zakae. Otkaz dela sistema moe da loe utie na rad ostatka sistema dok za neke delove sistema je potpunoi ne bitan. Sistem moe da prui servis i kada postoje uzroci greka. Cilj je da se dizajnira DS tako da se sistem moe automatski oporaviti od deliminog otkaza. Pri tome se ne smeju ozbiljno naruiti performanse sistema, tj. u prisustvu deliminog otkaza sistem treba da nastavi sa radom (na prihvatljiv nain). Sa ovim dobijamo sistem tolerantan na otkaze fault tolerant. U tesnoj vezi je sa pojmom pouzdanosti dependable systems.
33. Osobina distribuiranog sistema: raspoloivost, pouzdanost, sigurnst, odravnost.
Pojam dependable (pouzdanost) ukljuuje zahteve DS-a: Raspoloivost: osobina sistema da radi bez geke. Definie se verovatnoda da sistem radi bez greke u svakom trenutku. Odnosi se na trenutak. Pouzdanost: osobina da sistem radi kontinualno bez pojave greke. Odnsi se na period. Sigurnost: privremen otkaz ne prouzrokuje katastrofu. Potrbna u sistemima velikog rizika, teko se postie. Odrivost: koliko brzo se sitem moe popraviti.
34. Uzroci greaka i tipovi otkaza. Problem klijent-server komunikacije.
Dependable system je usko povezan sa kontrolom uzroka grekea: - Prevencija uzroka greke - Otklanjanje uzroka greke - Predvianje uzroka greke Klasifikacija uzroka greaka: - Prolazni: jednom se pojavi i nestane. Jednostavano se prevazilaze ponavljanjem operacije. - Povremeni: pojavljuju se s vremena na vreme. Teko se otkrivaju. - Trajni: postoje dok se deo sistema ne popravi. Softverska greka, pregoreo ip...
35. Skrivanje otkaza upotrbom redudanse. Grupa procesa. Atomski mutkiaksting.
U fault tolerant sistemu najbolje je skriti otkaz od drugih procesa. Kljuna tehnika je upotreba redudanse (suvinosti): - Suvinost imformacija (dodatni bit, npr. Hamingov kod, kontrola suma...) - Suvinost u vremenu (akcija se ponavlja, npr. ne uspela komunikacija) - Fizika suvinost (u hardveru i/ili softveru) U DS-u procesi se repliciraju u grupe procesa. Ideja: kada se poruka poalje grupi svi procesi je moraju primiti i ako neki od procesa zakae, oekije se da de neki drugi proces preuzeti poruku i obraditi je. Grupa procesa moe biti dinamika: proces moe napustiti grupu i/ili se pridruiti nekoj grupi; proces moe pripadati u vie grupa jednovremeno. Organizacija grupe procesa: a) grupa ravnopravinih uesnika (simetrina, nema signal single-point- failure, sloena implementacija). b) hijerarhijski organizovana (otkaz koordinatora pravi problem). Atomski multikasting: svi procesi moraju primiti poruku. Problem prisutan kod npr. replikacije podataka. Poruka se dostavlja svim procesima ili nikome (redosled poruka je bitan). Proces pada i ponovo se pokrede: dovodi se u stanje pre pada; alju mu se poruke koje su u meuvremenu posate; ponovno pokretanje procesa zahteva da se ponovo nae u grupi.
36. Distribuirani Commit oritikol. Dvofazni i trofazni Cimmit protokol.
Distribuirani Commit je jo iri problem od atomskog mulrikstinga. Pored pouzdane poruke treba primiti operaciju u svakom lanu grupe ili nigde. Obino se reava uz pomod koordinatora, koordinator (K) 1 proces, uesnici (P) pstali procesi. Alogoritam: dvofazni Commit protokol (2Phase Commit 2PC), trofazni Commit protokol (3PC). Dvofazni Commit protokol ima dve faze po dva koraka: 1.) Lokalna primena. K alje poruku VOTE_REQUEST svim P da pokuaju da primene promene. P priprema promene u lokalnom skladitu podataka (vrada VOTE_COMMIT ako je sve u redu ili VOTE_ABORT). 2.) Globalna primene K eka na rezultate lokalne primene. K alje GLOBAL_COMMIT ili GLOBAL_ABORT. P na osnovu poruke K lokalno primenjuje promene ili ih odbacuje. Dijagram stanja: a) Koordinatora: b) Uesnika: Slike... Nakon pada nekog od procesa, oekuje se da se on ponovo pokrene i na osnovu zabeleenog poslednjeg stanja nastavlja sa radom. Kada istekne time-out u stanju READY, znai da je K pao. P moe ekati K da se oporavi ili P moe upitati proces Q u kom je stanju i doneti odluku (prema donjoj tabeli):
Stanje procesa Q Akcija ''zbunjenog'' procesa P COMMIT Zavrava transakciju COMMIT ABORT Prekini transakciju ABORT INIT Prekini transakciju ABORT WAIT Kontaktiraj drugi proces (iz grupe)
Trofaznog Commit: Problem sa 2PC nastaje kada koordinator padne. Sutina 3PC je da se dodaje novo stanje PRECOMMIT koje omogudava da procesi donesu odluku pre nego se koordinator oporavi. Algoritam se retko implementira. Dijagram stanja: a) Koordinatora b) Uesnika Slike....
37. Oporavka od otkaza (Checkpoint, beleenje poruka,postojano skladite podataka).
Nakon otkaza proces treba da se oporavi i dovede u korektno stanje. Rekonstrukciju stanja omogudavaju Checkpoint-i i beleenje poruka. Sutina oporavka od greki je zameniti: stanje sa grekom -> stanjem bez greke. Strategije: - Oporavak u nazad (Backward). Stanje sistema se povremeno belei checkpointi. Trai se stanje pre nastanka greke. Problem: 1) traje; 2) moda ponovo nastane greka; 3) neostvarivo. - Oporavak unapred (Foreward). Sistem se iz stanja sa grekom prevodi u novo korektno stanje. Problem: moraju se unapred znati mogude greke. Checkpoint omogdava oporavak u prethodno korektno stanje (skupa operacija, izbegavaju se esta snimanja stanja). Kombinuje se sa beleenjem poruka koje nemaju stanje (Checkpoint se ree prai, poaljaoc belei poruku pre nego je poalje, primaoc belei poruku pre nego je prosledi aplikaciji, oporavak: a) uita stanje iz Checkpoint-a; b) pripremi poruke nastale posle snimanja stanja) Postojano skladite podataka slui za sigurno skladitenje stanja procesa. Tip skladita u RAM-u nije postojano, na disku nije postojano ako disk otkae , postojano skladite preivljava sve sem prirodnih katastrofa. Relacija postojanog skladita 2 diska. Sekvencijalno se zapisuju promene. Formiranje Checkpoint-a: Oporavak moe zahtevati da se vie procesa postavi u ranije stanje. Potreban je distribuirani snapshot stanja recovery line. Na osnovu nezavisno formiranih checkpoint-a process teko pronalazi recovery line -> Domine efekat. Formiranje koordinisanog Checkpoint-a: Procesi koordinisano snimanj svoje stanje u lokalno stabilno skladite, snimlje stanje je globalno konzistentno (nema Domino efekta). Implementacija Dvofazni blokirajudi protocol: 1.) K multicast poruku CHECKPOINT_REQUEST svim p o Svaki P: napravi lokani Checkpoint, belei sve naknadne poruke, poalje potvrdu K, eka na CHECKPOINT_DONE. o K eka na potvrdu od svih P 2.) K poalje CHECKPOINT_DONE svim P. Beleenje poruka: Koje nam sve informacije trebaju da bismo ponovo poslali poruku? Gubitak informacije -> nema korektnog oporavka procesa, nastaje process siroe. Informacije su u zaglavlju poruke: poaljilac, primaoc, redni broj poruke (potreban kod duplikata), redni broj isporuke opcija (kada se poruka isporuuje). Postojana poruka == poruka zaspisana u postojano skladite.
38. Pogodnosti i primena distribuiranih upravljakih sistema
Ovi sistemi su nastali krajem 70-god,i od tada se neprekidno razvijaju rastu
*Primene je sledeca : postrojenja procesne industrije hemijska i petrohemijska postrojenja, rafinerije nafte, eljezare i eliane,itd. proizvodna postrojenja energetska postrojenja automatka sloenijih laboratorijskih postrojenja nova proizvodna postrojenja i revitalizacija postojedih postrojenja
*Pogodnosti DRUS-a je: Primenjuje se zbog povedanja: produktivnosti proizvodnje kvaliteta proizvoda sigurnosti i raspoloivosti postrojenja fleksibilnosti rada postrojenja kvaliteta uvida u rad postrojenja Povedanje automatike kod postrojenja i procesa Primene novih: raunarskih i komunikacijskih tehnologija naprednih metoda automatskog upravljanja Sprovodi se hijerarhijskom arhitekturom Funkcionalna arhitektura Fizika arhitektur
39. Hijerarhijska arhitektura distribuiranih upravljakih sistema
Opte je prihvadena Omogudava funkcionalnu dekompoziciju na nekoliko nivoa,a to su: Nivo 4: voenja preduzeda Nivo 3: voenja proizvodnje Nivo 2: voenje postrojenja/procesa Nivo 1 : lokalno upravljanje i regulacija Nivo 0: tehniki proces Hijerarhijski nivo pokrede i nadzire izvoenje funkcija automatike nieg nivoa i pokrede se i nadzire funkcijama automatike nadreenog nivoa
Lokalno upravljanje i regulacija Nivo 1 Akvizicija procesnih veliina prikupljanje trenutnih vrednosti mernih veliina i stanja komponenata postrojenja (npr. stanja pumpi, ventilator ,sl.) neophodna za upravljanje procesom u otvorenoj i/ili zatvorenoj petlji, nadzor procesa, izradu izvetaja o stanju procesa Nadzor procesa/postrojenja i provera ispravnosti sistema procesiranje prikupljenih podataka, proveravanje njihove prihvatljivosti, donoenje odluka o akcijama koje treba preduzeti, provera funkcionalnosti raunara i periferija, alarmiranje, dojavljivanje greaka i neispravnih stanja. Sekvencijalno upravljanje i upravljanje u zatvorenoj petlji
Voenje postrojenja/procesa Nivo 2 odreivanje optimalnih radnih uslova procesa Implementiraju se funkcije: Optimalno upravljanje procesom Optimizacija se sprovodi na osnovu matematikog modela procesa, a prema nekom kriterijumu optimalnosti koji treba da osigura optimalan rad procesa/postrojenja u promenljivim radnim uslovima. Adaptivno upravljanje Na osnovu merenih vrednosti procesnih veliina estimiraju se parametric matematikog modela procesa iz kojih se zatim izraunavaju optimalne vrednosti parametara regulatora. Optimalna koordinacija rada postrojenja Sprovodi se na osnovu: produktivnosti proizvodnje, stanja sirovina, stanja skladita proizvedene robe, cene energije i dodatnih kriterijuma optimalnosti. Nadzor, skladitenje i izvetavanje Nadzor performansi postrojenja, skladitenje podataka i izvetavanje o stanju.
Voenje proizvodnje Nivo 3 odreivanje redosleda proizvodnje (production scheduling) za jedinice proizvodnog postrojenja u zaisnosti od: - narudbi kupaca -stanja zaliha -energetskih ogranienja i zahteva. sprovodi se promenom redosleda proizvodnje i promenom proizvodnog programa -Sofisticirane tehnike koordinacije rada proizvodnog postrojenja - Podruje operacionih istraivanja, a ne automatskog upravljanja Nadzor celokupnog proizvodnog postrojenja izrada izvetaja Najvii nivo manjih proizvodnih postrojenja
Voenje preduzeda Nivo 4 Najvii nivo sloenih industrijskih postrojenja obuhvadeni inenjerski, ekonomski, komercijalni i kadrovski aspekti voenja preduzeda. Softverski sistem za optimalno planiranje proizvodnje sloena optimizacija plana proizvodnje u promjenljivim radnim i trinim uslovima Koordinacija: menadmenta, odelenja prodaje, nabavke, raunovodstva I pogonskog osoblja. Tipine funkcije su: analiza trita prikupljanje podataka o kupcima statistika narudbi planiranje prodaje i proizvodnje ugovaranje prihvatanje narudbi i provera rokova koordinacija rada proizvodnih postrojenja izraunavanje cena uravnoteivanje proizvodnih kapaciteta i narudbi deoba narudbi pradenje rokova proizvodnje i isporuke izvetaji o proizvodnji, narudbama i ugovorima izvetaji o produktivnosti, prodanosti, dobiti/gubitku i sl.
40. Fizika i funkcionalna arhitektura sistema
Fizika i funkcionalna arhitektura Funkcionalna arhitektura i fizika arhitektura sistema nisu iste Fizika arhitektura je sabirniki orijentisana esto se funkcije dva ili vie funkcionalnih nivoa implementiraju u jednom fizikom nivou Dobija se jednostavniji DS
Fizika - Sabirniki orijentisana arhitektura Tipino tri komunikacione mree,a to su : 1) Fieldbus Povezivanje upravljakih ureaja sa pametnim senzorima i izvrnim organima 2) Upravljaka mrea na nivou postrojenja Povezivanje vie upravljakih ureaja (i SCADA sistema) 3) Poslovna magistrala Povezivanje upravljakog sistema sa ostalim aplikacijam
Jednostavna sabirnika arhitektura Smanjuje cenu i trokove odravanja Dva fizika nivoa (dve mree) u manjim proizvodnim postrojenjima 1. Funkcije niih slojeva: lokalno upravljanje -automatika u nivoima 1 i 2 2. Funkcije viih slojeva: kombinacija voenja postrojenja i proizvodnje - voenje preduzeda se izvodi na izdvojenom (nezavisnom) raunarskom sistemu Jedna mrea za sve -Jo jednostavnije
Jedinstven distribuiran sistem Jedinstven distribuiran sistem povezuje brojne aplikacije - Informacija se unosi/nastaje jednom (u jednoj aplikaciji) - Informaciju koriste druge aplikacije -Objedinjeno reavanje problema (saradnja aplikacija) esto se naziva Informacioni sistem Oteano je povezivanje aplikacija Svaka aplikacija ima svoj model podataka Postoje razliite softverske tehnologije (komunikacije, ...) Aplikacije su pisane od strane raznih proizvoaa Uvode se specifikacije i standardi radi olakanog povezivanja aplikacija
41. OPC (ideja, arhitektura, specifikacije, mesta primene)
Ideja OPC-a OPC = OLE for Process Control OLE = Object Linking and Embedding OPC komponente: OPC klijenti i OPC serveri. Tipian klijent je MMI Serveri su izvori podataka, oni prikupljaju/alju podatke iz upravljakih uredjaja i pripremaju ih za klijente, mogu biti upotrebljeni za realizaciju jezgra SCADA softvera. OPC specifikacije definiu grupe programskih interfejsa putem kojih se pristupa OPC serverima (distribuiranim objektima) Specifikacije: Pristup trenutnim vrednostima veliina: OPC DA - Data Access, OPC XML DA, OPC DX Data Exchange Pristup istorijskim vrednostima veliina: OPC HDA - Historical Data Access Pristup alarmima i dogadjajima u sistemu: OPC AE - Alarms and Events Posredno upravljanje Bezbednost sistema Mesta primene su: Povezivanje komponenti distribuiranog upravljakog sistema, pristup podacima postojedeg upravljakog sistema, pristup podacima upravljakih uredjaja (mernoakvizicionih uredjaja)...
42. OPC server
OPC Data Access Server Omogudava brz pristup trenutnim vrednostima veliina Pored vrednosti oitavaju se i vremenska znaka (timestamp) i kvalitet vrednosti, veliine mogu imati dodatne podatke, osobine poput: granice vrednosti, in. jedinica, granice alarma, ... Sinhroni i asinhroni pristup vrednostima: oitavanje i zapis. Sinhroni pristup je namenjen jednostavnim klijentima koji pristupaju malom broju veliina. Asinhroni pristup minimizuje upotrebu CPU i mree Klijenti mogu grupisati veliine prema potrebi. Na nivou grupe veliina se omogudava: kontinualna konzistencija podataka (deadband, update rate), pretplata na promene vrednosti veliina - PUSH model sinhronizacije. Server: Prua informacije o serveru odrava grupe veliina Grupa (veliina): Manipulie podacima o sebi, sadri mehanizme za logiko organizovanje veliina OPC Historical Data Access Server Opisuju interfejse bitne za: skladitenje vrednosti veliina, oitavanje ranije prikupljenih/skladitenih vrednosti Specifikacije predvidjaju postojanje: jednostavnijih servera koji bi implementirali samo osnovne funkcionalnosti istorijskog servera, sloenih servera kod kojih se vre filtracije podataka, statistika obrada, kompresija podataka i sl. I ovde je predvidjen mehanizam dojave kao najefikasniji nain prenosa podataka izmedju klijenata i servera. Postoje veliine i imaju osobine (kao u OPC DA). Klijent specificira period od intresa Vrednosti veliina mogu biti: Sirovi podaci (raw data), skladiteni podaci (mogu biti kompresovani), agregirane vrednosti avg, min, max..., anotacije korisnik moe komentare dodeliti veliinama (uz vremensku znaku) i oitati ih, interpolirani podaci vrednosti veliina dobijene linearnom interpolacijom, modifikovane vrednosti promenjene nakon skladitenja u server OPC Alarms & Events Server Obavetava klijenta kada se desi dogadjaj ili alarm vrednost parametra premai zadate granice promene stanja opreme U osnovi klijent se pretplati na tipove dogadjaja tako da ga server obavetava kada se dogadjaj desi Podrane su oblasti (Area) Podrana su brojna filtriranja dojava, prema: EVENT tipu dogadjaja, CATEGORY kategoriji dogadjaja, SEVERITY ozbiljnosti, AREA geografskoj oblasti gde se desio, SOURCE izvoru dogadjaja Osnovni pojmovi iz AE: Condition je stanje nekog objekata (ili servera) Alarm je nenormalno stanje (condition) i tretira se kao specijalan condition. Dogadjaj (Event) moe, a ne mora biti uslovljen condition-om
43. UMS Utility Management System
Sadri sofisticiran upravljaki sistem. Pomae osoblju (operaterima) da optimizuju performanse sistema, kvalitet i sigurnost usluga ine ga: Osnovne SCADA funkcije, aplikacije za simulaciju i analizu sistema, spoljanje aplikacije povezane sa njim Mesto primene UMS: Tipina mesta primene su sistemi za proizvodnju, prenos i distribuciju vode, gasa, elektrine energije, grejanja Tipino zasnovani na SCADA podsistemu Sturi podaci Podaci o sistemu su smeteni u DBMS: podaci su brojni i raznorodni (dobro), DBMS je spor (loe), Integracija preko DBMS sa drugim aplikacijama je moguda, ali oteana. Potreba UMS-a: Simulacije i analize ponaanja sistema: U realnom vremenu prorauni na osnovu izmerenih podataka Simulacije van realnog vremena: What-if analize sa proraunima, planiranja, analize istorijskih zbivanja, obuka kadrova Povezivanje UMS sa ostalim aplikacijama: Potreban je jedinstven nain prenosa podataka izmedju aplikacija DAF specificira jedan deo nain prenosa podataka izmedju aplikacija UMS sadri detaljne (fizike) modele sistema: Mrea, proizvodnja, zahtevi potronje.
44. Data Access Facility (DAF) specifikacija (namena, osnovni tipovi podataka, servisi)
Cilj je olakati (unaprediti) povezivanje UMS sa ostalim aplikacijama. DAF specifikacija je zasnovana na CORBA-i... DAF se odnosi na: Odnosi se na pribavljanje read-only podataka iz UMS: ulaznih podataka i rezultata analize, stvarna (merena) i simulirana stanja, podaci o modelu sistema. Omogudava integraciju sa drugim aplikacijama u nearreal- time ili non-real-time modu Pokriva: Pristup podacima, dojave o promenama podataka, konkurentan pristup podacima, semantiku podataka (EPRI CIM) DAF se NE odnosi na :specifinosti sistema, auriranje podataka sistema, definisanje meta podataka, sloenije funkcionalnosti... Osobine Jednostavna implementacija, Brz odziv (visoke performanse), DAF osnovni tipovi podataka su: upiti i rezultati se prikazuju preko: resursa, propertija i vrednosti. Resurs je bilo ta sa jedinstvenom identifikacijom. Opisuje se sa: Binarnim identifikatorom (ResourceID) = 2 x 64bita Postoji mogudnost upotrebe tekstualnog identifikatora (Uniform Resource Identifier - URI). Primeri: primerak pumpe, generatora, prekidaa, opis veze elemenata, opis meta-podatka Properti je osobina resursa koja se moe opisati. Identifijuje se binarnim identifikatorom : PropertyID == ResourceID Ima domen vrednosti opseg vrednosti. Vrednost propertija je elementaran podatak, predstava se unijom nekoliko CORBA tipova (SimpleValue) Primeri: Status prekidaa, lokacija elementa, broj operacija ukljuenja/iskljuenja DAF servisi Odnose se na implementaciju DAF specifikacije Servisi su: 1. Realizuje upit koji vrada opis jednog ili vie resursa 2. Obezbedjuje prevodjenje identifikatora resursa (ResourceID) u tekstualnu reprezentaciju (URI) i obratno 3. Dojava o promenama podataka (ResourceEventSource)
45. Data Acquisition from Industrial Systems (DAIS) specifikacija (osnove osobine, namena i mesta primene)
Efikasan real-time prenos velike koliine podataka iz industrijskog procesa do raznih klijenata, omogudava listanje parametara i auriranje njihovih vrednosti, prenose se on-line podaci... Mesta upotrebe DAIS-a su: Brojni industrijski procesi DAIS specifikacija: OMG dokument: Zasnovana na CORBA middleware-u Zasniva se na OPC specifikaciji: opisuje interfejse (i metode), opisuje informacioni model nain upotrebe metoda interfejsa Podrava semantiku modela - CIM (Common Information Model) Odnosi se na : prenos podataka iz procesa, jednovremeni prenos velike koliine podataka do raznih klijenata (pretplatnika), razliiti tipovi i klijenata i servera Vrste podataka u DAIS-u su: Vrednosti veliina (measurement data access), alarmi i dogadjaji (alarms & events). Ovi podaci su dostupni iz: Upravljake opreme PLC, RTU, kontroleri, kontrolnih centara SCADA, aplikacija - SCADA, Management Systems Pristup veliinama Specifikacija sadri interfejse za: Pregled podataka u serveru, pregled opisa modela koji podrava server, sinhrono i asinhrono itanje i zapis podataka u server, pravljenje pretplata na server i rukovanje njima, callback interfejsi klijenta za prenos vrednosti po principu dojave (event driven mehanizmom)... Delovi specifikacije su: DAIS Server, DAIS Data Access, DAIS Alarm & Events Aplikacija mora implementirati: DAIS Server DA ili AE ili oba
55. Tipovi bezbednosnih pretnji u distribuiranim sistemima, bezbednosna politika i sigurnosni mehanizmi
Tipovi pretnji:
Presretanje (interception) neautorizovana stranka dobije pristup podacima ili servisima. Ovde spada i ilegalno kopiranje podataka. Prekidanje (interruption) servis ili podatak postane nedostupan, neupotrebljiv ili uniten. Npr. denial of service (DoS) Modifikacija (modification) neautorizovana izmena podataka ili izmena servisa, koji vie nije u skladu sa specifikacijom Fabrikacija (fabrication) generisanje dodatnih podataka ili aktivnosti koji ne bi postojali u normalnim situacijama. Npr. ilegalno ponavljanje ranijeg zahteva za prenos novca ili dodavanja zapisa u datoteku sa lozinkama
Bezbednosna politika (security policy) sistema tano opisuje ta je entitetima (korisnici, servisi, podaci, maine) u sistemu dozvoljeno i ta nije. Sprovodi se sigurnosnim mehanizmima.
Kada je definisana sigurnosna politika za odreeni sistem, mogude je predi na odabir sigurnosnih mehanizama kojima de se ta politika obezbediti:
Enkripcija (encryption) transformie podatke u format koji nije razumljiv za napadae Autentifikacija (authentication) verifikacija identiteta korisnika, klijenata, servera, itd. Autorizacija (authorization) provera da li entitet ima pravo na izvravanje odreene akcije Beleenje istorijata aktivnosti (auditing) upisivanje u dnevnike dogaaja (uglavnom tekstualne) koji je entitet emu pristupio i na koji nain.
56. Dizajn (planiranje) bezbednog sistema
Distribuirani sistem, kao i svaki raunar, treba da ima irok dijapazon bezbednosnih mehanizama preko kojih je mogude primeniti razliite bezbednosne politike.
Kod planiranja bezbednosnog sistema je bitna: Zatita (distribuiranih) aplikacija preko kontrole pristupa Slojevitost sigurnosnih mehanizama Jednostavnost
Kod kontrole pristupa imamo tri mogudnosti:
1. Naglasak na podacima Najvanije kod ovog pristupa je ouvanje integriteta podataka Nisu vane operacije koje se mogu izvravati nad podacima Tipian primer je baza podataka koji ima razliita pravila za ouvanje integriteta podataka koja se automatski primenjuju kada se podatak promeni 2. Naglasak na operacijama Specificira se koje se operacije mogu izvravati i od strane kojih entiteta Primer je server koji zna koji korisnik sme da pozove koju metodu na serverskom objektu. Mogude su i vede granulacije, da se pristup definie na nivou interfejsa ili ak serverskih objekata 3. Naglasak na korisnicima Samo pojedini korisnici imaju pristup aplikacijama Korisnici se dele u grupe prava pristupa se definiu za grupe Jedan korisnik moe da bude lan vedeg broja grupa Primer: u raunarskom sistemu univerziteta je pristup nekim aplikacijama mogud samo za nastavno osoblje (ne i za studente)
Slojevitost
Distribuirani sistemi funkcioniu na slededim slojevima: Aplikacije koje koriste distribuirane resurse Middleware srednji sloj koji sakriva heterogenost distribuiranih sistema Servisi operativnog sistema Kernel (jezgro) operativnog sistema
Pitanje slojevitosti se svodi na odluku na kojem od gornjih slojevima da se implementiraju bezbednosni mehanizmi. Ako su bezbednosni mehanizmi na viim slojevima, onda ukupna bezbednost u mnogome zavisi od niih slojeva.
Jednostavnost
Tei se postizanju bezbednosti sa manjim brojem jednostavnih bezbednosnih mehanizama koji su lako razumljivi i provereno rade Jednostavnost je naroito potrebna kod sloenih sistema, kao to su sistemi naplate: digitalni protokoli naplate vie entiteta se moraju dogovoriti da bi se naplata izvrila Ako je korisnik u stanju da shvati bezbednosne mehanizme, onda je veda verovatnoda da de imati poverenje u pouzdanost sistema
57. Enkripcija i dekripcija poruka (simetrina i asimetrina kriptografija). Hash funkcije.
Ako stranka A eli da poalje poruku m stranci B onda da bi zatitila poruku od sigurnosnih pretnji A de izvriti enkripciju poruke m (dobija se m) A de poslati enkriptovanu poruku (m) B de izvriti dekodiranje poruke (m i dobide m)
Definicije poruka (P) podatak ili deo podatka koji stranka A alje stranci B kodirana poruka (C) poruka koja je promenjena sa ciljem da bude nerazumljiva za potencijalne napadae klju (K) tajni podatak koji omogudava strankama da poruke ifriraju enkripcija (kodiranje) (E) proces u kojem stranka modifikuje poruku sa ciljem da ona bude nerazumljiva za potencijalne napadae. Rezultat ovog procesa je kodirana poruka dekripcija (dekodiranje) (D) proces u kojem se od kodirane poruke pravi izvorna poruka
Kodiranje poruka treba da spei akcije uljeza (pretnje bezbednosti): presretanje, modifikaciju i fabrikaciju
Enkripcija (kodovanje) Generie kodiranu poruku na osnovu originalne poruke i tajnog kljua C=Ek(P) Dekripcija (dekodovanje) Generie originalnu poruku na osnovu kodirane poruke i tajnog kljua
Nemogude je nadi klju K ako su poznate poruka P i kodirana poruka C Nemogude je nadi drugi klju K za koji bi bilo Ek(P)=Ek(P)
Simetrina kriptografija
Isti klju za enkripciju i dekripciju Drugo ime: kriptografski sistemi sa deljenim kljuem Da bi komunikacija bila bezbedna, kljuevi moraju biti tajni (kao i kod svih kriptografskih sistema) Oznaka za deljeni klju: KA,B ( ( )) K K P D E P = , , ( ( )) A B A B K K P D E P =
Asimetrina kriptografija
Odvojeni kljuevi za enkripciju i dekripciju Oznake za kljueve: KE i KD Jedan od kljueva se uva u tajnosti Jedan klju moe da bude javan zbog toga se ovakvi sistemi zovu se jo i sistemi sa javnim kljuevima Da bi komunikacija bila bezbedna, kljuevi moraju biti tajni (kao i kod svih kriptografskih sistema) Oznaka za javni klju strane A: A K +
Oznaka za privatni klju strane A: A K -
( ( )) D E K K P D E P = ( ( )) A A K K P D E P - + =
Hash funkcije
Slue za igosanje poruke prave ig na osnovu poruke Hash funkcija H je jednosmerna funkcija na osnovu iga se ne moe rekonstruisati poruka Vane osobine Slaba otpornost na koliziju za poruku m se ne moe nadi poruka m koja za koju je H(m)=H(m) Jaka otpornost na koliziju nemogude nadi dve poruke m i m za koje de biti H(m)=H(m) Primer: MD5 (Message Digest 5) od poruke proizvoljne duine pravi jedinstveni 128-bitni message digest
U klijent-server modelu komunikacije u (distribuiranom) sistemu koncepti bitni za bezbednost su: Bezbedan komunikacioni kanal Autorizacija uesnika kontrola pristupa Upravljanje (menadment) bezbednostnim mehanizmima
58. Digitalni potpisi
Poverljivost (confidentiality) poruke se ne mogu prislukivati postie se enkripcijom poruke
Integritet (integrity) poruke se ne mogu se zlonamerno promeniti. Osigurava se: digitalnim potpisima i kljuevima sesija
Digitalni potpisi
Kada A poalje poruku B onda je potrebno osigurati sledede: da strana B nede zlonamerno promeniti sadraj primljene poruke da strana A ne moe da tvrdi da nikad nije poslala poruku Ove dve stvari se mogu osigurati ako A digitalno potpie poruku na nain koji jedinstveno povezuje potpis sa sadrajem poruke Kljuna je re jedinstveno jer se na ovaj nain iskljuuje mogudnost modifikacije poruke Mogude je jednoznano identifikovati stranu A, pa ona ne moe da tvrdi da nije poslala poruku Postoji vie naina za digitalno potpisivanje poruka. Spomenudemo slededa dva: potpisivanje sistemom javnih kljueva potpisivanje message digest-om (upotrebom hash funkcije)
Kljuevi sesija
Uspenom autentifikacijom se uspostavlja bezbedan kanal Enkripcija na tom kanalu se vri kljuem sesije Nakon zatvaranja kanala klju sesije se unitava Za enkripciju podataka na kanalu se koristi privremeni klju sesije umesto kljueva kojima se uspostavlja siguran kanal iz slededih razloga: kada se klju esto koristi, lake se razbija titi od napada ponavljanjem prethodnih poruka ako se i razbije klju jedne sesije, nede biti mogude dekodiranje podataka poslatih tokom ranijih (ili kasnijih) sesija ako jedna strana ne veruje u potpunosti drugoj, onda je bolje koristiti privremene kljueve sesija
59. Bezbedan komunikacioni kanal
Za bezbednu komunikaciju je potrebno da se zna taan identitet obe (ili vie) strane da se ouva integritet poruka da se ouva tajnost poruka Za bezbednu komunikaciju je potrebno uspostavljanje bezbednog komunikacionog kanala izmeu dva (ili vie) entiteta Bezbedanim komunikacionim kanalom se branimo od: presretanja, modifikacije i fabrikacije. Bezbedan komunikacioni kanal nas ne brani od: Prekidanja (interruption) Autentifikacija je provera identiteta nekog uesnika (korisnika, procesa, raunara, itd.) Autentifikacija i integritet poruka se ne mogu implementirati odvojeno Autentifikacija je prvi korak kod uspostavljanja sigurnih kanala mora se utvrditi identitet svih strana (uesnika) koje komuniciraju Sprovoenje autentifikacije se moe zasnivati na (nekom od nabrojanih postupaka): 1. deljenim tajnim kljuevima 2. centrima za distribuciju kljueva 3. javnim kljuevima
60. Kontrola pristupa
Kad je autentifikacijom uspostavljen bezbedan komunikacioni kanal klijent moe da pone da poziva metode na serveru Operacije se izvravaju na resursima koje kontrolie server Jedan klijentski poziv se uglavnom sastoji od poziva jedne metode na jednom objektu na serveru Objekat na serveru ima svoje stanje i metode Pozivi metoda su mogudi samo ako klijenti imaju odgovarajuda prava pristupa Kontrola pristupa = provera prava pristupa Autorizacija = dodela prava pristupa npr. kad se klijentu dozvoli da pozove jednu tano odreenu metodu Gornja dva pojma se esto meaju i koriste kao sinonimi
Kontrola pristupa nekom objektu podrazumeva zabranu pozivanja metoda od strane klijenata koji za to nemaju prava kontrolu upravljanje objektima: kreiranje i brisanje objekata, itd. Ako u sistemu postoji n subjekata (koji pozivaju metode) i m objekata (koji implementiraju metode) onda je mogude formirati matricu M dimenzije m*n koja specificira za svakog klijenta ta sme da radi sa svakim objektom Problemi ovakve matrice su u optem sluaju je retka kada ima puno subjekata i objekata onda je izuzetno velika Da bi se gornji problemi matrica pristupa prevazili, razvijeni su: liste prava pristupa (Access Control List ACL) asocirane objektima. Sadre spisak onih klijenata i njihovih prava koji mogu pristupati objektima dozvole (capabilities) asocirane klijentima koje sadre sva prava datog klijenta kojim objektima sme da pristupa i koje metode da poziva U vedim sistemima liste prava pristupa i/ili dozvole nisu dovoljni jer postaju glomazni Kao reenje uvedeni su (bezbednosni) domeni Domen se sastoji od ureenih parova (objekat, prava pristupa) koji specificiraju za svaki objekat koje su dozvoljene operacije Zahtevi za izvravanje neke operacije se uvek izdaju u domenu Subjekat zatrai izvravanje odreene metode nekog objekta Moguda je provera da li je operacija dozvoljena u domenu Opte poznat primer domena su grupe korisnika direktori kompanije u grupi direktori imaju pristup objektima i koji se odnose na finansije ininjeri u grupe ininjeri imaju pristup objektima za upravljanje pogonom Ako se napravi veliki broj grupa i podgrupa, onda je mogude napraviti finu granulaciju prava pristupa Do problema dolazi kod distribuiranih baza grupa korisnika sporo je nalaenje subjekata Reenje gornjeg problema je davanje sertifikata svakom subjektu. Sertifikat sadri spisak svih grupa kojima subjekat pripada Sertifikati moraju biti zatideni. Moguda je zatita digitalnim potpisom Domeni kao uloge (role) Korisnik se uvek prijavljuje sa ulogom u sistemu, a ona se povezuje sa privilegijama
Firewall je potreban kada je pristup (distribuiranom) sistemu omoguden i spolja (van granica sistema) obian raunar je sistem, i razni softverski firewall programi ga tite od napada sa Interneta Firewall je hardver ili softver koji razdvaja sistem od njegove okoline Klasifikacija: firewall koji filtrira mreni saobradaj - packet filtering gateway firewall na aplikativnom sloju application-level gateway proverava i sadraj paketa, npr. email gateway koji odbacuje poruke koje su vede od date veliine ili se okarakteriu kao spam Sam firewall mora da bude izuzetno bezbedan U modernim DS se kroz mreu prenosi i kod, ne samo pasivni podaci Ovakva migracija koda rezultuje novim bezbednosnim rizicima Potrebno je obezbediti: da se agent (mobilan kod) koji se poalje na mreu zatiti od zlonamernih hostova (raunara) da se hostovi (raunari) zatite od zlonamernih agenata Ako zlonameran agent dospe na host ne sme da dobije pristup resursima tog hosta Mehanizmi zatite hostova: a) sandbox b) playground Cilj kontrole pristupa je da obezbedi da resursima distribuiranog sistema pristupaju samo autorizovani procesi Denial of Service (DoS) i Distributed Denial of Service (DDoS) su tipovi napada iji su ciljevi da spree autorizovane procese da pristupaju resursima DoS napadi za cilj mogu imati zauzimanje mrenih kapaciteta (bandwidth depletion) slanjem ogromnog broja poruka ciljnoj maini zauzimanje resursa (resource depletion) za cilj ima da sistem koristi svoje resurse za obradu bespotrebnih poruka, npr. TCP-SYN flooding
61. Upravljanje bezbednosnim mehanizmima
Upravljanje kljuevima Dosad smo podrazumevali da je u trenutku kada A eli da poalje neto B onda ima na rapolaganju: svoj par kljueva (javni i tajni) javni klju strane B Postavljaju se slededa pitanja: kako se distribuiraju tajni kljuevi? koliki je ivotni vek kljueva? Za distribuiranje tajnih kljueva su potrebni jako sigurni mehanizmi, ili ak da se distribuiraju alternativnim metodama (USB disk, klasina pota, itd.) Potrebni su mehanizmi za povlaenje kljueva npr. kada je neki tajni klju razbijen Uspostavljanje deljenog kljua preko nesigurnog kanala (Diffie-Hellman) Obe strane (A i B) se dogovore oko dva velika broja: n i g A izabere svoj veliki broj x, a B svoj veliki broj y Distribucija kljueva
Simetrini kriptografski sistemi: Za distribuciju deljenih kljueva su potrebni bezbedni komunikacioni kanali, koji se ne mogu uspostaviti bez kljueva Inicijalni kljuevi se prenose alternativnim mehanizmima: telefon, floppy, USB disk, itd. Asimetrini kriptograski sistemi: sertifikati javnih kljueva sastoji se od javnog kljua i identifikatora entiteta kome se klju dodeljuje i javni klju i identifikator su digitalno potpisani od strane autoriteta za sertifikate (certification authority - CA). CA potpisuje sa svojim tajnim kljuem. Pretpostavlja se da je javni klju CA poznat javni kljuevi najpoznatijih CA su ugraeni u Internet pretraivae.
ivotni vek sertifikata
Izdavanje doivotnih sertifikata ima svoje mane: klju koji se dugo koristi moda se moe razbiti Ako se neki tajni klju kompromituje, potrebno je da se on povue (revoke) tako to se objavi da odgovarajudi sertifikat nije validan Certificate Revocation List (CRL) sadri spisak povuenih sertifikata koji objavljuje CA Bitna je perioda objavljivanja CRL-a: ako je dua, onda se kljuevi razbijeni od trenutka poslednjeg objavljivanja mogu zloupotrebiti Entiteti koji proveravaju sertifikat ne samo da moraju da ga dekodiraju, nego ga moraju uporediti i sa CRL-om Sertifikati na Internetu uglavnom traju godinu dana i retko koji klijent proverava CRL
Upravljanje autorizacijom
Upravljanje autorizacijom se sastoji od: Dodela prava pristupa korisnicima i grupama korisnika Odravanje tih prava na bezbedan nain Bitan oteavajudi faktor: resursi u distribuiranom sistemu su udaljeni Realizacije: centralizovano upravljanje autorizacijom centralni server autorizacije dozvole (capabilities) svaki subjekat ima spisak svojih prava za izvravanje akcija na definisanim objektima sertifikati atributa/autorizacije (attribute/authorization certificate) digitalni dokument koji dozvoljava koridenje nekog servisa ili resursa Delegacija
Delegacija je prosleivanje prava pristupa nekom servisu ili resursu Primer Korisnik pokrene proces A sa svojim pravima pristupa Da bi se izvrio, proces A mora da pokrene proces B Ako proces B mora da pristupa nekim zatidenim resursima, onda mu proces A mora proslediti odgovarajuda prava. Ovo prosleivanje je delegacija Distribuirani sistem treba da ima sigurnosne mehanizme preko kojih je moguda realizacija razliitih sigurnosnih politika Sigurnost je sloena inenjerska disciplina Razlikujemo tri vana koncepta: Sigurni komunikacioni kanali Kontrola pristupa ili autorizacija Upravljanje sigurnosnim mehanizmima