Вы находитесь на странице: 1из 10

EKONOMSKI FAKULTET SUBOTICA

UNIVERZITET U NOVOM SADU

DISTRIBUIRANO RAČUNARSTVO I KLIJENT-SERVER


ARHITEKTURA
Seminarski rad iz predmeta Metode Razvoja Software-a

Nenad Mirkov
M506/2009

Subotica, novembar 2009.


Distribuirano računarstvo i klijent/server arhitektura 2009

SADRŽAJ

1. POJAM DISTRIBUIRANOG RAČUNARSTVA ...................................................2


2. NASTANAK I RAZVOJ DISTRIBUIRANOG RAČUNARSTVA ..............................3
3. KLIJENT SERVER ARHITEKTURA ...................................................................6
3.1 BAZE PODATAKA U KLIJENT SERVER ARHITEKTURI ................................8
4. ZAKLJUČAK ..................................................................................................9

[1]
Distribuirano računarstvo i klijent/server arhitektura 2009

1. POJAM DISTRIBUIRANOG RAČUNARSTVA

Iako razvoj personalnih računara neprekidno raste, te se procesorske snage multipliciraju u


veoma kratkim vremenskim intervalima, zahtevi za računarskom snagom i memorijskim
kapacitetima mnogi naučnih i tehničkih problema je takva da bi njihova obrada vrlo često
premašila neko smisleno vremensko trajanje, čak i na veoma modnim i savremenim radnim
stanicama i serverima.

Bez obzira na eksponencijalni rast računarske tehnologije, potrebe se mogu jedino zadovoljiti
novim paralelnim i distribuiranim načinom, što dovodi do spajanja više procesora u paralelan
rad (nastanak superračunara), koja imaju veliku ulogu kod ubrzanog razvoja nauke, tehnike i
tehnologije uz primenu analitičkih i simulacijskih metoda, te oblikovanja složenih modela u
raznim područjima. Jedan od faktora nastanka i realizacije ideje o distribuiranom računarstvu je
svakako i uočena neiskorištenost procesorskih i memorijskih snaga i resursa kod personalnih
korisnika. Dakle ako uzmemo primer jedne kompanije koja zapošljava veliki broj radnika od
kojih određeni broj svoje računare koristi isključivo za pisanje izveštaja, i kontaktiranje klijenata,
jasno je da postoji ogroman broj radnih sati koje ti procesori provedu u svom radnom veku
nepotpuno iskorišteni.

Uvođenjem lokalnih (LAN) a zatim i raširenih (WAN) računarskih mreža komunikaciona


tehnologija je postala temelj koncepta distribuiranog računarstva. Ovaj koncept se zasniva na
pojmu distriburanog sistema (slika 1) kojeg čine mnoštvo autonomnih računara koji su
povezani preko globalne računarske mreže. Računarski program koji se pokrede u
distribuiranom sistemu se nazive distribuirani program1.

PROCESOR

MEMORIJA
PROCESOR

MEMORIJA

PROCESOR
PROCESOR

MEMORIJA
MEMORIJA
Slika 1. Distribuirani sistem

1
Andrews, Gregory R. (2000), Foundations of Multithreaded, Parallel, and Distributed Programming

[2]
Distribuirano računarstvo i klijent/server arhitektura 2009

Distribuirano računarstvo se primenjuje kod rešavanja kompleksnih računara koji bi inače


zahtevali primenu superkompjutera. Na ovaj način se doniranjem neiskorištenih procesorskih
snaga umreženih personalnih računara putem interneta postiže sličan efekat. Distribuirano
računarstvo razbija kompleksne probleme u manje korake koje hiljade, pa čak i milioni mašina
rešavaju istovremeno da bi se postigao zajednički cilj.

Distribuirano računarstvo nije pogodno za sve kompjuterske zadatke. Međutim, dosadašnji


eksperimenti su dokazali da kada je reč o takozvanim brutalnim kalkulacijama ono ne samo da
funkcioniše, ved i nadmašuje potrebe.

Neke od tipičnih karakteristika distribuiranog računarstva su2 :

Struktura sistema (topologija mreže i slično) je nepoznata unapred i skalabilna tokom


izvršavanja distribuiranog programa.
Sistem se može sastojati od potpuno različitih konfiguracija računarskih mreža i
operativnih sistema na kojima se distribuirani program pokrede
Sistem mora da trpi neuspehe na svojim čvorovima.

2. NASTANAK I RAZVOJ DISTRIBUIRANOG RAČUNARSTVA

Distribuirano računarstvo je nastalo kao svojstveni pojam, razvojem projekta SETI@home


1997. godine. SETI (Search for Extra-Terrestrial Intelligence) je jedan veliki projekat koji
obuhvata sve aktivnosti usmerene ka detekciji bilo kakvih radio signala koji potiču od nekog
inteligentnog oblika života, van naše planete.

Slika 2. Projekat SETI@home

Količina podataka koju prikupljaju radio teleskopi je ogromna, a vreme koje je bilo potrebno za
njihovu obradu je bilo predugo. Superkompjuteri su ved bili zauzeti drugim projektima pa je bilo
potrebno obezbediti dovoljan broj računara za obradu prikupljenih podataka. Projekat je

2
http://en.wikipedia.org/wiki/Distributed_computing#CITEREFAndrews2000

[3]
Distribuirano računarstvo i klijent/server arhitektura 2009

započeo izradom distribuiranog programa u obliku screen saver-a, obzirom da je „vreme


spavanja“ upravo odličan trenutak kada bi se mogli iskoristiti resursi umreženih računara.
Interesantan je bio momenat reakcije javnosti kada se saznalo za ovaj projekat. Vekovima stara
ljduska želja za potragom za vanzemaljcima odigrala je ovog puta ulogu. Ogroman broj korisnika
interneta instalirao je ovaj program i učestvovao u obradi SETI podataka. Ovo nije bio prvi
projekat ovakve vrste, dobrovoljnog ustupanja procesorskog vremena, ali sigurno je bio
najpopularniji i najmasovniji. Postavio je i osnove za dalji razvoj mnogih sličnih projekata za
različite namene (fizika elemenarnih čestica, klimatologija, genetika, medicina). Zbog problema
sa održavanjem i finanisranjem nekoliko godina nakon nastanka, nekoliko miliona korisnika i
verovatno milijardi obrađenih paketida podataka, 15. decembra 2005 godine originalni projekat
SETI@home je ugašen.

U slededoj fazi, razvijen je još jedan projekat mrežnog računarstva - distributed.net 3, što je prvi
program koji je zaista napravio uspeh. Njegovo glavno dostignude je što je uspešno krekovao
RC5 64-bitni šifrovani algoritam RSA Laboratorije, i to za 1,757 dana uz pomod više od 300,000
personalnih kompjutera. Ova vest je dala još više nade u svet distribuiranog računarstva,
zajedno sa slededim velikim izazovom.

Slika 3 Jedan krug (dva polukruga) RC5 blok šifre

3
http://www.distributed.net/

[4]
Distribuirano računarstvo i klijent/server arhitektura 2009

Folding@home
Posle uspeha gore navedenih projekata nastaje i poslednji u nizu internet projekat Univerziteta
Stanford pod imenom Folding@home 4. Misija Folding@Home bila je da stvori sistem koji de
proučavati kako se proteini "savijaju". Fundamentalni biološki procesi zasnivaju se na tome
kako se proteini savijaju. Tu i tamo, proteini se nepravilno saviju, što izaziva sijaset bioloških
poremedaja, od Parkinsonove bolesti do raka. Uz pomod distribuiranog računarstva naučnici de
modi da analiziraju podatke o savijanju proteina tako što de razbiti različite delova tog procesa i
zadatke podeliti raspoloživim procesorima. Trenutno više od 100,000 kompjutera pomaže da se
"reši misterija kako se proteini savijaju".

Slika 4 Savijanje proteina

Distribuirano računarstvo daje doprinos istraživanju koje po prvi put može da utiče na živote
mnogih ljudi. Kada naučnici budu imali dovoljno podataka o tome kako se i zbog čega proteini
savijaju, tada de modi da te podatke upotrebe u potrazi za uspešnim lečenjem najtežih bolesti.
Što pre se ti podaci prikupe, pre demo modi da vidimo opipljive rezultate na delu. Tehnološka
zajednica oduvek je podržavala ovakve napore, međutim razvojem modnih konzola namenjenih
prvenstveno igranju igrica i kudnih multimedijalnih sistema otvorila su se vrata za širenje
distribuiranog sistema i na ove segmente (Sony je prodao više od 70 miliona PlayStation 2s).

4
http://folding.stanford.edu/

[5]
Distribuirano računarstvo i klijent/server arhitektura 2009

3. KLIJENT – SERVER ARHITEKTURA

Nastanak i razvoj računarskih mreža omogudio je međusobno komuniciranje računara pomodu


neke stalne ili privremene veze. Za umrežavanje više računara potreban je poseban hardver, ali
i softver, te poznavanje načina umrežavanja. Umrežavanje podrazumeva ostvarivanje veze u
cilju razmenjivanja resursa, ideja ili informacija između dve tačke. Povezivanje računara se, osim
pomodu kablova, može ostvariti i bežično preko radio tehnike.

Sve današnje mreže su na neki način bazirane na Open Systems Interconection standardu (slika
5). OSI je razvijen 1984. godine od strane International Organization for Standardization (ISO)
koja je predstavljala otprilike 130 država. Srž se sastoji od OSI referentnog modela, skupa
sedam slojeva koji određuje različite etape kroz koje podaci moraju prodi od jednog uređaja do
drugog u nekoj računarskoj mreži.

Slika 5 - OSI model po kom su bazirane računarske mreže

Klijent/server model je baziran na distribuciji funkcija između dva tipa nezavisnih i autonomnih
procesa: servera i klijenta. Klijent je bilo koji proces koji zahteva specifične usluge od server
procesa. Server je proces koji obezbeđuje usluge za klijenta. Klijent i server mogu biti smešteni
u istom računaru ili u različitim računarima povezanim preko mreže.

Kod klijent/server arhitekture korisnik odnosno klijent i server su najčešde odvojeni i


neravnopravni što je ujedno i najbitnija razlika između klijent/server i peer to peer (od čvora do
čvora) arhitektura. P2P mreže se uglavnom koriste za deljenje podataka, video i audio zapisa i
slično. Pokredu ih posebno napisani računarski programi za peer to peer komunikaciju. Kao
primer klijent/server odnosa možemo navesti sledede: korisnik šalje zahtev za stanjem svog
tekudeg računa serveru banke preko interneta. Serverski program zatim može isti taj zahtev
proslediti svom klijentskom programu koji ga dalje prosleđuje serveru neke druge banke gde se
nalaze podaci o klijentu. Zatim se nakon lociranja podataka, odgovor šalje istim putem nazad do

[6]
Distribuirano računarstvo i klijent/server arhitektura 2009

korisnika, koji na ekranu dobija tražene podatke. Obzirom da zahtevi mogu stidi od strane više
korisnika u istom trenutku, računari na kojima se izvršavaju serverski programi po pravilu
moraju biti stabilne i jake mašine. Na slici 6 je dat prikaz obe navedene arhitekture računarskih
mreža.

Slika 6 - Arhitekture računarskih mreža. Klijent/server (levo) i P2P (desno)

Da bi ovaj vid komunikacije bio uspešan neophodno je da i klijent i server zadovolje određene
funkcije. Definišimo ih5 :

Klijent je bilo koji proces koji zahteva usluge od serverovog procesa. Klijent započinje
konverzaciju sa serverom. Klijent sadrži hardverske i softverske komponente i poželjno je da
one poseduju sledede karakteristike:

 Ne toliko snažan hardver


 Operativni sistem koji je sposoban da podrži multitasking
 Grafički korisnički interfejs (GUI – Graphic User Interface)
 Komunikacione sposobnosti

Server je bilo koji proces koji obezbeđuje servise za klijente. On je reaktivan jer uvek čeka na
zahteve klijenta. Posmatrano sa strane usluga koje pružaju klijentima tipični su slededi servisi:

 File servisi koji služe za upravljanje datotekama. Klijent povezan na mrežu može
pamtiti datoteke na file serveru kao da je to njegov lokalni disk. Kada klijent zahteva
podatke iz neke datoteke, File server mu prosleđuje celu datoteku koju klijent dalje
pretražuje i obrađuje.

5
http://www.postfest.ptt.yu/savetovanje98/PavicevicVL98.html

[7]
Distribuirano računarstvo i klijent/server arhitektura 2009

 Print servisi, koji se obezbeđuju tako što se jedan ili više štampača povežu preko
nekog računara sa klijentima. Klijent može pristupiti bilo kom štampaču kao da je
direktno povezan sa njim. On šalje serveru podatke koje treba odštampati, podaci se
privremeno smeštaju na disk servera odakle se potom šalju na odgovarajudi
štampač.
 Faks servisi, pri čemu je najmanje jedan server opremljen (internim ili eksternim)
faks uređajem. Klijent ne mora imati faks ili čak ni telefonsku liniju, ved on predaje
faks serveru podatke koje treba poslati zajedno sa imformacijom kome ih treba
poslati, a server sam obavlja prenos podataka faksom.
 Komunikacioni servisi dozvoljavaju klijentima koji su povezani na komunikacioni
server, da pristupe drugim host računarima ili serverima za koje nisu direktno
povezani.
 Serveri baza podataka čine najširu i dosta uspešnu klijent/server implementaciju. U
ovom slučaju klijent šalje SQL zahtev serveru; server prima zahtev, potvrđuje ga,
izvršav i šalje rezultat klijentu. Podaci i softver za upravljanje podacima se nalaze na
serveru baze podataka. Od klijenta se zahteva samo da ima čeonu aplikaciju za
pristup serveru baze podataka.
 Transakcioni servisi se sastoje od baze podataka, sistema za upravljanje bazom
podataka (DBMS – DataBase Managment System) i procedura za manipulaciju
podacima. Čeona aplikacija na klijentu šalj zahteve transakcionom serveru na kome
se izvršavaju specijalne procedure koje koje su instalirane na njemu. SQL kod ne
putuje kroz mrežu čime je redukovan mrežni saobradaj pa ovaj server ima bolje
performanse od servera baze podataka.
 Raznovrsni servisi koji uključuju CD-ROM, video i dr.

3.1 Baze podataka u klijent server arhitekturi

Database menagment system (DBMS) se nalazi u centru svih klijent/server sistema koji
se koriste danas. Da bi klijent/server radio kako treba DBMS mora da obezbedi:
transparentan pristup podacima za različite klijente bez obzira na hardver, softver i
mrežnu platformu koju koristi klijent aplikacija, da dozvoli klijent zahteve prema
serveru baze podataka (uključujudi SQL zahteve) kroz mrežu, obradu klijent zahteva za
podacima u lokalnom serveru i da se klijentu šalju samo podaci koji se dobijaju kao
rezultat obrade njegovog zahteva.
Klijent/server DBMS oslobađa klijenta od lokalne obrade. To redukuje mrežni
saobradaj zato što se klijentu vradaju samo one kolone koje odgovaraju upitu. Zbog
toga je klijent računar slobodan da za to vreme radi druge poslove. Klijent/server
DBMS se razlikuje od ostalih DBMS-a po mestu gde je obrada smeštena i koji podaci se
šalju kroz mrežu do klijent računara.

[8]
Distribuirano računarstvo i klijent/server arhitektura 2009

4. ZAKLJUČAK

Napredak i razvoj informaciono komunikacionih tehnologija (ICT) imao je za posledicu nastanak


mnogih koncepata koji utiču na čovekov svakodnevni život, pružajudi neverovatne mogudnosti u
razvoju svih grana moderne nauke, koje su do skora bile skoro nezamislive. Koncepti poput
paralelnog i distribuiranog računarstva nagoveštavaju nam kakve sve tehnologije možemo
očekivati u skoroj bududnosti daljim progresivnim razvojem ICT-a. Primer tome je i 3C
(Computing Communication Collaboration) integracija, što dovodi do tehnologije teleprisutnosti
(teleimmersion). To je sastav virtualne realnosti koji se u potpunosti ostvaruje u okolnostima
grid infrastrukture.

Naravno stalni napredak na polju klijent/server arhitektura i implementacija konkretnih servisa


skraduje vreme koje je bilo potrebno za razmenu informacija između stranaka, i pozitivno utiče
na poslovanje kako poslovnih tako i kudnih korisnika.

[9]

Вам также может понравиться