Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

PÁRHUZAMOS ARCHITEKTÚRÁK – 9 IINTELLIGENS HÁLÓZATOK Németh Gábor

Hasonló előadás


Az előadások a következő témára: "PÁRHUZAMOS ARCHITEKTÚRÁK – 9 IINTELLIGENS HÁLÓZATOK Németh Gábor"— Előadás másolata:

1 PÁRHUZAMOS ARCHITEKTÚRÁK – 9 IINTELLIGENS HÁLÓZATOK Németh Gábor
2014 Németh Gábor: Párhuzamos architektúrák

2 IGÉNYVEZÉRELT MODELL - 1
Egy számítógépekből és intelligens kapcsolókból álló hálózat egyik csomópontján beadunk egy végrehajtandó feladatot. A számítógép a feladatot egyszerűbb részfeladatokra bontja és ezek végrehajtását kéri szomszédos csomópontoktól. A csomópont vár az általa kiadott részfeladatok eredményére és azokat feldolgozva a részeredményt felküldi az őt kérő csomópontnak. 2014 Németh Gábor: Párhuzamos architektúrák

3 IGÉNYVEZÉRELT MODELL - 2
A számítógépeknek és kapcsolóknak csak közvetlen szomszédaikat kell ismerniük. A program csak a MIT ? kérdéssel foglalkozik. PÉLDA: z := [(a + b) * (c - d)] + [e / (f + g)] Végrehajtása: 2014 Németh Gábor: Párhuzamos architektúrák

4 IGÉNYVEZÉRELT MODELL - 3
Intelligens kapcsolók és processzorok esetén a rendszer automatikusan alkalmazkodik a tényleges konfigurációhoz, melyet a felhasználónak nem kell ismernie (és elég nagy rendszer esetén elvileg sem képes ismerni). INTELLIGENS HÁLÓZAT A konfiguráció dinamikusan változhat: 2014 Németh Gábor: Párhuzamos architektúrák

5 IGÉNYVEZÉRELT MODELL - 4
Homogén struktúrával – a feldolgozó csomópontok képességein belül – minden feladat megoldható. Gyakorlati okokból sokszor használunk inhomogén hálózatot (például a nagykiterjedésű, de inhomogén struktúrájú távközlési hálózatba (általában eltérő képességű) számítógépeket teszünk be. Olcsóbb 2014 Németh Gábor: Párhuzamos architektúrák

6 IGÉNYVEZÉRELT MODELL - 5
Statikus feladat-hozzárendelést valósít meg. (A csomópont leveszi a hozzáérkező feladatból az erőforrásai által végrehajtható részt és a feladat maradó részét továbbküldi szomszédjának.) Nincs garancia arra, hogy minden feladat felülről korlátos időn belül végrehajtódik (zsákutca)! Csak előre meghatározott feladatok megoldására alkalmas. Mind a homogén, mind az inhomogén intelligens hálózat operációs rendszere a mozgó ügynök elven alapul. 2014 Németh Gábor: Párhuzamos architektúrák

7 Németh Gábor: Párhuzamos architektúrák
MOZGÓ ÜGYNÖK ELV - 1 A mozgó ügynök egy program, mely autonóm módon képes feldolgozó csomópontról-csomópontra vándo- rolni valamilyen feldolgozás végrehajtása érdekében. Egy ügynök alkalmazás meghatározza az ügynök fela- datát, beviszi a hálózatba és lehetővé teszi számára, hogy vándoroljon a hálózatban és visszatérjen forrás csomópontjára az eredmények szolgáltatására. Egy ügynök a hálózatban vagy előre rögzített, vagy dinamikusan, a begyűjtött információ alapján megál- lapított útvonalon mozoghat. 2014 Németh Gábor: Párhuzamos architektúrák

8 Németh Gábor: Párhuzamos architektúrák
MOZGÓ ÜGYNÖK ELV - 2 A mozgó ügynök elv az igényvezérelt architektúra egy konkrét megvalósítása. Jól illeszkedik a nagy és/vagy gyors elosztott rendszerek alkalmazási problémáihoz. Jól illeszkedik az objektum-orientált programozási paradigma továbbfejlesztett változatához (ahol az üzeneteket is önálló objektumoknak tekintjük). 2014 Németh Gábor: Párhuzamos architektúrák

9 Németh Gábor: Párhuzamos architektúrák
MOZGÓ ÜGYNÖK ELV - 3 DEFINÍCIÓ: egy mozgó ügynök egy felhasználót kép- viselő olyan program, mely egy hálózatban feldolgozó csomópontról-csomópontra autonóm módon mozoghat, a felhasználó számára valamilyen feldolgozás végrehaj- tása érdekében. A mozgó ügynökök alapvető típusai: információs ügynökök, együttműködési ügynökök és tevékenységi ügynökök. 2014 Németh Gábor: Párhuzamos architektúrák

10 Németh Gábor: Párhuzamos architektúrák
MOZGÓ ÜGYNÖK ELV - 4 Összehasonlítás az ügyfél-kiszolgáló modellel: Az ügyfél-kiszolgáló (client-server) modellben a kommunikáció kéréseken és válaszokon keresztül valósul meg; a hálózatban oda-vissza végig kell haladnia a kommunikációnak; nagymértékben lefoglalja a hálózatot. kommunikáció a hálózattal kérés ügyfél kiszolgáló válasz 2014 Németh Gábor: Párhuzamos architektúrák

11 Németh Gábor: Párhuzamos architektúrák
MOZGÓ ÜGYNÖK ELV - 5 Általános esetben kérés-válasz sorozatokat kell használni: 1. kérés ügyfél kiszolgáló 2. válasz Nagy kommunikációs forgalmat (terhelést) jelenthet a hálózat számára! 2014 Németh Gábor: Párhuzamos architektúrák

12 Németh Gábor: Párhuzamos architektúrák
MOZGÓ ÜGYNÖK ELV - 6 Az ügyfél-kiszolgáló modellnek két alapvető változata van: REV (Remote EValuation) (általános alkalmazások esetén előnyösebb); COD (Code On Demand) (dedikált - gyakran ismétlődő - alkalmazások esetén előnyösebb). 2014 Németh Gábor: Párhuzamos architektúrák

13 Németh Gábor: Párhuzamos architektúrák
MOZGÓ ÜGYNÖK ELV - 7 REV (Remote EValuation - távoli kiértékelés) Eredetileg az ügyfélnél van a program kód, az erőforrások pedig a távoli kiszolgálónál vannak. A program kódot elküldjük a távoli kiszolgálónak és az a kód végrehajtása után az eredményeket visszaküldi az ügyfélnek. program kód ügyfél kiszolgáló eredmények számítási felhők 2014 Németh Gábor: Párhuzamos architektúrák

14 Németh Gábor: Párhuzamos architektúrák
MOZGÓ ÜGYNÖK ELV - 8 COD (Code On Demand - program kód igény szerint) A program kód a távoli kiszolgálónál van, míg az erőforrások az ügyfélnél vannak. Az ügyfél kérést küld a kiszolgálónak; válaszul a távoli kiszolgáló átküldi az ügyfélnek a program kódot, és az ügyfél azt végrehajtja. kérés ügyfél kiszolgáló program kód 2014 Németh Gábor: Párhuzamos architektúrák

15 Németh Gábor: Párhuzamos architektúrák
MOZGÓ ÜGYNÖK ELV - 9 A felhasználó kommunikációja lényegesen kisebb lehet a hálózattal mozgó ügynök használata esetén: lokális kom- munikáció kérés mozgó ügynök kiszolgáló kérés ügyfél válasz válasz DE ne felejtsük el, hogy a mozgó ügynök egy program, melynek kódját is át kell küldeni a hálózat valamelyik csomópontjának és ez hosszú időt vehet igénybe! 2014 Németh Gábor: Párhuzamos architektúrák

16 Németh Gábor: Párhuzamos architektúrák
MOZGÓ ÜGYNÖK ELV - 10 Egy mozgó ügynök tartalma: program kód, adat, végrehajtási állapot. Mobilitás: a programok különféle gépeken futhatnak és autonóm módon átmehetnek az egyik gépről egy másik - esetleg eltérő típusú - számítógépre; a mozgás előre meghatározott (statikus), vagy a körülményektől függően dinamikusan változó útvonalon történhet. 2014 Németh Gábor: Párhuzamos architektúrák

17 Németh Gábor: Párhuzamos architektúrák
MOZGÓ ÜGYNÖK ELV - 11 Mozgó ügynök: Az ügyfél-kiszolgáló modell mindkét változatától (REV és COD) eltérően a mozgó ügynök egy (program kódot, adatot és végrehajtási állapotot tartalmazó) program, mely autonóm módon vándorolhat az erőforrásokat tartalmazó csomópontokról-csomópontokra. A végrehajtás után átmehet egy másik csomópontra vagy visszatérhet eredeti helyére. 2014 Németh Gábor: Párhuzamos architektúrák

18 Németh Gábor: Párhuzamos architektúrák
MOZGÓ ÜGYNÖK ELV - 12 mozgó ügynök ügyfél (rész)eredmény 1. kiszolgáló (rész)eredmény mozgó ügynök mozgó ügynök 2. kiszolgáló 2014 Németh Gábor: Párhuzamos architektúrák

19 Németh Gábor: Párhuzamos architektúrák
Álló és mozgó ügynökös programozási modellek - 1 Álló ügynök programozási modell - 1 Az ügyfél helyén lévő álló ügynök a kiszolgáló szolgáltatásai(nak egy részé)t szeretné használni. Ez tulajdonképpen megfelel a klasszikus ügyfél-kiszolgáló (client-server) modell REV változatának. Az ügynök (ügyfél) és a kiszolgáló közötti kommuni- káció az ügynök által elküldött kérésen és a kiszolgáló által visszaküldött válaszon alapul. A végrehajtás az RPC (Remote Procedure Call - távoli eljárás hívás) modell szerint történik. 2014 Németh Gábor: Párhuzamos architektúrák

20 Németh Gábor: Párhuzamos architektúrák
Álló és mozgó ügynökös programozási modellek - 2 Álló ügynök programozási modell - 2  Külön RPC kell mindenegyes szolgáltatás meghívásához, így a hálózat kommunikációs terhelése nagy lehet. kiszolgáló eljárás kérés válasz ügynök ügyfél 2014 Németh Gábor: Párhuzamos architektúrák

21 Németh Gábor: Párhuzamos architektúrák
Álló és mozgó ügynökös programozási modellek - 3 Álló ügynök programozási modell - 3  Kihelyezett eljá- rások esetén az átlátszóság biz- tosítására min- dig az otthoni hellyel kommu- nikálunk! A feladat, kihelyezett eljárás B feladat C feladat i csomópont k csomópont A feladat, otthoni hely  A nagyszámú távoli eljárás hívást kü- szöböljük ki a kiszolgáló helyére át- küldött mozgó ügynök használatával, ami a távoli hívások helyett helyi eljárás hívásokat használ. j csomópont 2014 Németh Gábor: Párhuzamos architektúrák

22 Németh Gábor: Párhuzamos architektúrák
Álló és mozgó ügynökös programozási modellek - 4 Mozgó ügynök programozási modell kiszolgáló távoli eljárás ügyfél • A helyi eljárás hívások használata érdekében egy ügynököt küldünk az ügyféltől a kiszolgálóba. ügynök vándorlás • Ez a távoli programozás elve (RP - Remote Programming).  A távoli eljárások mindegyi- kéhez az ügynök(ök) most csak helyi hívás(oka)t használ(nak). ügynök 2014 Németh Gábor: Párhuzamos architektúrák

23 Mozgó ügynökök alkalmazásának előnyei és hátrányai - 1
Kisebb mértékű hálózat használat Ritkábban használjuk a hálózatot, kisebb az átviteli sávszélesség igény (ez csak bizonyos alkalmazások esetén igaz). Lazább szinkronizálás az ügyfelek és a kiszolgálók között Nincs szükség hosszú időtartamú, megbízható hálózati kapcsolatra, mert mihelyt egyszer egy ügynököt bevittünk a hálózatba, a program végrehajtása folyhat még akkor is, ha a felhasználó lekapcsolódik a hálózatról. 2014 Németh Gábor: Párhuzamos architektúrák

24 Mozgó ügynökök alkalmazásának előnyei és hátrányai - 2
Jobb szétosztási és rekonfigurációs képességek Terhelés elosztás/túlterhelés elkerülése, automatikus alkalmazkodás a hálózat konfigurációjának dinamikus megváltozásához. Konkurrens működés A végrehajtás párhuzamosítására az ügyfél feladatát több ügynök között oszthatja meg. Ügyfél által meghatározott funkcionalitás vihető be a rendszerbe Változhatnak az ügyfél követelményei és kiszolgálói illesztési felületei, a kiszolgáló képességei. 2014 Németh Gábor: Párhuzamos architektúrák

25 Mozgó ügynökök alkalmazásának előnyei és hátrányai - 3
Az ügyfél kevesebb erőforrást használ A feladat legnagyobb részét a kiszolgáló kezeli. Aktív viselkedés Spontán hozzáférés a szolgáltatásokhoz és a szolgáltatás ajánlatokhoz. Autonómia Az ügynök útvonalát az általa dinamikusan be- gyűjtött információ szerint maga választhatja meg. Hálózati késleltetés csökkentése A kevesebb kommunikáció miatt kisebb késleltetés; real-time rendszereknél nagyon fontos. 2014 Németh Gábor: Párhuzamos architektúrák

26 Mozgó ügynökök alkalmazásának előnyei és hátrányai - 4
Hibák elleni védelem A mozgó ügynök tartalmazza az elosztott feldolgozással kapcsolatos valamennyi állapotot, és ez egyszerűsíti a hibából való visszaállítást. Protokoll beágyazás Az ügynök tartalmazza az adatokat és az azok értelmezéséhez szükséges kódot is. A szolgáltatások az egyedi követelményekhez igazíthatóak! 2014 Németh Gábor: Párhuzamos architektúrák

27 Mozgó ügynökök alkalmazásának előnyei és hátrányai - 5
Védettség Kiszolgáló-kiszolgáló védelem (sok nyitott kérdés). Ügynök-ügynök védelem (sok nyitott kérdés). Kiszolgáló-ügynök védelem (sok nyitott kérdés). Ez a legnagyobb gyakorlati probléma!  Bonyolult szoftver – Átviteli és mozgási problémák. – Ügynökök kezelése és vezérlése. 2014 Németh Gábor: Párhuzamos architektúrák

28 Mozgó ügynökök alkalmazásának előnyei és hátrányai - 6
Hiányoznak a szabványok és együttműködési problémák vannak Nincs szabványos rendszer környezet; nincs szabvány az ügynök kezelésére. Hatékonyság Bizonyos alkalmazások esetén nagy hálózati terhelést jelent a sok ügynök; kiszolgáló működési korlátok. Számlázás Nincs tisztázva a számlázás megosztása a kiszolgáló és a hálózat között; problémát jelent a költség becslése (ez azonban a levelezéshez hasonlóan könnyen megoldható lenne). 2014 Németh Gábor: Párhuzamos architektúrák

29 Mozgó ügynök rendszermodell - 1
Rendszerszintű követelmények: megfelelően védett ügynök létrehozási környezet (ez talán a legkritikusabb kérdés); ügynök mozgatási, kommunikációs és erőforrás hozzáférési primitívek; gépfüggetlen nyelv. 2014 Németh Gábor: Párhuzamos architektúrák

30 Mozgó ügynök rendszermodell - 2
A mozgó ügynök rendszernek mechanizmusokat kell tartalmaznia a következő feladatok kezelésére: mobilitás; ügynök felügyelete és irányítása; ügynökök kommunikációja; ügynökök szinkronizálása; névadás; védelem. 2014 Németh Gábor: Párhuzamos architektúrák

31 Mozgó ügynök modell szoftver struktúrája - 1
. . . illesztő (mobilitási) szoftver Illesztő szoftver: az aktív ügynökök végrehajtásáért és felügyeletéért, moz- gásáért és védelmé- ért, valamint a hor- dozhatóságért fele- lős szoftver réteg. ügynök funkciók védelmi funkciók kommunikációs funkciók operációs rendszer 2014 Németh Gábor: Párhuzamos architektúrák

32 Mozgó ügynök modell szoftver struktúrája - 2
az ügynök által elér- hető funk- ciók felhasználó azonosítója Ügynök funkciók rétege: aktív ügynökök azonosítása: identify (agent-identity, personal-key, agent-type) aktív ügynökök szűrése (kommunikációra kész ügynökök azonosítása): getAvailableAgent (agent-identity, agent-type) kapcsolat felvétele egy helyi ügynökkel: contact (agent-identity) 2014 Németh Gábor: Párhuzamos architektúrák

33 Mozgó ügynök modell szoftver struktúrája - 3
aktív ügynök végrehajtása és felügyelete: egy ügynök példány létrehozása és bevitele a rendszerbe; a létrehozó azonosítójának megfelelő jogosultságok hozzárendelése; az ügynök hozzárendelése egy meghatározott kiszolgálóhoz; végrehajtási fonal hozzárendelése az ügynökhöz; ügynök másolása: azonos másolatok létrehozása, melyek más kiszolgálókra mehetnek át és amelyek konkurrensen hajtódhatnak végre; 2014 Németh Gábor: Párhuzamos architektúrák

34 Mozgó ügynök modell szoftver struktúrája - 4
elágaztatás (forking): új gyermek ügynök létrehozása (az ügynök szülő alkalmazásának képesnek kell lennie az ügynök működésének befejeztetésére, ha végrehajtása során hiba lép fel); le kell tudni kérdezni az ügynök állapotát; az ügynök tulajdonosának vissza kell tudnia hívni az ügynököt. aktív ügynökök szinkronizálása (másik ügynök funkciójának meghívása): sendCommand (agent-identity, agent-identity, command). 2014 Németh Gábor: Párhuzamos architektúrák

35 Mozgó ügynök modell szoftver struktúrája - 5
Védelmi funkciók rétege: biztonságos mozgatási protokollok: az ügynök mozgatását a programozó irányítja (közvetlenül [statikus], vagy közvetve [dinamikus]); Ez lenne az igazi: igényvezérelt architektúra!  abszolút: megadjuk a kiszolgáló nevét/rendeltetési címet;  relatív: azonos hely egy másik ügynökkel;  útvonal: kiszolgálók/helyek felsorolása; 2014 Németh Gábor: Párhuzamos architektúrák

36 Mozgó ügynök modell szoftver struktúrája - 6
az ügynök rendeltetési helyre történő átvitele: move (agent-identity, address) az ügynök állapotának (adatok és végrehajtási történet) elmentése, aktivitásának megszűntetése, átvitele a rendeltetési helyre, eredeti állapotának visszaállítása és aktivizálása; ellenőrzési pontok létrehozása, kivételek kezelése; 2014 Németh Gábor: Párhuzamos architektúrák

37 Mozgó ügynök modell szoftver struktúrája - 7
védelem az aktív ügynök jogosulatlan olvasása és megváltoztatása ellen (a rendszernek biztosítania kell, hogy az ügynököt csak a tulajdonosa vagy a tulajdonosa által feljogosított entitás vezérelhesse); adat titkosítás; digitális aláírás és annak ellenőrzése; tűzfalak. 2014 Németh Gábor: Párhuzamos architektúrák

38 Mozgó ügynök modell szoftver struktúrája - 8
Kommunikációs funkciók rétege: (protokollokat és szolgáltatásokat biztosít az aktív ügynökök mozgatásához) RPC, RP, RMI (Remote Method Invocation - távoli módszer kezdeményezés), objektum sorrendezés, 2014 Németh Gábor: Párhuzamos architektúrák

39 Mozgó ügynök modell szoftver struktúrája - 9
aktív ügynökök közötti kommunikáció: sendMessage (agent-identity, agent-identity/agent-type, (address), message) sok lehetséges megoldás: üzenet-átadás (fonál alapú kapcsolatok); azonos kiszolgálón lévő ügynökök esetén módszer kezdeményezés; különböző kiszolgálón elhelyezkedő ügynökök között távoli módszer kezdeményezés; csoport kommunikáció; megosztott (közös) adatokon alapuló kommunikáció (postafiók); esemény jelzés alapú kommunikáció. 2014 Németh Gábor: Párhuzamos architektúrák

40 Mozgó ügynök modell szoftver struktúrája - 10
Az ügynökök között nem lehetséges sem helyi, sem távoli közvetlen kommunikáció, csak az illesztő (mobilitási) rétegen keresztül! - az átlátszóság (átkonfigurálhatóság és hordozhatóság) miatt. • Az ügynökök közötti kommunikációnak két típusa lehetséges: – egy másik ügynök által biztosított funkciót kezdeményező parancs kiadása (command); – üzenet küldés (message). 2014 Németh Gábor: Párhuzamos architektúrák

41 Németh Gábor: Párhuzamos architektúrák
Mozgó ügynök modell szoftver struktúrája - 11 Ügynökök együttműködése - 1 i ügynök j ügynök ügynök funkciók ügynök adatbázis 1 2 1. Az ügynök azonosítja magát [identify (agent-identity, personal-key, agent-type)]. 2. Az illesztő réteg ellenőrzi az azonosítót a helyi ügynöklista segítségével. 2014 Németh Gábor: Párhuzamos architektúrák

42 Németh Gábor: Párhuzamos architektúrák
Mozgó ügynök modell szoftver struktúrája - 12 Ügynökök együttműködése - 2 i ügynök j ügynök ügynök funkciók ügynök adatbázis 1 2 3 4 3. Az ügynök adott funkcionalitású kommunikációs partnert kér [getAvailableAgent (agent-identity, agent-type)]. 4. Az illesztő réteg az agent-identity megadásával azonosítja a partner ügynököt. 2014 Németh Gábor: Párhuzamos architektúrák

43 Németh Gábor: Párhuzamos architektúrák
Mozgó ügynök modell szoftver struktúrája - 13 Ügynökök együttműködése - 3 i ügynök j ügynök ügynök funkciók ügynök adatbázis 1 2 3 4 5 6 7 5. Az illesztő réteg megadja a kommunikálni kívánó ügy- nök számára partnerének azonosítóját [agent-identity]. 6-7. Kapcsolat felvétele a partner ügynökkel [contact (agent- identity, agent-identity) parancs]. 2014 Németh Gábor: Párhuzamos architektúrák

44 Németh Gábor: Párhuzamos architektúrák
Mozgó ügynök modell szoftver struktúrája - 14 Ügynökök együttműködése - 4 i ügynök j ügynök ügynök funkciók ügynök adatbázis 1 2 3 4 5 6 7 9 8 8. Az illesztő réteg a partner ügynök állapotát foglaltra [busy] változtatja. 9. Az ügynök kiadja a kívánt függvényhívást és paramétereit [sendCommand (agent-identity, agent-identity, command)]. 2014 Németh Gábor: Párhuzamos architektúrák

45 Németh Gábor: Párhuzamos architektúrák
Mozgó ügynök modell szoftver struktúrája - 15 Ügynökök együttműködése - 5 i ügynök j ügynök ügynök funkciók ügynök adatbázis 1 2 3 4 5 6 7 8 9 10 10. A partner ügynök a sendCommand (agent-identity, agent-identity, command) parancs vételével elfogadja a kívánt függvényhívást. 2014 Németh Gábor: Párhuzamos architektúrák

46 Németh Gábor: Párhuzamos architektúrák
Mozgó ügynök modell szoftver struktúrája - 16 Ügynökök üzenetváltása - 1 i ügynök j ügynök ügynök funkciók adatbázis A helyszín B helyszín 1 2 1. Az ügynök az identify (agent-identity, personal-key, agent-type) parancs kiadásával azonosítja magát. 2. Az illesztő réteg helyi ügynöklistája használatával ellenőrzi az azonosítót. 2014 Németh Gábor: Párhuzamos architektúrák

47 Németh Gábor: Párhuzamos architektúrák
Mozgó ügynök modell szoftver struktúrája - 17 Ügynökök üzenetváltása - 2 i ügynök j ügynök ügynök funkciók adatbázis A helyszín B helyszín 1 2 3 3. Az ügynök elkészíti az address helyen lévő ismert távoli partnernek elküldendő üzenetet [sendMessage (agent-identity, agent-identity, address, message)]. 2014 Németh Gábor: Párhuzamos architektúrák

48 Németh Gábor: Párhuzamos architektúrák
Mozgó ügynök modell szoftver struktúrája - 18 Ügynökök üzenetváltása - 3 i ügynök j ügynök ügynök funkciók adatbázis A helyszín B helyszín 1 2 3 4 4. A forrás helyszín illesztő rétege elküldi a parancsot a rendeltetési hely illesztő rétegének. 2014 Németh Gábor: Párhuzamos architektúrák

49 Németh Gábor: Párhuzamos architektúrák
Mozgó ügynök modell szoftver struktúrája - 19 Ügynökök üzenetváltása - 4 i ügynök j ügynök ügynök funkciók adatbázis A helyszín B helyszín 1 2 3 4 6 5 5. Az illesztő réteg a partner állapotát foglaltra változtatja. 6. A partner ügynök fogadja az üzenetet. 2014 Németh Gábor: Párhuzamos architektúrák

50 Németh Gábor: Párhuzamos architektúrák
Mozgatási műveletek - 1 i ügynök ügynök funkciók adatbázis A helyszín B helyszín 1 2 1. Az ügynök az identify (agent-identity, personal-key, agent- type) paranccsal azonosítja magát. 2. Az illesztő réteg a helyi ügynök lista felhasználásával ellenőrzi az azonosítást. 2014 Németh Gábor: Párhuzamos architektúrák

51 Németh Gábor: Párhuzamos architektúrák
Mozgatási műveletek - 2 A helyszín B helyszín i ügynök i ügynök 4 1 ügynök funkciók 2 ügynök adatbázis ügynök funkciók ügynök adatbázis 3 3. A forrás (A) helyszín és a rendeltetési helyszín (B) illesztő rétegei move (agent-identity, address) parancsot hajtanak végre (ügynök mozgatása). 4. Ügynök létrehozása (visszaállítása) a rendeltetési helyen. 2014 Németh Gábor: Párhuzamos architektúrák

52 Németh Gábor: Párhuzamos architektúrák
Mozgatási műveletek - 3 A helyszín B helyszín i ügynök i ügynök 5 1 4 ügynök funkciók 2 ügynök adatbázis 6 ügynök funkciók ügynök adatbázis 3 5. Az ügynök az identify (agent-identity, personal-key, agent- type) paranccsal azonosítja magát. 6. Az illesztő réteg a helyi ügynök lista felhasználásával ellenőrzi az azonosítást. 2014 Németh Gábor: Párhuzamos architektúrák

53 Németh Gábor: Párhuzamos architektúrák
Mozgatási műveletek - 4 Az ügynöknek önállóan kell tudni mozognia csomópontról-csomópontra. A mozgékonyságnak két típusa van: erős mozgékonyság a végrehajtási állapotot fonál szinten kezeli; gyenge mozgékonyság a végrehajtási állapotot funkcionális szinten kezeli (azaz durva granularitással). 2014 Németh Gábor: Párhuzamos architektúrák

54 Németh Gábor: Párhuzamos architektúrák
Mozgatási műveletek - 5 Az ügynök kódjának átvitelére a következő módszereket használhatjuk: minden kódot átviszünk; minden kód előre telepítve van; a kódokat egy adatbázisban tároljuk, csak egy hivatkozást adunk (program kód igény szerint), hogy melyiket kell onnan behozni. 2014 Németh Gábor: Párhuzamos architektúrák

55 Németh Gábor: Párhuzamos architektúrák
Névadás - 1 A rendszerben minden entitást egyedileg azonosítunk. A különböző entitásokhoz név tartományokat rendelünk. Alapvető művelet a név felbontás, melyben egy adott entitás névhez egy helyet határozunk meg. Ennek három módja van: Gazda név és port szám megadásával helyfüggő neveket definiálunk. A név mozgás közben változik (problémát okoz a nyomkövetés). 2014 Németh Gábor: Párhuzamos architektúrák

56 Németh Gábor: Párhuzamos architektúrák
Névadás - 2 Átlátszó helynév, mely távoli entitások esetén a jelenlegi helyet a helyi szomszédok (proxi-k) felhasználásával becsomagolja. Helyfüggetlen név (egész rendszerre kiterjedő névadási szolgáltatás). 2014 Németh Gábor: Párhuzamos architektúrák

57 Németh Gábor: Párhuzamos architektúrák
Védelem - 1 Ez az egyik kritikus probléma. A felhasználó által kezdeményezett ügynök autonóm viselkedése elvileg ellentétes a védelem követelményeivel. Rosszindulatú ügynök vihető be a rendszerbe. Jogosítást és hozzáférés vezérlést kell megvalósítani (elöljárók által meghatározott jogok biztosítása, hozzáférési politika kialakítása). Meg kell(ene) előzni az olyan támadásokat, amikor egy ügynök erőforrásokat szerez meg, de azokat soha nem szabadítja fel. 2014 Németh Gábor: Párhuzamos architektúrák

58 Németh Gábor: Párhuzamos architektúrák
Védelem - 2 Magántulajdon és integritás Az ügynök kódjának és adatainak egy részét titkosí- tani kell miközben az ügynök a hálózatban mozog (például hitelkártya számát, vagy a személyes pre- ferenciákat). Rosszindulatú szerverek károsíthatják az ügynököt (megtagadhatják egy ügynök mozgási kérését, bele-léphetnek az ügynökök közötti kommunikációba, vagy helytelenül hajthatják végre az ügynök kódját, sőt megváltoztathatják az ügynök kódját). Az ügynök kódja módosításának megakadályozása majdnem lehetetlen, de vannak módszerek a kód módosítás észlelésére. 2014 Németh Gábor: Párhuzamos architektúrák

59 Németh Gábor: Párhuzamos architektúrák
Védelem - 3 Az ügynök autonóm mozgása (és bizonyos mértékig viselkedése) miatt a védelmet elsősorban magában az ügynökben, másodsorban pedig az illesztő rétegben kell megvalósítani, azaz alapvetően nem operációs rendszer probléma! 2014 Németh Gábor: Párhuzamos architektúrák

60 Programozási nyelv követelmények -1
Rendelkezzék absztrakciós mechanizmussal (ügynök osztály, folyamat, modul). Legyen hordozható (értelmező típusú nyelv, és/vagy a végrehajtáshoz virtuális gépeket használó nyelv). Hatékony kommunikációs képességek. Legyen a nyelv biztonságos (típus ellenőrzés, becsomagolás, korlátozott memória hozzáférés). Rendelkezzék kód módosítási képességgel. 2014 Németh Gábor: Párhuzamos architektúrák

61 Programozási nyelv követelmények - 2
Mozgó ügynökös rendszerek programozására felhasznált már korábban meglévő nyelvek: objektum-orientált nyelvek (Java, Telescript, Obliq); procedurális nyelv (C); szöveges (scripting) nyelvek (Tel, Python, Perl). 2014 Németh Gábor: Párhuzamos architektúrák

62 Mozgó ügynök platformok - 1
Telescript (General Magic) Agent Tcl (University of Dartmouth) Tacoma (Tromso and Cornell Moving Agents) Aglets (IBM) Concordia (Mitsubishi Electric) Voyager (ObjectSpace) 2014 Németh Gábor: Párhuzamos architektúrák

63 Mozgó ügynök platformok - 2
Példa: VOYAGER A Voyager egy ügynökkel kiegészített objektum-orientált rendszer. A Java nyelvvel szorosan integrált. Az ügynök egy objektum konkrét példánya, mely tulajdonságokat örököl az Agent (ügynök) osztályból. Az Agent osztály megvalósítja a mozgó ügynök által igényelt valamennyi mechanizmust (módszert). 2014 Németh Gábor: Párhuzamos architektúrák

64 Mozgó ügynök platformok - 3
Támogatja objektumok létrehozását távoli gazda gépeken. A távolban létrehozott objektumhoz egy virtuális hivatkozást rendel, mely lehetővé teszi az objektum helyfüggetlen elérését. A Voyager az ügynök objektum létrehozásakor globálisan egyedi azonosítót és egy opcionális szimbolikus nevet rendel hozzá az ügynökhöz. Rendelkezésre áll egy név szerinti szolgáltatás, mely az ügynök azonosítójának vagy nevének megadásakor megkeresi az ügynök helyét. 2014 Németh Gábor: Párhuzamos architektúrák

65 Mozgó ügynök platformok - 4
A gyenge mozgékonyságot támogatja. A mozgási mechanizmusok abszolút vagy relatív rendeltetési neveket használhatnak. Egy mozgó ügynök egy másik mozgó ügynökkel azonos helyre definiálhatja magát. Támogatja a szabványos Java védelmi rendszert és a védett hálózati kommunikációt. 2014 Németh Gábor: Párhuzamos architektúrák

66 Igényvezérelt architektúra szűkített változatai - 1
A hardver és szoftver technológia fejlődésének hatásai: Az ügyfél-kiszolgáló modell kezdeti alkalmazásakor a közpon-ti feldolgozó egység és a memória drága volt, így a kiszolgáló nagy számítógép, míg az ügyfél terminál volt. A személyi számítógépek elterjedésével a feldolgozás jórészt az ügyfélhez került, míg a kiszolgáló feladatot szerverek látták el elsősorban tárolási feladatok biztosításával (dokumentum tárolás és megosztás). Az internet elterjedésével a hálózatban elég nagyszámú számí-tógép lett ahhoz, hogy azok megfelelő összekapcsolásával és együttműködtetésével nagyon nagy tárolási és feldolgozási kapacitás legyen elérhető (nagyobb, mint amit az egyes résztvevő vállalatok meg tudnának maguknak engedni). 2014 Németh Gábor: Párhuzamos architektúrák

67 Igényvezérelt architektúra szűkített változatai - 2
Ez a fejlődés vezetett az igényvezérelt architektúra két elterjedt szűkített változatához: RÁCS (GRID) és FELHŐ (CLOUD). (A két változatot gyakran összekeverik, noha alapvető formájukban eltérőek.) 2014 Németh Gábor: Párhuzamos architektúrák

68 Németh Gábor: Párhuzamos architektúrák
Rács (grid) Alap változatában egyetlen programot részekre bontanak és ezeket a részeket rendelik hozzá a rendszer egyes számítógépeihez. Problémák: Nincs megoldva általánosan a program automatikus részekre bontása. A meghibásodások ellen nehéz védekezni (az egyes programrészekbe visszalépési pontokat kell beépíteni és a rendszert automatikus átkonfigurálási képességgel kell ellátni. Főleg nagyon nagy problémák kezelésére használják. 2014 Németh Gábor: Párhuzamos architektúrák

69 Németh Gábor: Párhuzamos architektúrák
Felhő (cloud) - 1 Alap változatában a szolgáltató az egyes felhasználói programokat hozzárendeli a rendszer megfelelő kapacitású erőforrásaihoz (tehát a teljes programhoz rendel erőforrás[oka]t). Problémák: Nincs megoldva általánosan a rendszer erőforrásainak legjobb kihasználása. A védelmet külön kellene választani az alkalmazói szoftvertől, de ez elvileg lehetetlen. Főleg nagyszámú, viszonylag kisebb problémák kezelésére használják. 2014 Németh Gábor: Párhuzamos architektúrák

70 Infrastruktúra mint szolgáltatás
Felhő (cloud) - 2 Felhő modell: Bizonyos szolgáltatások egyaránt tartozhatnak a fejlesztői réteghez és az alkalmazói szoftverhez! Példa: Facebook lehet platform külön- böző szolgáltatások nyújtásához; lehet a felhasználó ál- tal kifejlesztett alkal- mazás (Facebook Api). Alkalmazói szoftver Fejlesztői réteg Infrastruktúra mint szolgáltatás A számítógép hardvert, az operációs rendszert és a virtualizálási alkalmazást szolgáltatásként a felhasználó rendelkezésére bocsátja. 2014 Németh Gábor: Párhuzamos architektúrák

71 Németh Gábor: Párhuzamos architektúrák
Felhő (cloud) - 3 Vállalati/magán felhő: HP ORACLE IBM CISCO VMWARE Nyílt (nyilvános) felhő: TWITTER GOOGLE MICROSOFT AZURE AMAZON FACEBOOK 2014 Németh Gábor: Párhuzamos architektúrák


Letölteni ppt "PÁRHUZAMOS ARCHITEKTÚRÁK – 9 IINTELLIGENS HÁLÓZATOK Németh Gábor"

Hasonló előadás


Google Hirdetések