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

2014Németh Gábor: Párhuzamos architektúrák1 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: "2014Németh Gábor: Párhuzamos architektúrák1 PÁRHUZAMOS ARCHITEKTÚRÁK – 9 IINTELLIGENS HÁLÓZATOK Németh Gábor."— Előadás másolata:

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

2 2014Németh Gábor: Párhuzamos architektúrák2 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.

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

4 2014Németh Gábor: Párhuzamos architektúrák4 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ÓZATINTELLIGENS HÁLÓZAT A konfiguráció dinamikusan változhat:

5 2014Németh Gábor: Párhuzamos architektúrák5 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

6 2014Németh Gábor: Párhuzamos architektúrák6 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.

7 2014Németh Gábor: Párhuzamos architektúrák7 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.

8 2014Németh Gábor: Párhuzamos architektúrák8 MOZGÓ ÜGYNÖK ELV - 2 A mozgó ügynök elv az igényvezérelt architektúra egy konkrét megvalósítása.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).

9 2014Németh Gábor: Párhuzamos architektúrák9 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.

10 2014Németh Gábor: Párhuzamos architektúrák10 MOZGÓ ÜGYNÖK ELV - 4 ügyfél-kiszolgálómodellÖ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. kérés válasz ügyfél kiszolgáló kommunikáció a hálózattal

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

12 2014Németh Gábor: Párhuzamos architektúrák12 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).

13 2014Németh Gábor: Párhuzamos architektúrák13 MOZGÓ ÜGYNÖK ELV - 7 REVREV (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

14 2014Németh Gábor: Párhuzamos architektúrák14 MOZGÓ ÜGYNÖK ELV - 8 CODCOD (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. ügyfél kiszolgáló kérés program kód

15 2014Németh Gábor: Párhuzamos architektúrák15 MOZGÓ ÜGYNÖK ELV - 9 mozgó ügynökA felhasználó kommunikációja lényegesen kisebb lehet a hálózattal mozgó ügynök használata esetén: ügyfél kérés kiszolgáló 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! válasz lokális kom- munikáció mozgó ügynök

16 2014Németh Gábor: Párhuzamos architektúrák16 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.

17 2014Németh Gábor: Párhuzamos architektúrák17 MOZGÓ ÜGYNÖK ELV - 11 Mozgó ügynök:Mozgó ügynök: mozgó ügynök egy program, mely autonóm módon vándorolhat az erőforrásokat tartalmazó csomópontokról-csomópontokra –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.

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

19 2014Németh Gábor: Párhuzamos architektúrák19 Álló és mozgó ügynökös programozási modellek - 1 Álló ügynök programozási modell - 1 álló ügynökAz ü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.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.A végrehajtás az RPC (Remote Procedure Call - távoli eljárás hívás) modell szerint történik.

20 2014Németh Gábor: Párhuzamos architektúrák20 Álló és mozgó ügynökös programozási modellek - 2 Álló ügynök programozási modell - 2 eljárás kiszolgáló ügyfél ügynök kérés válasz  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.

21 2014Németh Gábor: Párhuzamos architektúrák21 Álló és mozgó ügynökös programozási modellek - 3 Álló ügynök programozási modell - 3 A feladat, kihelyezett eljárás i csomópont A feladat, otthoni hely j csomópont B feladat C feladat k csomópont  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.  Kihelyezett eljá- rások esetén az átlátszóság biz- tosítására min- dig az otthoni hellyel kommu- nikálunk!

22 2014Németh Gábor: Párhuzamos architektúrák22 Álló és mozgó ügynökös programozási modellek - 4 Mozgó ügynök programozási modell 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 kiszolgáló távoli eljárás ügyfél ügynök távoli programozás RPEz 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).

23 2014Németh Gábor: Párhuzamos architektúrák23 Mozgó ügynökök alkalmazásának előnyei és hátrányai - 1 Kisebb mértékű hálózat használat 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 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.

24 2014Németh Gábor: Párhuzamos architektúrák24 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 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 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 Ü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.

25 2014Németh Gábor: Párhuzamos architektúrák25 Mozgó ügynökök alkalmazásának előnyei és hátrányai - 3 Az ügyfél kevesebb erőforrást használ Az ügyfél kevesebb erőforrást használ –A feladat legnagyobb részét a kiszolgáló kezeli. Aktív viselkedés Aktív viselkedés –Spontán hozzáférés a szolgáltatásokhoz és a szolgáltatás ajánlatokhoz. Autonómia 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 Hálózati késleltetés csökkentése –A kevesebb kommunikáció miatt kisebb késleltetés; real-time rendszereknél nagyon fontos.

26 2014Németh Gábor: Párhuzamos architektúrák26 Mozgó ügynökök alkalmazásának előnyei és hátrányai - 4 Hibák elleni védelem 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 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!

27 2014Németh Gábor: Párhuzamos architektúrák27 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.

28 2014Németh Gábor: Párhuzamos architektúrák28 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).

29 2014Németh Gábor: Párhuzamos architektúrák29 Mozgó ügynök rendszermodell - 1 Rendszerszintű követelmények: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.

30 2014Németh Gábor: Párhuzamos architektúrák30 Mozgó ügynök rendszermodell - 2 A mozgó ügynök rendszernek mechanizmusokat kell tartalmaznia a következő feladatok kezelésére: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.

31 2014Németh Gábor: Párhuzamos architektúrák31 illesztő (mobilitási) szoftver Mozgó ügynök modell szoftver struktúrája - 1 ügynök... operációs rendszer ügynök funkciók védelmi funkciók kommunikációs funkciók 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.

32 2014Németh Gábor: Párhuzamos architektúrák32 Ügynök funkciók rétege:Ügynök funkciók rétege: –aktív ügynökök azonosítása: identify (agent-identity, personal-key, agent-type) Mozgó ügynök modell szoftver struktúrája - 2 felhasználó azonosítója az ügynök által elér- hető funk- ciók − 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)

33 2014Németh Gábor: Párhuzamos architektúrák33 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;

34 2014Németh Gábor: Párhuzamos architektúrák34 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).

35 2014Németh Gábor: Párhuzamos architektúrák35 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;

36 2014Németh Gábor: Párhuzamos architektúrák36 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;

37 2014Németh Gábor: Párhuzamos architektúrák37 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.

38 2014Németh Gábor: Párhuzamos architektúrák38 Mozgó ügynök modell szoftver struktúrája - 8 Kommunikációs funkciók rétege: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,

39 2014Németh Gábor: Párhuzamos architektúrák39 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ó.

40 2014Németh Gábor: Párhuzamos architektúrák40 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).

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

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

43 2014Németh Gábor: Párhuzamos architektúrák43 Mozgó ügynök modell szoftver struktúrája - 13 Ügynökök együttműködése - 3 i ügynökj ügynök ügynök funkciók ügynök adatbázis 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] Kapcsolat felvétele a partner ügynökkel [contact (agent- identity, agent-identity) parancs]. 6 7

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

45 2014Németh Gábor: Párhuzamos architektúrák45 Mozgó ügynök modell szoftver struktúrája - 15 Ügynökök együttműködése - 5 i ügynökj ügynök ügynök funkciók ügynök adatbázis 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. 10

46 2014Németh Gábor: Párhuzamos architektúrák46 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 ügynök funkciók ügynök adatbázis ügynök adatbázis A helyszínB helyszín 2.Az illesztő réteg helyi ügynöklistája használatával ellenőrzi az azonosítót. 1 1.Az ügynök az identify (agent-identity, personal-key, agent-type) parancs kiadásával azonosítja magát. 2

47 2014Németh Gábor: Párhuzamos architektúrák47 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 ügynök funkciók ügynök adatbázis ügynök adatbázis A helyszínB helyszín 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)].

48 2014Németh Gábor: Párhuzamos architektúrák48 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 ügynök funkciók ügynök adatbázis ügynök adatbázis A helyszínB helyszín A forrás helyszín illesztő rétege elküldi a parancsot a rendeltetési hely illesztő rétegének.

49 2014Németh Gábor: Párhuzamos architektúrák49 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 ügynök funkciók ügynök adatbázis ügynök adatbázis A helyszínB helyszín A partner ügynök fogadja az üzenetet. 5 5.Az illesztő réteg a partner állapotát foglaltra változtatja. 6

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

51 2014Németh Gábor: Párhuzamos architektúrák51 Mozgatási műveletek - 2 i ügynök ügynök funkciók ügynök funkciók ügynök adatbázis ügynök adatbázis A helyszínB helyszín Ügynök létrehozása (visszaállítása) a rendeltetési helyen. 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). i ügynök 4

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

53 2014Németh Gábor: Párhuzamos architektúrák53 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).

54 2014Németh Gábor: Párhuzamos architektúrák54 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.

55 2014Németh Gábor: Párhuzamos architektúrák55 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. név felbontásAlapvető 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).

56 2014Németh Gábor: Párhuzamos architektúrák56 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).

57 2014Németh Gábor: Párhuzamos architektúrák57 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.

58 2014Németh Gábor: Párhuzamos architektúrák58 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,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.

59 2014Németh Gábor: Párhuzamos architektúrák59 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!

60 2014Németh Gábor: Párhuzamos architektúrák60 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.

61 2014Németh Gábor: Párhuzamos architektúrák61 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).

62 2014Németh Gábor: Párhuzamos architektúrák62 Mozgó ügynök platformok - 1 TelescriptTelescript (General Magic) Agent TclAgent Tcl (University of Dartmouth) TacomaTacoma (Tromso and Cornell Moving Agents) AgletsAglets (IBM) ConcordiaConcordia (Mitsubishi Electric) VoyagerVoyager (ObjectSpace)

63 2014Németh Gábor: Párhuzamos architektúrák63 Mozgó ügynök platformok - 2 Példa: VOYAGERPé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).

64 2014Németh Gábor: Párhuzamos architektúrák64 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.

65 2014Németh Gábor: Párhuzamos architektúrák65 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.

66 2014Németh Gábor: Párhuzamos architektúrák66 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).

67 2014Németh Gábor: Párhuzamos architektúrák67 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 –RÁCS (GRID) és –FELHŐ –FELHŐ (CLOUD). (A két változatot gyakran összekeverik, noha alapvető formájukban eltérőek.)

68 2014Németh Gábor: Párhuzamos architektúrák68 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.

69 2014Németh Gábor: Párhuzamos architektúrák69 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.

70 2014Németh Gábor: Párhuzamos architektúrák70 Felhő (cloud) - 2 Felhő modell:Felhő modell: 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. 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).

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


Letölteni ppt "2014Németh Gábor: Párhuzamos architektúrák1 PÁRHUZAMOS ARCHITEKTÚRÁK – 9 IINTELLIGENS HÁLÓZATOK Németh Gábor."

Hasonló előadás


Google Hirdetések