Elosztott rendszerek

Hasonló dokumentumok
Using the CW-Net in a user defined IP network

Cloud computing. Cloud computing. Dr. Bakonyi Péter.

Cloud computing Dr. Bakonyi Péter.

Teszt topológia E1/1 E1/0 SW1 E1/0 E1/0 SW3 SW2. Kuris Ferenc - [HUN] Cisco Blog -

Proxer 7 Manager szoftver felhasználói leírás

(NGB_TA024_1) MÉRÉSI JEGYZŐKÖNYV

Web Services. (webszolgáltatások): egy osztott alkalmazásfejlesztési plattform

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

EN United in diversity EN A8-0206/419. Amendment

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

SOPHOS simple + secure. A dobozba rejtett biztonság UTM 9. Kókai Gábor - Sophos Advanced Engineer Balogh Viktor - Sophos Architect SOPHOS

Utasítások. Üzembe helyezés

KOGGM614 JÁRMŰIPARI KUTATÁS ÉS FEJLESZTÉS FOLYAMATA

Összegzés és hogyan tovább

Correlation & Linear Regression in SPSS

10. Gyakorlat: Alkalmazások publikálása Remote Desktop Szervízen keresztül

Analitikai megoldások IBM Power és FlashSystem alapokon. Mosolygó Ferenc - Avnet

Utolsó módosítás:

2. Local communities involved in landscape architecture in Óbuda

Pletykaalapú gépi tanulás teljesen elosztott környezetben

Lexington Public Schools 146 Maple Street Lexington, Massachusetts 02420

SAS Enterprise BI Server

TÉRGAZDÁLKODÁS - A TÉR MINT VÉGES KÖZÖSSÉGI ERŐFORRÁS INGATLAN NYILVÁNTARTÁS - KÜLFÖLDI PÉLDÁK H.NAGY RÓBERT, HUNAGI

Construction of a cube given with its centre and a sideline

Személyes adatváltoztatási formanyomtatvány- Magyarország / Personal Data Change Form - Hungary

Könnyen bevezethető ITIL alapú megoldások a Novell ZENworks segítségével. Hargitai Zsolt Sales Support Manager Novell Hungary

Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network

USER MANUAL Guest user

On The Number Of Slim Semimodular Lattices

Szakmai továbbképzési nap akadémiai oktatóknak december 14. HISZK, Hódmezővásárhely / Webex

Cluster Analysis. Potyó László

INTELLIGENT ENERGY EUROPE PROGRAMME BUILD UP SKILLS TRAINBUD. Quality label system

Széchenyi István Egyetem

EN United in diversity EN A8-0206/473. Amendment

Osztott Objektumarchitektúrák

EMTP, EGY ÚJ LEVELEZÕ PROTOKOLL ÉS IMPLEMENTÁCIÓJA

Cashback 2015 Deposit Promotion teljes szabályzat

Személyes adatváltoztatási formanyomtatvány - Magyarország / Personal Data Change Form - Hungary

A CAN mint ipari kommunikációs protokoll CAN as industrial communication protocol

Decision where Process Based OpRisk Management. made the difference. Norbert Kozma Head of Operational Risk Control. Erste Bank Hungary

Introduction. Szolgáltatásorientált rendszerintegráció Service-Oriented System Integration. Dr. Balázs Simon BME, IIT

Bevezetés a kvantum-informatikába és kommunikációba 2015/2016 tavasz

4. Gyakorlat: Csoportházirend beállítások

Angol Középfokú Nyelvvizsgázók Bibliája: Nyelvtani összefoglalás, 30 kidolgozott szóbeli tétel, esszé és minta levelek + rendhagyó igék jelentéssel

Longman Exams Dictionary egynyelvű angol szótár nyelvvizsgára készülőknek

VoIP (Voice over IP)

A jogszabályi változások értelmezésének nehézségei és annak számviteli kihatásai

Mobil webszerverek. Márton Gábor Nokia Research Center. W3C Mobilweb Műhelykonferencia, Budapest október 18.

Ellenőrző lista. 2. Hálózati útvonal beállítások, kapcsolatok, névfeloldások ellenőrzése: WebEC és BKPR URL-k kliensről történő ellenőrzése.

General information for the participants of the GTG Budapest, 2017 meeting

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms

Rotary District 1911 DISTRICT TÁMOGATÁS IGÉNYLŐ LAP District Grants Application Form

IT Asset Management. IBM Tivoli Asset Management for IT Kubicsek Tamás IBM Corporation

2. gyakorlat: Tartományvezérlő, DNS, tartományba léptetés, ODJ, Core változat konfigurálása, RODC

Eladni könnyedén? Oracle Sales Cloud. Horváth Tünde Principal Sales Consultant március 23.

PIACI HIRDETMÉNY / MARKET NOTICE

SIP. Jelzés a telefóniában. Session Initiation Protocol

ENROLLMENT FORM / BEIRATKOZÁSI ADATLAP

A modern e-learning lehetőségei a tűzoltók oktatásának fejlesztésében. Dicse Jenő üzletfejlesztési igazgató

Tudományos Ismeretterjesztő Társulat

AZ ISO/IEC-9126 SZOFTVER MINŐSÉGI SZABVÁNY ÁTTEKINTÉSE

Az M2M szabványosítási helyzete

Nemzetközi vállalat - a vállalati szoftvermegoldások egyik vezető szállítója

Vállalati kockázatkezelés jelentősége

Computer Architecture

DOAS változások, összefoglaló

EEA, Eionet and Country visits. Bernt Röndell - SES


EBBEN A VIZSGARÉSZBEN A VIZSGAFELADAT ARÁNYA

Sebastián Sáez Senior Trade Economist INTERNATIONAL TRADE DEPARTMENT WORLD BANK

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

SUSE Linux Enterprise High Availability. Kovács Lajos Vezető konzultáns

Supporting Information

Intelligens közlekedés: a járműipar és járműirányítás IKT igényei, a VehicleICT projekt. Lengyel László lengyel@aut.bme.hu

Számítógépes Hálózatok GY 8.hét

Mapping Sequencing Reads to a Reference Genome

Elosztott rendszer architektúrák

Create & validate a signature

Kvantum-informatika és kommunikáció 2015/2016 ősz. A kvantuminformatika jelölésrendszere szeptember 11.

FOSS4G-CEE Prágra, 2012 május. Márta Gergely Sándor Csaba

Intézményi IKI Gazdasági Nyelvi Vizsga

Miskolci Egyetem Gazdaságtudományi Kar Üzleti Információgazdálkodási és Módszertani Intézet Factor Analysis

Contact us Toll free (800) fax (800)

Szoftver-technológia II. Tervezési minták. Irodalom. Szoftver-technológia II.

KN-CP50. MANUAL (p. 2) Digital compass. ANLEITUNG (s. 4) Digitaler Kompass. GEBRUIKSAANWIJZING (p. 10) Digitaal kompas

Érettségi tétel az IT vizsgán: Felhő

A kreatív iparág és az új média összefonódása

Diagnosztikai szemléletű talajtérképek szerkesztése korrelált talajtani adatrendszerek alapján

Statistical Inference

Correlation & Linear Regression in SPSS

ios alkalmazásfejlesztés Koltai Róbert

STUDENT LOGBOOK. 1 week general practice course for the 6 th year medical students SEMMELWEIS EGYETEM. Name of the student:

NYOMÁSOS ÖNTÉS KÖZBEN ÉBREDŐ NYOMÁSVISZONYOK MÉRÉTECHNOLÓGIAI TERVEZÉSE DEVELOPMENT OF CAVITY PRESSURE MEASUREMENT FOR HIGH PRESURE DIE CASTING

PIACI HIRDETMÉNY / MARKET NOTICE

Infrastruktúra lehetőségek idén

Tudományos Ismeretterjesztő Társulat

A forrás pontos megnevezésének elmulasztása valamennyi hivatkozásban szerzői jogsértés (plágium).

EN United in diversity EN A8-0206/445. Amendment

Utolsó módosítás:

Átírás:

Elosztott rendszerek NGM_IN005_1 A kliens-szerver modell A kliens-szerver modell Elosztott rendszerek adatok feldolgozás Önnálló szolgáltatásokat nyújtó szerverek A szolgáltatásokat igénybevev! több, különböz! kliens Kommunikációs mechanizmus hálózat üzenetkezel! 2

A kliens-szerver modell (folyt.) Absztrakt szinten kliens és szerver folyamat kérések és válaszok versengés a szolgáltatásokért Szoftver komponensek szolgáltatások (jól definiált m"veletek) szerver (adott szolg. példány) kliens (szolg. igénybevev!) Figure 2.1: The basic client-server model A more detailed client-server model has three components: Service: A service is a software entity that runs on one or more machines. It provides an abstraction of a set of well-defined operations in response to applications requests. Server: A server is an instance of a particular service running on a single machine. Client: A client is a software entity that exploits services provided by servers. A client can but does not have to interface directly with a human user. 2.2.2 Features and Problems of the Client-Server Model 3 The most important features of the client-server model are simplicity, modularity, extensibility and flexibility. Simplicity manifests itself by closely matching the flow of data with the control flow. Modularity is achieved by organising and integrating a group of computer operations into a separate service. Also any set of data with operations on this data can be organised as a separate service. The whole distributed computing system developed based on the client-server model can be easily extended by adding new services in the form of new servers. The servers which do not satisfy user requirements can be easily modified or even removed. Only the interfaces between the clients and servers must be maintained. There are three major problems of the client-server model: Az architektúra el!nyei The first is due to the fact that the control of individual resources is centralised in a single server. This means that if the computer supporting a server fails, then that element of control fails. Such a solution is not tolerable if a control function of a server is critical to the operation of the system (e.g., a name server, a file server, an authentication server). Thus, the reliability and availability of an operation depending on multiple servers is a product of reliability of all computers and devices, and communication lines. The second problem is that each single server is a potential bottleneck. The problem is exacerbated as more computers with potential clients are added to the system. 17 egyszer"ség adatfolyam és vezérlésfolyam összekapcsolása modularitás szolgáltatás kialakítása több szerverrel b!víthet!ség új szolgátatások bekapcsolása (új szerver) rugalmasság elég az interfészek megtartása 4

Az architektúra problémái Szerverekben centralizált er!források megbízhatósága kritikus Az egyes szerverek sz"k keresztmetszetet jelenthetnek Különböz! implementációk esetén a konzisztencia fenntartása 5 Kliensek és szerverek együttm"ködése Id!szakos szolgáltatás igénybevétel Hosszabb távú összerendelés (több kérésen át) Folyamatok kett!s szerepben kooperáló szerverek 6

Több-szerveres rendszerek Párhuzamos végrehajtás biztosítása Szül! folyamat koordináció kliensként viselkedik Gyerek folyamatok párhuzamos munkavégzés Gyerek szerverek megtalálása, kiválasztása Felel!ségek kiosztása 7 Több-szerveres rendszerek (folyt.) Speciális helyzetek Kooperáció elosztott adatbázis rendszerekben Tranzakció kezelés (commit) Végfelhasználói alkalmazások támogatása szolgáltatás felderítés Biztonságkritikus rendszerek hibat"rés, replikáció 8

Kiterjesztett kliens-szerver modell Ágensek és indirekt kliens-szerver együtt m"ködés kommunikáció átlátszóvá tétele heterogenitás elrejtése er!forrás menedzsment több szolgáltatás igénybevétele 21 Figure 2.3: Indirect client-server cooperation 9 22 The role of these agents can vary from a simple communication module which hides communication network details to an entity which is involved in mediating between clients and servers, resolving heterogeneity issues, and managing resources and cooperating servers. These aspects will be elaborated in other chapters of this book. As presented in Sections 2.3, a client can invoke desired servers explicitly by sending direct requests to multiple servers. In this case the programmer of a user application must concentrate both on an application and on managing server cooperation and communication. Writing resource management and communication software is expensive, time consuming and error prone. The interface between the client and the server is complicated, differs from one application to another, and the whole service provided is not transparent to the client process (user). 2.4.2 The Three-Tier Client-Server Architecture Kiterjesztett kliens-szerver modell (folyt.) Clients can also request multiple services implicitly. This requires the client to send Agents and servers only one acting request to as a general clients server. A requested can service generate will be composed different by this architectures of distributed computing invoked systems. server cooperating The with other three-tier servers, based client-server on information provided architecture in the extends the request. After completion of necessary operations by involved servers, the invoked server sends a response back to the client. This coordination operation can be basic client-server model performed by by a properly adding designed a agent. middle Despite the tier fact that to such support an agent is quite the application logic complicated, the cooperation between the client and the server based a single, and common services. well-defined In this interface. architecture, Furthermore, transparency a distributed is provided to the client application which consists of the reduces the complexity of the application. following three types of components: Cooperation between a client and multiple servers can be supported by a simple communication system which employs a direct, one-to-one message protocol. Három réteg" Although this kliens-szerver communication model is simple, its architektúra performance is poor because each server involved must be invoked by sending a separate message. The overall performance of a communication system supporting message delivery in a clientserver based distributed computing system can be dramatically improved if a one- kiemelve alkalmazás/üzleti logika köztes rétegbe to-many communication pattern is used. In this case a single request is sent by the client process to all servers, specified by a single group name. The use of multicast at the physical/data link layer does improve this system, but it is not essential. architektúrális el!nyök karbantarthatóság, terhelés elosztás, újrafelhasználás, portabilitás User interface and presentation processing. These components are responsible for accepting inputs and presenting the results. They belong to the client tier; Computational function processing. These components are responsible for providing transparent, reliable, secure, and efficient distributed computing. They are also responsible for performing necessary processing to solve a particular application problem. We say these components belong to the application tier; 10

Kiterjesztett kliens-szerver modell (folyt.) Két réteg" kliens-szerver architektúra Megjelenítés Alkalmazás funkció Adat Management Távoli adatkezelés 22 Alkalmazás Alkalmazás Megjelenítés funkció funkció 2.4.2 The Three-Tier Client-Server Architecture Adat Management Elosztott funkcionalitás H á l ó z a t Agents and servers acting as clients can Alkalmazás generate different Adat architectures of Megjelenítés funkció Management distributed computing systems. The three-tier client-server architecture extends the basic client-server model by adding a middle tier to support the application logic Távoli megjelenítés Kliens Szerver and common services. In this architecture, Megjelenítés a distributed Alkalmazás application Adat consists of Elosztott the Megjelenítés vezérlés funkció Management megjelenítés following three types of components: User interface and presentation processing. These components are responsible Megjelenítés Alkalmazás Adat Terminál for accepting inputs Megjelenítés and presenting the results. They belong to the client tier; vezérlés funkció Management Emuláció Computational function processing. These components are responsible for providing transparent, reliable, secure, and efficient distributed computing. They are also responsible for performing necessary processing to solve a particular application problem. We say these components belong to the application tier; 11 Kiterjesztett kliens-szerver modell (folyt.) Három réteg" kliens-szerver architektúra client tier application tier back-end tier Figure 2.4: Examples of three-tier configurations 12

Kiterjesztett kliens-szerver modell (folyt.) 23 Data access processing. These components are responsible for accessing data stored on external storage devices (such as disk drives). They belong to the back-end tier. These components can be combined and distributed in various ways to create different configurations with varying complexity. Figure 2.4 shows some examples of such configurations ranging from centralised processing to three-tier distribution. In particular, Figure 2.4(a) shows a centralised configuration where all the three types of components are located in a single computer. Figure 2.4(b) shows three two-tier configurations where the three types of components are distributed on two computers. Figure 2.4(c) shows a three-tier configuration where all the three types of components are distributed on different computers. Három réteg" architektúra példa Figure 2.5: An example implementation of the three-tier architecture 13 Figure 2.5 illustrates an example of implementation of the three-tier architecture. In this example, the upper tier consists of client computers that run user interface processing software. The middle tier contains computers that run computational function processing software. The bottom tier includes back-end data servers. In a Kiterjesztett kliens-szerver modell (folyt.) További alkalmazás réteg szolgáltatások Címtárak (directory services) Biztonsági szolgáltatások Id!szolgáltatások Tranzakciós szolgáltatások 14

Szolgáltatás felderítés Szolgáltatás helyének, paramétereinek, protokolljainak meghatározása kézzel behuzalozva broadcast segítségével név- és címszolgáltatás segítségével szolgáltatás bróker segítségével 15 Szolgáltatás felderítés (folyt.) Kézi beállítás kis és egyszer" rendszerek esetén címezhet! entitások hw elemek pl. IP cím folyamatok pl. portszám szolgáltatás mozgatása nehéz 18 The third problem arises when multiple implementations of similar functions are used to improve the performance of a client-server based system because of a need to maintain consistency. Furthermore, this increases the total costs of a distributed computing system. 2.3 Cooperation between Clients and Servers 2.3.1 Cooperation Type and Chained Server A system in which there is only one server and one client would not be able to provide high performance, and reliable and cost effective services to users. As mentioned in the previous section, it is necessary to use one server to provide services to more than one client. The simplest cooperation between clients and servers based on sharing allows for lowering the costs of the whole system and more effective use of resources. An example of a service based on this cooperation is a printing service. Figure 2.2 shows a printer server providing services to n clients, which all are connected by a local area network. In a distributed computing system there are two different types of cooperation between clients and servers. The first type assumes that a client requests a temporary service. The second one is generated by a client that wants to arrange a number of calls to be directed to a particular serving process. This implies a need for establishing long term bindings between this client and a server. Figure 2.2: Printing service (a service example) Processes can act as either clients or servers, depending on the context. A file server that receives a request to read a file from a user s client process must check on the access rights of this user. For this purpose the file server sends a request to an authentication server and waits for its response. The response of the file server to the client depends on the response from the authentication server. This implies that the file server acts as a client of the authentication server. Thus, a service provided to the user by a distributed computing system based on the client-server model could require a chain of cooperating servers. 16

Szolgáltatás felderítés (folyt.) 26 the server s computer. For this purpose the client s operating system broadcasts a special locate request containing the name of the server, which will be received by all computers on a network. An operating system that finds the server s name in the list of its processes, which means that the named server runs on its computer, sends back a here I am response containing its address (location). The client s operating system receives the response and can store (cache) the server s computer address for future communication. This approach is transparent, however the broadcast overhead locate is high request as all computers on a network are involved in the processing of the locate request. Broadcast megoldások The cooperation between clients, servers and operating systems supporting them in a distributed computing system using the broadcast approach to locate servers is illustrated cachein Figure 2.6. Figure 2.6: Service discovery -- broadcast approach 17 2.5.3 Name Server Approach This approach is very similar to the broadcast based approach, however it reduces the broadcast overhead. In order to learn the address of a desired server, an operating system of the client s computer sends a where is request to a special system server, called a name server, asking for the address of a computer where the desired server runs. This means that the name and location (computer address) of the name server are known to all operating systems. The name server sends back a response containing an address of the desired server. The client s operating system receives the response and can cache the server s computer address for future communication. Szolgáltatás felderítés (folyt.) This approach is transparent and much more efficient than the broadcast based approach. However, because the name server is centralised, the overall performance of a distributed computing system could be degraded, as the name server could be a bottleneck. Furthermore, reliability of this approach is low; if a name server computer crashes, a distributed computing system cannot work. Név szolgáltatás Figure 2.7 illustrates the cooperation between clients, servers and operating systems supporting them in a distributed computing system using the approach of server broadcast overhead csökkentése ismert elérés" névszerver rendelkezésre állás 27 Figure 2.7: Service discovery -- name server and server location lookup 18 2.5.4 Broker-Based Location Lookup A client in a distributed computing system supported by any of the above server

Szolgáltatás felderítés (folyt.) Szolgáltatás bróker szolgáltatás menedzsment és lokalizálás szolgáltatások hírdetése szolgáltatások keresése attribútumokkal hozzáférés vezérlés terhelés elosztás 19 Szolgáltatás felderítés (folyt.) Szolgáltatás bróker (folyt.) Forwarding broker 1. kliens kérés a bróker felé 2. bróker értesíti a megfelel! szervert 3. szerver válaszol a brókernek 4. bróker továbbítja a választ a kliensnek Direct broker 1. kliens kérés a bróker felé 2. bróker értesíti a megfelel! szerver!l a klienst 3. kliens kérés a szerverhez 4. szerver válaszol a kliensnek 20

Együttm"ködtetés Heterogén kliensek és szerverek együttm"ködtetése Interfész szabványosítás zárt m+n leképezés Interfész bridge-ek nyitott, flexibilis m*n leképezés 21 Modern architektúrák Horizontális elosztás több, logikailag azonos funkciójú elem Peer-to-peer elosztás nincs kitüntetett szerver n1 n9 n2 n7 n8 n6 n3 n5 n4 22