DHT Distributed Hash Table (Rozproszona Tablica Mieszająca)

Wielkość: px
Rozpocząć pokaz od strony:

Download "DHT Distributed Hash Table (Rozproszona Tablica Mieszająca)"

Transkrypt

1 DHT Distributed Hash Table (Rozproszona Tablica Mieszająca) Janina Mincer-Daszkiewicz Systemy rozproszone MSUI, II rok

2 Wikipedia Materiały i rysunki zaczerpnięto z następujących źródeł Bogata lista odsyłaczy: Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan, Chord: A Scalable Peer-topeer Lookup Service for Internet Applications, MIT, SIGCOMM 01, August 2731, 2001 Strona domowa projektu Chord: G. Urdaneta, G. Pierre, M. van Steen, A Survey of DHT Security Techniques, 2

3 Inne źródła Maciej Bryński, seminarium SR 2005/06 Paweł Wiejacha, seminarium SR 2009/10 Designing and Implementing Scalable Applications with Memcached and MySQL, MySQL White Paper 3

4 Wprowadzenie DHT to klasa zdecentralizowanych systemów rozproszonych zapewniających usługę wyszukiwania (ang. lookup) podobną do tablicy mieszającej DHT przechowuje pary (klucz, wartość), każdy węzeł może efektywnie odszukać wartość związaną z danym kluczem Węzły wspólnie odpowiadają za utrzymywanie odwzorowania kluczy w wartości Główna cecha: skalowalność, mimo częstego dołączania i odłączania węzłów oraz awarii 4

5 Wprowadzenie - 2 DHT zapewnia infrastrukturę, która pozwala na budowanie bardziej złożonych usług: rozproszone systemy plików, współdzielenie plików na zasadzie P2P, rozproszone zarządzanie treścią, usługi nazewnicze, cooperative web caching, multicast, instant messaging Pierwsza implementacja: w 1998 the Beyond Browsers; w 2001 cztery systemy CAN, Chord, Pastry, Tapestry DHT a DNS czym się różnią? 5

6 Wprowadzenie - 3 Badania nad DHT prowadzono oryginalnie w celu zastosowania w sieciach P2P takich jak Napster, Gnutella, Freenet Systemy te różnią się sposobem wyszukiwania danych w sieci: Napster: centralny serwer indeksujący, dołączający węzeł wysyła do niego listę lokalnie przechowywanych plików (pojedynczy punkt awarii, problemy prawne) Gnutella: (flooding) każdy komunikat z pytaniem o dane wysyłany do wszystkich węzłów (gorsza wydajność) Freenet: także w pełni rozproszony, z każdym plikiem związany klucz, pliki z podobnymi kluczami gromadzone na podobnym zbiorze węzłów, nie gwarantuje odszukania danych 6

7 Cechy Decentralizacja Węzły kolektywnie tworzą system, bez centralnej koordynacji Skalowalność System ma działać wydajnie także dla tysięcy i milionów węzłów Odporność na awarie System ma działać stabilnie mimo ciągłego dołączania i odłączania oraz awarii węzłów Niskie koszty administrowania Udaje się to osiągnąć, gdyż każdy węzeł musi się komunikować tylko z kilkoma innymi węzłami w systemie zwykle O(log n), gdzie n to liczba uczestników Musi spełniać także inne wymagania: równoważenie obciążenia, zapewnienie integralności danych, wydajność 7

8 Sieci P2P Zastosowanie DHT BitTorrent rozproszone trackery, Gnutella, Overnet, KAD emule, MLDonkey Rozproszone systemy plików CFS (Cooperative File System), OceanStore składowanie danych w PlanetLab, Mnemosyne - steganograficzny system plików, PAST Sieci anonimowe Freenet - censorship-resistant distributed data store, GNUnet, Perfect Dark - japoński anonimowy P2P Rozproszone buforowanie w sieci, Systemy CDN CoDeeN - distributed webcache w PlanetLab, Coral Content Distribution Network - webcache/cdn 8

9 Zastosowanie DHT - 2 Umożliwia rozproszone odszukiwanie dowolnych zasobów: współdzielenie plików: w DHT przechowuje się skrót (hash) pliku i skróty słów kluczowych skojarzonych z plikiem odszukiwanie ludzi (np. w programach typu GG): w DHT przechowuje się skrót nazwiska i skrót klucza publicznego dostarczanie usługi (np. rozproszony backup): w DHT przechowuje się skrót z krótkim opisem usługi Zwykle korzysta się z bezpiecznych funkcji skrótu, takich jak MD5 i SHA1 9

10 Struktura Podstawą DHT jest przestrzeń kluczy, np. zbiór 160-bitowych napisów (nazw plików) Przestrzeń kluczy jest dzielona pomiędzy węzły sieci Węzły są łączone za pomocą overlay network, która umożliwia znalezienie właściciela dowolnego klucza w przestrzeni kluczy Żeby przechować plik w DHT generuje się skrót nazwy klucz k. Do dowolnego węzła uczestniczącego w DHT wysyła się komunikat put(k, data). Komunikat jest przesyłany po sieci overlay, aż trafi do węzła odpowiedzialnego za klucz k. Ten węzeł zapamiętuje k i dane Dowolny klient może wywołać get(k) w celu odczytania danych. Usunięcie lub dodanie węzła zmienia jedynie zbiór kluczy będących w posiadaniu sąsiadów tego węzła. Overlay network to zbiór adresów przechowywanych w każdym węźle (finger table w Chord), czyli zbiór tablic rutowania 10

11 Protokoły rutowania Protokoły opisane po raz pierwszy w 2001 Chord (temu przyjrzymy się dokładniej) CAN Content Addressable Network Pastry Tapestry Protokoły opisane po 2001 Kademlia DKS Distributed K-ary System Bamboo 11

12 Chord Ustalone m (np. 160) liczba bitów identyfikatora. Maksymalnie 2 m węzłów (oznaczmy jako n) chordkey(key) = mbithashfun(key) myid = chordkey(myip) Węzły rozkładamy na okręgu mod 2 m Za klucz K odpowiedzialny jest węzeł o ID >= K mod 2 m Węzły są mniej więcej równomiernie obciążone Podczas dołączania i odłączania węzłów może nastąpić migracja danych (co najwyżej O(1/n)), wymaga O(log 2 n)komunikatów Czasy operacji Wyszukiwanie klucza O(log n) Podłączanie do sieci O(log 2 n) Odłączenie od sieci O(log 2 n) 12

13 Chord przykładowa sieć N to węzeł sieci, K to klucz 13

14 Chord struktury danych Każdy węzeł w sieci przechowuje następujące informacje o sieci: następnik kolejny węzeł na okręgu poprzednik poprzedni węzeł na okręgu tablice finger[k] = successor(myid+2 k-1 ), dla k = 1.. log(m) (dla danego k węzeł, który jest w odległości >= 2 k od naszego) Nie wymaga się jak widać, żeby każdy węzeł znał każdy inny (lepsza skalowalność) Całkowity rozmiar struktur danych w węźle to O(log(n)). Istotne jest, żeby te informacje były aktualne 14

15 Chord przykładowa sieć Tablice finger[k] dla przykładowej sieci 15

16 Chord przykładowa sieć Wyszukiwanie klucza 54: lookup(54) 16

17 Chord przykładowe wyszukiwanie Każdy krok wyszukiwania zmniejsza odległość o połowę Oczekiwany czas wyszukiwania O(log (n)) 17

18 Notacja finger[k].start.interval Chord definicje Definicja (n+2 k-1 ) mod 2 m, 1<= k <= m [finger[k].start, finger[k+1].start).node Pierwszy węzeł >= n.finger[k].start successor predecessor Następny węzeł na liście cyklicznej identyfikatorów; finger[1].node Poprzedni węzeł na liście cyklicznej identyfikatorów 18

19 Chord przykładowa sieć 2 Przykładowa sieć dla n = 3 zawierająca 3 klucze 19

20 Chord przykładowa sieć 2 Tablice finger[k] dla przykładowej sieci 20

21 Chord własności Twierdzenie Dla dowolnego zbioru N węzłów i K kluczy, z dużym prawdopodobieństwem: 1. Każdy węzeł jest odpowiedzialny za co najwyżej (1+eps)K/N kluczy 2. Kiedy (N+1)-szy węzeł dołącza lub odłącza od sieci, odpowiedzialność za O(K/N) węzłów zmienia miejsce (tylko w odniesieniu do węzła dołączającego lub odłączanego) Cechy 1. Każdy węzeł przechowuje informacje tylko o niewielkiej liczbie innych węzłów; wie więcej o węzłach położonych bliżej i mniej o węzłach położonych dalej 2. Tablica rutowania węzła nie zawiera dość informacji, by określić następnika dowolnego węzła K. Na przykład węzeł 3 w podanym przykładzie nie zna następnika węzła 1 (nie ma 1 w tablicy rutowania węzła 3). 3. Taki węzeł szuka węzła o identyfikatorze bliższym K niż własny 21

22 Chord wyszukiwanie klucza Wyszukiwanie klucza odpowiada znalezieniu następnika dla id // poproś węzeł n o znalezienie następnika dla id n.findsuccessor(id) n = FindPredecessor(id) return n.successor; // poproś węzeł n o znalezienie poprzednika dla id n.findpredecessor(id) n1 = n; while (id in (n1, n1.successor)) n1 = n1.closestprecedingfinger(id); return n1; // przekaż najbliższy finger poprzedzający id n.closestprecedingfinger(id) for i = m downto 1 if (finger[i].node i (n, id)) return n; return finger[i].node; 22

23 Chord wyszukiwanie przykład Załóżmy, że węzeł 3 chce znaleźć następnika dla identyfikatora 1 Ponieważ 1 należy do cyklicznego przedziału [7,3), więc należy do 3.finger[3].interval. Pobieramy wartość z trzeciej pozycji w tabeli finger, czyli 0 Ponieważ 0 poprzedza 1, więc węzeł 3 prosi węzeł 0 o znalezienie następnika dla 1. Węzeł 0 znajdzie w swojej tabeli, że następnikiem dla 1 jest 1 i przekaże 1 do 3 23

24 Chord dynamiczne zmiany sieci Żeby zapewnić możliwość znalezienia każdego węzła w sieci, Chord musi zachowywać dwa niezmienniki: Zachowuje się poprawnie informacje o następnikach Dla każdego klucza k, za k jest o odpowiedzialny węzeł successor(k) Dla uproszczenia ograniczamy się do sytuacji gdy dołącza do sieci jeden węzeł 24

25 Chord dołączenie węzła do sieci Do sieci dołącza węzeł n. Trzeba wykonać następujące czynności: Inicjuj predecessor i finger dla n Popraw predecessor i finger istniejących węzłów, żeby uwzględniały dołączenie n Zawiadom wyższą warstwę oprogramowania, żeby przekazała stan (tzn. wartości) związane z kluczami, za które jest teraz odpowiedzialny węzeł n (w praktyce wystarczy pobrać je z następnika n) Zakładamy, że nowy węzeł sam ustali adres jakiegoś istniejącego węzła n1 25

26 Chord dołączenie węzła do sieci Inicjuj predecessor i finger dla n n prosi następnika o kopię pełnej tabeli finger i o predecessor. Na bazie tego buduje własne tablice Podejście naiwne: n wykonuje find_successor dla każdej z m pozycji w tablicy finger (koszt: O(m log n)) Efektywniej: n sprawdza, czy finger dla i jest poprawnym finger dla (i+1). Ta jest, gdy finger[i].interval jest pusty, a więc finger[i].node >= finger[i+1].start (koszt: O(log n) Popraw finger dla istniejących węzłów Węzeł n stanie się i-tym finger węzła p, gdy p poprzedza n o co najmniej 2 i-1, i-ty finger węzła p następuje po n. 26

27 Chord dołączenie węzła do sieci Tablice finger[k] po dołączeniu nowego węzła (czarne zmienione, szare bez zmian) 27

28 Chord odłączenie węzła z sieci Tablice finger[k] po odłączeniu istniejącego węzła 28

29 Zalety dobra wydajność Wady Chord podsumowanie skomplikowana implementacja duża wrażliwość na awarie węzłów brak równoległości przy wyszukiwaniu 29

30 Memcached Rozproszony system buforowania ogólnego przeznaczenia. Często używany w celu przyspieszenia aplikacji webowych pobierających duże ilości danych z bazy. Dane i obiekty są buforowane w pamięci RAM API Memcached dostarcza olbrzymią tablicę mieszającą rozproszoną pomiędzy wiele maszyn. Pierwotnie użyta przez Danga Interactive na potrzeby serwisu społecznościowego LiveJournal Używany w wielu dużych, znanych serwisach webowych, np. YouTube, LiveYournal, Wikipedia/Wikimedia, Amazon.com, Wiki, SourceForge, Metacafe, Facebook, Twitter, Fotolog, The Pirate Bay, Netlog Dostępny jako projekt open source na licencji BSD Facebook ma największą farmę 800 serwerów Memcached 30

31 Memcached Architektura klient-serwer. Serwery utrzymują słownik, klienci wypełniają słownik i go przepytują. Klucze mają do 250 bajtów, wartości mogą mieć do 1 MB. Klient korzysta z biblioteki, zna wszystkie serwery. Serwery nie komunikują się ze sobą. Biblioteka klienta liczy skrót klucza w celu określenia serwera, kontaktuje się bezpośrednio z tym serwerem. Serwer wylicza drugi skrót klucza, dla określenia miejsca, w którym umieści wartość. Serwery trzymają wartości w RAM, gdy pamięci zaczyna brakować, to usuwają najstarsze wartości (w porządku LRU) Wybór klucza: należy do programisty. Przykład: key ::= data type name : primary key Można skompilować Memcached z SASL (gdy wymagane jest bezpieczeństwo) 31

32 Serwer Memcached Implementuje własny alokator płytowy ( jak Linux) Klucze ograniczone do 250 znaków, buforowane dane nie mogą przekroczyć największego rozmiaru płyty (obecnie 1 MB) Często wykorzystuje się Memcached do buforowania wyników zapytań do bazy danych Klient dostępny dla wielu języków programowania 32

33 33

34 Memcached API function get_foo(int userid) { /* first try the cache */ data = memcached_fetch("userrow:" + userid); if (!data) { /* not found : request database */ data = db_select("select * FROM users WHERE userid =?", userid); /* then store in cache until next get */ memcached_add("userrow:" + userid, data); } return data; } 34

35 Memcached API function update_foo(int userid, string dbupdatestring) { /* first update database */ result = db_execute(dbupdatestring); if (result) { /* database update successful : fetch data to be stored in cache */ data = db_select("select * FROM users WHERE userid =?", userid); /* last line could also look like data = createdatafromdbstring(dbupdatestring); */ /* then store in cache until next get */ memcached_set("userrow:" + userid, data); } } (alternatywne rozwiązanie: usunąć zmienioną wartość ze schowka) 35

36 Serwer Memcached Architektura: Jeden serwer MySQL i kilka serwerów Memcached pozwala skalować aplikacje zorientowane na odczyt Jeden master serwer MySQL, kilka slave serwerów MySQL, kilka serwerów Memcached pozwala skalować aplikacje zorientowane na odczyt Sharding (podział aplikacji) podział danych na wiele fizycznych serwerów, w celu dobrej skalowalności odczytów i zapisów 36

37 37

38 38

39 39

Distributed Hash Tables i ich zastosowania

Distributed Hash Tables i ich zastosowania Distributed Hash Tables i ich zastosowania Seminarium z Systemów Rozproszonych, 2005/2006 Spis treści 1 Czym sa DHT? Typowe zastosowania 2 3 Sieci P2P Cooperative File System Czym sa DHT? Typowe zastosowania

Bardziej szczegółowo

Keszowanie i systemy peer-to-peer. Paulina Kania i Łukasz Osipiuk

Keszowanie i systemy peer-to-peer. Paulina Kania i Łukasz Osipiuk Keszowanie i systemy peer-to-peer Paulina Kania i Łukasz Osipiuk 1 Pośrednik w instytucji komputery za firewallem serwer HTTP serwer HTTP serwer HTTP Pośrednik na firewallu 2 Pochodzenie pośrednika keszującego

Bardziej szczegółowo

Sieci komputerowe. Wykład 12: Sieci peer-to-peer. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Sieci komputerowe. Wykład 12: Sieci peer-to-peer. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe Wykład 12: Sieci peer-to-peer Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 12 1 / 36 Wprowadzenie Do tej pory mówiliśmy o architekturze

Bardziej szczegółowo

Bezpieczniejsze DHT. Paweł Wiejacha. 25 marca Paweł Wiejacha Bezpieczniejsze DHT

Bezpieczniejsze DHT. Paweł Wiejacha. 25 marca Paweł Wiejacha Bezpieczniejsze DHT Bezpieczniejsze DHT Paweł Wiejacha 25 marca 2010 1 Paweł Wiejacha Bezpieczniejsze DHT Bezpieczniejsze DHT wstęp Plan prezentacji: Krótko o DHT czym jest DHT, gdzie i czemu się jej używa streszczenie protokołów

Bardziej szczegółowo

Tribler - nowe podejście do P2P

Tribler - nowe podejście do P2P Uniwersytet Warszawski Wydział MIM Seminarium Systemy Rozproszone 13. listopada 2008 Co to? Trochę historii Wyzwania P2P Co to? Nazwa pochodzi od Tribe - ang. plemię Projekt badawczy - eksperymentalny

Bardziej szczegółowo

Protokoły PEER2PEER. Krzysztof Kostałkowicz

Protokoły PEER2PEER. Krzysztof Kostałkowicz Protokoły PEER2PEER Krzysztof Kostałkowicz Sieć komputerowa Zbiór komputerów potrafiących się komunikować Struktura logiczna sieci Model scentralizowany klient serwer Model rozproszony peer to peer Klient

Bardziej szczegółowo

SIEĆ DHT SZYBKO I ANONIMOWO?

SIEĆ DHT SZYBKO I ANONIMOWO? 17 marca 2009 SIEĆ DHT SZYBKO I ANONIMOWO? Adam Kubiaczyk MOTYWACJA 2 Web x.0 Ciągły wzrost zainteresowania aplikacjami P2P Decentralizacja Cloud - computing Brak efektywnych mechanizmów zapewniających

Bardziej szczegółowo

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura

Bardziej szczegółowo

ROZSZERZAJĄC FUNKCJONALNOŚCI MEMCACHED

ROZSZERZAJĄC FUNKCJONALNOŚCI MEMCACHED ROZSZERZAJĄC FUNKCJONALNOŚCI MEMCACHED Mariusz Gil mariusz.gil@scalability.pl 4Developers 2011, Warszawa BIO 2 CZYM JEST MEMCACHED? 3 DISTRIBUTED HASH TABLE 4 ZASADA DZIAŁANIA cache 1GB cache 1GB memcached

Bardziej szczegółowo

Seminarium Bazy Danych I. BigTable. Piotr Świgoń Uniwersytet Warszawski

Seminarium Bazy Danych I. BigTable. Piotr Świgoń Uniwersytet Warszawski Seminarium Bazy Danych I BigTable Piotr Świgoń Uniwersytet Warszawski Rzędy wielkości Miliardy URL'i i linków, wiele wersji stron Setki milionów użytkowników Tysiące zapytań na sekundę 2.7 3.3 GB rozmiar

Bardziej szczegółowo

Kompresja tablic obliczeń wstępnych alternatywa dla tęczowych tablic. Michał Trojnara.

Kompresja tablic obliczeń wstępnych alternatywa dla tęczowych tablic. Michał Trojnara. Kompresja tablic obliczeń wstępnych alternatywa dla tęczowych tablic Michał Trojnara Michal.Trojnara@pl.abnamro.com Cel prezentacji Zaproponowanie rozwiązania alternatywnego wobec popularnych ataków na

Bardziej szczegółowo

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Akademia Techniczno-Humanistyczna w Bielsku-Białej Akademia Techniczno-Humanistyczna w Bielsku-Białej Wydział Budowy Maszyn i Informatyki Laboratorium z sieci komputerowych Ćwiczenie numer: 9 Temat ćwiczenia: Aplikacje klient-serwer. 1. Wstęp teoretyczny.

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2017 APLIKACJE SIECIOWE Definicja Architektura aplikacji sieciowych Programowanie

Bardziej szczegółowo

Projekt Fstorage. www.fstorage.pl. Łukasz Podkalicki Bartosz Kropiewnicki

Projekt Fstorage. www.fstorage.pl. Łukasz Podkalicki Bartosz Kropiewnicki Projekt Fstorage www.fstorage.pl Łukasz Podkalicki Bartosz Kropiewnicki Konspekt 1. Problemy związane ze składowaniem plików 2. Dostępne darmowe technologie 3. Opis najczęściej stosowanej technologii 4.

Bardziej szczegółowo

Systemy GIS Systemy baz danych

Systemy GIS Systemy baz danych Systemy GIS Systemy baz danych Wykład nr 5 System baz danych Skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki Użytkownik ma do dyspozycji narzędzia do wykonywania różnych

Bardziej szczegółowo

Definicja pliku kratowego

Definicja pliku kratowego Pliki kratowe Definicja pliku kratowego Plik kratowy (ang grid file) jest strukturą wspierająca realizację zapytań wielowymiarowych Uporządkowanie rekordów, zawierających dane wielowymiarowe w pliku kratowym,

Bardziej szczegółowo

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

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu. Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową..

Bardziej szczegółowo

Sieci równorzędne, oraz klient - serwer

Sieci równorzędne, oraz klient - serwer Sieci równorzędne, oraz klient - serwer podział sieci ze względu na udostępnianie zasobów: równorzędne, peer-to-peer, P2P, klient/serwer, żądanie, odpowiedź, protokół sieciowy, TCP/IP, IPX/SPX, admin sieciowy,

Bardziej szczegółowo

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny

Bardziej szczegółowo

Programowanie Komponentowe WebAPI

Programowanie Komponentowe WebAPI Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,

Bardziej szczegółowo

Bazy danych NoSQL Część III. Maciej Zakrzewicz Politechnika Poznańska, Instytut Informatyki,

Bazy danych NoSQL Część III. Maciej Zakrzewicz Politechnika Poznańska, Instytut Informatyki, Bazy danych NoSQL Część III Maciej Zakrzewicz Politechnika Poznańska, Instytut Informatyki, http://zakrzewicz.pl 1 Redis Serwer bazy danych NoSQL typu Key-Value Store Open source Przechowuje bazę danych

Bardziej szczegółowo

Przykładowe B+ drzewo

Przykładowe B+ drzewo Przykładowe B+ drzewo 3 8 1 3 7 8 12 Jak obliczyć rząd indeksu p Dane: rozmiar klucza V, rozmiar wskaźnika do bloku P, rozmiar bloku B, liczba rekordów w indeksowanym pliku danych r i liczba bloków pliku

Bardziej szczegółowo

Wykład 2. Drzewa zbalansowane AVL i 2-3-4

Wykład 2. Drzewa zbalansowane AVL i 2-3-4 Wykład Drzewa zbalansowane AVL i -3-4 Drzewa AVL Wprowadzenie Drzewa AVL Definicja drzewa AVL Operacje wstawiania i usuwania Złożoność obliczeniowa Drzewa -3-4 Definicja drzewa -3-4 Operacje wstawiania

Bardziej szczegółowo

Tworzenie aplikacji bazodanowych

Tworzenie aplikacji bazodanowych Tworzenie aplikacji bazodanowych wykład Joanna Kołodziejczyk 2016 Joanna Kołodziejczyk Tworzenie aplikacji bazodanowych 2016 1 / 36 Klasyfikacja baz danych Plan wykładu 1 Klasyfikacja baz danych 2 Architektura

Bardziej szczegółowo

Lista, Stos, Kolejka, Tablica Asocjacyjna

Lista, Stos, Kolejka, Tablica Asocjacyjna Lista, Stos, Kolejka, Tablica Asocjacyjna Listy Lista zbiór elementów tego samego typu może dynamicznie zmieniać rozmiar, pozwala na dostęp do poszczególnych elementów Typowo dwie implementacje: tablicowa,

Bardziej szczegółowo

Podstawy Informatyki. Metody dostępu do danych

Podstawy Informatyki. Metody dostępu do danych Podstawy Informatyki c.d. alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Bazy danych Struktury danych Średni czas odszukania rekordu Drzewa binarne w pamięci dyskowej 2 Sformułowanie

Bardziej szczegółowo

Application Layer Functionality and Protocols

Application Layer Functionality and Protocols Application Layer Functionality and Protocols Network Fundamentals Chapter 3 Version 4.0 1 Application Layer Functionality and Protocols Network Fundamentals Rozdział 3 Version 4.0 2 Objectives Define

Bardziej szczegółowo

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. Informatyka I Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 Standard JDBC Java DataBase Connectivity

Bardziej szczegółowo

Tablice z haszowaniem

Tablice z haszowaniem Tablice z haszowaniem - efektywna metoda reprezentacji słowników (zbiorów dynamicznych, na których zdefiniowane są operacje Insert, Search i Delete) - jest uogólnieniem zwykłej tablicy - przyspiesza operacje

Bardziej szczegółowo

Tablice z haszowaniem

Tablice z haszowaniem Tablice z haszowaniem - efektywna metoda reprezentacji słowników (zbiorów dynamicznych, na których zdefiniowane są operacje Insert, Search i Delete) - jest uogólnieniem zwykłej tablicy - przyspiesza operacje

Bardziej szczegółowo

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA Informatyka, studia dzienne, inż. I st. semestr VI Podstawy Kryptografii - laboratorium 2010/2011 Prowadzący: prof. dr hab. Włodzimierz Jemec poniedziałek, 08:30 Data oddania: Ocena: Marcin Piekarski 150972

Bardziej szczegółowo

Haszowanie (adresowanie rozpraszające, mieszające)

Haszowanie (adresowanie rozpraszające, mieszające) Haszowanie (adresowanie rozpraszające, mieszające) Tadeusz Pankowski H. Garcia-Molina, J.D. Ullman, J. Widom, Implementacja systemów baz danych, WNT, Warszawa, Haszowanie W adresowaniu haszującym wyróżniamy

Bardziej szczegółowo

Algorytmy i Struktury Danych, 9. ćwiczenia

Algorytmy i Struktury Danych, 9. ćwiczenia Algorytmy i Struktury Danych, 9. ćwiczenia 206-2-09 Plan zajęć usuwanie z B-drzew join i split na 2-3-4 drzewach drzepce adresowanie otwarte w haszowaniu z analizą 2 B-drzewa definicja każdy węzeł ma następujące

Bardziej szczegółowo

Gatesms.eu Mobilne Rozwiązania dla biznesu

Gatesms.eu Mobilne Rozwiązania dla biznesu Mobilne Rozwiązania dla biznesu SPECYFIKACJA TECHNICZNA WEB API-USSD GATESMS.EU wersja 0.9 Opracował: Gatesms.eu Spis Historia wersji dokumentu...3 Bezpieczeństwo...3 Wymagania ogólne...3 Mechanizm zabezpieczenia

Bardziej szczegółowo

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października 2011. Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października 2011. Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński Wykład 4 Protokoły SSL i TLS główne slajdy 26 października 2011 Instytut Informatyki Uniwersytet Jagielloński 4.1 Secure Sockets Layer i Transport Layer Security SSL zaproponowany przez Netscape w 1994

Bardziej szczegółowo

Galileo - encyklopedia internetowa Plan testów

Galileo - encyklopedia internetowa Plan testów Galileo - encyklopedia internetowa Plan testów Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Matek Sobierajski 5 czerwca 2006 1 Spis treści 1 Wprowadzenie 3 1.1 Cel..........................................

Bardziej szczegółowo

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami Serwer SSH Serwer SSH Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami Serwer SSH - Wprowadzenie do serwera SSH Praca na odległość potrzeby w zakresie bezpieczeństwa Identyfikacja

Bardziej szczegółowo

SSL (Secure Socket Layer)

SSL (Secure Socket Layer) SSL --- Secure Socket Layer --- protokół bezpiecznej komunikacji między klientem a serwerem, stworzony przez Netscape. SSL w założeniu jest podkładką pod istniejące protokoły, takie jak HTTP, FTP, SMTP,

Bardziej szczegółowo

Trwały nośnik w Alior Bank

Trwały nośnik w Alior Bank Trwały nośnik w Alior Bank - jak to działa? Opis rozwiązania dla zapewnienia elektronicznym dokumentom publicznym postaci trwałego nośnika. Alior Bank SA czerwiec 2019 1 Wprowadzenie Alior Bank wychodząc

Bardziej szczegółowo

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1 Ataki na RSA Andrzej Chmielowiec andrzej.chmielowiec@cmmsigma.eu Centrum Modelowania Matematycznego Sigma Ataki na RSA p. 1 Plan prezentacji Wprowadzenie Ataki algebraiczne Ataki z kanałem pobocznym Podsumowanie

Bardziej szczegółowo

Dokumentacja techniczna

Dokumentacja techniczna I N F O R M A T Y K A S T O S O W A N A E A I I E A G H Dokumentacja techniczna Mobilny asystent administratora Łukasz Świder Radosław Gabiga Łukasz Podolski Paweł Knap Marec Cabaj Maciej Stygar Aleksander

Bardziej szczegółowo

Projektowanie i implementacja wysokowydajnych aplikacji w języku

Projektowanie i implementacja wysokowydajnych aplikacji w języku Program szkolenia: Projektowanie i implementacja wysokowydajnych aplikacji w języku PHP Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Projektowanie i implementacja wysokowydajnych

Bardziej szczegółowo

Paweł Rajba

Paweł Rajba Paweł Rajba pawel@cs.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Używanie kursorów Rodzaje kursorów Praca z kursorami Co to jest kursor? Cykl życia kursora utworzenie pobieranie wartości ewentualnie

Bardziej szczegółowo

Architektura systemów webowych wysokiej przepustowości. na przykładzie Wikia

Architektura systemów webowych wysokiej przepustowości. na przykładzie Wikia Architektura systemów webowych wysokiej przepustowości na przykładzie Wikia Agenda Czym jest Fandom powered by Wikia Ogólny zarys architektury - warstwy systemu Ścieżka obsługi przykładowego żądania Monolit

Bardziej szczegółowo

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

Parametry wydajnościowe systemów internetowych. Tomasz Rak, KIA Parametry wydajnościowe systemów internetowych Tomasz Rak, KIA 1 Agenda ISIROSO System internetowy (rodzaje badań, konstrukcja) Parametry wydajnościowe Testy środowiska eksperymentalnego Podsumowanie i

Bardziej szczegółowo

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego:

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego: RZECZPOSPOLITA POLSKA (12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP 2161881 (96) Data i numer zgłoszenia patentu europejskiego: 20.05.2008 08748622.1 (13) (51) T3 Int.Cl. H04L 29/08 (2006.01)

Bardziej szczegółowo

Systemy Rozproszone. Zagadnienia do egzaminu.

Systemy Rozproszone. Zagadnienia do egzaminu. Systemy Rozproszone. Zagadnienia do egzaminu. 1. Definicje systemu rozproszonego i podstawowe pojęcia związane z takim systemem: węzeł, klient, serwer, peer, zasób, usługa. 2. Główne wyzwania związane

Bardziej szczegółowo

Charakterystyka sieci klient-serwer i sieci równorzędnej

Charakterystyka sieci klient-serwer i sieci równorzędnej Charakterystyka sieci klient-serwer i sieci równorzędnej Sieć klient-serwer Zadaniem serwera w sieci klient-serwer jest: przechowywanie plików i programów systemu operacyjnego; przechowywanie programów

Bardziej szczegółowo

1. PC to skrót od: a. Personal Computer b. Personal Calculator c. Perfect Creature

1. PC to skrót od: a. Personal Computer b. Personal Calculator c. Perfect Creature 1. PC to skrót od: a. Personal Computer b. Personal Calculator c. Perfect Creature 2. Internet: a. składa się z wielu połączonych, samodzielnie administrowanych sieci komputerowych b. kilku potrzebujących

Bardziej szczegółowo

Usługi sieciowe systemu Linux

Usługi sieciowe systemu Linux Usługi sieciowe systemu Linux 1. Serwer WWW Najpopularniejszym serwerem WWW jest Apache, dostępny dla wielu platform i rozprowadzany w pakietach httpd. Serwer Apache bardzo często jest wykorzystywany do

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium

Bardziej szczegółowo

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych Plan wykładu Bazy danych Cechy rozproszonej bazy danych Implementacja rozproszonej bazy Wykład 15: Rozproszone bazy danych Małgorzata Krętowska, Agnieszka Oniśko Wydział Informatyki PB Bazy danych (studia

Bardziej szczegółowo

Tworzenie kopii zapasowych i archiwalnych

Tworzenie kopii zapasowych i archiwalnych Tworzenie kopii zapasowych i archiwalnych Warsztaty Usługa powszechnej archiwizacji Sławomir Zdanowski, PCSS Maciej Brzeźniak, PCSS Plan prezentacji Czym jest kopia zapasowa a czym jest archiwum? Podstawowe

Bardziej szczegółowo

Bazy danych 2. Wykład 1

Bazy danych 2. Wykład 1 Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu

Bardziej szczegółowo

Wykład 5: PHP: praca z bazą danych MySQL

Wykład 5: PHP: praca z bazą danych MySQL Wykład 5: PHP: praca z bazą danych MySQL Architektura WWW Podstawowa: dwuwarstwowa - klient (przeglądarka) i serwer WWW Rozszerzona: trzywarstwowa - klient (przeglądarka), serwer WWW, serwer bazy danych

Bardziej szczegółowo

Indeksowanie w bazach danych

Indeksowanie w bazach danych w bazach Katedra Informatyki Stosowanej AGH 5grudnia2013 Outline 1 2 3 4 Czym jest indeks? Indeks to struktura, która ma przyspieszyć wyszukiwanie. Indeks definiowany jest dla atrybutów, które nazywamy

Bardziej szczegółowo

Systemy rozproszone System rozproszony

Systemy rozproszone System rozproszony Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.

Bardziej szczegółowo

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

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.

Bardziej szczegółowo

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak 1

Wprowadzenie. Dariusz Wawrzyniak 1 Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak

Bardziej szczegółowo

GIT. System Kontroli wersji GIT. Rafał Kalinowski

GIT. System Kontroli wersji GIT. Rafał Kalinowski GIT System Kontroli wersji GIT Rafał Kalinowski Agenda Czym jest GIT? Modele pracy Możliwości GIT a Kilka słów o terminologii Obiekty w GIT ie? Struktura zmian Operacje zdalne i lokalne Podstawowe operacje

Bardziej szczegółowo

MASKI SIECIOWE W IPv4

MASKI SIECIOWE W IPv4 MASKI SIECIOWE W IPv4 Maska podsieci wykorzystuje ten sam format i sposób reprezentacji jak adresy IP. Różnica polega na tym, że maska podsieci posiada bity ustawione na 1 dla części określającej adres

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2 Algorytmy i struktury danych Wykład 6 Tablice rozproszone cz. 2 Na poprzednim wykładzie Wiele problemów wymaga dynamicznych zbiorów danych, na których można wykonywać operacje: wstawiania (Insert) szukania

Bardziej szczegółowo

Na chwilę obecną biblioteka ElzabObsluga.dll współpracuje tylko ze sprawdzarkami RSowymi.

Na chwilę obecną biblioteka ElzabObsluga.dll współpracuje tylko ze sprawdzarkami RSowymi. Instrucja wdrożenia biblioteki ElzabObsluga.dll Wymagane wersje: ihurt 6.3 ElzabObsluga.dll 6.1.0.0 KhAutomat 6.3.0.0 Schemat blokowy: Na chwilę obecną biblioteka ElzabObsluga.dll współpracuje tylko ze

Bardziej szczegółowo

Trwały nośnik w T-Mobile Usługi Bankowe. Opis rozwiązania dla zapewnienia elektronicznym dokumentom publicznym postaci trwałego nośnika

Trwały nośnik w T-Mobile Usługi Bankowe. Opis rozwiązania dla zapewnienia elektronicznym dokumentom publicznym postaci trwałego nośnika Trwały nośnik w T-Mobile Usługi Bankowe Opis rozwiązania dla zapewnienia elektronicznym dokumentom publicznym postaci trwałego nośnika Wprowadzenie T-Mobile Usługi Bankowe wychodząc naprzeciw oczekiwaniom

Bardziej szczegółowo

WPROWADZENIE DO BAZ DANYCH

WPROWADZENIE DO BAZ DANYCH WPROWADZENIE DO BAZ DANYCH Pojęcie danych i baz danych Dane to wszystkie informacje jakie przechowujemy, aby w każdej chwili mieć do nich dostęp. Baza danych (data base) to uporządkowany zbiór danych z

Bardziej szczegółowo

Rozwiązania bazodanowe EnterpriseDB

Rozwiązania bazodanowe EnterpriseDB Rozwiązania bazodanowe EnterpriseDB Bogumił Stoiński RHC{E,I,X} B2B Sp. z o.o. 519 130 155 bs@bel.pl PostgreSQL Ponad 20 lat na rynku Jedna z najpopularniejszych otwartych relacyjnych baz danych obok MySQL

Bardziej szczegółowo

16MB - 2GB 2MB - 128MB

16MB - 2GB 2MB - 128MB FAT Wprowadzenie Historia FAT jest jednym z najstarszych spośród obecnie jeszcze używanych systemów plików. Pierwsza wersja (FAT12) powstała w 1980 roku. Wraz z wzrostem rozmiaru dysków i nowymi wymaganiami

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane Algorytmy i struktury danych Wykład 4 Tablice nieporządkowane i uporządkowane Tablice uporządkowane Szukanie binarne Szukanie interpolacyjne Tablice uporządkowane Szukanie binarne O(log N) Szukanie interpolacyjne

Bardziej szczegółowo

Tuning SQL Server dla serwerów WWW

Tuning SQL Server dla serwerów WWW Tuning SQL Server dla serwerów WWW Prowadzący: Cezary Ołtuszyk Zapraszamy do współpracy! Plan szkolenia I. Wprowadzenie do tematu II. Nawiązywanie połączenia z SQL Server III. Parametryzacja i przygotowanie

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych.

Bezpieczeństwo systemów komputerowych. Bezpieczeństwo systemów komputerowych. Temat seminarium: cos o dnsie, Selinuxie i itd. Autor: Jan Kowalski 1 Czym jest Kerberos? Kerberos jest usług ą uwierzytelniania i autoryzacji urzytkoweników w sieciach

Bardziej szczegółowo

Serwery Statefull i Stateless

Serwery Statefull i Stateless Serwery Statefull i Stateless Wszystkie serwery aplikacji są określone jako stateless podczas projektowania. Te aplikacje nie przetrzymują stałego połączenia z klientem. Wysyłają one pakiety danych na

Bardziej szczegółowo

Przykłady DFS z lotu ptaka :) NFS AFS Coda GoogleFS ZFS

Przykłady DFS z lotu ptaka :) NFS AFS Coda GoogleFS ZFS Przykłady DFS z lotu ptaka :) NFS AFS Coda GoogleFS ZFS NFS Network File System sieciowy system plików Stworzony przez Sun Microsystems Dostępny dla, m.in.: Unix, Windows, OS/2, Mac OS Pracuje w środowisku

Bardziej szczegółowo

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ zajęcia 1: 2. Procedury składowane

Bardziej szczegółowo

Klient-Serwer Komunikacja przy pomocy gniazd

Klient-Serwer Komunikacja przy pomocy gniazd II Klient-Serwer Komunikacja przy pomocy gniazd Gniazda pozwalają na efektywną wymianę danych pomiędzy procesami w systemie rozproszonym. Proces klienta Proces serwera gniazdko gniazdko protokół transportu

Bardziej szczegółowo

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

Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA. Dlaczego DNS jest tak ważny? Autorytatywne serwery DNS w technologii Anycast + IPv6 DNS NOVA Dlaczego DNS jest tak ważny? DNS - System Nazw Domenowych to globalnie rozmieszczona usługa Internetowa. Zapewnia tłumaczenie nazw domen

Bardziej szczegółowo

Porządek symetryczny: right(x)

Porządek symetryczny: right(x) Porządek symetryczny: x lef t(x) right(x) Własność drzewa BST: W drzewach BST mamy porządek symetryczny. Dla każdego węzła x spełniony jest warunek: jeżeli węzeł y leży w lewym poddrzewie x, to key(y)

Bardziej szczegółowo

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 5 Kursory w SQL Serverze Wprowadzenie Modele kursorów Używanie kursorów Rodzaje kursorów Praca

Bardziej szczegółowo

Szyfrowanie danych w SZBD

Szyfrowanie danych w SZBD Szyfrowanie danych w SZBD dr inż. Maciej Nikodem Instytut Informatyki, Automatyki i Robotyki maciej.nikodem@pwr.wroc.pl 1 Czy potrzebujemy szyfrowania w SZBD? prawo, kontrola dostępu, ochrona przed: administratorem,

Bardziej szczegółowo

IBM DCE/DFS. Mikołaj Gierulski. 17 stycznia 2003

IBM DCE/DFS. Mikołaj Gierulski. 17 stycznia 2003 IBM DCE/DFS Mikołaj Gierulski 17 stycznia 2003 1 Spis treści 1 IBM DCE 3 2 DCE/Distributed File Service 3 2.1 Rozwiązanie podstawowych problemów rozproszonych systemów plików.... 3 2.1.1 Nazewnictwo................................

Bardziej szczegółowo

INTERNET - Wrocław 2005. Usługi bezpieczeństwa w rozproszonych strukturach obliczeniowych typu grid

INTERNET - Wrocław 2005. Usługi bezpieczeństwa w rozproszonych strukturach obliczeniowych typu grid Usługi bezpieczeństwa w rozproszonych strukturach obliczeniowych typu grid Bartłomiej Balcerek Wrocławskie Centrum Sieciowo-Superkomputerowe Plan prezentacji Podstawowe pojęcia z dziedziny gridów Definicja

Bardziej szczegółowo

Ćwiczenie 8 Implementacja podpisu cyfrowego opartego na standardzie X.509

Ćwiczenie 8 Implementacja podpisu cyfrowego opartego na standardzie X.509 Ćwiczenie 8 Implementacja podpisu cyfrowego opartego na standardzie X.509 CEL: Poszerzenie wiadomości na temat podpisu cyfrowego oraz zastosowanie w praktyce standardu X.509. NARZĘDZIA: Oprogramowanie

Bardziej szczegółowo

Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource. Piotr Klimek. piko@piko.homelinux.net

Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource. Piotr Klimek. piko@piko.homelinux.net Sposoby klastrowania aplikacji webowych w oparciu o rozwiązania OpenSource Piotr Klimek piko@piko.homelinux.net Agenda Wstęp Po co to wszystko? Warstwa WWW Warstwa SQL Warstwa zasobów dyskowych Podsumowanie

Bardziej szczegółowo

OPROGRAMOWANIE KEMAS zbudowane jest na platformie KEMAS NET

OPROGRAMOWANIE KEMAS zbudowane jest na platformie KEMAS NET Security Systems Risk Management OPROGRAMOWANIE KEMAS zbudowane jest na platformie KEMAS NET Oprogramowanie firmy KEMAS jest zbudowane na bazie pakietu programowego- KEMAS NET- dedykowanego do zarządzania

Bardziej szczegółowo

Podręcznik Integracji

Podręcznik Integracji Podręcznik Integracji Spis treści 1. Integracja oferty... 3 1.1. Samodzielne wprowadzanie oferty sklepu... 3 1.2. Automatyczne wprowadzanie oferty z pliku XML... 3 1.3. Cyklicznie pobieranie oferty ze

Bardziej szczegółowo

WIELOWARSTWOWY CACHE. Na przykładzie serwisu GOG.com. Maciej Włodarkiewicz

WIELOWARSTWOWY CACHE. Na przykładzie serwisu GOG.com. Maciej Włodarkiewicz WIELOWARSTWOWY CACHE Na przykładzie serwisu GOG.com Maciej Włodarkiewicz O mnie GOG.com Head of Web Development GG Network S.A. Web Backend Lead 7 lat doświadczenia przy dużych aplikacjach internetowych

Bardziej szczegółowo

Działanie komputera i sieci komputerowej.

Działanie komputera i sieci komputerowej. Działanie komputera i sieci komputerowej. Gdy włączymy komputer wykonuje on kilka czynności, niezbędnych do rozpoczęcia właściwej pracy. Gdy włączamy komputer 1. Włączenie zasilania 2. Uruchamia

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Java Enterprise Edition. WebServices. Język XML. Serwer aplikacji GlassFish. Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki

Bardziej szczegółowo

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Wykład 4 Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Protokół SSL do zabezpieczenia aplikacji na poziomie protokołu transportowego

Bardziej szczegółowo

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie. Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy

Bardziej szczegółowo

Redis, skrypty w języku Lua

Redis, skrypty w języku Lua edis, skrypty w języku Lua 1/15 Redis, skrypty w języku Lua Technologie Zarządzania Treścią dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej

Bardziej szczegółowo

Specyfikacja API Runtime BAS 3.0

Specyfikacja API Runtime BAS 3.0 Specyfikacja API Runtime BAS 3.0 Spis treści Wstęp... 4 Informacja o dokumencie... 4 Opis usługi... 4 Typowy sposób wywołania usługi... 5 Udostępniane funkcje... 6 Funkcje liczące... 6 Execute... 6 SafeExecute...

Bardziej szczegółowo

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak Wykład 3 / Wykład 4 Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak 1 Wprowadzenie do Modułu 3 CCNA-E Funkcje trzech wyższych warstw modelu OSI W jaki sposób ludzie wykorzystują

Bardziej szczegółowo

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie warstwy danych Zagadnienia Sposoby zapisu danych zewnętrznych Odwzorowanie dziedziny problemu w dziedzinę danych Normalizacja relacyjnej

Bardziej szczegółowo

Kierunki Rozwoju Internetu: Wirtualizacja infrastruktury, Sieci treści, Internet rzeczy i usług

Kierunki Rozwoju Internetu: Wirtualizacja infrastruktury, Sieci treści, Internet rzeczy i usług Kierunki Rozwoju Internetu: Wirtualizacja infrastruktury, Sieci treści, Internet rzeczy i usług dr inż. Andrzej Bęben Instytut Telekomunikacji, Politechnika Warszawska 1 Plan prezentacji Wprowadzenie Nowe

Bardziej szczegółowo

CZĘŚĆ I. WARSTWA PRZETWARZANIA WSADOWEGO

CZĘŚĆ I. WARSTWA PRZETWARZANIA WSADOWEGO Spis treści Przedmowa Podziękowania O książce Rozdział 1. Nowy paradygmat dla Big Data 1.1. Zawartość książki 1.2. Skalowanie tradycyjnej bazy danych 1.2.1. Skalowanie za pomocą kolejki 1.2.2. Skalowanie

Bardziej szczegółowo

Połączenie Partnera z serwisem JustPay poprzez - METODĘ 2

Połączenie Partnera z serwisem JustPay poprzez - METODĘ 2 Połączenie Partnera z serwisem JustPay poprzez - METODĘ 2 Generowanie kodów: po stronie Partnera Weryfikacja kodów: po stronie Partnera Spis treści 1. Kolejne kroki w stworzeniu własnego serwisu 2. Jak

Bardziej szczegółowo

Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami

Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami Struktury sieciowe Struktury sieciowe Podstawy Topologia Typy sieci Komunikacja Protokoły komunikacyjne Podstawy Topologia Typy sieci Komunikacja Protokoły komunikacyjne 15.1 15.2 System rozproszony Motywacja

Bardziej szczegółowo

Sterowanie ruchem w sieciach szkieletowych

Sterowanie ruchem w sieciach szkieletowych Sterowanie ruchem w sieciach szkieletowych Transmisja wielościeżkowa Dr inż. Robert Wójcik Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji Kraków, dn. 6 kwietnia 2016 r. Plan

Bardziej szczegółowo