01.Blogs :
bogo  
Some of my work and my projects is presented in this blog.

the abstract of my project

CAPITOLUL 1: ELEMENTE DE GRID COMPUTING

 

Obiectivul principal al grid computingului este acela de a transforma reţeaua mondială de sisteme de calcul (procesoare, sisteme de stocare a datelor, date, senzori etc.) într-o vastă resursă computaţională a cărei putere de calcul să fie oferită utilizatorilor, în aceeaşi manieră în care serviciile reţelei de electricitate sunt oferite clienţilor acesteia. Gridul îşi propune să furnizeze [7] infrastructura şi mijloacele care fac posibilă partajarea pe scară largă, sigură a resurselor, dar şi o putere de procesare impresionantă.

Gridul reprezintă o infrastructură hardware şi software capabilă să furnizeze acces dependabil, consistent, universal şi ieftin la resurse de calcul. Vorbim despre o infrastructură deoarece gridul presupune, în primul rând, reunirea de resurse: cicluri CPU, date, senzori sau persoane. Drept urmare este nevoie de o infrastructură hardware semnificativă pentru a realiza conexiunea între resursele menţionate şi o infrastructură software utilizată în scopul monitorizării şi controlului ansamblului obţinut.

 

Marile realizări [3] în cadrul Gridului sunt următoarele:

·        Existenţa unui mediu de dezvoltare a aplicaţiilor Grid, sub forma resursei gratuite Globus Toolkit.

·        Existenţa unui model arhitectural  OGSA (Open Grid Services Architecture) care defineşte noţiunea de serviciu Grid, plecând de la noţiunea de serviciu web şi concepe mediul grid ca o colecţie de astfel de servicii, conferind astfel mediului grid avantajele unei arhitecturi orientate pe servicii (SOA – Service Oriented Architecture). Marile companii ale momentului (IBM, Microsoft, Platform, Sun etc) şi-au exprimat suportul pentru acest model. Principalul deziderat este: pentru ca o entitate să poată fi parte a unui grid, atunci aceasta trebuie să implementeze protocoalele OGSA InterGrid, la fel cum pentru ca un sistem de calcul să aparţină Internetului, trebuie să aibă o adresă IP.

·        Existenţa grupului Global Grid Forum care încearcă crearea unor standarde.

Conceptul de partajare controlată, dinamică în cadrul organizaţiilor virtuale (VO) este fundamental. Abordările curente ale calculului distribuit nu oferă un cadru general de partajare a resurselor care să adreseze cerinţele VO. Tehnologiile grid se disting oferind această abordare generică asupra partajării resurselor. Această situaţie favorizează aplicarea tehnologiilor grid.

Din punctul de vedere al arhitecturii gridului, problema de faţă este privită în literatura de specialitate din două puncte de vedere:

·        Structural (anatomic) – se identifică componentele structurale ale mediului

·        Funcţional (fiziologic) – se identifică funcţiile componentelor mediului grid şi relaţiile dintre acestea.

 

Problemele întâmpinate de grid sunt atât de natură tehnică, dar şi socio-politică. Provocările tehnice includ dezvoltarea mai multor medii pentru crearea aplicaţiilor grid, inexistenţa serviciilor de nivel înalt, îmbunătăţirea securităţii atât la nivel funcţional, cât şi general şi nu în ultimul rând, inexistenţa unor standarde. Cele socio-politice au de-a face cu formarea mai multor comunităţi de utilizatori şi dezvoltatori grid, atragerea fondurilor pentru proiecte grid.

 

CAPITOLUL 2: SECURITATEA ÎN MEDIUL GRID

 

Securitatea încapsulează  atribute ca autentificarea, confidenţialitatea  şi integritatea, necesitând existenţa simultană a 1) disponibilităţii doar pentru acţiuni autorizate, 2) confidenţialităţii, şi 3) integrităţii, în sensul absenţei neautorizate a defectării sistemului.

Arhitectura de securitate grid se regăseşte implementată în Grid Security Infrastructure [23]. Motivaţiile care stau la baza Infrastructurii de Securitate Grid (Grid Security Infrastructure, GSI) sunt:

·        Necesitatea unei comunicaţii sigure (autentificabile şi confidenţiale) între elementele unui grid computaţional.

·        Necesitatea implementării securităţii între diferite organizaţii virtuale.

·        Facilitatea de „single sign-on” pentru utilizatorii unui grid, inclusiv delegarea credenţialelor pentru calcule care implică resurse multiple.

Un concept central al autentificării în Infrastructura de Securitate Grid, este acela de certificat. Fiecare utilizator şi serviciu din grid este identificat via un certificat care conţine informaţie vitală pentru identificarea şi autentificarea unui utilizator sau a unui serviciu. Dacă două sisteme au certificate şi ambele sisteme au încredere în Autorităţile de Certificare care le-au semnat certificatele, atunci cele două sisteme îşi pot demonstra reciproc că sunt ceea ce pretind a fi. Acest mecanism este cunoscut sub denumirea de autentificare mutuală. GSI foloseşte Secure Sockets Layer (SSLv3) ca protocol de autentificare mutuală, fiind descris în cele ce urmează. De menţionat că SSL este cunoscut şi sub denumirea IETF ca Transport Layer Security sau TLS.

Cerinţele de securitate în mediile grid sunt impuse de faptul că trebuie să se asigure suport pentru organizaţii virtuale dinamice, distribuite şi scalabile. Dintr-o perspectivă a securităţii, un atribut cheie al organizaţiilor virtuale este acela că participanţii şi resursele sunt guvernate de reguli şi politici ale organizaţiilor clasice la care sunt membri.

Arhitectura de securitate grid este definită de protocoalele care sunt folosite în interacţiunile dintre entităţile sitemului [5]. Interacţiunile de bază posibile între entităţi sunt:

·        Alocarea unei resurse de către utilizator

·        Alocarea unei resurse de către un proces

·        Comunicarea între procese aflate în domenii diferite de încredere.

Modelul de securitate al arhitecturii orientate spre servicii tratează funcţiile de securitate ca şi servicii OGSA. Această strategie permite definirea unor protocoale şi interfeţe pentru servicii, dar şi atingerea securităţii de către o aplicaţie prin folosirea unui serviciu de securitate cu o anumită implementare.

Globus Toolkit 4 prezintă mecanisme de securitate atât la nivel de transport, cât şi la nivel de mesaj. Infrastructura de Securitate Grid poate fi înţeleasă ca fiind compusă din următoarele patru funcţii distincte: protecţia mesajelor, autentificare, delegare şi autorizare. Pentru a se asigura existenţa acestor funcţii, sunt folosite implementări a unor standarde diferite.

GSI a avut implementată autentificarea şi delegarea prin folosirea certificatelor X.509 şi a cheilor publice. Începând cu Globus Toolkit 4, Infrastructura de Securitate Grid suportă autentificare prin intermediul opţiunii de nume utilizator/parolă.

CAPITOLUL 3: ELEMENTE DE DEPENDABILITATE ÎN MEDIUL 

        GRID

 

Dependabilitatea unui sistem este capacitatea de a evita eşecuri de servicii care sunt mai frecvente şi mai severe decât este acceptabil.

Un element cheie care apare în cadrul sistemelor grid, este acela că aplicaţiile pot fi compuse dintr-o multitidine de servicii autonome, fiecare dintre acestea având posibilitatea să se execute pe staţii diferite, sub controlul unor organizări diferite. În acest context, nu putem oferi garanţii referitor la rezultatul produs de anumite resurse (acest rezultat poate fi în mod inteţionat alterat), la fiabilitatea unor servicii sau la performanţa pe care se presupune că o au [30]. Una dintre principalele provocări în dependabilitatea grid, este abilitatea de a tolera defecte şi posibilitatea recoverului (ideal, într-o manieră transparentă), datorită faptului că middlewareul grid încă nu are prevăzute capacităţi de toleranţă la defecte.

Un model al ameninţărilor este folosit pentru a descrie o anumită ameninţare şi consecinţele pe care le-ar avea asupra sistemului dacă acesta ar avea o vulnerabilitate.

Modelul ameninţărilor [32] poate fi împărţit după cum urmează:

1.      Ameninţări la adresa resurselor grid atunci când datele/aplicaţiile sunt într-o stare necritică.

2.      Ameninţări la adresa resurselor grid atunci când datele/aplicaţiile sunt într-o stare critică.

3.      Ameninţări din partea grid.

Toleranţa la defecte este o modalitate foarte importantă de a atinge dependabilitatea în reţelele grid deoarece dependabilitatea resurselor grid individuale nu poate fi garantată. Există posibilitatea unei îmbunătăţiri a modelelor de defecte prezente în grid şi totodată a metodelor de oferire a toleranţei la defecte a aplicaţiilor grid. Aceste metode vor furniza protecţie atât împotriva serviciilor malicious, cât şi a celor ce pot produce o eroare.

 

 

CAPITOLUL 4: DESCRIEREA APLICAŢIEI

 

În cadrul aplicaţiei s-a utilizat Java Commodity Kit (Java COG). Commodity Grid Kit este modalitatea Globus de a integra uneltele Globus în platformele existente, care permit utilizatorilor să folosească funcţionalităţile Globus Toolkit în codul lor fără apelare la scripturi şi în anumite cazuri fără a avea Globus instalat. Commodity Kit sunt disponibile pentru Java, Pythin, CORBA, Perl şi Matlab.

Java Commodity Kit este o extensie a bibliotecilor şi claselor Java care oferă funcţionalitate Globus Toolkit şi oferă o implementare Java a facilităţilor Globus [24].

O primă facilitate a aplicaţiei este aceea de a crea un proxy într-un format care este utilizat în Globus Toolkit. În acest sens se foloseşte clasa CoGProperties care oferă modalitatea de accesare a fişierului cog.properties, unde sunt stocate toate locaţiile fişierelor.

 

CoGProperties properties = CoGProperties.getDefault();

String proxyFile = properties.getProxyFile();

String keyFile = properties.getUserKeyFile();

String certFile = properties.getUserCertFile();

Cheia privată este criptată în keyFile. Utilizând bibliotecile Open SSL, se poate obţine cheia privată  şi descripta oferind o parolă. Cheia publică CA poate fi încărcată utilizând clasa CertUtils.

Pentru a crea proxyul se va crea un nou certificat utlizând cheia privată. Acest certificat este marcat ca fiind un proxy şi are un timp de viaţă. Se foloseşte o variabilă pentru a genera un proxy compatibil GT3 sau GT2.

Pentru a regăsi credenţialele de la un proxy existent pentru a fi utlizate în aplicaţie, trebuie încărcat fişierul proxy. Acesta poate fi localizat folosind fişierul cog.properties sau doar specificând numele fişierului.

Distrugerea unui proxy se realizează prin ştergerea fişierului aferent.

Java CoG Kit oferă pachetul org.globus.ftp pentru a efectua operaţii FTP şi GridFTP. Este în fapt o implementare a protocolului GridFTP. Folosind proxyul prezentat anterior se recurge la transferul unor fişiere prin protocolul GridFTP. Pentru a transfera un fişier de la un server la altul este necesară crearea unui client pe fiecare server.

Se vor citi credenţialele din fişierul proxy. Pentru autentificare este necesar un obiect GSSCredential, astfel încât trebuie schimbat obiectul GlobusCredential la GSSCredential, proces în care se utilizează DEFAULT_LIFETIME. Când se creeează GridFTPClient este necesar a fi utilizat portul GridFTP, care implicit este 2811. Autentificarea este realizată folosind metoda authenticate() căreia i se pasează GSSCredentials.

Când se transferă un fişier de la un client local la un server sau de la un server la client, trebuie furnizată o interfaţă locală la mediul de stocare a fişierului. Pentru a expedia un fişier la server trebuie interfaţa la fişierul local. Acest lucru se poate realiza cu interfaţa DataSource. Când se recepţionează un fişier de la un server trebuie oferită o interfaţă locală la fişierul unde se vor scrie datele.

 

 

 CAPITOLUL 5: CONCLUZII

 

Pentru a avea un grid de succes, trebuie să existe în primul rând griduri funcţionale. Eforturile pentru obţinerea unei funcţionalităţi sunt demne de luat în calcul, drept pentru care o primă problemă de rezolvat este funcţionalitatea.

Gridul nu va fi folosit pe scară largă decât în momentul în care securitatea în termeni de acces, comunicaţii, criptare este disponibilă. Se preconizează [14] că acesta este cel mai vulnerabil punct al gridului, deoarece chiar dacă există infrastructura Grid Security Infrastructure (GSI), aceasta nu rezolvă decât autentificarea cu un sistem, celelalte probleme legate de atingerea securităţii [6], inclusiv aspecte ale autorizării, rămânând încă nerezolvate.

O altă problemă majoră este inexistenţa unor standarde. Aceasta se poate observa nu numai în necesitatea unor protocoale comune (ca cele de tipul TCP/IP sau API), dar şi impunerea unei taxonomii. Există totuşi organizaţii al căror obiect este standardizarea (Global Grid Forum, Peer-toPeer Working Group, New Productivity Initiative etc.), dar întrebarea este: care dintre standardele acestor organizaţii se va impune?

O altă calitate pe care ar trebui să o aibă sistemele grid, ar fi facilitatea instalării. În prezent, instalarea puţinelor unelte software este deosebit de anevoioasă, drept pentru care a convinge noi utilizatori de necesitatea gridului va fi cel puţin greu.

 


 

 

 

 

posted on Tuesday, May 30, 2006 10:01 PM by bogo


 
03.UPDATE CALENDAR :
<May 2006>
SunMonTueWedThuFriSat
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

05.MY LINKS :

07.Subscriptions :

Subscriptions


© Copyright 2005 Microsoft Corporation. All Rights Reserved.
Terms of Use | Privacy Statement | Code of Conduct | Hosted by MaximumASP for Microsoft
WHO-BAR