66
SVEUČILIŠTE U SPLITU FAKULTET ELEKTROTEHNIKE, STROJARSTVA I BRODOGRADNJE DIPLOMSKI RAD UPRAVLJANJE ZNANJEM U SAMOPRILAGODLJIVIM CLOUD SUSTAVIMA Mario Volf Split, rujan 2010.

upravljanje znanjem u samoprilagodljivim cloud sustavima

  • Upload
    lycong

  • View
    217

  • Download
    1

Embed Size (px)

Citation preview

Page 1: upravljanje znanjem u samoprilagodljivim cloud sustavima

SVEUČILIŠTE U SPLITU

FAKULTET ELEKTROTEHNIKE, STROJARSTVA I BRODOGRADNJE

DIPLOMSKI RAD

UPRAVLJANJE ZNANJEM U SAMOPRILAGODLJIVIM CLOUD

SUSTAVIMA

Mario Volf

Split, rujan 2010.

Page 2: upravljanje znanjem u samoprilagodljivim cloud sustavima

S V E U Č I L I Š T E U S P L I T U

FAKULTET ELEKTROTEHNIKE, STROJARSTVA I

BRODOGRADNJE

Diplomski studij: Računarstvo

Smjer/Usmjerenje:

Oznaka programa: 250

Akademska godina: 2009/10

Ime i prezime: MARIO VOLF

Broj indeksa: 801-2008

ZADATAK DIPLOMSKOG RADA

Naslov: UPRAVLJANJE ZNANJEM U SAMOPRILAGODLJIVIM CLOUD

SUSTAVIMA

Zadatak: U radnji je potrebno opisati trendove u računarstvu koji omogućuju korisniku

smanjenje administriranja infrastrukture. Analizirati prednosti cloud računarstva.

Opisati utjecaje interakcije korisnika sa sustavom i SLA ugovore. Prikazati

metode za upravljanje znanjem za koje se smatra da su pogodne za

implementaciju u cloudu i tehnologije za njihovu implementaciju na cloud

infrastrukturama. Opisati tehnologije i istraţivanja vezane za implementaciju

metode uobičajene logike. Prikazati koncept i implementaciju za realizaciju baze

znanja korištenjem metode rasuĎivanja temeljenog na slučajevima (case based

reasoning).

Prijava rada: 25.03.2010.

Rok za predaju rada: 15.10.2010.

Rad predan:

Predsjednik

Odbora za diplomski rad: Mentor: Komentor:

Dr. sc. Sven Gotovac, red. prof. Dr. sc. Stipo Čelar, doc. Dr. sc. Ivona Brandic, izv. prof. Vienna University of Technology, Austria

Page 3: upravljanje znanjem u samoprilagodljivim cloud sustavima

I would like to thank the dean of the Faculty of electrical engineering, mechanical engineering and naval architecture prof.dr.sc. Tomislav Kilić and colleagues Ivona

Brandić, Michael Maurer and Vincent C. Emeakaroha from Vienna university of technology for all their cooperation, support and help in the process of making this

master thesis

Page 4: upravljanje znanjem u samoprilagodljivim cloud sustavima

1

SADRŢAJ

1 SAŢETAK I KLJUČNE RIJEČI ........................................................................................ 3

2 UVOD ................................................................................................................................. 4

3 CLOUD RAČUNARSTVO I SERVICE LEVEL AGREEMENT (SLA) ......................... 6

3.1 Izgradnja na postojećim trendovima............................................................................ 6 3.1.1 Virtualne mašine kao standardni objekti za distribuiranje ................................... 7 3.1.2 On-demand, self-service, pay-by-use model ........................................................ 7 3.1.3 Dostavljanje usluga preko mreţe ....................................................................... 11

3.1.4 Uloga softvera otvorenog koda .......................................................................... 12 3.2 Infrastrukturni modeli cloud računarstva .................................................................. 12

3.2.1 Javni, privatni i hibridni cloud ........................................................................... 12 3.2.2 Arhitekturni slojevi cloud računarstva ............................................................... 16 3.2.3 Sučelja za programiranje cloud aplikacije ......................................................... 18

3.3 Dobrobiti cloud računarstva ...................................................................................... 18 3.3.1 Smanjenje vremena izvršavanja i odziva ........................................................... 19 3.3.2 Minimiziranje infrastrukturnog rizika ................................................................ 19

3.3.3 Manji početni troškovi ....................................................................................... 19 3.3.4 Povećani tempo inovacija ................................................................................... 20

3.4 Service Level Agreement (SLA) ............................................................................... 20

3.4.1 Uobičajene metrike ............................................................................................ 22 3.4.2 SLA u cloud računarstvu .................................................................................... 22

4 ZNANJE I UPRAVLJANJE ZNANJEM ......................................................................... 24

4.1 Prikazivanje znanja .................................................................................................... 25 4.1.1 Logičko prikazivanje znanja .............................................................................. 25

4.2 Upravljanje znanjem .................................................................................................. 27

4.2.1 Povijest ............................................................................................................... 28

4.2.2 Istraţivanja ......................................................................................................... 29 4.2.3 Značajke ............................................................................................................. 29 4.2.4 Strategije ............................................................................................................. 30

4.2.5 Tehnologije ......................................................................................................... 31 4.2.6 Upravljanje znanjem i kolaboracija .................................................................... 32

4.2.7 Metode upravljanja znanjem .............................................................................. 32

5 UPRAVLJANJE ZNANJEM U SAMOPRILAGODLJIVIM CLOUDIMA ................... 33

5.1 Pregled FoSSI infrastrukture ..................................................................................... 34 5.1.1 Primjer korištenja ............................................................................................... 35

5.2 Metode upravljanja znanjem za upravljanje SLA ugovorima ................................... 38 5.2.1 Rule based system (baze pravila) ....................................................................... 38 5.2.2 Default logics (uobičajena logika) ..................................................................... 40

5.2.3 Situation calculus ............................................................................................... 46

5.2.4 Case-based reasoning (rasuĎivanje temeljeno na slučajevima) ......................... 48

6 ZAKLJUČAK ................................................................................................................... 58

7 PRILOZI ........................................................................................................................... 60

7.1 Kazalo slika i tablica .................................................................................................. 60 7.1.1 Kazalo slika ........................................................................................................ 60 7.1.2 Kazalo tablica ..................................................................................................... 60

7.2 Popis oznaka i kratica ................................................................................................ 60

Page 5: upravljanje znanjem u samoprilagodljivim cloud sustavima

2

8 LITERATURA ................................................................................................................. 62

Page 6: upravljanje znanjem u samoprilagodljivim cloud sustavima

3

1 SAŢETAK I KLJUČNE RIJEČI

Saţetak

Najnoviji trendovi u računarstvu uključuju ostvarivanje autonomnih udaljenih sustava kod

kojih se korisnik ne mora brinuti o infrastrukturnim i administracijskim problemima i

rizicima. Najnoviji sustav u nizu je cloud (oblak) računarstvo koje je nastalo na temeljima

Grid-a, ali uključuje nove i ključne tehnologije poput virtualizacije. Najveće prepreke ka

ostvarenju autonomnog cloud sustava su vezane za samostalno upravljanje SLA ugovorima

koji se koriste za osiguravanje kvalitete usluge zahtijevane od strane korisnika. Potrebne su

samoupravljajuće cloud infrastrukture kako bi se postila potrebna razina flaksibilnosti. Cilja

se na autonomno upravljanje SLA ugovorima koje mora spriječiti sva eventualna kršenja

ugovora. U tu svrhu je prikazan teorijski koncept upravljanja znanjem. Nadalje su prikazane i

opisane četiri metode upravljanja znanjem za koje se smatra da su primjenjive i efikasne kod

upravljanja SLA ugovorima i resursima cloud sustava. Metode su baze pravila (rule based

system), uobičajena logika (default logics), situation calculus i rasuđivanje temeljeno na

slučajevima (case based reasoning). Detaljnije su opisana istraživanja tehnologija i

mogućnosti za implementaciju metode uobičajene logike, te je prikazana implementacija i

evaluacija metode rasuđivanja temeljenog na slučajevima. Na kraju rada su doneseni

zaključci vezani uz gore navedene metode i očekivanja u mogućnostima daljnjeg razvoja.

Ključne riječi

Cloud, Service Level Agreement (SLA), upravljanje znanjem, autonomno računarstvo, baze

pravila (rule based system), uobičajena logika (default logics), situation calculus, rasuđivanje

temeljeno na slučajevima (case based reasoning)

Page 7: upravljanje znanjem u samoprilagodljivim cloud sustavima

4

2 UVOD

Sa znatnim napretkom u informacijskoj tehnologiji tokom zadnjih godina sve se više razvija

vizija da će računarstvo jednog dana postati peta komunalija (voda, struja, plin, telefon).

Ovakvo računarstvo bi, kao i preostale četiri komunalije, nudilo osnovni nivo usluge koji se

smatra neophodnim za svakodnevne potrebe opće zajednice. U svrhu ostvarivanja ove vizije

je razvijen veći broj računarskih paradigmi, meĎu kojima je posljednja poznata kao cloud

računarstvo koje predstavlja konvergenciju i evoluciju nekoliko koncepta (virtualizacija,

distribuirani dizajn aplikacija, Grid i poduzetno IT upravljanje).

Cloud je novonastala infrastruktura koja predstavlja nadogradnju najnovijih postignuća u

raznolikim područjima istraţivanja poput Grid računarstva, pruţanja softvera kao usluge

(SaaS), upravljanja poslovnim procesima (BPM) i virtualizacije. Da bi se ostvario potreban

nivo fleksibilnosti cloud sustava resursi se softveru koji čeka na izvršavanje moraju

dodjeljivati ne samo dinamički, već i na autonoman način. Resursi se dodjeljuju prema

predefiniranim Service Level Agreement-ima (SLA) koji se sastoje od SLA parametara poput

vremena odziva, dostupnosti ili prostora za spremanje podataka. Service Level Objective

(SLO) za svaki SLA parametar definira cilj koji je potrebno postići (npr. dostupnost > 98%).

MeĎutim, uslijed raznih kvarova na sustavu i promjena u uvjetima opterećenja utvrĎeni SLA

ugovori mogu biti prekršeni. Da bi se izbjeglo kršenje ugovora potrebne su fleksibilne i

prilagodljive strategije definiranja SLA ugovora. U svrhu ostvarivanja ovih strategija koriste

se mogućnosti autonomnog računarstva, upravljanja znanjem i sličnih tehnologija.

Tema ovog rada su samostalno upravljane cloud infrastrukture koje omogućavaju odreĎen

nivo fleksibilnosti i pridrţavanje korisničkim zahtjevima definiranim pomoću SLA ugovora.

Ovakve infrastrukture bi trebale automatski reagirati na promjenu komponenti, opterećenja i

okolinskih uvjeta. Ovako se minimizira potreba za interakcijama korisnika sa sustavom i

smanjuje mogućnost kršenja uspostavljenih ugovora. Da bi se ovakva infrastruktura ostvarila,

istraţuju se mogućnosti trenutno poznatih metoda za upravljanje znanjem. U ovom radu je

dan pregled cloud računarstva koji će sadrţavati najčešće korištene definicije, podjele i

mogućnosti. Nakon toga slijedi uvod u neke od metoda za upravljanje znanjem. Glavni dio

rada se odnosi na mogućnosti primjene pojedinih metoda na cloudu kako bi se ostvarilo

autonomno praćenje i upravljanje promjenama u svrhu sprječavanja kršenja SLA ugovora, te

eventualne promjene postojećih ugovora u dozvoljenim slučajevima. Bit će dan pregled

tehnologija koje su dostupne i pogodne za implementaciju metoda upravljanja znanjem na

cloud infrastrukturama.

Page 8: upravljanje znanjem u samoprilagodljivim cloud sustavima

5

Glavni doprinosi rada su: (i) osvrt i rasprava o autonomnom rješavanju problema SLA

ugovora u cloud računarstvu korištenjem upravljanja znanjem; (ii) prikaz i opis metoda za

upravljanje znanjem za koje se smatra da su pogodne za implementaciju u cloudu; (iii)

pregled tehnologija dostupnih i pogodnih za implementaciju metoda upravljanja znanjem na

cloud infrastrukturama; (iv) opis tehnologija i istraţivanja vezanih za implementaciju metode

uobičajene logike; (v) koncept i implementacija za realizaciju baze znanja korištenjem metode

rasuĎivanja temeljenog na slučajevima [8].

Rad je organiziran na slijedeći način: poglavlje 3 sadrţi općeniti prikaz i uvod u cloud

računarstvo te SLA ugovore. U poglavlju 4 je dan teorijski osvrt na znanje i upravljanje

znanjem. Poglavlje 5 obuhvaća opis metoda za upravljanje znanjem koje su odabrane za

implementaciju u samoprilagodljivim cloudima. Ovo poglavlje, takoĎer, sadrţi prikaz

istraţivanja vezanog za metodu uobičajene logike i implementaciju metode rasuĎivanja

temeljenog na slučajevima. Posljednje, šesto poglavlje sadrţi zaključke donesene tokom

istraţivanja i pisanja rada.

Page 9: upravljanje znanjem u samoprilagodljivim cloud sustavima

6

3 CLOUD RAČUNARSTVO I SERVICE LEVEL AGREEMENT (SLA)

Cloud računarstvo još uvijek nema standardnu definiciju, ali bi se moglo reći da cloud ili

klasteri distribuiranih računala nude računalne resurse i usluge na zahtjev preko mreţne

infrastrukture, najčešće Interneta, sa skalabilnosti i pouzdanosti podatkovnog centra. Cloud je

novi trend u računarstvu gdje su dostupni resursi izloţeni kao usluga.

Preciznija definicija bi bila:

cloud je vrsta paralelnog i distribuiranog sustava koji se sastoji od meĎusobno

povezanih i virtualiziranih računala koja se dinamički pruţaju i predstavljaju kao

jedan ili više objedinjenih računalnih resursa zasnovanih na SLA ugovorima koji se

utvrĎuju dogovorima izmeĎu pruţatelja i korisnika usluga. [4]

Površnim promatranjem se čini da je cloud kombinacija klastera i Grid-a. MeĎutim, ovo bi

bila pogrešna pretpostavka. cloud predstavlja novu generaciju podatkovnih centara sa

virtualiziranim čvorovima koji se dinamički pruţaju kao personalizirani skup resursa u svrhu

ispunjavanja specifičnih SLA ugovora. Generalno se moţe reći da je cloud nova generacija

mreţnog računarstva. Ukratko rečeno, ono što razlikuje cloud od prijašnjih modela je

korištenje informacijske tehnologije kao usluge preko mreţe. Usluge koje se pruţaju su

striktno definirane, imaju API te su dostupne preko mreţe. Ovakva definicija obuhvaća

korištenje procesorskih i resursa za pohranu podataka kao usluge.

3.1 Izgradnja na postojećim trendovima

Cloud računarstvo nastavlja razvoj uspostavljenih trendova koji smanjuju troškove

dostavljanja, dok povećavaju brzinu i agilnost dostavljanja usluga. Uvelike smanjuje vrijeme

potrebno od osmišljavanja aplikacijske arhitekture do same instalacije. Cloud obuhvaća

virtualizaciju, dostavljanje usluge na zahtjev, dostavljanje usluga putem Interneta i softver

otvorenog koda. Iz jedne perspektive cloud ne nudi ništa novo jer koristi pristupe, koncepte i

najbolje prakse koje su već odavno uspostavljene. Iz druge perspektive nudi mnogo novog jer

mijenja način na koji se osmišljavaju, razvijaju, dostavljaju, skaliraju, aţuriraju, odrţavaju i

plaćaju aplikacije te infrastruktura na kojoj se izvršavaju.

Page 10: upravljanje znanjem u samoprilagodljivim cloud sustavima

7

3.1.1 Virtualne mašine kao standardni objekti za distribuiranje

Tokom nekoliko proteklih godina virtualne mašine su postale standardni objekti za

distribuiranje. Virtualizacija povećava fleksibilnost jer apstrahira hardver do točke u kojoj se

aplikacije mogu distribuirati bez vezivanja za specifični fizički server. Virtualizacija

omogućava dinamičke podatkovne centre gdje serveri pruţaju udruţene resurse koji se

iskorištavaju po potrebi, te gdje se veza izmeĎu aplikacija, prostora za pohranu i mreţnih

resursa dinamički mijenja u svrhu ostvarivanja potrebnog radnog opterećenja i poslovnih

potreba. Budući da je distribuiranje aplikacija odvojeno od distribuiranja servera, aplikacije se

mogu rapidno distribuirati i skalirati, bez potreba za prethodnim pribavljanjem fizičkih

servera.

Virtualne mašine su postale prevladavajući oblik apstrakcije (i jedinice za distribuiranje) jer

su najviše odgovarale i pruţateljima i razvijateljima usluga. Korištenje virtualnih mašina kao

objekata za distribuiranje je dostatno u 80% slučajeva, te pomaţe u zadovoljavanju potreba za

rapidnom implementacijom i skaliranjem aplikacija. Virtualni ureĎaji su virtualne mašine

koje sadrţe softver koji je dijelom ili u potpunosti konfiguriran za izvršavanje specifičnog

zadatka. Oni nadalje povećavaju sposobnost sustava za rapidnim stvaranjem i distribuiranjem

aplikacija. Kombinacija virtualnih mašina i ureĎaja kao standardnih objekata za distribuiranje

je jedno od ključnih svojstava cloud računarstva.

Cloud-ovi za procesiranje podataka se najčešće upotpunjuju sa cloudima za pohranu podataka

koji pruţaju virtualizirani prostor za pohranu podataka pomoću API-ja koji olakšava pohranu

slika virtualnih mašina, izvorišnih datoteka, podataka sa aplikacijskim stanjima i općenitih

poslovnih podataka.

3.1.2 On-demand, self-service, pay-by-use model

Cloud takoĎer proširuje postojeće trendove korištenjem on-demand, self-service i pay-by-use

modela. Sa poduzetne perspektive on-demand priroda clouda pomaţe podrţavanju aspekata

performansi i kapaciteta ciljeva na razini usluge. Samoposluţna priroda clouda omogućava

organizacijama stvaranje elastičnih okruţja koja se šire i smanjuju ovisno o radnom

opterećenju. Naposljetku, pay-by-use priroda clouda moţe poprimiti formu iznajmljivanja

opreme koja garantira minimalnu razinu usluge od strane pruţatelja usluga.

Page 11: upravljanje znanjem u samoprilagodljivim cloud sustavima

8

Virtualizacija je ključno svojstvo ovog modela. IT organizacije su odavno zaključile da

virtualizacija omogućava brzo i jednostavno stvaranje kopija postojećih okruţja (koja

ponekad uključuju višestruke virtualne mašine) u svrhu podrške testiranju, razvijanju i

izvršavanju. Trošak ovakvih okruţja je minimalan jer ona mogu koegzistirati na istim

serverima sa produkcijskim okruţjima.

Na isti način, nove aplikacije mogu biti razvijane i distribuirane na novim virtualnim

mašinama na postojećim serverima, otvorene za korištenje na Internetu i po potrebama

skalirane. Ovaj model "laganog" distribuiranja je već doveo do "Darwinističkog" pristupa

poslovnog razvoja u kojem se objavljuju beta verzije softvera, te trţište odreĎuje koje se

aplikacije trebaju skalirati i dalje razvijati.

Cloud računarstvo nadograĎuje ovaj trend pomoću automatizacije. Umjesto pregovaranja sa

IT organizacijom oko resursa na koje distribuirati aplikacije, cloud za procesiranje podataka

predstavlja samoposluţnu komponentu u kojoj kreditna kartica moţe kupiti cikluse za obradu

podataka. Web sučelje ili API se koristi za stvaranje virtualnih mašina i uspostavljanje

mreţnih odnosa meĎu njima. Umjesto uspostavljanja dugoročnog ugovora za usluge sa IT

organizacijom ili pruţateljem usluga cloudi rade po modelu plati koliko koristiš u kojem

aplikacija moţe biti aktivna za izvršavanje zadatka nekoliko minuta, sati ili dugoročno.

Cloud-ovi za procesiranje podataka su osmišljeni sa pretpostavkom da su aplikacije

privremene, a naplata je zasnovana na potrošnji resursa:

korištenju CPU sati

količini prenesenih podataka

količini pohranjenih podataka...

Mogućnost korištenja i plaćanja samo iskorištenih resursa pomiče rizik odlučivanja o

kupovini potrebne infrastrukture sa organizacije koja razvija aplikaciju na pruţatelja cloud

usluga. TakoĎer pomiče odgovornost za arhitekturne odluke sa arhitekata aplikacija na

razvijatelje.

Page 12: upravljanje znanjem u samoprilagodljivim cloud sustavima

9

3.1.2.1 Programabilna infrastruktura

Pomak arhitekturne odgovornosti ima bitne posljedice. Prije bi arhitekti aplikacija odreĎivali

kako različite komponente aplikacije raspodijeliti na niz servera, kako ih meĎusobno

povezati, osigurati i skalirati. Sada razvijatelj aplikacije moţe koristiti API pruţatelja cloud

usluga kako bi stvorio ne samo početnu kompoziciju aplikacije na virtualnim mašinama, već i

odredio skaliranje i evoluiranje aplikacije u svrhu zadovoljavanja promjena u radnom

opterećenju.

Mogućnost dinamičkog programiranja aplikacijske arhitekture daje razvijateljima aplikacija

ogromnu moć kojoj je proporcionalna količina odgovornosti. Da bi se cloud iskoristio

najefikasnije razvijatelj aplikacije mora biti i arhitekt koji mora biti u mogućnosti stvoriti

aplikaciju koja se sama kontrolira i po potrebi proširuje. Razvijatelj/arhitekt mora razumjeti

kada je odgovarajuće kreiranje nove niti, a kada nove virtualne mašine zajedno sa

arhitekturnim uzorcima za njihovo meĎusobno povezivanje.

3.1.2.2 Modularne aplikacije

Dodatna posljedica self-service, pay-by-use modela su aplikacije koje se osim

programiranjem razvijaju sastavljanjem i konfiguracijom postojećih servisa i softvera

otvorenog koda. Aplikacije i arhitekture koje je moguće rastaviti na module kako bi se

ostvarila najveća moguća iskoristivost standardnih komponenti će najbolje moći iskoristiti

snagu clouda. Stoga bi se aplikacije trebale razvijati modularno. Ovo zahtjeva jednostavne,

čiste funkcije i dobro dokumentirane API-je. Razvijanje velikih, monolitskih aplikacija je

stvar povijesti, jer se sa vremenom biblioteke postojećih alata koji se mogu direktno koristiti

brzo povećavaju.

Page 13: upravljanje znanjem u samoprilagodljivim cloud sustavima

10

3.1.2.3 Primjer distribuiranja Web aplikacije

Kao primjer kako kombinacija virtualizacije i samoposluţivanja olakšava distribuiranje

aplikacije u obzir će se uzeti distribuiranje dvoslojne Web aplikacije na cloud (Slika 3-1):

1. Razvijatelj moţe izabrati Web server i bazu podataka iz biblioteke unaprijed

konfiguriranih slika virtualnih mašina.

2. Razvijatelj konfigurira svaku komponentu kako bi stvorio vlastite, prilagoĎene slike.

Softver za balansiranje opterećenja bi se podesio, Web server napunio sa statičkim

sadrţajem stavljanjem podataka na cloud za pohranu podataka i baza podataka bi se

napunila dinamičkim sadrţajem za stranicu.

3. Razvijatelj vlastiti kod razlaţe u slojeve za novu arhitekturu, te osigurava da

komponente zadovoljavaju specifične aplikacijske zahtjeve.

4. Razvijatelj bira uzorak koji uzima slike za svaki sloj, te ih distribuira vodeći računa o

mreţi, sigurnosti i skalabilnosti.

Slika 3-1 Primjer distribuiranja aplikacije na dvoslojni Web server arhitekturni uzorak

Page 14: upravljanje znanjem u samoprilagodljivim cloud sustavima

11

5. Sigurna, visoko dostupna Web aplikacija je distribuirana i aktivna. U slučaju potrebe

za aţuriranjem aplikacije, aţuriraju se virtualne mašine, kopiraju kroz lanac

razvijanje-testiranje-korištenje, te se cijela infrastruktura ponovno distribuira. Cloud

pretpostavlja da je sve privremeno, te je ponovno distribuiranje cijele aplikacije

jednako jednostavno kao i ručno ispravljanje grupe individualnih virtualnih mašina.

U ovom primjeru apstraktna priroda slika virtualnih mašina podrţava pristup razvijanju

zasnovan na "sastavljanju" aplikacija. Podjelom problema moguće je koristiti standardni niz

komponenti kako bi se aplikacija brzo distribuirala. Sa ovakvim modelom zahtjevi u tvrtkama

se mogu brzo riješiti bez potrebe za kupovinom, instalacijom, kabliranjem i konfiguracijom

servera, skladišta podataka i mreţne infrastrukture.

3.1.3 Dostavljanje usluga preko mreţe

Cloud računarstvo proširuje postojeći trend omogućavanja dostupnosti aplikacija preko

mreţe. Gotovo je svaka ozbiljna tvrtka u svijetu prepoznala vaţnost sučelja baziranog na

Web-u za svoje aplikacije. Ovakva sučelja mogu biti javno dostupna svim korisnicima ili

predstavljati interne aplikacije koje su dostupne autoriziranim zaposlenicima, partnerima,

dobavljačima i konzultantima. Najveća vrlina dostavljanja usluga baziranom na Internetu je,

naravno, dostupnost aplikacija u bilo koje vrijeme i sa bilo kojeg mjesta.

Dok su velike tvrtke svjesne mogućnosti sigurne komunikacije korištenjem SSL (Secure

Socket Layer) enkripcije zajedno sa jakom autentikacijom, pokretačko povjerenje u cloud

okruţju zahtjeva paţljivo razmatranje razlika izmeĎu poslovnog računarstva i cloud

računarstva. Kada je propisno arhitekturno osmišljeno, dostavljanje usluga preko Interneta

nudi fleksibilnost i sigurnost dostatnu tvrtkama svih veličina.

Page 15: upravljanje znanjem u samoprilagodljivim cloud sustavima

12

3.1.4 Uloga softvera otvorenog koda

Softver otvorenog koda igra vaţnu ulogu u cloud računarstvu omogućavajući kreiranje

osnovnih softverskih elemenata (slike virtualnih mašina) iz lako dostupnih komponenti. Jedna

od najvaţnijih značajki softvera otvorenog koda je striktno korištenje sluţbenih, čvrsto

ustanovljenih svjetskih standarda. Ovo ima pojačavajući učinak:

Razvijatelji aplikacija npr. mogu kreirati servise baze podataka uslojavanjem nekog

softvera otvorenog koda (MySQL, PostgreSQL,...) na instancu Linux ili Unix

(FreeBSD, OpenSolaris,...) operacijskog sustava. Ovakvi servisi omogućavaju

kreiranje, distribuiranje i dinamičko skaliranje cloud aplikacija na zahtjev. Kao

primjer se moţe uzeti Animoto aplikacija (alat za kreiranje videa iz niza slika i

glazbenih datoteka) raĎena uz pomoć softvera otvorenog koda koja je u roku od samo

nekoliko dana skalirana na 3500 instanci.

Jednostavnost sa kojom se komponente otvorenog koda mogu koristiti za sastavljanje

većih aplikacija generira još više komponenti otvorenog koda. Zauzvrat, ovo čini

ulogu softvera otvorenog koda još vaţnijom. Na primjer potreba za MapReduce

algoritmom koji se moţe izvršavati u cloud okruţju je bio jedan od faktora koji je

stimulirao njegov razvoj. Sada kada je alat kreiran koristi se kako bi još više podigao

nivo na kojem razvijatelji programiraju cloud aplikacije.

3.2 Infrastrukturni modeli cloud računarstva

Računalni arhitekti moraju uzeti u obzir brojna razmatranja pri premještanju sa standardnog

modela distribuiranja aplikacija na model zasnovan na cloudu. Postoje javni i privatni cloudi

koji nude dodatne beneficije, postoje tri osnovna modela usluga za razmatranje, te se mora

donijeti odluka o korištenju vlasničkih API-ja ili API-ja otvorenog koda.

3.2.1 Javni, privatni i hibridni cloud

IT organizacije mogu distribuirati aplikacije na javne, privatne ili hibridne cloudove, od kojih

svaki ima svoje vrline i mane. Pojmovi javni, privatni i hibridni ne diktiraju lokaciju. Iako su

javni cloudi najčešće "vani" na Internetu, a privatni smješteni na odreĎenoj, poznatoj lokaciji,

to ne mora nuţno biti tako.

Page 16: upravljanje znanjem u samoprilagodljivim cloud sustavima

13

Tvrtke moraju uzeti u obzir brojna razmatranja povezana sa odabranim cloud modelom za

korištenje, te mogu, takoĎer, koristiti više od jednog modela kako bi riješili odreĎene

probleme. Aplikacija koja je privremeno potrebna je najbolja za distribuiranje na javni cloud

jer pomaţe pri izbjegavanju potrebe za kupovinom dodatne opreme kako bi se riješila

privremena potreba. Sa druge strane, stalna aplikacija ili aplikacija koja ima specifične

zahtjeve na kvalitetu usluge ili lokaciju podataka je najbolji kandidat za privatni ili hibridni

cloud.

3.2.1.1 Javni cloud

Javni cloud se odrţava od strane neovisnih pruţatelja usluga, te se najčešće aplikacije od

različitih korisnika meĎusobno miješaju na cloud serverima, sustavima za pohranu podataka i

mreţi (Slika 3-2).

Slika 3-2 Javni cloud sa udaljenih lokacija pruža usluge višestrukim korisnicima

Javni cloud se najčešće nalazi na lokaciji udaljenoj od prostorija korisnika. Nudi način

reduciranja korisničkih troškova i rizika fleksibilnim i po mogućnosti privremenim

proširenjem korisničke infrastrukture.

Kada je javni cloud implementiran sa performansama, sigurnosti i lokalitetom podataka u

vidu postojanje drugih aplikacija bi trebalo biti transparentno i arhitektima clouda i krajnjim

korisnicima. Jedna od dobrobiti javnog clouda je činjenica da mogu biti mnogo veći od

Page 17: upravljanje znanjem u samoprilagodljivim cloud sustavima

14

mogućeg privatnog clouda tvrtke. Nude mogućnost skalabilnosti na zahtjev i pomiču rizike

vezane uz infrastrukturu sa tvrtke na pruţatelja cloud usluga.

Dijelovi javnog clouda se mogu odijeliti za isključivo korištenje jednog korisnika stvarajući

virtualni privatni centar podataka. Umjesto da je virtualni privatni centar podataka ograničen

na distribuiranje slika virtualnih mašina na javni cloud, on korisnicima pruţa veći uvid u

svoju infrastrukturu. U ovakvom slučaju korisnici mogu manipulirati ne samo slikama

virtualnih mašina, već i serverima, sustavima za pohranu podataka, mreţnim ureĎajima i

mreţnom topologijom. Stvaranje virtualnog privatnog centra podataka sa svim

komponentama smještenim na istoj lokaciji pomaţe pri smanjivanju problema vezanih uz

lokalitet podataka, jer je mreţna propusnost velika i najčešće besplatna pri spajanju elemenata

unutar iste lokacije.

3.2.1.2 Privatni cloud

Privatni cloud se implementira za isključivo korištenje jednog korisnika nudeći najviši stupanj

kontrole nad podacima, sigurnosti i kvaliteti usluge (Slika 3-3). Tvrtka posjeduje

infrastrukturu i ima kontrolu nad načinom izvoĎenja aplikacija na njoj. Privatni cloud se moţe

implementirati unutar podatkovnog centra tvrtke ili na udaljenoj lokaciji.

Privatni cloud se moţe implementirati i odrţavati od strane vlastitog IT odjela unutar tvrtke ili

od strane pruţatelja cloud usluga. U drugom modelu neka cloud tvrtka moţe instalirati,

Slika 3-3 Primjer privatnog clouda koji se nalazi u podatkovnom centru

tvrtke

Page 18: upravljanje znanjem u samoprilagodljivim cloud sustavima

15

konfigurirati i upravljati infrastrukturom kako bi se uspostavio privatni cloud unutar

podatkovnog centra tvrtke. Ovakav model daje tvrtkama veliku količinu kontrole nad

korištenjem cloud resursa, dok se treća strana brine o stručnosti potrebnoj za uspostavljanje i

upravljanje okruţjem.

3.2.1.3 Hibridni cloud

Hibridni cloud kombinira modele javnog i privatnog clouda (Slika 3-4). Hibridni model

pomaţe pri omogućavanju sustava koji je dostupan na zahtjev i pruţen od treće strane.

Mogućnost obogaćivanja privatnog clouda sa resursima javnog se moţe koristiti kako bi se

odrţavale razine usluga u svrhu dostizanja brzih fluktuacija u radnom opterećenju. Ovakav

model se najčešće viĎa u korištenju clouda za pohranu podataka sa Web 2.0 aplikacijama.

Hibridni cloud se takoĎer moţe koristiti za manipuliranje planiranih šiljaka u radnom

opterećenju. U ovom modelu se javni cloud moţe koristiti za izvršavanje periodičkih zadataka

koji se mogu na njega jednostavno distribuirati.

Slika 3-4 Hibridni cloud kombinira modele javnog i privatnog clouda

Hibridni cloud uvodi kompleksnost odreĎivanja kako distribuirati aplikacije preko javnog i

privatnog clouda. MeĎu spornim pitanjima na koje treba odgovoriti je odnos izmeĎu resursa

Page 19: upravljanje znanjem u samoprilagodljivim cloud sustavima

16

za obradu i pohranu podataka. U slučaju kada su podaci mali hibridni cloud moţe biti puno

uspješniji nego u slučaju kada se velike količine podataka moraju slati na javni cloud za malu

količinu obrade.

3.2.2 Arhitekturni slojevi cloud računarstva

Moţe se reći da cloud računarstvo obuhvaća pruţanje usluga koje obuhvaćaju bilo koji od

tradicionalnih slojeva od hardvera do aplikacija (Slika 3-5). U praksi pruţatelji cloud usluga

teţe ka ponudi usluga koje se mogu grupirati u tri skupine:

1. Softver kao usluga (SaaS)

2. Platforma kao usluga (PaaS)

3. Infrastruktura kao usluga (IaaS)

Ove skupine grupiraju različite slojeve prikazane na slici 3-5 sa odreĎenim preklapanjem.

Slika 3-5 Cloud računarstvo predstavlja korištenje IT infrastrukture kao usluge (od hardvera

do API-ja)

Page 20: upravljanje znanjem u samoprilagodljivim cloud sustavima

17

3.2.2.1 Softver kao usluga (SaaS)

Softver kao usluga se sastoji od potpune aplikacije koje se pruţa kao usluga na zahtjev. Jedna

instanca softvera se izvršava na cloudu i pruţa uslugu višestrukim krajnjim korisnicima.

Najpoznatiji primjer softvera kao usluge je salesforce.com, iako su brojni drugi primjeri

prisutni na trţištu, poput Google Apps koji nudi osnovne poslovne usluge.

Iako salesforce.com prethodi definiciji cloud računarstva nekoliko godina sada djeluje

iskorištavanjem svog pratioca force.com koji se moţe definirati platformom kao uslugom.

3.2.2.2 Platforma kao usluga (PaaS)

Platforma kao usluga obuhvaća sloj softvera i nudi ga kao uslugu koja se moţe koristiti za

izradu usluga višeg sloja. Postoje barem dvije perspektive na PaaS ovisno o perspektivi

proizvoĎača ili korisnika usluga:

Razvijatelj PaaS-a moţe razviti platformu integriranjem OS-a, meĎusoftvera,

aplikacijskog softvera te čak i razvojnog okruţja koje se onda pruţa korisniku kao

usluga.

Korisnik PaaS-a moţe vidjeti obuhvaćene usluge koje su prikazane preko API-ja.

Korisnik pristupa platformi preko API-ja, a platforma izvršava potrebne akcije kako bi

se odrţavala i skalirala u svrhu pruţanja odreĎene razine usluge. Virtualni ureĎaji se

mogu klasificirati kao instance PaaS-a.

PaaS moţe nuditi usluge za svaku fazu razvoja i testiranja softvera ili moţe biti specijaliziran

oko odreĎenog područja poput upravljanja sadrţajem. Komercijalni primjeri PaaS-a su

Google Apps Engine koji pruţa aplikacije na Google-ovoj infrastrukturi. Ovakve PaaS usluge

nude moćne temelje za distribuiranje aplikacija, meĎutim mogu biti ograničene

mogućnostima koje nudi pruţatelj cloud usluga.

3.2.2.3 Infrastruktura kao usluga (IaaS)

Infrastruktura kao usluga pruţa osnovne mogućnosti pohrane i obrade podataka u obliku

standardiziranih usluga preko mreţe. Serveri, sustavi pohrane podataka, prospojnici,

usmjernici i ostali sustavi se grupiraju i pruţaju u svrhu rukovanja radnim opterećenjima koja

se kreću od aplikacijskih komponenti do aplikacija visokih performansi. Komercijalni

Page 21: upravljanje znanjem u samoprilagodljivim cloud sustavima

18

primjeri IaaS-a su Joyent čiji je glavni proizvod linija virtualiziranih servera koji pruţaju

visoko dostupnu infrastrukturu na zahtjev.

3.2.3 Sučelja za programiranje cloud aplikacije

Jedna od ključnih karakteristika koja razlikuje cloud od standardnog poslovnog računarstva je

činjenica da je sama infrastruktura programabilna. Umjesto fizičkog razmještaja servera,

sustava za pohranu podataka i mreţnih resursa razvijatelji specificiraju kako su odgovarajuće

virtualne komponente konfigurirane i meĎusobno povezane. U ovom procesu se i odreĎuje

kako se slike virtualnih mašina i aplikacije pohranjuju i dohvaćaju sa clouda za pohranu

podataka. Specificira se kako i kada se komponente distribuiraju pomoću API-ja kojeg nudi

pruţatelj cloud usluga.

Analogija je način rada FTP-a: FTP serveri odrţavaju kontroliranu povezanost sa klijentom

koji je aktivan za vrijeme trajanja sesije. Kada se podaci trebaju prenijeti, koristi se

kontrolirana veza koja serveru nudi ime odredišne ili izvorišne datoteke te se koristi za

pregovaranje o izvorišnom i odredišnom portu za sami transfer. Moţe se reći da je cloud API

poput FTP kontroliranog kanala: aktivan je za vrijeme korištenja cloud sustava, te kontrolira

kako se cloud iskorištava kako bi osigurao krajnje usluge koje je razvijatelj imao u vidu.

Postoji zamka kod korištenja API-ja za definiranje kako se infrastruktura clouda iskorištava:

za razliku od FTP protokola, cloud API-jevi još nisu standardizirani te svaki pruţatelj cloud

usluga ima vlastiti API za upravljanje uslugama. Ovo stanje je svojstveno za mlade industrije

i tehnologije, kada svaki isporučitelj ima svoju vlasničku tehnologiju kojoj je jedna od svrha

zadrţavanje korisnika, jer vlasnički API-ji oteţavaju promjenu pruţatelja usluga.

3.3 Dobrobiti cloud računarstva

Da bi se cloud računarstvo najviše iskoristilo, razvijatelji moraju biti u mogućnosti razloţiti

aplikacije kako bi one mogle maksimalno iskoristiti arhitekturne i distribucijske paradigme

koje cloud podrţava. Dobrobiti distribuiranja aplikacija korištenjem clouda obuhvaćaju

smanjenje vremena izvršavanja i odziva, minimiziranje rizika pri distribuiranju fizičke

infrastrukture, smanjivanje početnih troškova i povećavanje tempa inovacija.

Page 22: upravljanje znanjem u samoprilagodljivim cloud sustavima

19

3.3.1 Smanjenje vremena izvršavanja i odziva

Za aplikacije koje koriste cloud najviše za izvršavanje serijske obrade velike količine

podataka cloud omogućava jednostavno korištenje npr. 1000 servera za završavanje zadatka u

1000 puta kraćem vremenu nego da se zadatak izvršava na jednom serveru. Za aplikacije koje

moraju imati dobro vrijeme odziva prema korisnicima vrši se podjela na module tako da se

svaki CPU intenzivan zadatak šalje "radničkim" virtualnim mašinama. Ovo pomaţe u

optimizaciji vremena odziva, te omogućava skaliranje na zahtjev kako bi se ostvarili zahtjevi

korisnika.

3.3.2 Minimiziranje infrastrukturnog rizika

IT organizacije mogu koristiti cloud kako bi smanjile rizik prisutan pri kupovini fizičkih

servera. Hoće li nova aplikacija biti uspješna? Ako hoće, koliko je servera potrebno i mogu li

se distribuirati jednakom brzinom kojom će rasti radno opterećenje? Ako neće, hoće li velika

investicija na servere propasti? Ako je uspjeh aplikacije kratkotrajan hoće li IT organizacija

uloţiti u veliku količinu infrastrukture koja će većinu vremena biti neiskorištena?

Pri distribuiranju aplikacije na cloud skalabilnost i rizik kupovine previše ili premalo

infrastrukture postaje problem pruţatelja cloud usluge. U velikom broju slučajeva pruţatelj

cloud usluge posjeduje ogromnu količinu infrastrukture koja moţe podrţati rast i šiljke u

radnom opterećenju pojedinih korisnika. Drugi način na koji cloud minimizira infrastrukturne

rizike je omogućavanje surge računarstva u kojem poslovni centar podataka (moţda neki na

kojem je implementiran privatni cloud) pospješuje svoju mogućnost podrţavanja šiljaka u

opterećenju dizajnom koji mu omogućava slanje zadataka koji prekoračuju kapacitet na javni

cloud. Upravljanje ţivotnim ciklusom aplikacije je olakšano u okruţju u kojem resursi nisu

deficitarni i u kojem se resursi mogu bolje uskladiti sa trenutnim potrebama uz manje

troškove.

3.3.3 Manji početni troškovi

Postoje brojna svojstva cloud računarstva koja pomaţu pri smanjivanju troškova kod ulaska

na nova trţišta:

Budući da je infrastruktura iznajmljena, a ne kupljena, troškovi su kontrolirani i

početna investicija moţe biti jednaka nuli. Uz manje troškove kupovine vremena za

Page 23: upravljanje znanjem u samoprilagodljivim cloud sustavima

20

obradu podataka i prostora za pohranu po potrebi, velika većina pruţatelja cloud

usluga na dodatne načine pomaţe pri minimiziranju troškova.

Aplikacije se razvijaju više "sastavljanjem" umjesto programiranjem. Ovakav brzi

razvoj aplikacija je pravilo koje smanjuje vrijeme koje je potrebno da se aplikacija

pusti na trţište, te potencijalno pruţa organizacijama koje distribuiraju aplikacije na

cloud početnu prednost pred konkurencijom.

3.3.4 Povećani tempo inovacija

Cloud računarstvo moţe pomoći pri povećanju tempa inovacija. Niski početni troškovi pri

ulasku na nova trţišta pomaţu u izjednačavanju mogućnosti jer omogućavaju novim tvrtkama

distribuiranje novih proizvoda na brz i jeftin način. Ovo omogućava malim tvrtkama

efikasnije natjecanje sa tradicionalnim organizacijama čiji proces distribuiranja na poslovne

centre podataka moţe biti znatno duţi i kompliciraniji. Povećano trţišno natjecanje pomaţe

pri povećanju tempa inovacija – sa mnogo inovacija realiziranih pomoću korištenja softvera

otvorenog koda cijela industrija ima koristi od povećanog tempa inovacija koje promovira

cloud računarstvo.

3.4 Service Level Agreement (SLA)

Service level agreement (često skraćeno kao SLA) je dio ugovora o usluzi u kojem se

formalno definira razina usluge. U praksi se pojam SLA ponekad koristi za referiranje

ugovorenog vremena isporuke usluge ili performansi. SLA je dogovoreni ugovor izmeĎu

dviju stranaka, gdje je jedna korisnik, a druga pruţatelj usluga. SLA moţe predstavljati

pravno obvezujući formalni ili neformalni „ugovor“. Ugovori izmeĎu pruţatelja usluga i treće

strane se često pogrešno nazivaju SLA – budući da je razina usluge postavljena od strane

glavnog korisnika ne moţe postojati SLA sa trećom stranom.

SLA sadrţi uobičajeno razumijevanje o uslugama, prioritetima, obavezama, garancijama i

jamstvima. Svako područje opsega usluge bi trebalo imati definiranu razinu usluge. SLA

moţe specificirati razine dostupnosti, uporabivosti, performansi ili druge atribute usluge

poput naplate. Razina usluge se, takoĎer, moţe definirati kao ciljana i minimalna, što

omogućava korisnicama informiranje o očekivanjima (minimum), te pruţanje mjerljive

Page 24: upravljanje znanjem u samoprilagodljivim cloud sustavima

21

(prosječne) ciljne vrijednosti koja pokazuje razinu organizacijskih performansi. U nekim

ugovorima se dogovaraju „globe“ u slučajevima kršenja ugovora. Vaţno je napomenuti da se

ugovor odnosi na usluge koje korisnik prima, a ne na način na koji pruţatelj dostavlja usluge.

SLA ugovori se koriste od kasnih osamdesetih godina prošlog stoljeća od strane telekom

operatora kao dio ugovora sa pravnim osobama. Ova praksa se toliko raširila da je danas

uobičajeno da korisnik pruţatelju usluga šalje SLA sa potrebnim razinama usluga. U nekim

velikim tvrtkama se SLA koriste interno izmeĎu različitih odjeljenja i timova. Jedna od

dobrobiti ovakvog pristupa je poboljšavanje kvalitete usluge. SLA ugovori su zasnovani na

„izlazu“ – subjekt dogovora je rezultat usluge primljen od strane korisnika. Organizacije,

takoĎer, mogu specificirati način na koji se usluga dostavlja pomoću karakteristika (na razini

usluge) i korištenjem podloţnih „ciljeva“. Ovakav tip ugovora je poznat kao „ulazni“ SLA.

Kasnije navedeni tip zahtjeva zastarijeva kako organizacije postaju zahtjevnije i prebacuju

rizik dostavljanja na pruţatelja usluge.

SLA ugovori se, takoĎer, definiraju na različitim nivoima poput:

korisnički zasnovani SLA: ugovor sa individualnom grupom korisnika koji pokriva

sve usluge koje se koriste

SLA zasnovani na uslugama: ugovori za sve korisnike koji koriste usluge dostavljane

od strane pruţatelja usluga

višerazinski SLA: SLA je podijeljen na različite razine od kojih se svaka odnosi na

drugu grupu korisnika iste usluge

SLA na korporativnoj razini: pokriva sve općenito upravljanje problemima na razini

usluge (SLM) za svakog korisnika u organizaciji

SLA na korisničkoj razini: pokriva sve SLM probleme relevantne za pojedine grupe

korisnika, nevezano za usluge koje se koriste

SLA na razini usluge: pokriva sve SLM probleme relevantne za karakteristične usluge

Page 25: upravljanje znanjem u samoprilagodljivim cloud sustavima

22

3.4.1 Uobičajene metrike

SLA ugovori mogu sadrţati brojnu metriku performansi usluga sa odgovarajućim ciljevima

na razini usluge. Uobičajeni slučaj u IT upravljanju uslugama je pozivni centar. Metrike koje

se uobičajeno dogovaraju u ovom slučaju obuhvaćaju:

ABA (abandonment rate – stopa odustajanja): postotak poziva koji odustanu od

čekanja na javljanje operatera

ASA (average speed to answer – prosječno vrijeme javljanja): prosječno vrijeme

potrebno da se operater javi na poziv

TSF (time service factor): postotak poziva odgovorenih unutar odreĎenog vremenskog

roka

FCR (first call resolution): postotak dolaznih poziva koji se mogu riješiti bez

povratnog poziva

TAT (turn around time): vrijeme potrebno za završavanje odreĎenog zadatka.

Ugovori o vremenu neprekidnog rada su još jedan primjer česte metrike, često korišteni kod

podatkovnih usluga poput virtualnih privatnih servera itd. Uobičajeni ugovori, takoĎer, sadrţe

postotak vremena neprekidnog rada mreţe, neprekidnog vremena opskrbe električnom

energijom itd.

Ovdje je dan samo kratki pregled uobičajenih SLA metrika. One uvelike ovise o području

primjene, što će se vidjeti u kasnijem poglavlju o upravljanju znanjem u cloud računarstvu

gdje su navedeni SLA i SLO korišteni pri implementaciji i evaluaciji pojedinih metoda.

3.4.2 SLA u cloud računarstvu

Cloud računarstvo, takoĎer, koristi SLA koncept za kontroliranje korištenja i obračunavanja

resursa.

Svaka strategija upravljanja SLA ugovorima podrazumijeva dvije dobro diferencirane faze:

pregovaranje o ugovoru

praćenje njegova ispunjenja u realnom vremenu

Page 26: upravljanje znanjem u samoprilagodljivim cloud sustavima

23

Stoga, upravljanje SLA ugovorima obuhvaća definiranje ugovora (osnovna shema sa

parametrima kvalitete usluge), SLA pregovaranje, SLA praćenje i SLA provoĎenje prema

definiranim pravilima. Glavna točka je izgradnja novog sloja na cloud middleware koji

omogućava mehanizam pregovaranja izmeĎu pruţatelja i korisnika usluga. Temeljne

beneficije cloud računarstva su dijeljeni, distribuirani resursi. Stoga, SLA ugovori obuhvaćaju

cloud, te se nude od pruţatelja usluga u obliku ugovora zasnovanih na uslugama. Mjerenje,

praćenje i izvještavanje o cloud performansama se zasniva na iskustvima krajnjeg korisnika ili

na sposobnosti krajnjeg korisnika da troši resurse. Negativna strana SLA ugovora u cloud

računarstvu su poteškoće u odreĎivanju stvarnog uzroka prekida usluga zbog kompleksne

prirode cloud okruţja.

Page 27: upravljanje znanjem u samoprilagodljivim cloud sustavima

24

4 ZNANJE I UPRAVLJANJE ZNANJEM

Pojam znanja je jedan od filozofskih pojmova koji do dan danas nisu jednoznačno definirani.

Klasična se definicija znanja pridjeljuje grčkom filozofu Platonu koji je rekao da bi se neka

izjava mogla smatrati znanjem treba biti ''opravdano istinito vjerovanje''.

Uz pojam znanja vezani su i pojmovi podaci, informacije, mudrost i shvaćanje

(razumijevanje) koji su kratko definirani u nastavku.

Podaci su simboli bez ikakvog značenja osim vlastitog postojanja. Mogu biti u različitim

formama.

Informacije su obraĎeni podaci koji su dobili značenje relacijskim vezama s drugim

podacima. Ovako obraĎeni podaci mogu biti i korisni, iako to nije uvjet. U računalnom svijetu

informacije sadrţi relacijska baza na temelju podataka sloţenih u relacijske odnose. Ponekad

se kaţe da informacije daju odgovore na pitanja ''tko'', ''što'', ''gdje'' i ''kada''. Iz podataka

dolazimo do informacija ukoliko shvatimo odnose ili relacije.

Znanje je odgovarajući skup informacija kojima je osnovna namjena da budu korisni. Znanje

se stječe kroz proces učenja u kojem se informacije pretvaraju u znanje kako bi nam bilo od

nekakve koristi, kako bi nam posluţilo za nešto. Ponekad se kaţe da je znanje primjena

podataka i informacija sa ciljem davanja odgovora na pitanje ''kako''. Iz informacija do znanja

dolazimo ukoliko shvatimo model, obrazac ili predloţak. Na temelju njega moţemo i

predvidjeti što će se u budućnosti dogaĎati, što kod samog poznavanja informacija nije

moguće.

Slijedeći je korak shvaćanje temeljnih principa koji nas vodi prema mudrosti.

Mudrost uključuje shvaćanje temeljnih principa uključenih u znanje zbog kojih je znanje

upravo takvo kakvo jest. Mudrost bi bila najveći stupanj spoznaje, koji bi trebao uključivati

ne samo shvaćanje principa već i moral, etiku, pa neki autori smatraju da mudrost moţe imati

samo čovjek.

Page 28: upravljanje znanjem u samoprilagodljivim cloud sustavima

25

4.1 Prikazivanje znanja

Znanje se moţe formalno prikazati na različite načine koji se mogu grubo svrstati u 4 grupe:

Logičke sheme za prikaz znanja

Mreţne sheme za prikaz znanja

Proceduralne sheme za prikaz znanja

Okvire

U logičke sheme spada prikaz znanja temeljen na matematičkoj logici, kako standardnoj,

tako i nestandardnoj, dok se postupak zaključivanja temelji na pravilima zaključivanja.

Najvaţniji predstavnik logičkih shema su produkcijski sustavi koji su danas sigurno

najrasprostranjeniji posebno kod realizacije ekspertnih sustava.

U mreţne sheme spada prikaz znanja temeljen na mreţnim prikazima kojima se iskazuje

povezanost pojedinih elemenata znanja. Najistaknutiji predstavnik su semantičke mreţe,

jedan od najstarijih i najčešćih postupaka standardnog prikaza deklarativnog znanja.

Proceduralne sheme sluţe i za prikaz znanja, ali daju i procedure za korištenje tog znanja.

Proceduralan prikaz znanja je ujedno i stvarni plan kako se znanje koristi, pa postoji velika

sličnost izmeĎu postupaka konstruiranja planova i konstruiranja proceduralnog prikaza

znanja.

Okviri u svemu tome imaju posebno mjesto i, na neki način, čine fuziju svih metoda. Okviri

su strukture preko kojih, na primjer, moţemo implementirati semantičku mreţu kojoj smo

dodali i proceduralni dodatak kako manipulirati pohranjenim znanjem.

Vaţan pojam u svim sustavima prikaza znanja su činjenice, tj. stvari koje predstavljamo. U

logičkim sustavima činjenice su tvrdnje čiju istinitost poznajemo. Kako bismo mogli s jedne

strane činjenice pripremiti za predstavljanje u formalnim prikazima znanja, a s druge strane i

koristiti dobivene rezultate, nuţno je uspostaviti vezu izmeĎu formalnog prikazivanja i

vanjskog svijeta.

4.1.1 Logičko prikazivanje znanja

Logički formalizam je izuzetno vaţan zbog činjenice što se novo znanje moţe generirati iz

starog znanja koristeći postupak matematičke dedukcije. Logika barata istinitostima pojedinih

tvrdnji i daje precizna pravila kako se iz pojedinih tvrdnji poznate istinitosti povezanih

logičkim operatorima moţe proračunati istinitost sloţene tvrdnje. Pomoću logike je moguće

ustanoviti istinitost neke tvrdnje čiju istinitost ne poznajemo, ukoliko dokaţemo da je ta

tvrdnja izvedena iz činjenica koje su istinite i poznate.

Page 29: upravljanje znanjem u samoprilagodljivim cloud sustavima

26

Matematičke logike dijelimo na standardne, koje se oslanjaju na klasičnu, propozicijsku ili

predikatnu logiku i nestandardne matematičke logike, od kojih je moţda najpoznatija

neizrazita (fuzzy) logika koja je u posljednje vrijeme nezaobilazna kod mnogih primjena

inteligentnih tehnologija. Osnovna razlika izmeĎu standardnih i ne-standardnih logika je u

stupnjevima istinitosti. Kod standardnih logika imamo samo dva stupnja istinitosti, pa tvrdnja

moţe biti ili istinita ili laţna (neistinita). Standardna logika je dvovaljana. Nestandardne

logike su viševaljane, odnosno mogu imati više stupnjeva istinitosti. Granični slučaj je

neizrazita (fuzzy) logika koja je beskonačno valjana.

U osnovi računalnog programiranja nalazi se logika. Programski jezici su po mnogim svojim

značajkama samo implementacija specijalnih logičkih formi. Na primjer, u jeziku C logika su

generalne procedure iskazane IF naredbama, dok su jezici tipa Prolog direktni primjer

implementacije predikatne logike.

4.1.1.1 Propozicijska logika

Propozicijska se logika bavi odreĎivanjem istinitosti ili neistinitosti različitih propozicija, a

propozicija je ispravno postavljena tvrdnja koja moţe biti istinita ili laţna. Propozicije se

meĎusobno povezuju operatorima u dobro formulirane formule . Operatora ima ukupno 16,

od kojih je 10 koji povezuju dvije propozicije posebno zanimljivo, a vaţan je i jedini operator

koji se odnosi na samo jednu varijablu (negacija). Istinitost dvije tvrdnje povezane

operatorima računa se pomoću tablica istinitosti.

Iako je propozicijska logika osnova digitalne elektronike, sklopovskog ustroja računala i

brojnih računalnih jezika, ona nije baš najpogodnija za prikazivanje ljudskog znanja zato što

nema mogućnosti prikazivanja odnosa izmeĎu objekata, pa se korištenjem propozicijske

logike ne moţe upotrijebiti nikakva klasifikacija. Ovi nedostaci su ispravljeni u predikatnoj

logici koja preuzima sva svojstva propozicijske logike i dodaje joj vrlo vaţan pojam

predikata.

4.1.1.2 Predikatna logika

Propozicijska logika ne dozvoljava formiranje generalne izjava tipa “Marko jede sve što mu je

drago“. U duhu propozicijske logike za sva jela koje Marko voli trebamo napisati posebne

propozicije, na primjer „Marko voli čokoladu“, „Marko voli keks“, „Marko voli sir.“,

„Marko ne voli pršut.“ itd. Predikatna logika to omogućava. Umjesto da se bavi

propozicijama koje se ne mogu raščlaniti, predikatna logika uvodi pojam predikat, koji je u

biti funkcija koja vraća vrijednost istinitosti (0 ili 1) u ovisnosti o svojim argumentima.

Page 30: upravljanje znanjem u samoprilagodljivim cloud sustavima

27

Osnovna razlika izmeĎu predikatne i propozicijske logike je separacija atributa od objekata

koji posjeduju te atribute. Drugim riječima u predikatnoj logici moţe se definirati funkcija

kojom odreĎujemo tvrdoću bilo kojeg objekta, dok se u propozicijskoj logici za svaki pojedini

slučaj mora definirati posebna tvrdnja.

Osnovni pojmovi predikatne logike su:

domena – skup elemenata nad kojima se izvodi zaključivanje

konstante – elementi domene

varijable – simboli koji se obično označavaju slovima X, Y, W itd. koji mogu poprimiti

bilo koju vrijednost iz domene

predikati – funkcije koje preslikavaju jedan ili više elemenata domene u jednu od

vrijednosti istinitosti. Predikat govori o nekom svojstvu elemenata domene ili o

meĎusobnim relacijama elemenata domene.

4.1.1.3 Nestandardne logike

Ne-standardne logike se dijele u dvije osnovne grupe:

logike koje proširuju standardne logike i nisu s njima u kontradikciji. Kod njih vrijede

svi aksiomi standardnih logika plus neki dodatni. Tipičan primjer su modalne logike.

Na primjer osnovna modalna logika koja uvodi nove operatore: L (nuţno je) i M

(moguće je), zatim temporalne logike kojima se dodaje pojam vremena, neke tro-

valjane logike itd.

logike koje su u suprotnosti sa standardnim logikama, kod kojih se pojedini aksiomi

suprotstavljaju aksiomima standardnih logika. Tipičan primjer su takoĎer više-valjane

logike, kao na primjer neizrazita (fuzzy) logika, zatim intuicijske logike itd.

4.2 Upravljanje znanjem

Upravljanje znanjem spaja niz strategija i praksi koje se koriste u organizaciji za

identificiranje, stvaranje, prikazivanje, distribuiranje i omogućavanje usvajanja predodţbi i

iskustava [7]. Predodţbe i iskustva obuhvaćaju znanje, bilo da je ono utjelovljeno u

pojedincima ili sadrţano u organizacijskim procesima i praksama. Drugim riječima,

upravljanje znanjem je disciplina koja omogućava pojedincima, timovima i cijelim

organizacijama kolektivno i sistematsko stvaranje, dijeljenje i primjenu znanja u svrhu

Page 31: upravljanje znanjem u samoprilagodljivim cloud sustavima

28

efikasnijeg postizanja ciljeva.Upravljanje znanjem je kao disciplina uspostavljeno od 1991.

godine, te se proteţe kroz nekoliko polja poput poslovne administracije, informacijskih

sustava, rukovodstva i informacijskih znanosti. Odnedavno su i druga polja počela pridonositi

istraţivanjima upravljanjem znanja uključujući informacije i medije, računalnu znanost, javno

zdravstvo itd.

Dosta velikih i neprofitnih organizacija imaju istraţivanja posvećena internim pokušajima

upravljanja znanjem, često kao dio poslovne strategije, informacijske tehnologije ili

upravljanja ljudskim resursima.Nastojanja upravljanja znanjem se najčešće fokusiraju na

organizacijske ciljeve poput poboljšanja performansi, prednosti nad konkurencijom,

inovacije, integracije i kontinuiranog unaprjeĎenja organizacije. Ova nastojanja se često

preklapaju sa organizacijskim učenjem, te se od njega razlikuju većim fokusom na

rukovoĎenje znanjem kao strategijskog faktora i fokusom na podupiranju dijeljenja znanja.

Nastojanja upravljanja znanjem pomaţu pojedincima i grupama u dijeljenju vrijednih

organizacijskih predodţbi, te se na ovakav način smanjuju redundantni poslovi, vrijeme

obuke novih zaposlenika i olakšava prilagodba novim okruţenjima i trţištima.

4.2.1 Povijest

Upravljanje znanjem ima dugu povijest koja obuhvaća forume, korporativne knjiţnice,

profesionalnu obuku i programe mentorstva. U zadnje vrijeme sa povećanim korištenjem

računala u drugoj polovici dvadesetog stoljeća specifične primjene tehnologija poput baza

znanja, ekspertnih sustava, repozitorija znanja i sustava za podršku grupnom donošenju

odluka su omogućile brţi razvoj u ovom polju. 1999. godine je uveden pojam osobnog

upravljanja znanjem koji se odnosi na upravljanje znanjem na osobnoj razini.

Sa poslovnog pogleda, rane kolekcije analiza slučajeva su prepoznale vaţnost značajki

upravljanja znanjem u mjerenjima strategija i procesa. Zaključeno je da programi upravljanja

znanjem mogu prinijeti impresivne koristi pojedincima i organizacijama. U novije vrijeme sa

pojavom Web-a 2.0, koncept upravljanja znanjem evoluira prema viziji više zasnovanoj na

ljudskom sudjelovanje. Ova je crta evolucije nazvana Enterprise 2.0. MeĎutim, postoji tekuća

rasprava o tome da li je Enterprise 2.0 samo hir koji ne donosi ništa novo, ni korisno ili je,

zaista, budućnost upravljanja znanjem.

Page 32: upravljanje znanjem u samoprilagodljivim cloud sustavima

29

4.2.2 Istraţivanja

Upravljanje znanjem se pojavilo kao znanstvena disciplina u ranim devedesetim godinama

prošlog stoljeća. U početku je podrţavano isključivo od strane stručnjaka kad je Scania

zaposlila Leif Edvinsson-a kao prvog svjetskog glavnog sluţbenika znanja (Chief Knowledge

Officer). Huber Saint-Onge je istraţivao raznolike strane upravljanja znanjem, puno ranije od

gore navedenog dogaĎaja. Cilj CKO-a je upravljanje i maksimiziranje nematerijalne imovine

organizacije. Postepeno se CKO počinju baviti, ne samo praktičnim, već i teoretskim

aspektima upravljanja znanjem, te je tako stvoreno novo područje istraţivanja. Ideje

upravljanja znanjem su prihvatili brojni znanstvenici i akademici. Godine 2001. Thomas A.

Stewart izdaje reportaţu sa naslovnice koja je naglašavala vaţnost intelektualnog vlasništva

organizacija. Od svog nastanka upravljanje znanjem se postepeno kreće ka svojoj akademskoj

zrelosti. Postoji širok raspon mišljenja o disciplini upravljanja znanjem bez jednoglasne

odluke; pristupi variraju od autora do autora. Kako disciplina sazrijeva, povećao se broj

akademskih debata koje obuhvaćaju i teoriju i praksu, te sadrţe slijedeće perspektive:

Tehnološki orijentirana sa fokusom na tehnologiji koja unaprjeĎuje stvaranje i

dijeljenje znanja.

Organizacijska sa fokusom na način dizajniranja organizacije kako bi se najbolje

olakšali procesi vezani uz znanje.

Ekološka sa fokusom na ljudskoj komunikaciji, identitetu i okolinskim faktorima kao

dijelovima kompleksnog, adaptivnog sustava srodnog prirodnom ekosustavu.

Neovisno o autoru ili školi temeljne komponente upravljanja znanjem obuhvaćaju ljude,

procese, kulturu i tehnologiju. Različite škole upravljanja znanjem imaju specifične poglede i

objašnjenja upravljanja znanjem.

4.2.3 Značajke

Postoje različite okosnice za razlikovanje znanja. Jedna predloţena okosnica za kategorizaciju

značajki znanja razlikuje prešutno i eksplicitno znanje. Prešutno znanje predstavlja znanje

kojeg pojedinac ne mora biti svjestan, poput načina obavljana pojedinih zadataka. Sa druge

strane eksplicitno znanje predstavlja znanje koje pojedinac svjesno drţi u mentalnom fokusu u

obliku koji je jednostavan za korištenje u komunikaciji sa drugim pojedincima.

Page 33: upravljanje znanjem u samoprilagodljivim cloud sustavima

30

Rana istraţivanja su pokazala da bi uspješno upravljanje znanjem trebalo pretvarati prešutno

znanje u eksplicitno kako bi se ono moglo dijeliti, ali bi isto nastojanje, takoĎer, moralo

dozvoljavati pojedincima da internaliziraju i učine osobno značajnim bilo koje „kodirano“

znanje izvučeno iz procesa upravljanja znanjem. Slijedeća istraţivanja u polju upravljanja

znanjem predlaţu da razlikovanje izmeĎu prešutnog i eksplicitnog znanja predstavlja

pretjerano pojednostavljivanje, te da je samo pojam eksplicitnog znanja sam sebi

kontradiktoran. Konkretno, da bi se znanje učinilo eksplicitnim, mora se prevesti u

informaciju, tj. u simbole izvan naših glava. Kasnije je predloţen model koji u obzir uzima

spiralni proces interakcije znanja izmeĎu eksplicitnog i prešutnog znanja. U ovom modelu

znanje prati ciklus u kojem se implicitno znanje „izvlači“ kako bi postalo eksplicitno, a

eksplicitno se „ponovno internalizira“ u implicitno znanje. Druga predloţena okosnica za

kategorizaciju značajki znanja razlikuje ugraĎeno znanje sustava izvan ljudske individue (npr.

informacijski sustavi mogu imati znanje ugraĎeno u svoj dizajn) i utjelovljeno znanje koje

predstavlja sposobnost učenja ljudskog ţivčanog i endokrinog sustava.

Treća predloţena okosnica za kategorizaciju značajki znanja razlikuje istraţivačko stvaranje

„novog znanja“ (npr. inovacije) i prijenos ili eksploataciju „uspostavljenog znanja“ unutar

grupe, organizacije ili zajednice. Kolaborativna se okruţenja poput korištenja alata za

društveno računarstvo mogu koristiti za stvaranja i prijenos znanja.

4.2.4 Strategije

Znanju se moţe pristupiti u tri stadija: prije, tijekom ili nakon aktivnosti vezanih za

upravljanje znanjem. Različite organizacije su probale različite poticaje za skupljanje znanja.

Znatne kontroverze postoje o tome da li poticaji djeluju ili ne, te se još nije došlo do

konsenzusa. Jedna strategija upravljanja znanjem uključuje aktivno rukovoĎenje znanjem. U

ovom slučaju pojedinci nastoje eksplicitno enkodirati vlastito znanje u repozotorij dijeljenog

znanja (poput baze podataka), te, takoĎer, dohvaćaju znanje koje im je potrebno. Ovaj pristup

je uobičajeno poznat kao kodifikacijski pristup upravljanju znanja.

Ostale strategije upravljanja znanjem za tvrtke uključuju:

nagrade (sredstvo motivacije za dijeljenje znanja)

pripovijedanja (sredstvo prenošenja prešutnog znanja)

Page 34: upravljanje znanjem u samoprilagodljivim cloud sustavima

31

mapiranje znanja

direktoriji eksperta

prijenos najbolje prakse

upravljanje sposobnostima

kolaborativne tehnologije

repozitoriji znanja

mjerenje i izvještavanja o intelektualnom vlasništvu

društveni softver (wiki, blogovi itd.)

4.2.5 Tehnologije

Rane tehnologije upravljanja znanjem su obuhvaćale korporacijske ţute stranice kao lokatore

stručnosti i sustave za upravljanje dokumentima. Kombinirano sa ranim razvojem

kolaboracijskih tehnologija (Lotus Notes), tehnologije upravljanja znanjem se šire u srednjim

devedesetim godinama prošlog stoljeća. Slijedeći pokušaji su utjecali semantičkim

tehnologijama za pretraţivanje i razvojem e-learning alata. U novije vrijeme razvoj alata za

društveno računarstvo omogućava manje strukturirane, samoupravne pristupe prijenosu,

hvatanju i stvaranju znanja. No, ovakvi alati su većim dijelom i dalje zasnovani na tekstu i

kodu, te kao takvi predstavljaju eksplicitni prijenos podataka. Ovi alati su suočeni sa

izazovima kod otkrivanja smislenog znanja. Softverski alati u upravljanju znanjem su

kolekcije tehnologija, te se ne mogu nuţno dobaviti kao pojedini komad softvera. Nadalje, ovi

softverski alati imaju prednost korištenja postojeće infrastrukture informacijske tehnologije u

organizaciji. Organizacije troše znatnu količinu resursa i značajno ulaţu u najnovije

tehnologije, sustave i infrastrukturu kako bi podrţali upravljanje znanjem. Upravljanje

znanjem je, takoĎer, postalo kamen temeljac u novim poslovnim strategijama poput Service

Lifecycle Management-a (SLM), gdje se tvrtke sve više obraćaju proizvoĎačima softvera

kako bi poboljšali efikasnost na trţištu.

Page 35: upravljanje znanjem u samoprilagodljivim cloud sustavima

32

4.2.6 Upravljanje znanjem i kolaboracija

Razvoj Web 2.0 je dodao nove dimenzije procesu upravljanja znanjem. Kolaboracijski alati

temeljeni na Web tehnologijama, poput wiki-ja, su omogućili zaposlenicima da neprekidno

pridonose i pristupaju informacijama centralnog repozitorija. Tvrtke koje su implementirale

baze znanja temeljene na wiki dizajnu prijavljuju znatne poraste u produktivnosti nakon što se

uspostave navike pridonošenja, dijeljenja i pristupanja znanju. Virtualni svjetovi su nadalje

povećali kolaboracijske mogućnosti u procesu dijeljenja znanja. Za razliku od Web 2.0

aplikacija u virtualnim svjetovima tim moţe raditi sinkronizirano. Nove generacije alata

virtualnih svjetova omogućuju timovima ne samo verbalni prijenos informacija, već i

dokumentiranje istih.

4.2.7 Metode upravljanja znanjem

Metode upravljanja znanjem se mogu grupirati u dvije glavne grupe:

metode koje cirkuliraju znanjem unutar organizacije

metode koje pomaţu pri stvaranju znanja

Metode koje pomaţu pri cirkuliranju znanja obuhvaćaju:

komunikaciju licem u lice

metode komunikacije zasnovane na računalima (email, Lotus Notes)

skladištenje i dohvaćanje informacija korištenje računalnih sustava (intranet)

sustavi zasnovani na znanju (ekspertni sustavi)

Metode i tehnike upravljanja znanjem su brojne te uvelike ovise o području primjene. U

slijedećem poglavlju će biti prikazane metode koje su izabrane kao najbolje za upravljanje

znanjem u cloud/SLA sustavima.

Page 36: upravljanje znanjem u samoprilagodljivim cloud sustavima

33

5 UPRAVLJANJE ZNANJEM U SAMOPRILAGODLJIVIM

CLOUDIMA

Da bi se postigla ţeljena razina fleksibilnosti clouda računalni resursi moraju biti alocirani

softveru koji čeka na izvršavanje. Potrebno je da alokacija bude ne samo dinamička, već i

autonomna. Kao što je rečeno u prijašnjim poglavljima, resursi se alociraju prema unaprijed

definiranim SLA ugovorima koji se sastoje od parametara poput vremena odziva, dostupnosti

ili prostora za pohranu podataka. Service Level Objective (SLO) za svaki SLA parametar

definira cilj koji je potrebno postići, npr. dostupnost > 98%. U slučaju kršenja SLO-a

pruţatelj cloud usluga plaća kazne korisniku koje su, takoĎer, definirane unutar SLA ugovora.

U mnogo slučajeva jednostavne reakcije poput premještanja virtualnih mašina sa već

alociranih čvorova na dodatne dostupne čvorove mogu spriječiti kršenja utvrĎenih SLA

ugovora [8]. MeĎutim, identificiranje ovakvih reakcija je daleko od trivijalnog.

Pozitivni efekti raspoznavanja mogućih SLA kršenja prije nego se pojave su dvostrani. Sa

jedne strane pomaţe pruţatelju cloud usluga da izbjegne plaćanje kazni, te sa druge

minimizira interakciju korisnika sa samim sustavom. Nadalje, efektivno SLA upravljanje,

takoĎer, oslobaĎa dodatne resurse koji bi se inače koristili za ispunjavanje SLA ugovora.

U ovom poglavlju je prikazano korištenje baza znanja za samoupravljanje u cloudu. Opisane

su tri metode upravljanja znanjem i mogućnosti njihove implementacije unutar cloud sustava:

1. baze pravila (rule based system)

2. uobičajena logika (default logic)

3. situation calculus

4. rasuĎivanje temeljeno na slučajevima (case based reasoning)

Detaljnije će se prikazati metoda rasuĎivanja temeljenog na slučajevima [8]. Nadalje će se

detaljnije prikazati istraţivanja vezana uz default logics metodu koja su obavljena kao ključni

dio ovog rada, te tehnologija i pristup koji je odabran za implementaciju i evaluaciju.

Razvoj case based reasoning metode za cloud je sastavni dio FoSII (Foundations of Self-

governing ICT Infrastructures) [9]. Cilj FoSII projekta je razvoj infrastrukture za autonomno

SLA upravljanje i provoĎenje. U nastavku poglavlja je dan osvrt na FoSII infrastrukturu i

Page 37: upravljanje znanjem u samoprilagodljivim cloud sustavima

34

povezanost sa metodama upravljanja znanjem. Prikazana je i studija slučaja izabrana za

evaluaciju case based reasoning pristupa [8].

5.1 Pregled FoSSI infrastrukture

FoSII infrastruktura se koristi za upravljanje cijelim ţivotnim ciklusom usluga samo-

upravljajućeg clouda (Slika 5-1). Upravljanje ureĎuje ciklus nadziranje-analiza-planiranje-

izvršavanje (MAPE; Monitor-Analysis-Plan-Execute). Nadalje, svaka FoSII usluga

implementira tri sučelja:

1. sučelje za pregovaranje nuţno za osnivanje SLA ugovora

2. sučelje za upravljanje zadacima nuţno za pokretanje zadataka, slanje podataka i slično

3. sučelje samoupravljanja nuţno za proces „osmišljavanja“ akcija potrebnih za

prevenciju kršenja SLA ugovora.

Slika 5-1 FoSII infrastruktura [8]

Sučelje za samoupravljanje (Slika 5-1) je implementirano od strane svake cloud usluge i

specificira djelovanja potrebna za otkrivanje promjena ţeljenog stanja, te reakcije na te

promjene. Senzori na glavnom računalu neprestano nadgledaju metriku infrastrukturnih

resursa i trenutne statuse resursa dostavljaju autonomnom upravitelju. Senzori otkrivaju

Page 38: upravljanje znanjem u samoprilagodljivim cloud sustavima

35

buduća kršenja SLA ugovora na temelju iskustava iskorištenosti resursa i unaprijed

definiranih granica prijetnje.

Granice prijetnje su restriktivnije od SLO vrijednosti [10]. OdreĎivanje granica prijetnji je

daleko od trivijalnog, te bi one trebale biti konstantno aţurirane od strane sustava za

upravljanje znanjem, a samo na početku postavljene ručno od strane administratora sustava.

Potrebno je opisati mapiranje izmeĎu izmjerenih vrijednosti glavnog računala i vrijednosti

SLA parametara. Kao što je vidljivo na slici 5-1 razlikuje se nadgledanje glavnog računala i

nadgledanje u vremenu izvršavanja. Resursi se nadgledaju pomoću proizvoljnih alata za

nadgledanje na glavnom računalu. Stoga, metrika resursa obuhvaća vrijeme stajanja, vrijeme

neprekidnog rada, dostupnu širinu dolaznog i odlaznog mreţnog pojasa. Na temelju unaprijed

definiranih pravila mapiranja zapisanih u bazi podataka izmjerena metrika se periodički

mapira u SLA parametre. Primjer SLA parametra je dostupnost usluge Du (Tablica 5-1) koja

se izračunava pomoću metrika vremena stajanja i vremena neprekidnog rada. Mapiranje za

dostupnost usluge se vrši pomoću slijedeće formule:

(1)

Pravila mapiranja se definiraju od strane pruţatelja usluga korištenjem odgovarajućeg DSL

(Domain Specific Language) jezika. Izračunate SLA vrijednosti se usporeĎuju sa

predefiniranim granicama prijetnje kako bi se reagiralo prije kršenja SLA ugovora.

Jednom kada se moguća SLA kršenja otkriju reaktivne akcije se moraju provesti kako bi se

izbjeglo samo kršenje. U slijedećem poglavlju je prikazan SLA primjer korišten za

modeliranje i evaluaciju metoda upravljanja znanjem [8].

5.1.1 Primjer korištenja

U ovom poglavlju je prikazan primjer korištenja koji je definiran za ispitivanje metoda

upravljanja znanjem. Primjer SLA ugovora je prikazan u tablici 5-1.

Page 39: upravljanje znanjem u samoprilagodljivim cloud sustavima

36

Tablica 5-1 Primjer SLA ugovora [8]

SLO naziva SLO vrijednost

Širina dolaznog mreţnog pojasa (DM) > 10 Mbit/s

Širina odlaznog mreţnog pojasa (OM) > 12 Mbit/s

Prostor za pohranu (PP) > 1024 GB

Dostupnost (Du) ≥ 99%

Razmatraju se četiri SLO cilja:

širina dolaznog mreţnog pojasa

širina odlaznog mreţnog pojasa

prostor za pohranu

dostupnost

Odgovarajuće SLO vrijednosti su prikazane u desnom dijelu tablice 5-1. Kako bi se evaluirali

različiti pristupi upravljanju znanjem stanje sustava se opisuje u pogledu na aktivne fizičke

mašine (FM) i na aplikaciju koja se izvršava u tri različita trenutka (t1, t2, t3) u odnosu na

gore navedeni SLA ugovor. Pretpostavlja se da se jedna aplikacija izvršava na jednoj

virtualnoj mašini (VM), ali se jedna virtualna mašina moţe izvršavati na više fizičkih. Tablica

5-2 prikazuje izmjerena stanja sustava [8].

Page 40: upravljanje znanjem u samoprilagodljivim cloud sustavima

37

Tablica 5-2 Primjer stanja sustava [8]

DM OM PP Du Broj FM

t1 12.0 20.0 1200 99.50 20

t2 14.0 18.5 1020 99.47 17

t3 20.0 25.0 1250 99.60 19

Ciljevi za sustav upravljanja znanjem su definirani na slijedeći način [8]:

1. Kontinuirano stvaranje i unaprjeĎivanje SLA granica prijetnje. Na temelju

promatranja prošlih stanja sustav upravljanja znanjem treba stvarati granice prijetnje

za odreĎeni SLO.

2. OdreĎivanje reakcija. U slučaju nepostojanja granica prijetnje sustav upravljanja

znanjem treba predloţiti reakcije na temelju prijašnjih stanja sustava.

Na temelju SLA ugovora definiranog u tablici 5-1 i stanja sustava prikazanih u tablici 5-2

predloţene su definicije reakcije sustava [8]. Pretpostavka je da sustav upravljanja znanjem

djeluje u modu identifikacije reakcija bez konkretnih predefiniranih granica prijetnje za

kršenje SLA ugovora. Stoga je definirana skupina akcija koju je komponenta za izvršavanje

MAPE ciklusa sposobna aktivirati [8]:

1. za pojedine aplikacije (aplikacija se izjednačava sa virtualnom mašinom jer se

pretpostavlja jedan-na-jedan mapiranje izmeĎu aplikacija i virtualnih mašina):

a. povećaj širinu dolaznog mreţnog pojasa za x%

b. smanji širinu dolaznog mreţnog pojasa za x%

c. povećaj širinu odlaznog mreţnog pojasa za x%

d. smanji širinu odlaznog mreţnog pojasa za x%

e. povećaj količinu memorije za x%

Page 41: upravljanje znanjem u samoprilagodljivim cloud sustavima

38

f. smanji količinu memorije za x%

g. dodaj alociranog prostora za pohranu za x%

h. ukloni alociranog prostora za pohranu za x%

i. povisi CPU udio za x%

j. smanji CPU udio za x%

k. premjesti aplikaciju na drugi cloud

l. prihvati aplikaciju sa drugog clouda

m. dodaj fizičku mašinu

n. ukloni fizičku mašinu

2. za fizičke mašine (računalne čvorove):

a. dodaj x računalnih čvorova

b. ukloni x računalnih čvorova

3. ne radi ništa (bez reakcije)

U odreĎenim trenutcima sustav upravljanja znanjem kao ulaz prima mjerenja, te kao izlaz

treba dati akciju koju je moguće izvršiti kako bi se spriječilo kršenje SLA ugovora.

5.2 Metode upravljanja znanjem za upravljanje SLA ugovorima

U ovom poglavlju su prikazane metode upravljanja znanjem pogodne za upravljanje SLA

ugovorima, te je prikazano istraţivanje, implementacija i evaluacija za case based reasoning i

default logics.

5.2.1 Rule based system (baze pravila)

Baze pravila se koriste kao način pohranjivanja i manipuliranja znanjem u svrhu interpretacije

informacija na koristan način. Često se koriste u aplikacijama i istraţivanjima na polju

umjetne inteligencije.

Page 42: upravljanje znanjem u samoprilagodljivim cloud sustavima

39

5.2.1.1 Aplikacije

Klasični primjer baza pravila je ekspertni sustav koji koristi pravila za donošenje zaključaka.

Na primjer, ekspertni sustav moţe sluţiti kao pomoć liječniku pri izboru ispravne dijagnoze

na temelju niza simptoma.

Baze pravila se mogu koristiti za izvršavanje leksičke analize pri kompajliranju ili

interpretiranju računalnih programa, te u obradi prirodnog jezika.

Programiranje baza pravila nastoji izvesti instrukcije izvršavanja iz početnog niza podataka i

pravila. Ovo je indirektnija metoda od one koju koriste imperativni programski jezici.

5.2.1.2 Izvedba

Uobičajena se baza pravila sastoji od četiri osnovne komponente [11]:

Niz pravila ili baza pravila (specifični tip baze znanja).

Baza znanja (zaključaka) ili baza za semantičko rasuĎivanje koji izvode zaključke na

temelju interakcija izmeĎu ulaza i baze pravila.

Privremena radna memorija.

Korisničko sučelje preko kojeg se ulazni i izlazni signali primaju i šalju.

5.2.1.3 Baze pravila i SLA

Baza pravila poput Drools [12] sadrţi pravila u „IF uvjet THEN radnja“ formi, npr. :

1. IF DM < GranicaPrijetnje_DM THEN dodaj fizičku mašinu

2. IF DM < GranicaPrijetnje_DM THEN povećaj DM udio za 5% za VM

3. IF Du < GranicaPrijetnje_Du THEN dodaj 2 računalna čvora sustavu

4. IF Du < GranicaPrijetnje_Du THEN premjesti aplikaciju na drugi cloud

Kao što je u radnji ranije opisano u ovakvom slučaju se koriste granice prijetnje za aktiviranje

odreĎenih radnji prije kršenja SLA ugovora. MeĎutim, ovakav pristup ima dvije mane:

Page 43: upravljanje znanjem u samoprilagodljivim cloud sustavima

40

Pitanje granica prijetnje. Ove granice se uvelike razlikuju ovisno o SLA parametru,

npr. za SLO prostor za pohranu podataka > 1024 GB, granica prijetnje moţe biti već

na 1300 GB (127% originalne granice), dok za SLO DM > 10 mbit/s granica prijetnje

moţe biti na 11 Mbit/s (110% originalne granice), jer je alociranje udjela mreţnog

pojasa mnogo brţe od alociranja prostora za pohranu. Granice prijetnje se, takoĎer,

mogu razlikovati za isti parametar u različitim domenama, npr. granica prijetnje za

dostupnost usluge u medicinskoj domeni gdje su u pitanju ljudski ţivoti mora biti

mnogo viša od granice za uslugu 3D renderiranja. Jedno od mogućih rješenja bi bilo

specificiranje granica prijetnje u DSL-u ili njihovo uključivanje u SLA dokument.

MeĎutim, ovaj proces bi uvelike ovisio o subjektivnoj procjeni. Ipak bi bilo moguće

pronaći vrijednosti iz iskustava koji bi odgovarale za većinu uobičajenih parametara.

Nadalje je potrebno odrediti da li se granice prijetnje izvode pomoću konstantne

funkcije vrijednosti parametra (uvijek dodati 5 jedinica na vrijednost SLA parametra),

linearne funkcije (uvijek dodati 10% na vrijednost) ili čak eksponencijalne ili bilo koje

druge funkcije. Da bi se ovaj problem riješio na univerzalan način potrebno je naći

odgovarajuću funkciju za svaki SLA parametar u svakoj domeni.

Drugo pitanje je rješavanje kontradiktornih pravila. Uzmimo u obzir pravila 3) i 4)

prikazana na početku odlomka. Da li baza znanja treba dodati računalne čvorove,

premjestiti aplikaciju ili boje u slučaju da dostupnost odreĎene usluge padne ispod

unaprijed definirane granice prijetnje? Korištenje koncepta istaknutosti (prioriteta) za

donošenje odluke vodi ka teško upravljivom skupu pravila.

U primjeru korištenja iz tablice 5-2 gore navedena pravila 1-4 sa granicama prijetnje za DM i

Du , baza znanja bi izvršila pravila 1 i/ili 2 u trenutku t1, u

trenutku t2 pravila 3 i/ili 4, a u trenutku t3 ne bi izvršila ništa.

5.2.2 Default logics (uobičajena logika)

Uobičajena logika je nemonotona logika za formaliziranje rasuĎivanja sa uobičajenim

pretpostavkama.

Uobičajena logika moţe izraziti činjenice poput „uobičajeno, nešto je istinito“; za razliku od

uobičajene, standardna logika jedino moţe izraziti istinitost ili laţ nečega. Ovo predstavlja

problem jer rasuĎivanje često uključuje činjenice koje su u većini slučajeva istinite, ali ne

uvijek. Klasičan primjer je „ptice, u pravilu, lete“. Ovo pravilo se u standardnoj logici moţe

Page 44: upravljanje znanjem u samoprilagodljivim cloud sustavima

41

izraziti ili kao „sve ptice lete“, što je nedosljedno sa činjenicom da pingvini ne lete, ili kao

„sve ptice koje nisu pingvini i nojevi i… lete“, što zahtjeva specificiranje svih iznimki od

pravila. Uobičajena logika cilja na formaliziranje ovakvih pravila zaključivanja bez potrebe za

eksplicitnim navoĎenjem svih iznimki.

5.2.2.1 Sintaksa

Uobičajena teorija je par <D, W>. W je skup logičkih formula koji se naziva pozadinska

teorija koja formalizira činjenice koje su za sigurno poznate. D je skup uobičajenih pravila

(default rules) od kojih je svako slijedeće forme:

(2)

Prema ovoj zadanoj vrijednosti ako se vjeruje da je Preduvjet istinit i svako

dosljedno sa trenutnim uvjerenjima, vjeruje se da je Zaključak istinit.

5.2.2.2 Primjeri

Uobičajeno pravilo (default rule) „ptice, u pravilu, lete“ se formalizira pomoću slijedeće

zadane vrijednosti:

{ ( ) ( )

( )} (3)

Ovo pravilo znači da ako je X ptica i moţe se pretpostaviti da leti, onda se donosi zaključak

da leti. Pozadinska teorija koja sadrţi neke od činjenica o pticama je slijedeća:

* ( ) ( ) ( ) ( )+

Prema ovom uobičajenom pravilu kondor leti jer je preduvjet Ptica(Kondor) istinit i

opravdanje Leti(Kondor) nije nedosljedno sa trenutno poznatim činjenicama. Sa druge strane

Ptica(Pingvin) ne dopušta zaključak Leti(Pingvin). Iako je preduvjet Ptica(Pingvin) istinit,

opravdanje Leti(Pingvin) je nedosljedno sa trenutno poznatim činjenicama. Iz ove pozadinske

teorije i zadanih vrijednosti, Ptica(Orao) se ne moţe zaključiti jer zadano pravilo samo

dopušta izvoĎenje Leti(X) iz Ptica(X), ali ne i obratno.

Page 45: upravljanje znanjem u samoprilagodljivim cloud sustavima

42

Česta uobičajena pretpostavka je da za što se ne zna da je istinito, vjeruje se da je laţ. Ovo je

poznato kao pretpostavka zatvorenog svijeta, te se formalizira u uobičajenoj logici

korištenjem zadane vrijednosti poput slijedeće sa svaku činjenicu F:

Na primjer, programski jezik Prolog koristi vrstu zadane pretpostavke kod upravljanja

negacijom: ako se negativni atom ne moţe dokazati istinitim, onda se pretpostavlja da je

laţan. Vaţno je napomenuti da Prolog koristi takozvanu negaciju kao neuspjeh: kada

interpreter mora procijeniti atom , pokušava dokazati da je F istinito i zaključiti da je

istinito u slučaju neuspjeha. Za razliku od toga u uobičajenoj logici zadana vrijednost koja za

opravdanje sadrţi se moţe primijeniti samo ako je dosljedno sa trenutnim znanjem.

5.2.2.3 Uobičajena logika i SLA

Uobičajena logika [13] je verzija baze pravila u kojoj pravila više nisu jednostavna IF-THEN

pravila, već se mogu opisati kao IF uvjet – i ne postoje razlozi protiv – THEN djelovanje.

Slijedeća formula predstavlja primjer na temelju studije slučaja sa SLA ugovorima:

(4)

Ovo pravilo znači: Ako je širina dolaznog mrežnog pojasa manja od svoje granice prijetnje i

ne postoji razlog protiv povećanja udjela širine pojasa, onda povećaj širinu dolaznog

mrežnog pojasa. Razlog protiv povećanja bi mogao biti da je širina pojasa već na maksimumu

ili da su druge (vaţnije) usluge već zatraţile povećanje u isto vrijeme. Suprotno od običnih

pravila u bazi pravila, uobičajenoj logici je lako raščlaniti da se resursi ne mogu povećavati

beskonačno. MeĎutim, uobičajena logika ne nudi sredstvo za rješavanje problema nalaţenja

pravilnih granica prijetnje i za razrješavanje kontradiktornih pravila.

Nadalje, uobičajena logika se posebno koristi u poljima sa mnogo kontradiktornih pravila. Za

Cloud računarstvo je vaţnije saznati uzrok trenutnih informacija mjerenja, npr. zašto se

trenutna širina dolaznog mreţnog pojasa smanjila. Uzroci trenutnih informacija mjerenja se

trebaju saznati. Na primjer da li je trenutna širina mreţnog pojasa uzrokovana internim

problemom (postoji previše zahtjeva, a premalo resursa koji se nude) koje cloud sustav ne

moţe sam riješiti. Druga mogućnost je vanjski faktor, npr. DDoS (Distributed Denial of

Service) napad na koji se ne moţe direktno utjecati. Stoga, umjesto kontradiktornih, više

Page 46: upravljanje znanjem u samoprilagodljivim cloud sustavima

43

dolazi do pojave nepotpunih informacija. Sa uobičajenom logikom je usko povezana

paradigma programiranja skupa odgovora (answer set programming) koja je odabrana za

implementaciju ove metode. Paradigma i DLV programski jezik su opisani kasnije u

poglavlju.

5.2.2.4 Implementacija

Prije istraţivanja tehnologija i same implementacije metode uobičajene logike potrebno je

ustanoviti temeljne pretpostavke o cloud sustavu (FoSII) i njegovom autonomnom upravljanju

resursima i SLA ugovorima. Pretpostavke su slijedeće:

1. Svaka fizička mašina sadrţi slijedeće resurse:

a. CPU jezgre

b. CPU brzina

c. memorija

d. prostor za pohranu podataka

e. širina dolaznog/odlaznog mreţnog pojasa

2. Svaka virtualna mašina sadrţi slijedeće resurse:

a. CPU jezgre

b. iskorištenost CPU-a fizičke mašine

c. memorija

d. prostor za pohranu podataka

e. širina dolaznog/odlaznog mreţnog pojasa

3. Jedna virtualna mašina je distribuirana na točno jednu fizičku mašinu. Jedna VM ne

moţe biti distribuirana na više fizičkih mašina u isto vrijeme. Jedna fizička mašina

moţe biti domaćin za više VM.

4. Fizičke mašine mogu biti u tri različita stanja: upaljene, ugašene, u stanju spavanja.

Page 47: upravljanje znanjem u samoprilagodljivim cloud sustavima

44

5. CPU brzina fizičkih mašina se moţe dinamički prilagoĎavati.

6. Virtualne mašine mogu biti u tri različita stanja: upaljene, ugašene, u stanju spavanja.

7. Virtualne mašine se mogu stvarati, migrirati i uništiti (brisati).

8. Jedna aplikacija je distribuirana na točno jednu VM. Jedna virtualna mašina moţe

sadrţati više aplikacija.

9. Virtualne mašine mogu biti u stanju spavanja samo ako se na njima ne izvršava ni

jedna aplikacija.

10. Moguće je mjeriti resurse korištene od strane svake fizičke i virtualne mašine.

11. Za svaku aplikaciju je moguće mjeriti:

a. CPU iskorištenost virtualne mašine

b. memoriju

c. prostor za pohranu podataka

d. širinu dolaznog/odlaznog mreţnog pojasa

12. Moguće je dinamički podešavati resurse svake virtualne mašine.

Gore navedene pretpostavke su podloţne stalnim izmjenama i modifikacijama. Neke od

pretpostavki ne odgovaraju realnom stanju stvari na distribuiranim sustavima, ali su

postavljene radi lakše početne implementacije, koja bi se kasnije modificirala u skladu sa

kompleksnijim stanjima aplikacija i cloud sustava.

Postoje tri sustava koja implementiraju uobičajenu logiku:

DeReS

Xray

GADeL

Page 48: upravljanje znanjem u samoprilagodljivim cloud sustavima

45

MeĎutim, sva tri sustava su se pokazala kao dosta neefikasna, te neki od njih već neko

vrijeme nisu pod aktivnim razvojem. Stoga je izbran pristup prevoĎenja pravila uobičajene

logike u probleme deklarativne logike pomoću semantike skupa odgovora.

Programiranje skupa odgovora (answer set programming [ASP]) je oblik deklarativnog

programiranja orijentiranog prema teškim (primarno NP-teškim) problemima pretraţivanja.

Temelji se na stabilnom modelu (skup odgovora) semantike logičkog programiranja. U ASP-u

se problemi pretraţivanja reduciraju na stabilne računalne modele. Rješavači skupa odgovora

(programi za generiranje stabilnih modela) se koriste za izvršavanje pretraţivanja. Računski

proces korišten u dizajnu brojnih rješavača skupa odgovora je poboljšanje DPLL (Davis-

Putnam-Logemann-Loveland) algoritma i u principu uvijek završava sa izračunom (za razliku

od evaluacije upita u Prologu koja moţe voditi do beskonačne petlje).

Ukratko ASP uključuje sve aplikacije od skupova odgovora do prikazivanja znanja, te koristi

evaluaciju upita u stilu Prologa za rješavanje problema koji nastaju u ovim aplikacijama.

Lparse je naziv programa koji je originalno stvoren kao front-end za rješavač skupa odgovora

smodels, te se danas na isti način koristi u mnogim drugim rješavačima (assat, clasp, cmodels,

gNt, nomore++ i pbmodels).

Za implementaciju metode uobičajene logike je izabran DLV u kojem je sintaksa ASP

programa različita od Lparse sintakse. DLV je sustav baze za zaključivanje temeljen na

disjunktivnom logičkom programiranju.

Na DLV se moţe gledati kao na sustav logičkog programiranja i kao na sustav baze podataka

za zaključivanje. Zbog toga se ulaz u program dijeli na dva dijela:

1. Extensional database (EDB) koja predstavlja skup činjenica

2. Intensional database (IDB) koja se koristi za zaključivanje.

DLV omogućava stvaranje EDB-a specificiranjem činjenica u odvojenoj datoteci. MeĎutim

jasno je da je ovakav pristup nepraktičan i neefikasan kod programa sa većim brojem

činjenica. U svrhu implementacije metode uobičajene logike je izabrana PostgreSQL baza

podataka otvorenog koda za skladištenje činjenica. Naime, DLV omogućava spajanje na bilo

koju relacijsku bazu koja podrţava ODBC sučelje. ODBC (Open Database Connectivity) nudi

standardno softversko sučelje za pristup sustavima za upravljanje bazama podataka.

Page 49: upravljanje znanjem u samoprilagodljivim cloud sustavima

46

Pri implementaciji metode je najprije potrebno napuniti EDB svim potrebnim činjenicama

poput SLA parametara, informacijama sa mjerenja resursa i sl. Ova baza sluţi samo kao ulaz.

Dalje je potrebno definirati znanje (pravila) koje bi koristilo činjenice iz EDB baze za

donošenje zaključaka. Znanje moţe ovisiti o EDB bazi, moţe predstavljati neovisno i

neodreĎeno znanje ili oboje navedeno. Dio koji donosi zaključke iz činjenica se naziva IDB

ili najčešće samo program.

Iako DLV, odnosno programska paradigma skupa odgovora, nudi mogućnost iskazivanja

pravila uobičajene logike, sa sobom nosi i brojne probleme. Potrebno je osmisliti i

organizirati sve moguće činjenice koje su vezane za cloud sustav i koje utječu na njegov rad i

na samo donošenje zaključaka pri regulaciji SLA ugovora. Izostavljanje najmanjeg detalja bi

moglo dovesti do donošenja krivih odluka ili potpunog izostanka zaključka u nekim

situacijama, što na posljetku dovodi do kršenja odreĎenih SLA ugovora.

5.2.3 Situation calculus

Situation calculus opisuje svijet koji se promatra u stanjima (funkcije) i situacijama. Funkcije

su logičke formule prvog reda koje mogu biti istinite ili laţne na temelju situacije u kojoj se

promatraju. Same situacije su konačni niz djelovanja. Situacija prije i jednog djelovanja –

početna točka sustava – se naziva početna situacija. Stanje situacije s je skup svih funkcija

koje su valjane za s. Predefinirana djelovanja mogu unaprijediti situacije u nove u svrhu

postizanja unaprijed postavljenog cilja pomoću manipuliranja funkcija u njihovim domenama.

Za svijet od tri cigle koje se mogu sloţiti jedna na drugu, leţeći na stolu, prilično je

jednostavno pronaći funkcije:

cigla moţe i ne mora biti na stolu

cigla moţe i ne mora na sebi imati drugu ciglu

cigla x moţe i ne mora leţati na cigli y.

Moguća su dva djelovanja:

stavi ciglu x na ciglu y

skini ciglu y, npr. stavi ciglu y na stol.

Page 50: upravljanje znanjem u samoprilagodljivim cloud sustavima

47

Cilj bi mogao biti postojanje jednog stoga sa sve tri cigle sloţene po odreĎenom redoslijedu

sa početnom situacijom gdje su cigle sloţene u obrnutom redoslijedu od ciljanog. U svakom

stanju situacije istinite su različite funkcije, te stavljanje i skidanje cigli generira novu

situaciju.

5.2.3.1 Situation calculus i SLA

Mapiranje ove analogije na cloud računarstvo nije jednostavno. Što se tiče funkcija u cloudu

je potrebno uzeti u obzir trenutne vrijednosti svakog parametra, te da li je odgovarajući SLO

ispunjen ili ne. Nadalje sva stanja samog cloud sustava se moraju, takoĎer, modelirati kao

funkcije: broj aktivnih virtualnih mašina, broj dostupnih fizičkih mašina itd. Funkcije za

odreĎenu aplikaciju bi mogle biti predikat ima_vrijednost(SLAParametar p, Vrijednost v)

gdje je što znači da SLAParametar p ima vrijednost v u trenutnoj situaciji i

ispunjava(SLO s). To dalje znači da aplikacija ispunjava odreĎeni SLO s. Predikat

ima_vrijednost(SLAparametar1, x) je valjan samo za jedan u odreĎenoj situaciji.

Moguća djelovanja su prikazana u primjeru korištenja ranije uradu.

Budući da se cloud uvijek promatra kao cjelina sa svim stanjima, moţe biti jako komplicirano

izvesti točno jedno djelovanje koje moţe dovesti do napretka pri ostvarenju cilja. Moguće

rješenje je promatranje aplikacija izolirano jedne od druge, te postojanje sveukupnog pogleda

koji u obzir uzima neke informacije više razine poput ispunjavaSLA(Aplikacija app). Ovo

pravilo bi značilo da aplikacija ispunjava sve svoje trenutne SLO ciljeve. Izvodljiv način

definiranja ciljeva bi mogao biti definiranje funkcije korisnosti koja prikazuje korisnost

usluge koja ispunjava svoj SLA ugovor. Parametri ove funkcije mogu biti vaţnost korisnika i

kazna koju je potrebno platiti pri kršenju svakog SLO cilja. Sustav tada pokušava pronaći

djelovanje koje bi maksimiziralo korisnost.

Ako se u obzir uzme cloud sustav koji odrţava 100 aplikacija od kojih svaka ima pet SLA

parametra. Ovo vodi prema ( ) različitih funkcija poput

ima_vrijednost(SLAParametar1, x), ima_vrijednost(SLAParametar2,y) itd. za svaku

aplikaciju. Stoga su glavne prepreke u ovom pristupu velik broj funkcija i neizmjeran prostor

pretraţivanja mogućih djelovanja.

Page 51: upravljanje znanjem u samoprilagodljivim cloud sustavima

48

5.2.4 Case-based reasoning (rasuĎivanje temeljeno na slučajevima)

RasuĎivanje temeljeno na slučajevima je proces rješavanja problema na temelju prethodnih

iskustava [15]. Detaljnije, ova metoda pokušava riješiti slučaj (formatirani primjer) pomoću

pretraţivanja sličnih slučajeva iz prošlosti. Rješenja pronaĎenih sličnih slučajeva se koriste za

rješavanje trenutnog slučaja. Općenito se CBR ciklus sastoji od slijedećih faza (pod

pretpostavkom da je primljen novi slučaj):

1. Pronaći i učitati slučaj ili slučajeve slične trenutnom.

2. Iskoristiti informacije i znanje iz sličnih slučajeva u rješavanju problema.

3. Preispitati i po potrebi preraditi predloţeno rješenje.

4. Zadrţati dijelove novog iskustva koji bi mogli biti korisni za buduća rješavanja

problema.

U koraku 4 se novi slučaj i pronaĎeno rješenje zapisuju u bazu znanja. U slijedećem poglavlju

je prikazan način korištenja ove metode u svrhe upravljanja SLA ugovorima na polju cloud

računarstva.

5.2.4.1 Rasuđivanje temeljeno na slučajevima i SLA

U ovom poglavlju se prikazuje osnovni CBR model koji se koristi za upravljanje SLA

ugovorima i neke njegove varijacije.

Slika 5-2 Proces rasuđivanja temeljenog na slučajevima [8]

Page 52: upravljanje znanjem u samoprilagodljivim cloud sustavima

49

Kao što je vidljivo na dijagramu (Slika 5-2), ideja je skladištenje pravila koja aktiviraju CBR

sustav kada se za odreĎeni SLA parametar dosegne vrijednost granice prijetnje u bazu

podataka 1. Mjerenja se u obliku novog slučaja šalju CBR sustavu (uokvireni dijelovi na slici

5-2) od strane komponente za mjerenje. Tada CBR pripremljen sa početnim suvislim

slučajevima zapisanim u bazi podataka 2 bira skup slučajeva koji su najsličniji novom,

različitim tehnikama koje su opisane kasnije u radnji. Iz ovih slučajeva se bira onaj sa

najvećom korisnošću. Dalje se izvršava djelovanje koje je bilo izvršeno prije za izabrani,

najsličniji slučaj. Konačno se nekoliko vremenskih intervala kasnije mjere rezultati

djelovanja, usporeĎuju se sa početnim slučajem, te se zajedno sa izračunatim korisnostima

zapisuju kao novi slučaj u CBR.

Postoje slijedeći osnovni procesi (Slika 5-2):

stiţu nova mjerenja („Measurements“ kvadrat),

provjera da li je dosegnuta granica prijetnje za neke parametre („Rules to engage CBR

„kvadrat),

ako je izaberi skup najsličnijih slučajeva iz CBR sustava, te iz njih izaberi slučaj sa

najvećom korisnošću („Case Based Reasoning“ kvadrat),

izvrši djelovanje izabranog slučaja („Trigger 1 action“ kvadrat),

mjerenjem rezultata izračunaj korisnost izvršenog djelovanja („Measure results“

kvadrat),

zapiši slučaj u CBR („Feedback“ kvadrat).

Izvršavanjem gore navedenih procesa je moguće konstantno učiti nove slučajeve i evaluirati

korisnost izvršenih djelovanja. Mjerenjem korisnosti u više vremenskih intervala, CBR

takoĎer moţe učiti da li je djelovanje izvršeno prekasno (kada se korisnosti slijedeći

vremenske intervale poboljšavaju, ali poboljšanje doĎe prekasno da bi se spriječilo kršenje

SLA ugovora) ili čak nepotrebno. Stoga se i granice prijetnje koje pokazuju kada pokrenuti

CBR mehanizam mogu konstantno poboljšavati.

Page 53: upravljanje znanjem u samoprilagodljivim cloud sustavima

50

Daljnja razmišljanja na temelju osnovnog koncepta vode ka slijedećim varijacijama [8]:

1. Umjesto korištenja pravila sa granicama prijetnje, CBR konstantno prima nove

slučajeve od komponente za mjerenje. Dalje zaključuje kada izvršiti neko djelovanje, a

kada ne. Na ovaj način je moguće izbaciti granice prijetnje, pogotovo u ranim fazama

kada sustav još nema povijesna mjerenja.

2. Kao što je prikazano na slici 5-3, status sustava se dijeli na:

a. ručnu fazu gdje se slučajevi stvaraju i prilagoĎavaju ručno,

b. aktivnu CBR fazu,

c. pasivnu fazu temeljenu na slučajevima u kojoj se nešto radi samo u slučaju kad

se dosegne granica prijetnje.

U fazi c se kao i u fazi b takoĎer izračunavaju korisnosti djelovanja. U slučaju da

korisnosti padnu prenisko, ovisno o ozbiljnosti se ili ponovno pokrene faza b za učenje

novih slučajeva ili se čak ide nazad u ručnu fazu (faza a). Kada se korisnosti

poboljšavaju, ide se u pasivnu fazu (faza c).

3. Za jednostavne parametre postoje jednostavne granice prijetnje i djelovanja koja

koriste pravila umjesto CBR sustava. Ovo omogućava oslobaĎanje računalnih resursa.

Slika 5-3 Aktivne i pasivne faze CBR upravljanja [8]

Page 54: upravljanje znanjem u samoprilagodljivim cloud sustavima

51

5.2.4.2 Implementacija

U ovom poglavlju su opisani detalji implementacije CBR i metoda korištenih za učenje i

reagiranje, kao i upotrjebljenih mjerenja korisnost [8]. Implementacija slijedi varijaciju a) iz

prethodnog odlomka.

Implementacija je izvršena u Java programskom jeziku, te je temeljena na FreeCBR-u [16].

Kao što je vidljivo na slici 5-4 potpuni slučaj se sastoji od:

identifikacijskog broja aplikacije (redak 2, Slika 5-4),

početnog slučaja (mjerenja dobivena od komponente za mjerenje) koji se sastoji od

SLO vrijednosti aplikacije i općenitih cloud informacija poput broja aktivnih

virtualnih mašina (redci 3-10, Slika 5-4),

izvršene akcije (redak 11, Slika 5-4),

rezultirajućeg slučaja izmjerenog nekoliko trenutaka kasnije (redci 12-19, Slika 5-4),

rezultirajuće korisnosti (redak 20, Slika 5-4).

1. (

2. (SLA, 1),

3. (

4. ((Incoming Bandwidth, 12.0),

5. (Outgoing Bandwidth, 20.0),

6. (Storage, 1200),

7. (Availability, 99.5),

8. (Running on PMs, 1)),

9. (Physical Machines, 20)

10. ),

11. "Increase Incoming Bandwidth share by 5%",

12. (

13. ((Incoming Bandwidth, 12.6),

14. (Outgoing Bandwidth, 20.1),

15. (Storage, 1198),

16. (Availability, 99.5),

17. (Running on PMs, 1)),

18. (Physical Machines, 20)

19. ),

20. 0.002

21. )

Slika 5-4 Primjer CBR slučaja [8]

Page 55: upravljanje znanjem u samoprilagodljivim cloud sustavima

52

Da bi se evaluirala stvarna korisnost odreĎenog djelovanja koje je pomoglo u nekom slučaju,

usporeĎuje se korisnost početnog slučaja sa korisnosti rezultirajućeg slučaja. Neka su

stvarne vrijednosti nekog parametra α izmjerenog u početnom i rezultirajućem

slučaju i neka je granica prijetnje specificiranog SLA prametra. Definira se ralativna

korisnost za parametar . Ako bi trebao biti slučaj u kojem vrijedi definiciju je

potrebno pomnoţiti sa -1. Korisnost ( ) za definiramo kao

( )

(5)

Povećanje ili gubitak korisnosti od početnog do rezultirajućeg slučaja za parametar α se moţe

opisati na slijedeći način:

( )

(6)

U slijedećem koraku je potrebno definirati korisnost parametara koji nisu navedeni u SLA

ugovoru aplikacije, poput „izvršava se na fizičkim mašinama xy“ ili globalni parametar

„fizičke mašine“. S obzirom na primjer korištenja koji je prikazan ranije u radu definira se da

je bolje ako se aplikacija izvršava na što manje fizičkih mašina, jer ovo oslobaĎa resurse za

druge aplikacije. Isto vrijedi i za utjecaj na broj aktivnih fizičkih mašina. Na gašenje svake

fizičke mašine koja nije potrebna za osiguravanje SLA ugovora se gleda kao na pozitivan

utjecaj na korisnost. Stoga se, takoĎer, usporeĎuje broj aktivnih fizičkih mašina od

rezultirajućeg do početnog slučaja pomoću formule

( )

(7)

Isti princip vrijedi i za parametar „izvršava se na fizičkim mašinama xy“.

Sada se konačna korisnost dobiva uzimanjem prosjeka korisnosti ( ) za sve

parametre α i prosjek korisnosti aktivnih fizičkih mašina i globalnih parametara.

Općenito govoreći postoje sofisticiranije metode za definiranje korisnosti od ovakvog

linearnog pristupa, ali je ovakav način odabran zbog jednostavnosti.

Za potpuni slučaj prikazan na slici 5-4 i SLA ugovor iz primjera korištenja (Tablica 5-1),

korisnost se izračunava na slijedeći način:

Page 56: upravljanje znanjem u samoprilagodljivim cloud sustavima

53

( ) (

)

(8)

Sličnost slučajeva se odreĎuje pomoću Euklidove udaljenosti koja za dva slučaja uzima

korijen zbroja kvadrata razlika svakog parametra.

Nadalje, za pronalaţenje sličnih slučajeva su implementirane dvije metode. Svaka metoda

traţi odreĎene slučajeve iz kojih bira onaj sa najvećom korisnosti. Prva metoda koja se zove

t-susjedstvo traţi slučaj sa najvećim postotkom podudaranja i uzima u obzir sve slučajeve koji

su udaljeni za t% od slučaja sa najvećim postotkom podudaranja. Druga metoda, metoda

grupiranja, koristi k-means algoritam grupiranja za grupiranje slučajeva u k grupe iz kojih se

dalje izabire ona koja sadrţi slučaj sa najvećim postotkom podudaranja. Isprobava se

grupiranje za nekoliko k grupa, te se naposljetku bira k koji ima najniţu varijancu od svih

grupa.

5.2.4.3 Evaluacija

U ovom odlomku će se usporediti ishodi testnog slučaja dobiveni korištenjem CBR sustava sa

djelovanjima za koje se pretpostavlja da bi izvršio administrator.

Nakon punjenja baze podataka sa devet različitih slučajeva (Tablica 5-3) testiramo ih u

odnosu na SLA ugovore definirane sa prijašnjim slučajem korištenja. Dodano je šest novih

slučajeva (Tablica 5-4), te su evaluirani rezultati.

Početni slučajevi su prikazani u tablici 5-3 u kojoj svaki stupac sadrţi jedan od devet

slučajeva. Gornji dio tablice (vrijednosti parametara sa indeksom b) prikazuju vrijednosti koje

su izmjerene prije izvršavanja ikakvog djelovanja od strane sustava. Redak Djelovanje

prikazuju izvršeno djelovanje za odreĎene slučajeve, iza čega slijede izmjereni parametri

nakon naznačenog djelovanja (vrijednosti parametara sa indeksom a). Redak Korisnost

prikazuje korisnosti ostvarene izvoĎenjem navedenih djelovanja.

Page 57: upravljanje znanjem u samoprilagodljivim cloud sustavima

54

Tablica 5-3 Početni slučajevi za CBR [8]

1 2 3 4 5 6 7 8 9

15.0

20.0

1200

99.5

1

20

11.0

20.0

1200

99.5

1

20

10.5

20.0

1200

99.5

1

20

15.0

13.0

1200

99.5

1

20

15.0

12.5

1200

99.5

1

20

15.0

20.0

1050

99.5

1

20

15.0

20.0

1000

99.5

1

20

15.0

20.0

1000

99.45

1

20

15.0

20.0

1200

99.4

1

20

Djelovanje / DM +

5%

DM +

10%

OM +

5%

OM +

10%

PP +

5%

PP +

10%

M +

5%

M +

10%

15.0

20.0

1200

99.5

1

20

11.55

20.0

1200

99.5

1

20

11.55

20.0

1200

99.5

1

20

15.0

13.65

1200

99.5

1

20

15.0

13.75

1200

99.5

1

20

15.0

20.0

1103

99.5

1

20

15.0

20.0

1100

99.5

1

20

15.0

20.0

1200

99.5

1

20

15.0

20.0

1200

99.5

1

20

Korisnost 0.0 0.009 0.0175 0.009 0.017 0.009 0.016

Šest testnih slučajeva koji su zapisani u bazu znanja se prikazani u tablici 5-4. Stupci,

ponovno, sadrţe slučajeve od 1-6, a redci prikazuju parametre na početku CBR ciklusa.

Page 58: upravljanje znanjem u samoprilagodljivim cloud sustavima

55

Tablica 5-4 Testni slučajevi za CBR [8]

1 2 3 4 5 6

DM

OM

PP

Du

RPM

FM

15.0

20.0

1200

99.5

1

20

11.0

20.0

1200

99.5

1

20

10.5

20.0

1200

99.5

1

20

15.0

13.0

1200

99.5

1

20

20.0

25.0

1250

99.6

1

20

10.0

18.0

1450

99.5

1

20

Rezultati, npr. koje djelovanje je izvršeno, se mogu vidjeti u tablicama 5-5 i 5-6 za metodu

susjedstva i grupiranja. U tablici 5-5 stupac Očekivano djelovanje prikazuje očekivano

djelovanje za testni slučaj (isti stupac vrijedi i za tablicu 5-6 i u njoj nije ponovljen). Stupci

Preporučena djelovanja u tablicama 5-5 i 5-6 definiraju koje je djelovanje zapravo

preporučeno od strane CBR mehanizma. Stupac Varijanca u tablici 5-5 prikazuje kako su

grupe kompaktne. Niska varijanca označava visoku koherentnost (točke jedne grupe imaju

male meĎusobne udaljenosti), dok visoka varijanca označava suprotno. U tablici 5-6 gdje se

prikazuju rezultati za t=3% i t=5% se dodatno prikazuje broj slučajeva u t-susjedstvu slučaja

sa najvećim postotkom podudaranja. Ovo prikazuje koliko je velika bila skupina slučajeva za

odabir slučaja sa najvećom korisnosti. Što ima više slučajeva, veća je šansa izbora slučaja sa

većom korisnosti, ali je u isto vrijeme manja sličnost sa originalnim slučajem.

Page 59: upravljanje znanjem u samoprilagodljivim cloud sustavima

56

Tablica 5-5 Rezultati evaluacije pri korištenju algoritma grupiranja [8]

Slučaj Očekivano djelovanjem Preporučeno djelovanje Varijanca

1

2

3

4

5

6

DM + 5%

OM + 5%

PP + 5%

PP + 10%

/

DM + 10%

DM + 10%

OM + 10%

PP + 10%

PP + 10%

PP + 10%

DM + 10%

23

18

208

14

96

40

Na temelju evaluacije se dolazi do zaključka da su djelovanja za oba algoritma gotovo

jednaka i slična očekivanim. Jedino je intenzitet djelovanja uvijek veći od očekivanog, jer se

tako dobiva veća vrijednost korisnosti. Ovo bi se moglo poboljšati modificiranjem funkcije

korisnosti na način da dopušta da umjerenija djelovanja imaju veće korisnosti. Bez obzira na

to svaki put je problematični SLA parametar ispravno identificiran. Jedino je za slučaj 5 koji

ima izvrsne vrijednosti SLA parametara, te ne zahtjeva izvršavanje nikakvih djelovanja, svaka

metoda osim metode susjedstva za t=3% preporučila izvršavanje nekog djelovanja. Razlog

ovome je isti kao kod izbora većeg intenziteta; izvršavanje djelovanja uvijek postiţe veću

korisnost. Stoga se vrijednost neizvršavanja djelovanja, takoĎer, moţe preferirati u definiranju

korisnosti.

Page 60: upravljanje znanjem u samoprilagodljivim cloud sustavima

57

Tablica 5-6 Rezultati evaluacije pri korištenju algoritma susjedstva [8]

t = 5% t = 3%

Slučaj Preporučeno

djelovanje

Broj slučajeva u t-

susjedstvu

Preporučeno

djelovanje

Broj slučajeva u t-

susjedstvu

1

2

3

4

5

6

DM + 10%

OD + 10%

PP + 10%

PP + 10%

M + 5%

DM + 10%

2

4

2

3

2

8

DM + 10%

OM + 10%

PP + 10%

PP + 10%

/

DM + 10%

2

4

2

2

1

5

Page 61: upravljanje znanjem u samoprilagodljivim cloud sustavima

58

6 ZAKLJUČAK

U ovom radu je dan kratki osvrt na cloud sustav arhitekturno i infrastrukturno. Glavni

problemi koji se trenutno pokušavaju riješiti na ovom području su osiguranje kvalitete usluge

koju korisnik zahtijeva. Ovo se nastoji riješiti pomoću SLA ugovora, koji se već duţe vrijeme

koriste na području IT-a, ali i šire. MeĎutim, upravljanje SLA ugovorima u kompleksnom

okruţenju poput cloud sustava donosi veliki broj novih problema i prepreka. Jedan od većih

problema je veliki broj SLA parametara vezanih za računalne resurse i stanja sustava sa

kojima se mora upravljati ne samo dinamički, već i autonomno. Za rješavanje ovakvih

problema se koriste brojne discipline poput upravljanja znanjem i sličnih grana iz polja

umjetne inteligencije. Upravljanje znanjem sa sobom automatski vuče i opseţne, kompleksne

baze podataka (znanja), koje se koriste za zapisivanje i pretraţivanje znanja koje sluţi za

donošenje zaključaka kod upravljanja resursima.

U ovom radu je opisano nekoliko metoda upravljanja znanjem za koje se smatra da su

pogodne za korištenje u samo-prilagodljivim cloud sustavima. Opisane su metode rule based

system (baze pravila), default logics (uobičajena logika), situation calculus i case based

reasoning (rasuĎivanje temeljeno na slučajevima). Za metodu uobičajene logike je prikazano

istraţivanje mogućnosti i tehnologija za implementaciju. Dan je osvrt i opis izabranih

tehnologija, te su prikazane dobre i loše strane odabrane tehnologije. Nadalje je prikazana

implementacija rasuĎivanja temeljenog na slučajevima i evaluacija dobivenih rezultata. U

implementaciji se metoda koristila za interpretaciju izmjerenih vrijednosti sa ciljem

sprječavanja kršenja SLA ugovora. U sklopu ove metode je, takoĎer, implementirano

autonomno rekonfiguriranje granica prijetnji.

Osnovni problem pri implementaciji default logics metode je pravilno definiranje svih

mogućih pravila koja moraju pokrivati sve resurse i stanja cloud sustava. Potrebno je osmisliti

i organizirati sve moguće činjenice koje su vezane za cloud sustav i koje utječu na njegov rad

i na samo donošenje zaključaka pri regulaciji SLA ugovora. Izostavljanje najmanjeg detalja bi

moglo dovesti do donošenja krivih odluka ili potpunog izostanka zaključka u nekim

situacijama, što naposljetku dovodi do kršenja samih SLA ugovora.

Bez same evaluacije i rezultata testova je teško donijeti realan zaključak, ali se da

pretpostaviti da je za upravljanje SLA ugovorima u samoprilagodljivim cloud sustavima

najbolji izbor metoda rasuĎivanja temeljena na slučajevima, jer ona omogućava zaključivanje

Page 62: upravljanje znanjem u samoprilagodljivim cloud sustavima

59

i donošenje odluka na temelju prijašnjih iskustva, dok uobičajena logika nudi, takoreći, brute

force rješenje problema.

Page 63: upravljanje znanjem u samoprilagodljivim cloud sustavima

60

7 PRILOZI

7.1 Kazalo slika i tablica

7.1.1 Kazalo slika

Slika 3-1 Primjer distribuiranja aplikacije na dvoslojni Web server arhitekturni uzorak ........ 10

Slika 3-2 Javni cloud sa udaljenih lokacija pruţa usluge višestrukim korisnicima ................. 13

Slika 3-3 Primjer privatnog clouda koji se nalazi u podatkovnom centru tvrtke ..................... 14

Slika 3-4 Hibridni cloud kombinira modele javnog i privatnog clouda ................................... 15

Slika 3-5 Cloud računarstvo predstavlja korištenje IT infrastrukture kao usluge (od hardvera

do API-ja) ................................................................................................................................. 16

Slika 5-1 FoSII infrastruktura [8] ............................................................................................. 34

Slika 5-2 Proces rasuĎivanja temeljenog na slučajevima [8] ................................................... 48

Slika 5-3 Aktivne i pasivne faze CBR upravljanja [8] ............................................................. 50

Slika 5-4 Primjer CBR slučaja [8]............................................................................................ 51

7.1.2 Kazalo tablica

Tablica 5-1 Primjer SLA ugovora [8] ...................................................................................... 36

Tablica 5-2 Primjer stanja sustava [8] ...................................................................................... 37

Tablica 5-3 Početni slučajevi za CBR [8] ................................................................................ 54

Tablica 5-4 Testni slučajevi za CBR [8] .................................................................................. 55

Tablica 5-5 Rezultati evaluacije pri korištenju algoritma grupiranja [8] ................................. 56

Tablica 5-6 Rezultati evaluacije pri korištenju algoritma susjedstva [8] ................................. 57

7.2 Popis oznaka i kratica

DM – širina pojasa dolazne mreţe

OM – širina pojasa odlazne mreţe

PP – prostor za pohranu

Du – dostupnost usluge

Page 64: upravljanje znanjem u samoprilagodljivim cloud sustavima

61

FM – fizička mašina

VM – virtualna mašina

IFM – broj fizičkih mašina na kojima se aplikacija izvršava

M – memorija

SLA – Service Level Agreement (ugovor na razini usluge)

SLO – Service Level Objective (cilj na razini usluge)

CBR – Case Based Reasoning (rasuĎivanje temeljeno na slučajevima)

Page 65: upravljanje znanjem u samoprilagodljivim cloud sustavima

62

8 LITERATURA

[1] TechRepublic; Understanding Cloud Computing: A white paper for

executives making decisions on computing resources, s interneta:

http://whitepapers.techrepublic.com.com/abstract.aspx?docid=1188509, zadnji pristup:

2010-06-03

[2] Grossman, R. (2009). The case for Cloud computing. ITPro, March/April 2009, (23-

27), 1520-9202/09

[3] Sun microsystems; Introduction to Cloud computing architecture; White paper, 1st

Edition, s interneta: https://www.sun.com/offers/details/CloudComputing.xml, zadnji

pristup: 2010-06-10

[4] Buyya, R.; Shin Yeo, C.; Venugopal, S.; Broberg, J. & Brandic, I. (2009). Cloud

computing and emerging IT platforms: Vision, hype and reality for delivering

computing as the 5th utility, Proceedings of Future generation computer systems,

Volume 25, (2009), (599-616), 0167-739X

[5] Motahari-Nezhad, H.; Stephenson, B. & Singhal, S. (2009); Outsourcing business to

Cloud computing services: Opportunities and challenges, s interneta:

http://www.hpl.hp.com/techreports/2009/HPL-2009-23.html, zadnji pristup: 2010-07-02

[6] Botteri, P.; Cowan, D.; Deeter, B.; Fisher, A.; Garg, D.; Goodman, B.; Levine, J.;

Messiana, G.; Sarin, A. & Tavel, S. (2010). Bessemer's top 10 laws of Cloud computing

and SaaS; Bessemer venture partners, s interenta: http://www.bvp.com/cloud, zadnji

pristup: 2010-04-10

[7] www.wikipedia.org; Knowledge management, s intereneta:

http://en.wikipedia.org/wiki/Knowledge_management, zadnji pristup: 2010-04-17

[8] Maurer, M.; Brandic, I.; Emeakaroha, V. & Dustdar, S. (2010). Towards Knowledge

management in self-adaptable Clouds, Proccedings of 6th World Congress on Services,

(527-534), 978-0-7695-4129-7, Miami, Florida, Srpanj 2010.

Page 66: upravljanje znanjem u samoprilagodljivim cloud sustavima

63

[9] (FOSII) – Foundations of self-governing ICT Infractures, s interneta:

http://www.infosys.tuwien.ac.at/linksites/FOSII, zadnji pristup: 2010-07-18

[10] www.it-tude.com; SLA monitoring and evaluation, s interneta: http://www.it-

tude.com/slamonitoring-evaluation.html, zadnji pristup:2010-08.05

[11] What is a rule-based system?,

s interneta: http://www.j-paine.org/students/lectures/lect3/node5.html,

zdanji pristup: 2010-08-15

[12] Drools, s interenta: http://jboss.org/drools, zadnji pristup: 2010-08-15

[13] Antoniou, G. (1999). A tutorial on default logics, ACM Computing Surveys, Volume 31,

Issue 4, (Prosinac 1999), (337-359), 0360-0300

[14] Levesque, H.; Pirri, F. & Reiter, R. (1998). Foundations for the situation calculus.

Electronic Transactions on Artificial Intelligence, Volume 2, Issue 3-4, (159-178),

1401-9841

[15] Aamodt, A. & Plaza, E. (1994). Case-based reasoning: Foundational issues,

methodological variations, and system approaches. AI Communications, Volume 7,

Issue 1, (Oţujak 1994), (39-59), 0921-7126

[16] FreeCBR, s intereneta: http://freecbr.sourceforge.net, zadnji pristup: 2010-26-06

[17] Stipaničev, D. (2009). Umjetna inteligencija, materijali s predavanja, Sveučilište u

Splitu, FESB, Split