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

Slides:



Advertisements
Hasonló előadás
A hálózat működése 1. A DHCP és az APIPA
Advertisements

ADATBÁZISOK.
Virtualizált Biztonságos BOINC Németh Dénes Deák Szabolcs Szeberényi Imre.
Adatbázis gyakorlat 1. Szerző: Varga Zsuzsanna ELTE-IK (2004) Budapest
Készítette: Nagy Márton
Kliens-szerver architektúra
Hardver alapok I. 10. osztály.
Készítette: Bátori Béla 12.k
Számítógépes hálózatok Páll Boglárka. Meghatározás  A számítógépes hálózat, számítógépek és egyéb hardvereszközök egymással összekapcsolt együttese.
C++ programozási nyelv Gyakorlat hét
HÁLÓZATOK.
Kőnig Tibor főmérnök Microsoft Magyarország. Ma a vállalatok elsősorban olyan szoftvereket használnak, amelyeket maguk futtatnak ez a helyben telepített.
Hálózati architektúrák
Hálózati architektúrák
HÁLÓZATOK.
RENDSZERINTEGRÁLÁS B_IN012_1
3. A programozás eszközei, programozás-technikai alapismeretek
E-learning és a multimédia
13.a CAD-CAM informatikus
OSI Modell.
Számítógép-hálózat • Önálló számítógépek összekapcsolt rendszere
Az operációs rendszerek
SZÁMÍTÓGÉP ARCHITEKTÚRÁK
WSDL alapismeretek A WSDL (Web Services Description Language – Web szolgáltatások leíró nyelv) egy XML-alapú nyelv a Web szolgáltatások leírására és azok.
A virtuális technológia alapjai Dr. Horv á th L á szl ó Budapesti Műszaki Főiskola Neumann János Informatikai Kar, Intelligens Mérnöki Rendszerek.
Szoftvertechnológia Rendszertervezés.
WEB MES (webes gyártásirányító rendszer)
Hálózati és Internet ismeretek
Anyagadatbank c. tárgy gyakorlat Féléves tematika Adatbázis alapfogalmak, rendszerek Adatmodellek, adatbázis tervezés Adatbázis műveletek.
Objektumorientált tervezés és programozás II. 3. előadás
Hálózati réteg.
Hálózati architektúrák
modul 3.0 tananyagegység Hálózatok
Operációs rendszer.
SZÁMÍTÓGÉP ARCHITEKTÚRÁK - 4
Hálózat kiépítésével lehetőségünk nyílik más számítógépek erőforrásainak használatára. Osztott háttértár használat: egy számítógép merevlemezének megosztásával.
Számítógép-hálózatok
VÉGES AUTOMATA ALAPÚ TERVEZÉSI MODELL
Bevezetés az operációs rendszerek világába TMG SZK.
Műszer vezérlő - kezelő program GPI-745A teszterhez.
Eszköz és identitás kezelés Korlátlan fájl szerver kapacitás Másodlagos adatközpont Korlátlanul skálázódó infrastruktúra Biztonságos DMZ Hibrid adat-
Számítógép hálózatok.
PÁRHUZAMOS ARCHITEKTÚRÁK – 4 FORMÁLIS TERVEZÉSI MODELL LÉTREHOZÁSA Németh Gábor.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
MTT MA Mérnöktanár mesterszak Elektronikus tanulás 2. konferencia.
A Windows Server 2003 termékcsalád A Windows Server 2003 termékcsaládnak 4 tagja van: Windows Server 2003, Standard Edition Windows Server 2003, Enterprise.
A fizikai réteg. Az OSI modell első, avagy legalsó rétege Feladata a bitek kommunikációs csatornára való juttatása Ez a réteg határozza meg az eszközökkel.
Hálózatok a mai világban
Iskolai számítógépes hálózat bővítése Készítette Tóth László Ferenc.
PÁRHUZAMOS ARCHITEKTÚRÁK – 2 ELOSZTOTT RENDSZEREK ALAPJAI Németh Gábor.
PÁRHUZAMOS ARCHITEKTÚRÁK – 7 ABSZTRAKT SPECIFIKÁCIÓ
Nyílt rendszerek összekapcsolása
2. Operációs rendszerek.
PÁRHUZAMOS ARCHITEKTÚRÁK – 8 MULTIPROCESSZOROS RENDSZEREK OPERÁCIÓS RENDSZEREI Németh Gábor.
HEFOP 3.3.1–P /1.0A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. 1 Számítógép- hálózatok dr. Herdon.
Számítógépes hálózatok Páll Boglárka. Meghatározás A számítógépes hálózat, számítógépek és egyéb hardvereszközök egymással összekapcsolt együttese. Például:
Piramis klaszter rendszer
A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. Számítógép- hálózatok dr. Herdon Miklós dr. Kovács György Magó Zsolt.
PÁRHUZAMOS ARCHITEKTÚRÁK – 13 INFORMÁCIÓFELDOLGOZÓ HÁLÓZATOK TUDÁS ALAPÚ MODELLEZÉSE Németh Gábor.
Tűzfal (firewall).
Csoportmunkát támogató szoftverek
Hálózatos programok készítése
Fájlcsere: Technikai megoldások
Hibernate / EclipseLink / OpenJPA összehasonlítás
IT ALAPFOGALMAK OPERÁCIÓS RENDSZEREK.
Hálózati architektúrák
Hálózati struktúrák, jogosultságok
Mobilkommunikáció Eszközök és hálózatok
Bevezetés Tematika Számonkérés Irodalom
IT hálózat biztonság Összeállította: Huszár István
Előadás másolata:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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