Systemy rozproszone. Wstęp. Krzysztof Banaś Systemy rozproszone 1



Podobne dokumenty
Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Systemy rozproszone System rozproszony

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

Wprowadzenie. Dariusz Wawrzyniak 1

Nowe aplikacje i usługi w środowisku Grid

Systemy GIS Systemy baz danych

Bazy danych 2. Wykład 1

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Middleware wprowadzenie października 2010

Middleware wprowadzenie października Dariusz Wawrzyniak (IIPP) 1

SIECI KOMPUTEROWE. Podstawowe wiadomości

Systemy Rozproszone. Zagadnienia do egzaminu.

Architektura i mechanizmy systemu

Sieciowe Systemy Operacyjne

Projektowanie architektury systemu. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Galileo - encyklopedia internetowa Plan testów

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1

5. Model komunikujących się procesów, komunikaty

Czas w systemach rozproszonych. Krzysztof Banaś Systemy rozproszone 1

Polityka Bezpieczeństwa ochrony danych osobowych

Standard określania klasy systemu informatycznego resortu finansów

Wybrane działy Informatyki Stosowanej

Czujniki obiektowe Sterowniki przemysłowe

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

Beskid Cafe. Hufcowa Kawiarenka Internetowa

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Kwestionariusz dotyczący działania systemów teleinformatycznych wykorzystywanych do realizacji zadań zleconych z zakresu administracji rządowej

Jarosław Kuchta. Administrowanie Systemami Komputerowymi. Klastry serwerów

1. Sieć komputerowa - grupa komputerów lub innych urządzeń połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów.

Stan globalny. Krzysztof Banaś Systemy rozproszone 1

Szczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Tworzenie aplikacji bazodanowych

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Systemy rozproszonych baz danych 1

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny?

Działanie komputera i sieci komputerowej.

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Wprowadzenie do systemów rozproszonych

Szczegółowy opis przedmiotu zamówienia:

Rozproszone bazy danych. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

POLITYKA E-BEZPIECZEŃSTWA

Sieci komputerowe. Wstęp

5R]G]LDï %LEOLRJUDğD Skorowidz

Przepełnienie bufora. SQL Injection Załączenie zewnętrznego kodu XSS. Nabycie uprawnień innego użytkownika/klienta/administratora

DOKUMENTACJA BEZPIECZEŃSTWA <NAZWA SYSTEMU/USŁUGI>

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ

Middleware wprowadzenie października Dariusz Wawrzyniak. Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5)

Parametry wydajnościowe systemów internetowych. Tomasz Rak, KIA

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Szczegółowy opis przedmiotu umowy. 1. Środowisko SharePoint UWMD (wewnętrzne) składa się z następujących grup serwerów:

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Od czego zacząć przy budowaniu środowisk wysokiej dostępności?

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Wyższy poziom bezpieczeństwa

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus

PODSTAWOWE PODZIAŁY SIECI KOMPUTEROWYCH

Rozproszone i obiektowe systemy baz danych. Wykład 4. Wymagania projektowe systemów rozproszonych

Architektury usług internetowych. Tomasz Boiński Mariusz Matuszek

Wykład I. Administrowanie szkolną siecią komputerową. dr Artur Bartoszewski


Zaawansowane narzędzia programowania rozproszonego

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Sieci komputerowe Wykład 1: geneza, podstawowy podział ze względu na architekturę i modele przetwarzania

System Kancelaris. Zdalny dostęp do danych

Projekty infrastrukturalne w obszarze obiektów przetwarzania danych. Piotr Trzciński

Zintegrowany System Informatyczny (ZSI)

Włączenie społeczeństwa lokalnego w procesy zarządzania miastem

Rok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. ADMINISTROWANIE BAZAMI DANYCH kl. 4c

Załącznik nr 2 Opis wdrożonych środków organizacyjnych i technicznych służących ochronie danych osobowych

Opis wdrożenia Platformy Technologicznej epodreczniki.pl na zasobach Poznańskiego Centrum Superkomputerowo-Sieciowego

Spis treści. O autorach... 12

Podstawowe pojęcia dotyczące sieci komputerowych

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

O przetwarzaniu danych. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Rozproszone systemy plików wprowadzenie. Autor: Łukasz Polak

Zapewnienie wysokiej dostępności baz danych. Marcin Szeliga MVP SQL Server MCT

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

BCC ECM Autorskie rozwiązanie BCC wspomagające zarządzanie dokumentami oraz procesami biznesowymi

Oracle Log Analytics Cloud Service

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

System Zachowania Ciągłości Funkcjonowania Grupy KDPW

MASKI SIECIOWE W IPv4

Bazy danych 2. dr inż. Tadeusz Jeleniewski

Uniwersalny Konwerter Protokołów

Inżynieria Programowania - Projektowanie architektoniczne

Zarządzanie i optymalizacja procesów wydruku w przedsiębiorstwach

Bezpieczeństwo aplikacji i urządzeń mobilnych w kontekście wymagań normy ISO/IEC oraz BS doświadczenia audytora

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

DLA SEKTORA INFORMATYCZNEGO W POLSCE

Podstawy projektowania aplikacji biznesowych w systemie SAP R/3

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Wzorcowy załącznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomiędzy Firmą A oraz Firmą B

EJB 3.0 (Enterprise JavaBeans 3.0)

Transkrypt:

Systemy rozproszone Wstęp Krzysztof Banaś Systemy rozproszone 1

Systemy rozproszone Możliwa definicja: Co najmniej dwa zasoby, z których co najmniej jeden jest komputerem, połączone siecią, komunikujące się ze sobą i realizujące usługi jako całościowy system Uwagi: zasoby są względnie autonomiczne (posiadają własne systemy operacyjne, mogą funkcjonować także niezależnie od rozważanego systemu rozproszonego) wrażenie całościowego systemu ma istnieć po stronie użytkownika, dla którego fakt rozproszenia zasobów powinien pozostać w jak największym stopniu niewidzialny komunikacja odbywa się przez przesyłanie wiadomości działanie elementów systemu jest współbieżne Krzysztof Banaś Systemy rozproszone 2

Systemy rozproszone Systemy rozproszone muszą posiadać specyficzne oprogramowanie (poza oprogramowaniem systemowym zasobów i oprogramowaniem sieci łączącej) gwarantujące osiągnięcie podstawowego celu: realizacji usług jako całościowy system Czym jest Internet, czy jest systemem rozproszonym? Przykłady systemów rozproszonych rozproszony system plików rozproszona baza danych system obsługi bankomatów systemy urządzeń mobilnych system GIS systemy gridowe Krzysztof Banaś Systemy rozproszone 3

Sieć lokalna jednolity dostęp do każdej stacji roboczej pojedynczy system plików przeźroczystość realizacji niektórych usług Krzysztof Banaś Systemy rozproszone 4

Sieć obsługi bankomatów konieczność zagwarantowania bezpieczeństwa i niezawodności transakcji spójność danych odporność na uszkodzenia Krzysztof Banaś Systemy rozproszone 5

Urządzenia mobilne w systemach rozproszonych Internet Host intranet Wireless LAN WAP gateway Home intranet Printer Camera Mobile phone Laptop Host site Krzysztof Banaś Systemy rozproszone 6

System informacji geograficznej Krzysztof Banaś Systemy rozproszone 7

Wzorcowe środowisko gridowe Grid Information Service Grid Resource Broker R 2 R 3 database R 4 Application Grid Resource Broker R 5 R N R 6 R 1 Resource Broker Grid Information Service Krzysztof Banaś Systemy rozproszone 8

Zalety systemów rozproszonych Oferowanie usług niedostępnych w systemach lokalnych Zwiększenie możliwości użytkowników systemów informatycznych Polepszenie jakości oferowanych usług Zwiększenie stopnia wykorzystania sprzętu Wydajność możliwa wysoka wydajność bezwzględna bardzo często dobry stosunek wydajności do ceny Niezawodność systemy rozproszone mogą tolerować uszkodzenia pojedynczych elementów Możliwość stopniowego wzrostu Krzysztof Banaś Systemy rozproszone 9

Problematyka systemów rozproszonych Współdzielenie zasobów (z założenia współbieżne) sprzętowych (komputery, sieci, rozmaite urządzenia) programowych (systemy operacyjne, programy w różnych językach) danych (w rozmaitych formatach, na nośnikach różnych typów) Rozproszenie zasobów konieczność niezawodnej komunikacji, często o dużym zasięgu Niejednorodność konieczność wprowadzania warstw pośrednich ujednolicających interfejsy różnych systemów operacyjnych Skalowalność możliwość ekonomicznego wzrostu systemu i liczby użytkowników efektywność w sytuacji wzrastającej liczby zasobów i klientów Krzysztof Banaś Systemy rozproszone 10

Problematyka systemów rozproszonych Niezawodność działania dostępność nieprzerwane dostarczanie usług mimo uszkodzeń (konieczność replikacji i nadmiarowości) wykrywanie usterek i ich tolerowanie Otwartość zdolność do rozszerzania o nowe usługi, zasoby pomocne oparcie na standardach i publicznych interfejsach przydatne odpowiednie oprogramowanie warstwy pośredniej (middleware) Bezpieczeństwo ochrona dostępu do przechowywanych i przesyłanych danych ochrona przed szkodliwymi działaniami Krzysztof Banaś Systemy rozproszone 11

Problematyka systemów rozproszonych Przezroczystość jednolity obraz systemu z punktu widzenia użytkownika przezroczystość: dostępu taki sam z każdego miejsca lokalizacji zasobów migracji zasobów replikacji danych współbieżności współużytkowania systemu uszkodzeń wydajności wydajność niezależna od obciążenia Krzysztof Banaś Systemy rozproszone 12

Architektury systemów rozproszonych Architektura określa strukturę systemu sposób powiązania jego elementów Cechy systemu rozproszonego istotnie zależą od zastosowanej architektury Elementami systemu są zasoby (sprzętowe, programowe i danych), sposobami łączenia są mechanizmy (sprzętowe i programowe) wymiany komunikatów pomiędzy elementami Konkretna, często bardzo złożona architektura systemu, może być zgodna z jedną z typowych architektur modelowych (lub być kombinacją takich architektur) Krzysztof Banaś Systemy rozproszone 13

Modelowe architektury systemów rozproszonych Modelowe architektury dotyczą układu komponentów systemu, przy czym najczęściej komponent jest rozumiany jako proces Najbardziej typowymi architekturami systemów rozproszonych są: architektura klient serwer architektura trójwarstwowa i wielowarstwowa architektura równy z równym (peer to peer, p2p) Określenie klient, serwer, peer odnosi sie do roli jaką dany komponent oprogramowania odgrywa w systemie Na bazie pojęć klient, serwer, peer można opisywać funkcjonowanie bardziej złożonych architektur Krzysztof Banaś Systemy rozproszone 14

Funkcjonowanie systemów rozproszonych Można wyróżnić dwa podstawowe sposoby funkcjonowania systemów rozproszonych: synchroniczne i asynchroniczne Systemy synchroniczne to takie, dla których lokalny pomiar czasu może odbiegać od rzeczywistego w określonym, ograniczonym zakresie określono górne i dolne ograniczenia czasowe na: wykonanie pojedynczego kroku przetwarzania przesłanie pojedynczego komunikatu Systemy nie posiadające ograniczeń czasowych dla powyższych operacji i odstępstw lokalnego pomiaru czasu są systemami asynchronicznymi Krzysztof Banaś Systemy rozproszone 15

Niezawodność systemów rozproszonych Niezawodność systemów rozproszonych można określać w kategoriach dostępności (availability) świadczonych przez nie usług (wyrażanej w procentach czasu) system powinien móc świadczyć dalej usługi w przypadku usterki (awarii elementów jednego z omawianych wcześniej typów) efektywność świadczenia usług może ulec zmniejszeniu nie może dojść do utraty lub niespójności danych W celu zagwarantowania dostępności usług zasoby krytyczne (także zasoby danych), których awaria powodowałaby awarie całego systemu, powinny być powielane i móc być zastępowane lub rekonstruowane Konieczność zarządzania powielanymi zasobami zwiększa złożoność i zmniejsza wydajność systemu Krzysztof Banaś Systemy rozproszone 16

Niezawodność systemów rozproszonych Niezawodny system musi posiadać możliwość diagnozowania własnych usterek i podejmowania odpowiednich działań Działania takie obejmują: maskowanie usterek (uszkodzeń) całkowite ukrycie usterki, kontynuacje dalszej pracy zgłoszenie jednego z dopuszczalnych wadliwych zachowań systemu (ich liczba powinna być minimalizowana) w pewnych systemach dopuszcza się maskowanie jednych awarii innymi (np. IP maskowanie awarii błędów awariami pominięcia) chwilowe lub całkowite przerwanie funkcjonowania w przypadku niemożności ukrycia usterki system powinien zawieść w przyjazny sposób (fail gracefully), tzn. sposób przewidywalny i ściśle określony oraz nieprowadzący do utraty lub niespójności danych Krzysztof Banaś Systemy rozproszone 17

Typy awarii w systemach rozproszonych Rozróżnia się kilka typów awarii w systemach rozproszonych awarie pominięcia (omission failures) pewne działania nie są realizowane awarie serwerów załamania systemów (crash failures), serwer przestaje działać i nie wznawia więcej działania awarie komunikacyjne niedostarczenie komunikatu awarie odmierzania czasu przekraczanie limitów czasowych (time out), stosowane w systemach synchronicznych awarie dowolne (bizantyńskie, arbitrary (byzantine) failures) działania mogą nie być realizowane, mogą być błędnie realizowane, mogą pojawiać się nieplanowane działania, może dochodzić do przekraczania limitów czasowych Krzysztof Banaś Systemy rozproszone 18

Problem bizantyńskich generałów Definicja (jedna z wersji): bizantyńska armia składa się z co najmniej trzech rozproszonych oddziałów każdym dowodzi generał, spośród których jeden jest wodzem naczelnym generałowie komunikują się poprzez posłańców problem: jak uzgodnić wspólną akcję oddziałów, kiedy wiadomo, że może dojść do: zaginięcia posłańca zdrady jednego lub wielu generałów Postawienie i rozwiązanie problemu bizantyńskich generałów ma na celu określenie: typów awarii, jakich można się spodziewać w systemach rozproszonych technik tworzenia niezawodnych systemów rozproszonych Krzysztof Banaś Systemy rozproszone 19

Wydajność systemów rozproszonych Wydajność pojedynczych zasobów Wydajność łączy komunikacyjnych Skalowalność Równoważenie obciążenia Wpływ mechanizmów bezpieczeństwa i niezawodności na wydajność Krzysztof Banaś Systemy rozproszone 20

Bezpieczeństwo systemów rozproszonych Zabezpieczenie systemu rozproszonego polega na: ochronie procesów i obiektów w procesach ochronie łączy komunikacyjnych Mechanizmy bezpieczeństwa polegają na odpowiednim ograniczaniu dostępu do zasobów Każda operacja powinna być wykonywana w imieniu określonego zwierzchnika (pryncypała?, principal), który posiada prawo wykonywania danej operacji W systemie musi istnieć strategia udzielania praw dla poszczególnych użytkowników i procesów (i jedni, i drugie mogą stać się zwierzchnikami) Krzysztof Banaś Systemy rozproszone 21

Bezpieczeństwo systemów rozproszonych Zapewnienie bezpieczeństwa polega na uodpornieniu systemu na możliwe ataki niestety lista możliwych ataków nigdy nie jest kompletna Zagwarantowanie bezpieczeństwa zasobów polega na zapewnieniu: poufności niedopuszczaniu do zasobów informacyjnych osób nieuprawnionych integralności uniemożliwieniu dokonywania nieuprawnionych zmian i niszczenia danych dostępności uniemożliwieniu blokowania dostępu do danych Krzysztof Banaś Systemy rozproszone 22