$-DYDQ\HOYNLDODNtWiVDNRUPiUMHOHQWVV]HUHSHWMiWV]RWWDND]HORV]WRWWDONDOPD]iVRNtJ\

Hasonló dokumentumok
Kommunikáció. 3. előadás

Elosztott rendszerek. Az elıadás. Az elosztott rendszer definíciója. Köztesrétegként felépülı elosztott rendszer

Kommunikáció. Távoli eljáráshívás. RPC kommunikáció menete DCE RPC (1) RPC - paraméterátadás. 3. előadás Protokollok. 2. rész

Kommunikáció. Folyamatok közötti kommunikáció. Minden elosztott rendszer alapja

UNIX: folyamatok kommunikációja

S04-2 Elosztott alkalmazások készítése

Osztott rendszerek (Distributed. systems) Bevezetés. Tartalom. Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

Osztott rendszerek (Distributed

Non-stop hozzáférés az üzleti információkhoz bárhol, bármikor és bármilyen eszközzel

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

A Java EE 5 plattform

Osztott rendszerek. Krizsán Zoltán 1 Ficsór Lajos 1. Webalkalmazások fejlesztése tananyag. Miskolci Egyetem. Bevezetés A múlt - történelem A jelen

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

Két típusú összeköttetés PVC Permanent Virtual Circuits Szolgáltató hozza létre Operátor manuálisan hozza létre a végpontok között (PVI,PCI)

Multiprotocol encapsulation (RFC1483) - IETF Classical IP over ATM (RFC1577) - IETF LAN Emulation (LANE) - ATM Forum Multiprotocol over ATM (MPOA) -

4. Hivatkozási modellek

Hálózati ismeretek. Az együttműködés szükségessége:

Számítógépes hálózatok

Osztott alkalmazások fejlesztési technológiái Áttekintés

2. fejezet Hálózati szoftver

Az Internet. avagy a hálózatok hálózata

Hálózatok. Alapismeretek. A hálózatok célja, építőelemei, alapfogalmak

Hálózati alapismeretek

API tervezése mobil környezetbe. gyakorlat

Számítógépes Hálózatok. 4. gyakorlat

Elnevezési rendszerek. 7. előadás

Építsünk IP telefont!

Az internet az egész világot behálózó számítógép-hálózat.

Számítógépes munkakörnyezet II. Szoftver

Hálózati alapismeretek

Elosztott rendszer architektúrák

Földmérési és Távérzékelési Intézet

SZÁMÍTÓGÉP HÁLÓZATOK BEADANDÓ ESSZÉ. A Windows névfeloldási szolgáltatásai

Komponens modellek. 3. Előadás (első fele)

Számítógépes Hálózatok. 5. gyakorlat

Web-fejlesztés NGM_IN002_1

A MAC-cím (Media Access Control) egy hexadecimális számsorozat, amellyel még a gyártás során látják el a hálózati kártyákat. A hálózat többi eszköze

JAVA webes alkalmazások

Autóipari beágyazott rendszerek. A kommunikáció alapjai

20. Tétel 1.0 Internet felépítése, OSI modell, TCP/IP modell szintjenek bemutatása, protokollok Pozsonyi ; Szemenyei

Java. Java Message Service. ANTAL Margit. JMS API technológia. ANTAL Margit. Sapientia - EMTE

OSI-ISO modell. Az OSI rétegek feladatai: Adatkapcsolati réteg (data link layer) Hálózati réteg (network layer)

Tartalom. Történeti áttekintés. Történeti áttekintés Architektúra DCOM vs CORBA. Szoftvertechnológia

Operációs rendszerek. Az X Window rendszer

Információ és kommunikáció

Hálózati operációs rendszerek II. Novell Netware 5.1 Hálózati nyomtatás

Serialization. RMI működése

Dr. Schuster György október 30.

Hálózatok I. A tárgy célkitűzése

1/13. RL osztály Hálózati alapismeretek I. gyakorlat c. tantárgy Osztályozóvizsga tematika

Felkészülés a 2020-as érettségire. Sisák Zoltán HTTP Alapítvány

Technikai tudnivalók a Saxo Trader Letöltéséhez tűzfalon vagy proxy szerveren keresztül

Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. 3. óra. Kocsis Gergely, Kelenföldi Szilárd

BEÁGYAZOTT RENDSZEREK TERVEZÉSE UDP csomag küldése és fogadása beágyazott rendszerrel példa

Tarantella Secure Global Desktop Enterprise Edition

KÉPZÉS NEVE: Informatikai statisztikus és gazdasági tervezı TANTÁRGY CÍME: Számítógép hálózatok. Készítette:

Szolgáltatás Orientált Architektúra a MAVIR-nál

A számítástechnika gyakorlata WIN 2000 I. Szerver, ügyfél Protokoll NT domain, Peer to Peer Internet o WWW oftp opop3, SMTP. Webmail (levelező)

Integrációs mellékhatások és gyógymódok a felhőben. Géczy Viktor Üzletfejlesztési igazgató

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

TestLine - zsoltix83 hálozat 1 Minta feladatsor

Információ és kommunikáció

Alap protokollok. NetBT: NetBIOS over TCP/IP: Name, Datagram és Session szolgáltatás.

Oracle Containers for Java - j2ee alkalmazás szerver funkciók. Molnár Balázs Oracle Hungary

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

A JGrid rendszer biztonsági architektúrája. Magyaródi Márk Juhász Zoltán Veszprémi Egyetem

Számítógép hálózatok gyakorlat

Györgyi Tamás. Szoba: A 131 Tanári.

Hálózati architektúrák laborgyakorlat

11. Elosztott állománykezelés. Operációs rendszerek. Elosztott állománykezelés. Teljesítmény növelése. Az állományokra hivatkozás. Az állományok nevei

Hálózati architektúrák laborgyakorlat

az MTA SZTAKI elearning osztályának adaptív tartalom megoldása Fazekas László Dr. Simonics István Wagner Balázs

Integral IP Az IP technológia megjelenése a tűzjelzéstechnikában Tűzvédelmi Szakmai Napok Vecsés, június

Tartalom. Router és routing. A 2. réteg és a 3. réteg működése. Forgalomirányító (router) A forgalomirányító összetevői

Hálózatok II. A hálózati réteg funkciói, szervezése

Address Resolution Protocol (ARP)

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

webalkalmazások fejlesztése elosztott alapon

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

Bevezetés. Számítógép-hálózatok. Dr. Lencse Gábor. egyetemi docens Széchenyi István Egyetem, Távközlési Tanszék

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Tartalom. Hálózati kapcsolatok felépítése és tesztelése. Rétegek használata az adatok továbbításának leírására. OSI modell. Az OSI modell rétegei

Számítógépes Hálózatok Felhasználói réteg DNS, , http, P2P

Felhasználói réteg. Számítógépes Hálózatok Domain Name System (DNS) DNS. Domain Name System

HÁLÓZATBIZTONSÁG III. rész

Bevezetés Működési elv AJAX keretrendszerek AJAX

III. előadás. Kovács Róbert

CCS Hungary, 2000 szeptember. Handling rendszer technikai specifikáció

Intelligens biztonsági megoldások. Távfelügyelet

P-GRADE fejlesztőkörnyezet és Jini alapú GRID integrálása PVM programok végrehajtásához. Rendszerterv. Sipos Gergely

Iman 3.0 szoftverdokumentáció

A számítógép-hálózat egy olyan speciális rendszer, amely a számítógépek egymás közötti kommunikációját biztosítja.

Autóipari beágyazott rendszerek Dr. Balogh, András

Kommunikációs rendszerek programozása. Routing Information Protocol (RIP)

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

The Power To Develop. i Develop

TRBOnet Térinformatikai terminál és diszpécseri konzol

Bokor Péter. DECOS Nemzeti Nap október 15. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Bevezető. Servlet alapgondolatok

Átírás:

Bevezetés A 7$17È5*<&e/.,7%=e6( $WDQWiUJ\FpOMDKRJ\D]DONDOPD]iVIHMOHV]WpVXWiQpUGHNOGKDOOJDWyNQDNHOPpOHWL áttekintést adjon a több számítógépen futó alkalmazások, rendszerek alapjairól, PHJROGiVDLUyODSURJUDPUpV]HNN ] WWLNRPPXQLNiFLyWEL]WRVtWyHV]N ] NUOPyGV]HUHNUO *\DNRUODWLSpOGiNRQNHUHV]W OWLSLNXVWHFKQROyJLiNDWPXWDWXQNEHHOVVRUEDQD-DYDQ\HOY Q\~MWRWWDOHKHWVpJHNN UpEO7iUJ\DOiVUDNHU OQHNRO\DQDODSLVPHUHWHNLVPLQWSpOGiXOD] XML technológia, mert ez központi szerepet tölt be az elosztott alkalmazások esetében. A JSP WHFKQLNDLVPHUWHWpVHHJ\GLQDPLNXVDQIHMOGZHEHVDONDOPD]iVLOHKHWVpJHWPXWDWEH KÖVETELMÉNYEK $WDQDQ\DJHOVDMiWtWiViKR]HOHQJHGKHWHWOHQHNDN YHWNH]N+70/;0/DODSLVPHUHWHND -DYDQ\HOYDODSRVLVPHUHWHH]HQEHO ODODSYHWRV]WiO\RNLVPHUHWHpVNH]HOpVH6] NVpJYDQ EL]WRVSURJUDPR]iVLMiUWDVViJUDpVVRNV]RUHONHU OQHNDV]iPtWyJpSKiOy]DWRNNDONDSFVRODWRV DODSLVPHUHWHNLV6RNHVHWEHQKLYDWNR]XQND],QWHUQHWHQIHOOHOKHWUpV]OHWHVGRNXPHQWiFLyNUD forrásokra, például a Java nyelv egyes osztályainak leírására, amelyek a http://java.sun.com/j2se/1.4.2/docs/ weboldalakon találhatók meg. Ismertnek tételezzük fel Angster Erzsébet Objektumorientált tervezés és programozás I-II. tankönyveit; az ismétlések HONHU OpVpUHJ\DNUDQW UWpQLNKLYDWNR]iVD]H]HNEHQIHOOHOKHWLVPHUHWHNUH AZ APACHE PROJEKT $-DYDQ\HOYNLDODNtWiVDNRUPiUMHOHQWVV]HUHSHWMiWV]RWWDND]HORV]WRWWDONDOPD]iVRNtJ\ logikus, hogy ez az új nyelv is kiemelten kezelte az ezekhez szükséges komponenseket. 8J\DQDNRUD-DYDILOR]yILiQDNLJHQOpQ\HJHVHOHPHDV]DEDGKR]]iIpUKHWVpJpViOWDOiEDQ nyitott a szabad szoftverek világa felé. Ennek következtében számos Java fejlesztés végeztek RV]WiO\RNpVFVRPDJRNN O QE ]Q\LWRWWSURMHNWHNNHUHWpEHQ(]HNWDOiQOHJLVPHUWHEEMHD] Apache projekt. Kezdetben volt az Apache webszerver 1 DZHEV]HUYHUHNVDW\MDpVPpJPDLVpOHWNpSHV OHV]iUPD]RWWMD(QQHNHOWHUMHGpVpYHOHOV] UPRGXORNHV]N ] NNpV] OWHNKR]]iV]LQWpQD 1 Nevének több magyarázata létezik. Az egyik szellemes magyarázat szerint semmi köze sincs a híres indiántörzshöz, hanem az "a patchy server" szavakból lett összevonva és kissé átalakítva. Azaz olyan szoftvert jelöl, amely modulokból, "foltokból" áll.

V]DEDGV]RIWYHUHNOHYHLQHNPHJIHOHOHQ*18OLFHQV]PDMGDIHMOHV]WFVDSDWQDJ\REE OpOHJ]HW&YiOODNR]iVEDIRJRWWpVOpWUHKR]WDDZHEV]HUYHUQHYpYHOIpPMHO]HWWSURMHNWHW(]PD PiUKDWDOPDVUDQWWMHOHQOHJN ]HO$SDFKHSURMHNWOpWH]LND]$SDFKH6RIWZDUH)RXQGDWLRQ NHUHWpQEHO OZZZDSDFKHRUJeUGHNHVVpJNpSSHQiOOMRQLWWHJ\WiEOi]DWH]HNUO HTTP Server Forrest Logging TCL Ant Geronimo Lucene Tomcat APR Gump Maven Web Services Beehive ibatis MyFaces XML Cocoon Incubator Perl XMLBeans DB Jakarta Portals XML Graphics Directory James SpamAssassin Excalibur Lenya Struts (J\HVSURMHNWHNDIHMOGpVVRUiQNLNHU OQHNDUHQGV]HUEOpVVDMiW~WUDWpUQHNLO\HQSpOGiXOD] iowdoxqnnpveekdv]qiow;hufhvsurmhnwlvdpho\;0/ihogrojr]ivkr]v] NVpJHVHV]N ] NHW fejlesztett ki. Az Apache Softver Alapítvány (ASF) szervezeti, jogi és pénzügyi támogatást biztosít nyílt szoftver projektek széles körének. Az Alapítvány jól megalpozott keretet biztosít a szellemi WXODMGRQKR]pVDSpQ] J\LWiPRJDWiVRNKR]DPHO\HNHJ\LGHM&OHJFV NNHQWLNDUpV]WYHYN SRWHQFLiOLVMRJLV]HUHSpW(J\ WWP&N GpVPHULWRFUDWLFIHMOHV]WpVLIRO\DPDWEDQD]$SDFKH SURMHNWHNNHUHVNHGHOPLV]LQW&V]DEDGRQKR]]iIpUKHWV]RIWYHUWHUPpNHNHWKR]QDNOpWUH amelyek a felhasználók nagy közösségét vonzzák. A pragmatikus Apache licensz az összes, JD]GDViJLpVHJ\pQLIHOKDV]QiOyQDNHJ\V]HU&YpWHV]LD]$SDFKHWHUPpNHNWHOHStWpVpW Korábban ezt a szervezetet mint az Apache Csoportot ismerték, de az Alapítvány tagsági DODSRQV]HUYH]G WWQRQSURILWWiUVDViJNpQWOHWWUHJLV]WUiOYDDQQDNpUGHNpEHQKRJ\D] $SDFKHSURMHNWHND]HJ\pQLOHJYiOODONR]y QNpQWHVHNN ]UHP&N GpVLOHKHWVpJHLQW~OLV P&N GNpSHVHNOHJ\HQHN$]RND]HJ\pQHNDNLNNLPXWDWWiNHON WHOH]HWWVpJ NHWD] HJ\ WWP&N GpVNHUHWpEHQYpJ]HWWQ\tOWIRUUiVNyG~V]RIWYHUIHMOHV]WpVUHD]DODStWYiQ\L projektekben, tagságot nyerhetnek az ASF-ben. Az egyén akkor kaphatja meg a tagságot, ha a PiUPHJOpYWDJRNW EEVpJHMHO OLWpVMyYiKDJ\MDDNLQHYH]pVpWËJ\D]$6)WD]DN ] VVpJ LUiQ\tWMDDPHO\HWN ]YHWOHQ OV]ROJiO±DSURMHNWMHLQEHO OHJ\ WWP&N GV]HPpO\HN

Elosztott alkalmazások elméleti alapjai ELOSZTOTT ALKALMAZÁSOK ÁTTEKINTÉSE, ALAPFOGALMAK Az elosztott alkalmazás meghatározása: 7 EEIpOHpVLGQNpQWHJ\PiVQDNHOOHQWPRQGyPHJKDWiUR]iVRNV] OHWWHND]HORV]WRWW alkalmazásokra. Mi itt a továbbiakban azokat az alkalmazásokat tekintjük elosztott DONDOPD]iVRNQDNDKROD]DONDOPD]iVHJ\HVUpV]HLD]HJ\PiVN ] WWW UWpQDGDWFVHUpNHWQHP a memóriabeli hivatkozások átadásával, hanem valamilyen protokoll segítségével, annak szabályai szerint küldött üzenetekkel végzik. Egy másik meghatározás szerint azokat tekintjük elosztott alkalmazásoknak, ahol több egyedi V]iPtWyJpSEOiOOyUHQGV]HUHQIXWD]DONDOPD]iVpVHUIHV]tWpVHNHWWHV] QNDUUDKRJ\PLQGD] alkalmazás, mind a felhasználó részére a rendszer egységes egészként jelenjen meg. Az elosztott alkalmazás futhat ugyanazon a számítógépen, mint például egy IHMOHV]WUHQGV]HUEHQDONDOPD]RWWZHEV]HUYHUYDJ\PiVHJ\pEV]HUYHUGHJ\DNUDEEDQD hálózatokon futó alkalmazások esetén találkozunk vele. Itt a hálózat bármilyen hálózati konfiguráció lehet, a LAN hálózatoktól az Internetig. $IHQWLPHJKDWiUR]iVRNDWHOHPH]YHNpWDODSYHWIHOWpWHOiOODStWKDWyPHJ$]HJ\LNV]HULQW hardver szinten a rendszert alkotó számítógépek önállóak, egymástól nem függenek. A másik szerint kell lenni a rendszerben egy olyan szoftvernek, amely biztosítja, hogy a felhasználók NtY OUOQp]YHKRPRJpQHJ\VpJHVUHQGV]HUUHOWDOiONR]]DQDN$UHQGV]HUUpV]HLFVHUpOKHWHN GHHUUODIHOKDV]QiOyNQHV]HUH]]HQHNWXGRPiVW(KKH]ORJLNXVDQHJ\RO\DQN ]WHVUpWHJUH van szükség (middleware) amely az alkalmazás és az egyedi gépek között helyezkedik el. Szerepe szolgáltatások nyújtása az alkalmazás számára és az egyedi jellegzetességek HOW QWHWpVH$]DOiEELiEUiQHJ\W EE QiOOyV]iPtWyJpSUHNLWHUMHGD]HJ\HVRSHUiFLyV UHQGV]HUHNHJ\HGLVpJpWN ]WHVUpWHJJHOHOIHGHORV]WRWWDONDOPD]iVVHPDWLNXViEUiMDOiWKDWy

Önálló számítógépeken futó elosztott alkalmazás. Elosztott rendszerek a gyakorlatban Ezekre több példát is mondhatunk a saját mindennapi gyakorlatunkból. í,o\hq HJ\ YiOODODW YDJ\ RNWDWiVL LQWp]PpQ\ V]iPtWyJpS KiOy]DWD DKRO HUIRUUiVRNDW RV]WXQNPHJQ\RPWDWiVDGDWEi]LVOHNpUGH]pVYDJ\DNiUDEHOVOHYHOH]pVHOMHJ\]pVL naptár kezelés, iktatás). í /HKHW HJ\ MyYDO OD]iEE NDSFVRODWRNEyO iooy UHQGV]HU SpOGiXO EHOV KiOy]DWEyO pv LQWHUQHWHVNDSFVROyGiV~HJ\pEJpSHNEOiOOyUHQGV]HULVPRQGMXNHJ\EL]WRVtWyWiUVDViJ és az ügynökeinek rendelkezésére álló rendszer. í 1H IHOHGNH]] QN PHJ QDSMDLQN OHJQDJ\REE GRNXPHQWXP DODS~ HORV]WRWW UHQGV]HUpUO D],QWHUQHWUOVHP (OQ\ NpVOHKHWVpJHN )HOPHU OKHWDNpUGpVKRJ\DPLQGHQNLiOWDOHJ\EOEHOiWKDWyDQKDV]QRV,QWHUQHWPHOOHWWPLpUW pughphvhorv]wrwwdondopd]ivrndwopwuhkr]ql$]hovorjlnxvyiodv]dguijdhuiruuivrnpvd IHOKDV]QiOyN VV]HNDSFVROiViQDNDOHKHWVpJHGHLGHWDUWR]QDND]HJ\HVFVRSRUWPXQND V]RIWYHUHNLVDPHO\HNVHJtWVpJpYHOI OGUDM]LHOKHO\H]NHGpVWOI JJHWOHQ OKR]KDWXQNOpWUH HJ\ WWP&N GFVRSRUWRNDWDNRUiEEDQHPOtWHWW$SDFKHSURMHNWVHPM KHWHWWYROQDOpWUH enélkül).

(UIRUUiVRNpVIRO\DPDWRNV]pWRV]WiVDiWOiWV]yViJ $]HORV]WRWWUHQGV]HUHNHJ\LNDODSIHOWpWHOHKRJ\D]HUIRUUiVRNIRO\DPDWRNW EEHJ\HGLJpS N ] WWLPHJRV]WiViWPHJSUyEiOMXNDIHOKDV]QiOyNHOOHOUHMWHQL$]tJ\OpWUHKR]RWWHJ\HWOHQ JpSQHNW&QUHQGV]HUWQHYH]] NiWOiWV]yQDN Többféle átlátszóságot különböztetünk meg az elosztott rendszerekben az ISO szabvány alapján az alábbi táblázat szerint: átlátszóság típusa teljesül, ha az alkalmazás 1 elhelyezkedés HOUHMWLD]HJ\HVHUIRUUiVRNIL]LNDLHOKHO\H]NHGpVpW (location) 2 iwkho\h]khwvpj (relocation) HOUHMWLD]HJ\HVHUIRUUiVRNPiVPiVV]iPtWyJpSHQW UWpQ elhelyezését 3 mozgathatóság (migration) HOUHMWLD]pSSHQKDV]QiODWEDQOHYHUIRUUiVPiVIL]LNDLKHO\UH W UWpQiWKHO\H]pVpW 4 hozzáférés (access) HOUHMWLD]HJ\HVHUIRUUiVRNHOpUpVLPyGMiWpVD]DGDWiEUi]ROiVL különbségeket 5 többszörözöttség HOUHMWLD]HJ\HVHUIRUUiVRNW EEV] U ] WWVpJpW (replication) 6 HJ\LGHM&VpJ (concurrency) PHJROGMDD]HJ\HVHUIRUUiVRNHVHWpEHQDYHUVHQ\KHO\]HWEO adódó megosztását 7 állandóság (persistence) HOUHMWLD]DGDWDV]RIWYHUHUIRUUiVPHPyULDYDJ\KiWWpUWiUROyQ való elhelyezkedését 8 meghibásodás (failure) HOUHMWLD]HUIRUUiVKLEiNDWOHiOOiVWFVHUpW~MUDLQGtWiVW %iud]iwoiwv]yvijqdj\rqyrq]yqdnw&qlnydqqdnkho\]hwhndplnruqhpfpov]hu&whomhv iwoiwv]yvijudw UHNHGQL(]LJD]PLQGHQRO\DQHVHWUHDPLNRUFpOV]HU&DIHOKDV]QiOyWDYDOyV KHO\]HWUOWiMpNR]WDWQLKRJ\PDQXiOLVDQEHWXGMRQDYDWNR]QLDUHQGV]HUEH8J\DQDNNRU YDQQDNIL]LNDLNRUOiWRNLVPLQWSpOGiXODQDJ\WHU OHWHWOHIHGKiOy]DWEDQPiUIHOOpS LGLJpQ\HNDMHOWRYiEEtWiVUD&VXSiQDMHOWRYiEEtWiVVHEHVVpJHLVpUH]KHWHQLGWYHV] igénybe, légvonalban 20000 km távolság esetén is közel 70 ms, de az eszközök jóval lassabb P&N GpVHPLDWWW EEV]i]H]UHGPiVRGSHUFLVOHKHW

Átméretezés Akkor beszélhetünk igazi elosztott alkalmazásról, ha méretének változtatása, azaz az alkalmazást futtató számítógépek száma - bizonyos határok között - nem befolyásolja a P&N GpVpWVWH]DPpUHWYiOWR]WDWiVQHPLVYHKHWpV]UHDUHQGV]HUEHQ(]N QQ\HQEHOiWKDWy ha akár egy vállalat számítógép parkjára gondolunk, vagy akár az Internetre. Nem szabad, KRJ\DPpUHWEHOLQ YHNHGpVEHIRO\iVROMDDKR]]iIpUKHWVpJHWKDH]EHN YHWNH]LND] HUIRUUiVPHJRV]WiVPiUQHPNLIL]HWGD]HJ\HVIHOKDV]QiOyNV]iPiUD$PpUHWFV NNHQWpV QHPV]RNRWWKR]]iIpUKHWVpJLSUREOpPiNDWRNR]QLDEEDQD]HVHWEHQYLV]RQWKDD]HORV]WRWW DONDOPD]iVHOVGOHJHVFpOMDDV]iPtWyNDSDFLWiVPHJQ YHOpVHMHOHQWVV]iP~JpSNLHVpVH HONHU OKHWHWOHQ ODNDSDFLWiVFV NNHQpVpYHOMiU,O\HQHVHWHNNHOPiUHOUHV]iPROQLNHOOpV puwhohpv]hu&hqqhpwhuyh]khwhouhdgrwwphqq\lvpj&v]iptwivhoypj]pvhyiowr]yndsdflwiv~ rendszerben. $PpUHWQ YHOpVVHOMiUySUREOpPiNDWN O QE ]NRQFHSFLyNHVHWpEHQHOWpUPyGRQNHOO kezelni. Központosított szolgáltatás esetén, amikor egyetlen szerver látja el az összes klienst, a kliensek számának növekedése mellett a kiszolgálás színvonalát csak a szerverkapacitás EYtWpVpYHOLOOHWYHHJ\HORV]WRWWW EEJpSHQIXWyV]HUYHUDONDOPD]iVEHiOOtWiViYDOOHKHW IHQQWDUWDQL(UUHV]ROJiOQDNDN O QE ]V]HUYHUWHUKHOpVWPHJRV]WyDONDOPD]iVRN Alternatív megoldás lehet a szerver munkájának leosztása a kliens felé. Erre jó példa egy DGDWEHYLWHOL&UODSDPHO\QHNHOOHQU]pVHW UWpQKHWDV]HUYHUHQGHPHJYDOyVtWKDWyNOLHQV ROGDORQLVpVH]]HOMHOHQWVPpUWpNEHQWHKHUPHQWHVtWKHWDV]HUYHU Hasonló, de másféle módon megoldható problémát jelent a méretnövelés az adatok központosított elhelyezése esetén. Ilyen problémát jelenthet a személyi adatok, vagy a telefonkönyv, gépkocsinyilvántartás, stb. központosított tárolása. Itt is a szerverhozzáférés, ebben az esetben az adatbázis szerverhez intézett gyakori kérdések okozzák a problémát, ha a kérések/kliensek száma egy bizonyos határt elér. Elvileg kétféle megoldást alkalmazhatunk, az egyik szerint az adatbázist többszörözzük meg és YLVV]DYH]HWM NDSUREOpPiWD]HO]SRQWEDQWiUJ\DOWUD7HUPpV]HWHVHQLWWD]HJ\HV DGDWEi]LVSpOGiQ\RNV]LQNURQL]iOiVDLVPHJROGiVUDYiU$PiVLNOHKHWVpJD]DIHOLVPHUpV hogy az adatok bizonyos elvek szerint csoportosíthatóak - telefonkönyv esetében például D]HOKtYyV]iPN U]HWV]iPV]HULQWpVQ\XJRGWDQPHJRV]WKDWMXND]DGDWEi]LVXQNDWH]HN szerint. Ebben az esetben csupán azt kell egy központi adatbázisban tárolni, hogy az egyes HOKtYyV]iPRNQDNPHJIHOHOHQKROOHV]PHJWDOiOKDWyDWHOMHVLQIRUPiFLy+DVRQOy

elveken alapul az internetes címfeloldás is a domain névszerverek segítségével, amikor annak elkerülésére, hogy az összes névfeloldási kérés egyetlen szerverre fusson be, a QpYV]HUYHUHNHWDGRPpQWDUWRPiQ\RNQDNPHJIHOHOKLHUDUFKLiEDV]HUYH]WpNpVDPLWOHKHW azt az egyes szerverek a doménen belül intéznek el. Nehezebben megvalósítható a méretnövelés központosított algoritmusok esetében, azaz ha a fentiekben tárgyaltak ellenére az irányításra szolgáló algoritmus minden esetben teljes LQIRUPiFLyWLJpQ\HO,O\HQNRUD]DOJRULWPXVPHJYiOWR]WDWiVDD]HJ\HWOHQUHiOLVOHKHWVpJ KLV]HQPLQGHQV]iPEDYHKHWPHJROGiVDIHQWLHNV]HULQWPiVIpOHDOJRULWPXVRN bevezetésén múlik. Architektúrák, rétegek és komponensek (J\LVPHUWIHORV]WiVV]HULQWHJ\UpWHJ&NpWUpWHJ&pVKiURPUpWHJ&DONDOPD]iVRNDW különböztetünk meg. Rétegnek akkor nevezhetünk egy komponenst, ha feladatában önálló és EL]RQ\RVKDWiURNN ] WWFVHUpOKHWDUHQGV]HUHJpV]pWHJ\HJ\UpWHJpQHNPHJYiOWR]WDWiVD QHPEHIRO\iVROMD$PHQQ\LEHQD]HJ\HVUpWHJHNN O QE ]V]iPtWyJpSHNHQKHO\H]NHGQHNHO PiUHORV]WRWWUHQGV]HUHNUONHOOEHV]pOQ QN,O\HQUHQGV]HUOHKHWHJ\DONDOPD]iVpVDWiYROL DGDWEi]LVV]HUYHUN ] WWLNDSFVRODWYDJ\HJ\NOLHQVV]HUYHUUHQGV]HULV7 EEUpWHJ& alkalmazások esetén az elosztott rendszer több egyedi számítógépet is magába foglalhat, HQQHNWLSLNXVSpOGiMDHJ\RO\DQZHEHVDONDOPD]iVDKRODE QJpV]WIXWWDWyNOLHQVJpS kéréseivel távoli webszerverhez fordul, az viszont a kérés teljesítése során, a hivatkozott szerver oldali program végrehajtása közben (dinamikus weboldal) egy harmadik gépen tárolt, az alkalmazás futtatásához szükséges adatbázist igyekszik elérni. (OYEHQXJ\DQW EEUpWHJLVEHYH]HWKHWGHDJ\DNRUODWEDQFVDND]HJ\HVIHQWLUpWHJHN bizonyos fokú megosztása kerül megvalósításra, így ezek több rétegbe sorolása felesleges. Egy kivétel azonban lehet, és ez a nagyfokú mesterséges intelligencia alkalmazása. Az itt szükségessé váló fokozott számításigény megkövetelhet különálló, erre specializált komponenst, amely így külön réteget alkothat. $KDUGYHUV]HUYH]GpVHHORV]WRWWDONDOPD]iVRNHVHWpEHQ Ugyanazt az elosztott alkalmazást hardver szinten többféleképpen is támogathatjuk. $ODSYHWHQW EESURFHVV]RURVUHQGV]HUHNUOYDJ\W EE QiOOyV]iPtWyJpSEOiOOy UHQGV]HUHNUOEHV]pOKHW QN$]HOEELHVHWEHQKDUGYHUV]HPSRQWEyOPHJN O QE ]WHWKHW QN olyan rendszereket, ahol minden egyes processzorhoz saját memória tartozik és olyan rendszereket, amelyekben a processzorok egy memória bankon osztoznak és bármely

SURFHVV]RUEiUPHO\LNPHPyULiWKDV]QiOKDWMD(]XWyEELHVHWQHPWpYHV]WHQG VV]HDW EE PHPyULDSDQHOWEHIRJDGyDODSODSRNNDOPHUWEiUH]HNEHQIL]LNDLODJHON O Q O memóriaelemek vannak, ezek címzése egységes rendszerben történik. Mindkét esetben az adatforgalom a processzor és a memória (memóriák) között megvalósítható buszrendszeren és/vagy kapcsolórendszeren keresztül. Lényeges különbség azonban a saját memória és a PHPyULDEDQNHOUHQGH]pVN ] WWKRJ\D]HOVHVHWEHQDEXV]YDJ\DNDSFVROyUHQGV]HUD] egyes processzorok között létesít összeköttetést, míg a második esetben a kapcsolatot biztosító rendszer a processzorok és a memóriák között helyezkedik el. $PHPyULDEDQNV]HUYH]KHW~J\LVKRJ\HJ\HWOHQWHUPpV]HWHVHQIL]LNDLODJW EESDQHOEO álló) memória szolgálja ki az összes processzort, amelyek buszrendszeren keresztül érik el a memóriát. Ilyenek a tipikus többprocesszoros rendszerek, amelyek már kezdenek beköszönni a személyi számítógépek piacára is. Amennyiben több processzor és több memória van a rendszerben, a buszrendszeren kívül PHJROGKDWyD] VV]HN WWHWpVNURVV]EDUYDJ\RPHJDNDSFVROyUHQGV]HUVHJtWVpJpYHO$]HOEEL rugalmasabb, ám több kapcsolatot kell állítani, a második adott számú processzort és memóriát igényel és hatékony megvalósításához nagyon gyors, azaz drága kapcsolóelemekre van szükség. 7 EESURFHVV]RURVW EEPHPyULiVHORV]WRWWUHQGV]HUHNV]HUYH]GpVH $]RQRVWtSXV~ QiOOyV]iPtWyJpSHNEONOyQRNiOOyHORV]WRWWUHQGV]HUHNHVHWpQD]HJ\HV JpSHNHWHOUHQGH]KHWM NHJ\UiFVSRQWMDLEDQYDJ\V]iPtWyJpSEOiOOyEORNNRNEDQ

~J\QHYH]HWWKLSHUNRFNDIRUPiMiEDQ$J\DNRUODWEDQVRNV]RUHONHU OHORV]WRWWUHQGV]HUHN YLV]RQWDOHJW EEHVHWEHQDIHQWLHNWOHOWpUPyGRQYiOWR]DWRVNLpStWpV&JpSHNEOiOOpVD kommunikáció az alkalmazás moduljai között üzenetek átadásán alapszik. Tanulmányaik további részében szinte kizárólag ezek megvalósításáról, a szoftveres megoldásokról lesz szó. KOMMUNIKÁCIÓ AZ ELOSZTOTT ALKALMAZÁSOK ELEMI KÖZÖTT Az architektúrák tárgyalása során kiderült, hogy az elosztott rendszerek csak igen ritka HVHWHNEHQKDV]QiOQDNN ] VPHPyULiWtJ\D]DGDWRNPHP ULiQNHUHV]W OW UWpQiWDGiVDQHP lehetséges. Ezért a kommunikáció az üzenetátadás szintjére szorul vissza, azonban ez sem HJ\V]HU&PHUWD] ]HQHWN OGpVD] ]HQHWIRJDGyPHJNHOOHJ\H]]HQD] ]HQHWSRQWRV V]HUNH]HWpEHQLVHJ\PiVN ] WW$OHJJ\DNUDEEDQSHUV]HQHPNpWROGDO~HJ\H]NHGpVUOYDQ V]yKDQHPRO\DQiOWDOiQRVpVV]DEYiQ\RVtWRWWUHQGV]HUUO ]HQHWV]HUNH]HWUODPLWD NRPPXQLNiFLyEiUPHO\UpV]WYHYMHPHJpUWpVPDJiUDQp]YHN WHOH]NpQWLVPHUHO A jegyzetnek nem célja, hogy átfogó hálózati ismereteket adjon, hiszen ezt más tantárgyak már megtették. Mégis érdemes néhány gondolat erejéig átismételni, és egy-két speciális területen elmélyíteni ezeket az ismereteket, hogy könnyen elsajátíthatók legyenek a tananyag hálózatos ismeretekre támaszkodó részei. Kezdjük tehát az összes hálózati kommunikáció DODSMDLWNpSH]26,PRGHOOIHOLGp]pVpYHOpVDKiOy]DWLSURWRNROORNNDO Az OSI modell és rétegei Az Open Systems Interconnection Reference Model, azaz az OSI modell teljes mértékben OHIHGLDNRPPXQLNiFLyV]LQWMHLW6]HU]LDEEyOLQGXOWDNNLKRJ\DNRPPXQLNiFLyHJ\HV szintjeit elvi alapon elkülönítették, így hét szintet jelöltek ki, és minden szintnek jól N U OKDWiUROKDWyIHOHOVVpJHNHWDGWDNPHJ$V]LQWHNN ] WWDNRPPXQLNiFLyYHUWLNiOLV kommunikáció) szabványosított felületeken át (interfész) történik és a közvetlen kapcsolatért IHOHOVOHJDOVy~J\QHYH]HWWIL]LNDLUpWHJD]HJ\HWOHQDPHO\N ]YHWOHQKRUL]RQWiOLV kommunikációt is végre tud hajtani. Réteg elnevezése $NDSFVRODWRWOpWHVtWSURWRNROO 7 alkalmazási alkalmazási protokoll 6 megjelenítési megjelenítési protokoll 5 viszony viszonyprotokoll 4 szállítási szállítási protokoll 3 hálózati hálózati protokoll 2 adatkapcsolati adatkapcsolati protokoll 1 fizikai fizikai protokoll

A fizikai hálózat (hardver) ábra. Az OSI modell rétegei (J\DONDOPD]iVV]LQW& ]HQHWHON OGpVHHEEHQDUHQGV]HUEHQ~J\W UWpQLNKRJ\D]DGRWW folyamat összeállítja az üzenetet, azt átadja az alkalmazási rétegnek, és ez a szoftver hozzátesz egy fejlécet, amely saját magára utal és több-kevesebb "használati utasítást" WDUWDOPD]PDMGiWDGMDDOHQWHEEHOKHO\H]NHGUpWHJQHN2WWXJ\DQH]W UWpQLNPtJD rétegspecifikus fejlécekkel ellátott üzenet elérkezik a fizikai réteghez, ahol megtörténik az ]HQHWHOHNWURPRVMHOHNIRUPiMiEDQW UWpQHON OGpVH$IRJDGyROGDORQXJ\DQHQQHND] üzenet becsomagolásnak a fordítottja zajlik, az egyes rétegek a nekik szánt fejlécek alapján járnak el és továbbadják az így feldolgozott üzenet a felettük álló rétegnek, míg ismét eljutunk az alkalmazás szintig. Itt a kapcsolódó folyamat (például szerver vagy kliens) szoftver szinten feldolgozza az üzenetet és ha válaszol rá, azt ugyanezen az úton elindítja visszafelé. $]DOVyKiURPUpWHJV]HUHSHPDUNiQVDQV]pWYiOLN$IL]LNDLUpWHJIHOHODMHOV]LQW& NRPPXQLNFLypUWDKDUGYHUHOHPHNV]DEYiQ\DLpUW$IHOHWWHHOKHO\H]NHGDGDWNDSFVRODWLUpWHJ definiálja az adatkereteket, a hibák felfedéséért és sok esetben a javításáért is. A hálózati réteg V]HUHSHDKiOy]DWLNRPPXQLNiFLyPHJKDWiUR]iVDH]pUWP&N GpVHMHOHQWVHQHOWpUKHO\L hálózaton vagy például az Interneten. Míg a helyi hálózatnál a broadcast módszer tökletesen PHJIHOHONLN OGM ND] ]HQHWHWPLQGHQJpSUHpVD]LOOHWpNHVHONDSMDDQDJ\WiYROViJ~ hálózat esetén már szükség van útvonalválasztásra is, ami ennek a rétegnek az egyik szolgáltatása. Az üzenetküldés protokolljai közül a jól ismert IP protokoll tartozik ehhez a réteghez. $V]iOOtWiVLUpWHJHOVGOHJHVV]HUHSHDNRPPXQLNiFLyPHJEt]KDWyViJiQDNPHJWHUHPWpVHH]pUW MHOOHJpEHQPiVNpQWPLQWHJ\LQWHUIpV]NpQWP&N GLNDIHOVEEUpWHJHNpVD]DOVyKiURPN ] WW $]DONDOPD]iVIHMOHV]WNV]iPiUDH]DUpWHJEL]WRVtWMDD]WDFVSRVWiWSLSHOLQHDPHO\EH töltött üzenetek a fogadó végen sértetlenül megérkeznek. Ennek megvalósítása történik ebben a rétegben, amelynek legismertebb és a hálózati kommunikációban leggyakrabban használt SURWRNROOMDD7&37UDQVPLVVLRQ&RQWURO3URWRFROiWYLWHOYH]pUOSURWRNROO$J\DNRUODWEDQ szinte mindenütt TCP/IP protokollról beszélünk, érdemes megjegyezni, hogy a név két V]RURVDQ VV]HGROJR]yiPI JJHWOHQ OLVP&N GNpSHVUpWHJSURWRNROOWMHOH]$]8'3D] Universal Datagram Protocol lényegében egy kismértékben módosított IP protocoll. )RQWRVViJiQDNPHJIHOHOHQD7&3SURWRNROOWLVIHMOHV]WLN~MDEEYiOWR]DWDDWUDQ]DNFLyV7&3 DPHO\DNDSFVRODWIHOpStWpVpWONH]GYHDYiODV]IRJDGiViQNHUHV]W ODNDSFVRODWOH]iUiViLJ mindent együtt kezel.

$IHOVEEUpWHJHNKDWiUDLQHPPLQGHQHVHWEHQpOHVHND]D]N O QE ]UHQGV]HUHNEHQD]HJ\HV feladatok összecsúszhatnak, vagy a réteghatárok eltolódhatnak. Így a viszony és a megjelenítési réteg protokolljai gyakran összeolvadnak és az elosztott alkalmazások esetében ezt a köztesréteg protokoll helyettesíti. Ezek a protokollok testesítik meg a köztesréteg V]ROJiOWDWiVRNDWpVH]HND]iOWDOiQRVFpO~SURWRNROORNDPHO\HNHWN O QE ]DONDOPD]iVRN egyaránt használnak. Így alakult ki a köztesréteg szerepe az elosztott alkalmazásokban, mint PDJDVV]LQW&NRPPXQLNiFLyVV]ROJiOWDWiVRNDWQ\~MWyUpWHJ(]HNEOQpJ\HWHPHO QNNLD távoli eljáráshívást, a távoli objektumhívást, az üzenetorientált kommunikációt és az adatfolyam orientált kommunikációt. Távoli eljáráshívás (RPC, Remote Procedure Call) Az eljárások helyi hívásakor az paraméterek és a visszatérési érték átadása a memórián NHUHV]W OW UWpQLNGHNpWJpSHVHWpQD]HOWpUFtPWDUWRPiQ\PLDWWH]QHPOHKHWVpJHVFVDN üzenetek formájában történhet ez a kommunikáció. Erre viszont nincs felkészítve az eljárás, tehát a távoli hívás elrejtése érdekében olyan programelemeket kell beépíteni, amelyek képesek elfedni ezt és az egyes operációs rendszerekben mint helyi hívást prezentálják az üzenetet. Ezek a kliens illetve szerver oldali csonkoknak (stub) nevezett elemek, feladatuk a kliens oldalon az átadott hívás esetén a rendszerhívás végrehajtása és az adatok üzenetbe csomagolása, majd eljuttatása a szerverhez. Ott a szerver oldali csonk fogadja az adatokat és HOYpJ]LD]HOMiUiVKtYiVWPLQWKDPDJDOHQQHDKtYyIRO\DPDW$YpJUHKDMWiVXWiQNDSRWW értékeket pedig átveszi, üzenetbe csomagolja és visszaküldi a kliensnek. Így végül a két csonk YpJ]LHODNRQYHUWiOiVP&YHOHWpWDUHQGV]HUKtYiVRN ]HQHWEHSDNROiViWpViWDGiViWD] elosztott alkalmazás számára viszont pont úgy viselkedik a rendszer, mintha egyetlen gép OHQQH/HJIHOMHEEDYpJUHKDMWiVLGHMpEHQiOOEHMHOHQWVQ YHNHGpVKLV]HQDPHPyULDEHOL UHIHUHQFLDiWDGiVDKHO\HWW ]HQHWN OGpVHNUOpVIRJDGiVRNUyOYDQV]y Távoli objektumhívás Felmerülhet a kérdés, ha megvalósítható a távoli eljáráshívás, felhasználhatóak-e távoli REMHNWXPRNPHWyGXVDL"/iVVXNEHKRJ\HOYLOHJQLQFVN O QEVpJDNHWWN ] WWWHKiW YDOyV]tQ&OHJPHJROGKDWyDSUREOpPDpVD]53& WOHWpWNLVPyGRVtWiVVDOLWWLVIHOKDV]QiOKDWMXN 1HPV]DEDGD]RQEDQD]53&WpVD]50,W5HPRWH0HWKRG,QYRFDWLRQWiYROLHOMiUiVKtYiV VV]HNHYHUQL$NHWW N ] WWD]ODSYHWN O QEVpJYDQD]50,XJ\DQLVWiPRJDWMDD]HJpV]HORV]WRWWUHQGV]HUEHQHJ\HGLD]RQRVtWyNDODSMiQ W UWpQREMHNWXPKLYDWNR]iVRNDWD50,5HJLVWU\VHJtWVpJpYHO Mivel az objektum egy távoli gépen helyezkedik el, metódusának meghívása egy, a kliens oldalon implementált interfészen keresztül történik. Ez a kliens oldali interfész (proxy) tölti be

a kliens csonk szerepét és üzenetként küldi az adatokat a szerver oldali csonknak (skeleton), amely viszont az objektumnak adja át. Visszafelé hasonló úton mozognak az adatok, fordított rendszerben. A legnagyobb gond azonban a távoli objektum azonosítása a saját rendszerében. Míg helyi objektumok esetében ez könnyen megoldható az objektum adott körben érvényes UHIHUHQFLiMDVHJtWVpJpYHOHJ\ ]HQHWNpQWpUNH]REMHNWXPKtYiVSRQWRVDEEDQD]REMHNWXP metódusának hívása) csak akkor éri el az objektumot, ha azt a teljes elosztott rendszerben HJ\pUWHOP&HQD]RQRVtWDQLWXGMXN(KKH]DWiYROLJpSHJ\HGLD]RQRVtWyMiWD]85,WpVD]DGRWW gépen az objektum azonosítóját kell összekapcsolni a Java névszolgáltatás segítségével (JNDI), amely összekapcsolást a távoli gépen futó RMI Registry szolgáltatás tárolja és EL]WRVtWMDD] ]HQHWHOMXWWDWiViWDPHJIHOHOREMHNWXPKR](QQHNSRQWRVIHOpStWpVpUONpVEE OHV]PDMGV]yUpV]OHWHVHQDPHJIHOHOIHMH]HWEHQ Üzenetorientált kommunikáció $]HO]HNEHQKDOOJDWyODJRVDQIHOWpWHOH]W NKRJ\DV]HUYHUROGDOYDJ\iOWDOiQRVViJEDQD IRJDGyROGDOKR]]iIpUKHWDNpUpVN OGpVHLGHMpQGHH]QHPYHKHWEL]RQ\RVUDDOHJW EE esetben (szerver túlterhelt, kikapcsolt, hálózati problémák, stb.). Ilyen esetekben a NRPPXQLNiFLyPHJYDOyVtWiViUDD]HORV]WRWWUHQGV]HUHNEHQD] ]HQHWFVHUHDPHJIHOHO PyGV]HU(QQHNN O QE ]YiOWR]DWDLOHKHWVpJHVHNiOWDOiEDQNpWIpOHIHORV]WiVWN O QE ]WHW N meg. Az egyik felosztás szerint tranziens és perzisztens kommunikációról beszélünk, de jellege szerint szinkron és aszinkron kommunikációra is feloszthatjuk. A perzisztens NRPPXQLNiFLyUDMHOOHP]KRJ\D] ]HQHWPLQGDGGLJDUHQGV]HUEHQPDUDGPtJDFtP]HWW QHPIRJDGMDGHH]QHPN YHWHOLPHJDN OGpVIRJDGyDONDOPD]iVHJ\LGHM&IXWiViW (J\V]HU&EHOiWQLKRJ\D]LO\HQDONDOPD]iVRNLVNRODSpOGiMDDOHYHOH]V]HUYHUDKRODOHYpO HON OGpVHpVOHW OWpVHNpWHJ\PiVWyOLGEHQMyOHOYiOyHVHPpQ\pVDNDSRWWOHYHOHNHWHJ\ N ]EHQVOHYHOH]V]HUYHUHQDVDMiWSRVWDILyNXQNWDUWDOPD]]DPtJFVDNOHQHPW OWM N 7UDQ]LHQVNRPPXQLNiFLyUyOYLV]RQWFVDNDNNRUEHV]pOKHW QNKDPLQGDN OGPLQGD IRJDGyROGDOHJ\LGHM&OHJ ]HPNpSHV$PHQQ\LEHQDIRJDGyDONDOPD]iVQHPIXWDNNRUDN OG HJ\V]HU&HQHOGREMDD] ]HQHWHW(UUHMySpOGDHJ\ZHEODSOHNpUpVHKDDZHEV]HUYHUQHPIXWD NpUpVQHPPDUDGDUHQGV]HUEHQPHJNHOOLVPpWHOQL+DYLV]RQWDE QJpV]W]iUMXNEHN ]EHQ DNpUpVHON OGpVHXWiQDOHNpUWZHEROGDOHJ\V]HU&HQHOYpV]QHPWiUROyGLNVHKRO Az aszinkron kommunikáció jelentése hasonló a többi aszinkron folyamat jelentésével, a N OGROGDODNpUpVSRVWi]iVDXWiQDYiODV]PHJpUNH]pVpWOI JJHWOHQ OIRO\WDWMDIXWiViWYDJ\ éppen leáll, az üzenet a rendszer valamelyik elemének pufferébe kerül.

6]LQNURQNRPPXQLNiFLyHVHWpQW EEHVHWHWN O QE ]WHW QNPHJDN OGUHQGV]HUXJ\DQ minden esetben valamilyen visszajelzésig blokkolódik, de a visszajelzés "mélysége" szerint KiURPIpOHDOFVRSRUWRWN O QE ]WHW QNPHJ$]HOVHVHWEHQDYLVV]DMHO]pVWDIRJDGyROGDO SXIIHUpEONDSMXNDPiVRGLNEDQDFtP]HWWHQNW UWpQNp]EHVtWpVNRUGHD]LVOHKHWKRJ\D V]HUYHUROGDOLIHOGROJR]iVLJEORNNROYDPDUDGDN OG(]HNNRPELQiFLyMiEyODN YHWNH] NRPPXQLNiFLyWtSXVRNYH]HWKHWNOH í 3HU]LV]WHQVDV]LQNURQNRPPXQLNiFLyHUUHMySpOGDDOHYHOH]UHQGV]HUHNP&N GpVH(]W D PHJROGiVW WiPRJDWMiN D] ]HQHWVRU NH]HO UHQGV]HUHN LV DPHO\HN OpQ\HJpEHQ HJ\ üzenetváltáson (és tároláson) alapuló köztesréteget feszítenek ki az elosztott alkalmazások fölé. í 3HU]LV]WHQVV]LQNURQNRPPXQLNiFLyDPHO\NpQ\V]HUPHJROGiVQDNW&QLNPLYHOV]LQNURQ NRPPXQLNiFLyFVDNDNNRUM KHWOpWUHKDDN OGpVDIRJDGyROGDOWXGHJ\PiVUyOD]D] futásuk nem lehet teljesen független egymástól, amt feltételezünk a perzisztencia DODSpUWHOPH]pVH HVHWpQ,O\HQNRU DN OGROGDOPLQLPXPHJ\ HOIRJDGiVUDYiU SpOGiXO HJ\SXIIHUWOpVD] ]HQHWIHOGROJR]yIRO\DPDWIXWiVDQHPHOIHOWpWHO í 7UDQ]LHQV DV]LQNURQ H]HQ D] HOYHQ P&N GLN D GDWDJUDPP SURWRNROO LV 8'3 D] DGDWFVRPDJ HON OGpVH XWiQ D N OG UHQGV]HU IRO\WDWMD IXWiViW pv QHP YiU VHPPLIpOH YLVV]DLJD]ROiVUD$]~J\QHYH]HWWHJ\LUiQ\~53&LVH]HQD]HOYHQP&N GLN í 7UDQ]LHQVV]LQNURQNRPPXQLNiFLyDKRODN OGEORNNROiVDD] ]HQHWQ\XJWi]iViLJWDUW (1), vagy az üzenet kézbesítéséig tart (2), vagy az üzenet feldolgozásáig tart (3). Az 53&pVD]50,WHFKQLNDSpOGiXOH]HNDODSMiQP&N GLN A gyakorlatban ritkán találkozunk tiszta típusokkal, mivel mint a perzisztens, mind a tranzies NRPPXQLNiFLyNHVHWpQD]HOQ\ NpVKiWUiQ\RNV]iPRVDN$PLNRUV]HU&HORV]WRWWUHQGV]HUHN többnyire egy-egy üzenetorientált modellre épülnek, amelyet a szállítási réteg biztosít. A tranziens kommunikációhoz a szabványosított réteg interfész a protokollkészlet kezeléséhez HJ\V]HU&SULPLWtYHNHWEL]WRVtWH]HNNHOYDOyVtWRWWiNPHJD] VV]HVHOHPLNRPPXQLNiFLyV P&YHOHWHWVRFNHWELQGOLVWHQDFFHSWFRQQHFWVHQGUHFHLYHFORVH$SURJUDP PHWyGXVKtYiVDLH]HNHQNHUHV]W OKDMWMiNYpJUHD]DGRWW VV]HWHWWP&YHOHWHW 3HU]LV]WHQVNRPPXQLNiFLyHVHWpQHOWpUEHNHU OD] ]HQHWVRUNH]HOpVHKLV]HQYpJVVRURQD UHQGV]HUUpV]pWNpSH]LQWHOOLJHQVSXIIHU ]HQHWVRUIHOHOVD] ]HQHWHNFpOEDMXWWDWiVipUW$] alkalmazások felé mutatott interfész négy primitívet valósít meg (put, get, poll és notify). (]HNHOHJHQGHND] VV]HVIRQWRVP&YHOHWHOYpJ]pVpKH]IHODGDWXNVRUUHQGEHQ ]HQHW berakása illetve kivétele, az üzenetsor lekérdezése (adott üzenet bent van-e a pufferben?) és új üzenet beérkezésekor az érdekeltek értesítése. $] ]HQHWVRUNH]HOUHQGV]HU QiOOyHOHPD]HORV]WRWWDONDOPD]iVRNEDQpVtJ\VDMiWMyO HON O QtWHWWIHOGDWDLYDQQDN$SHU]LV]WHQVNRPPXQLNiFLyMHOOHJpEODGyGLNKRJ\PLQGHQ HJ\HV ]HQHWWXGMD QPDJiUyOKRJ\KRYDV]iQWiND]D]WDUWDOPD]HJ\FtPPH]W$

NH]HOUHQGV]HUYLV]RQWV] NVpJV]HU&HQRO\DQDGDWEi]LVWLVNHOOKRJ\WDUWDOPD]]RQDPHO\EHQ megtalálhatók a cél várakozási sorok azonosítói és azok hálózati címe is. Természetesen a QpYIHOROGiVWLVHONHOOYpJH]QLHH]D]HPDLO'16UHQGV]HUpYHODQDOyJPyGRQP&N GLN Adatfolyam orientált kommunikáció Az elosztott rendszerekben, többnyire számítógépek között olyan adatcsere, adatátvitel is folyhat, ahol nem egymástól többé-kevésbé független csomagok vagy blokkok átvitele zajlik, hanem egymáshoz szorosan kapcsolódó adategységek kerülnek továbbításra. Ilyen adatátvitel W UWpQLNKDQJYDJ\YLGHRYDOyVLGHM&iWYLWHOHHVHWpQ,WWD]HOEELHNEHQWiUJ\DOWFVRPDJV]HU& iwylwhoohov]hpehqirqwrvd]lg]twpvpvd]hj\hveornnrniwylwholvruuhqgmhlvhoohqnh] esetben a fogadó oldalon meg kellene várni a teljes adatmennyiség átvitelét és csak ezt N YHWHQNH]GGKHWQHPHJDOHMiWV]iVD]D]SRQWRVDQD]WDYDOyVLGHM&iWYLWHOWYHV]tWHQpQNHO DPHO\HWHOpUQLNtYiQXQN+DQLQFVV] NVpJYDOyVLGHM&OHMiWV]iVUDDNNRUD]HJpV] NRPPXQLNiFLyHJ\V]HU&IiMOOHW OWpVVpDODNXOGHHEEHQD]HVHWEHQQHPLVEHV]pOKHW QN HORV]WRWWUHQGV]HUUOKLV]HQQHPVLNHU OWHOIHGQ QNDW EEHJ\VpJEOiOOyUHQGV]HUMHOHQOpWpW,VPHUWKRJ\HJ\PR]JyNpSYLGHRILOPpOYH]KHWOHMiWV]iViKR]DV]HP QNpU]pNHQ\VpJpQHN PHJIHOHOHQPiVRGSHUFHQNpQWPLQLPXPNpSHWNHOOPHJMHOHQtWHQ QN(]DPLHVHW QNEHQ DQQ\LWMHOHQWKRJ\D]DGDWiWYLWHOWEL]WRVtWyUHQGV]HUNpSHVNHOOOHJ\HQD]HQQHNPHJIHOHO DGDWPHQQ\LVpJWRYiEEtWiViUDDGRWWLGWDUWRPiQ\EDQpVH]WUiDGiVXOLG]tWYHNHOOEL]WRVtWDQL azaz a kommunikáció ebben a felbontásban egyenletes kell legyen. Hang átvitele esetén is KDVRQOyDKHO\]HWRWWD&'PLQVpJ&KDQJiWYLWHOpKH]D+]IUHNYHQFLiM~ PLQWDYpWHOH]pVQHNPHJIHOHOHQDELWHVPLQWiNHJ\PiVWHJ\HQOHWHVHQ másodperces gyakorisággal kell, hogy kövessék. (]HNHWD]iWYLWHOHNHWHORV]WRWWUHQGV]HUHNEHQDGDWIRO\DPRNNDOYpJ]LNDPHO\HNLG]tWpVH PHJIHOHOSURWRNROORNKDV]QiODWiYDOPHJROGKDWy$]LG]tWpVV]HULQWKiURPIpOHiWYLWHOLPyGRW különböztetünk meg az alábbiak szerint. $V]LQNURQiWYLWHOHVHWpQQLQFVHQHNLG]tWpVLPHJN WpVHNSpOGiXOGLV]NUpWPpGLiW 2 kell átvinni), így ezt az átviteli módot alkalmazhatjuk minden olyan esetben, ahol az információ PLO\HQVpJHQHPI JJD]LG]tWHWWPHJMHOHQtWpVWO 2 Diszkrét média alatt értünk például programkódot vagy olyan szöveges illetve képi megjelenítést, ahol az egyes HOHPHNVRUUHQGMHIRQWRVGHQLQFVN ] WW NLGEHOLI JJpV

6]LQNURQiWYLWHOHVHWpQPiUOpQ\HJHVD]DGDWHJ\VpJHNLG]tWHWWiWYLWHOHiPDJ\RUVDEEiWYLWHO D]HJ\HVLGLQWHUYDOOXPRNRQEHO OHQJHGpO\H]HWW,O\HQNRUIRJDGyROGDOLSXIIHUDONDOPD]iViYDO D]HJ\HVEORNNRNiWYLWHOLVHEHVVpJpWOI JJHWOHQ OPHJROGKDWyD]LG]tWHWWPHJMHOHQtWpV Izoszinkron átvitel esetében már a fenti szabadsági fok sem áll rendelkezésünkre, a minimális pvdpd[lpiolviwylwhollglvn W WW(]WDONDOPD]]XNHORV]WRWWPXOWLPpGLiVUHQGV]HUHNEHQ hang vagy mozgókép átvitele esetén. 0XOWLPpGLiVUHQGV]HUHNEHQQHPFVDNHJ\V]HU&DGDWIRO\DPRNiWYLWHOpWNHOOPHJROGDQL HJ\V]HU&DGDWIRO\DPEDQHJ\HWOHQLQIRUPiFLyVRUR]DWiWYLWHOpUOYDQV]ySpOGiXOHJ\KDQJ YDJ\NpSFVDWRUQDiWYLWHOpUOKDQHPW EEN O QE ]DGDWIRO\DPHJ\PiVVDOV]LQNURQEDQOHY DOIRO\DPDLQDNiWYLWHOpWLVPHJNHOOROGDQL,O\HQOHKHWHJ\NpSFVDWRUQDpVDNtVpUKDQJYDJ\ V]WHUHRKDQJ]iVHVHWpQD]HJ\HVROGDODNDWiWYLYFVDWRUQD%RQ\ROXOWDEEHVHWHNEHQSpOGiXOD] ötcsatornás surround sound) több csatorna szinkronizált átvitelét is meg kell oldani. $ONDOPD]iVWHUYH]LpVSURJUDPR]yLV]HPSRQWEyOD]iWYLWHOUHNHU OIRO\DPRWHJ\DIRUUiVpV DQ\HON ] WWLYLUWXiOLV VV]HN WWHWpVQHNIRJKDWMXNIHODKRODNpWYpJSRQWEiUPLOHKHW$] HORV]WRWWDONDOPD]iVRNHJ\N O QFVRSRUWMiWMHOHQWLND]RNDUHQGV]HUHNDKRODIRJDGyQ\HO ROGDOW EEV] U ] WWLVOHKHWD]D]P&VRUV]yUyIRO\DPUyOYDQV]y Az adatfolyam orientált kommunikációról részletesen tájékozódhat még Tanenbaum és van 6WHHQ(ORV]WRWWDONDOPD]iVRNN Q\YpEOGHDWDQWiUJ\NHUHWpEHQH]]HOPpO\HEEHQQHP foglalkozunk. Hálózati protokollok $KKR]KRJ\NpWSRQWN ] WWLNRPPXQLNiFLyOpWUHM KHVVHQpVDNpWYpJSRQWRQHOKHO\H]NHG alkalmazás vagy eszköz megértse egymást, standard protokollokra van szükség, amit mindkét kommunikáló oldal értelmezni tud. Az elosztott alkalmazások esetében a hálózati kommunikációt többnyire a TCP/IP protokoll biztosítja, de bizonyos esetekben az erre UipS O+773SURWRNROOEL]WRVtWMDD]DGDWIRUJDOPDW(]XWyEELQDJ\HOQ\HKRJ\PLYHO NDUDNWHUHNiWYLWHOpUHNpSHVN W WWIRUPiWXPEDQDONDOPD]KDWyHJ\HVW&]IDOODOYpGHWW rendszerek esetében is. Fontosságuk miatt ismerkedjünk meg ezekkel kicsit részletesebben. TCP/IP protokoll HTTP protokoll +ioy]dw,3ftpdokioy]dwdokioy]dwlpdv]nurxwhu~wyiodv]wyh]hndnlihmh]pvhnj\dnudqhoirugxoqdnkioy]dwl alkalmazások esetén. Tekintsük át röviden, mi mit jelent ebben a rendszerben. A hálózat egyaránt jelent LAN-t és Internetet, ez utóbbi, mint a hálózatok hálózata a legnagyobb részben helyi hálózatokból épül fel. A LAN és a világ

többi része közötti kapcsolatot a router biztosítja, amely az alhálózati maszk segítségével különbséget tud tenni a KHO\LKiOy]DWpVD]H]HQNtY OHOKHO\H]NHGJpSHNN ] WW$]DOKiOy]DWLPDV]NHJ\D],3FtPPHOD]RQRVIHOpStWpV& FtPDPHO\EHQD]HJ\HVPH]NEHQEHiOOtWRWWpUWpNHN VV]HYHWYHDFtP]pVEHQPHJDGRWW,3FtPPHODGMiNPHJD számítógép hovatartozását és így az útválasztás irányát is. Egy példán szemléltetve, a 192.168.1.25 IP cím és a 255.255.255.0 alhálózati maszk együtt egy olyan számítógépet határoz meg, amely a 192.168.1 doménen belül KHO\H]NHGLNHOD]D]D],QWHUQHWNLNHU OpVpYHOD/$1KiOy]DWRQNHUHV]W ON ]YHWOHQ OHOpUKHWpVDKHO\LKiOy]DW VD]RQRVtWyV]iP~JpSH(]]HOV]HPEHQDNH]GHW&,3FtPUODURXWHUU JW QWXGMDD]DOKiOy]DWLPDV]NNDO VV]HYHWYHKRJ\QHPWDOiOKDWyD/$1KiOy]DWRQEHO OD]D]D]LGHLUiQ\XOyNpUpVWDEHOVKiOy]DWRQNtY OUHNHOO továbbítani.