Verteilte Systeme - P2P-Computing



Ähnliche Dokumente
Konzepte der Informatik

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Primzahlen und RSA-Verschlüsselung


1 topologisches Sortieren

Multimedia und Datenkommunikation

Software ubiquitärer Systeme

Nutzung von GiS BasePac 8 im Netzwerk

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Anbindung des eibport an das Internet

Peer-to-Peer- Netzwerke

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Professionelle Seminare im Bereich MS-Office

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Lizenzierung von SharePoint Server 2013

Flashfragen in ILIAS Test & Assessment. Helmut Schottmüller

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

1 Mathematische Grundlagen

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Anleitung über den Umgang mit Schildern

WinVetpro im Betriebsmodus Laptop

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Konzentration auf das. Wesentliche.

Lizenzierung von SharePoint Server 2013

Zwischenablage (Bilder, Texte,...)

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Software- und Druckerzuweisung Selbstlernmaterialien

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Erweitertes Kalkulationsfenster

Informationsblatt Induktionsbeweis

How to do? Projekte - Zeiterfassung

Grundlagen der Theoretischen Informatik, SoSe 2008

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Organic Computing: Peer-to-Peer-Netzwerke

Schleswig-Holstein Kernfach Mathematik

Approximation durch Taylorpolynome

teamsync Kurzanleitung

desk.modul : ABX-Lokalisierung

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Hilfedatei der Oden$-Börse Stand Juni 2014

Digitale Zertifikate

ZEITSYNCHRONISATION IM DS-WIN EINRICHTEN

DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach Bremen. Friedrich-Mißler-Straße Bremen

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Bayeux. Dirk Ewerlin

Erstellen von x-y-diagrammen in OpenOffice.calc

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

KSN-WEBMAIL-BASICS. November Grundlagen zum Thema Webmail TEIL A. Benutzen von Webmail

Über Arrays und verkettete Listen Listen in Delphi

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Dokumentation: ZIBXL - Auswertung der internen Umbuchungen

Elektrische Logigsystem mit Rückführung

Lizenzierung von System Center 2012

agitat Werkzeuge kann man brauchen und missbrauchen - vom Einsatz von NLP in der Führung

Installation Microsoft Lync 2010 auf Linux

Wir machen neue Politik für Baden-Württemberg

von: Oktay Arslan Kathrin Steiner Tamara Hänggi Marco Schweizer GIB-Liestal Mühlemattstrasse Liestal ATG

GEVITAS Farben-Reaktionstest

Enigmail Konfiguration

Lichtbrechung an Linsen

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Arbeit zur Lebens-Geschichte mit Menschen mit Behinderung Ein Papier des Bundesverbands evangelische Behindertenhilfe e.v.

WLAN Konfiguration. Michael Bukreus Seite 1

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Die richtigen Partner finden, Ressourcen finden und zusammenführen

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Virtuelle Präsenz. Peer to Peer Netze. Bertolt Schmidt

Modellbildungssysteme: Pädagogische und didaktische Ziele

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Das Leitbild vom Verein WIR

Bürgerhilfe Florstadt

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

SUB-ID- VERWALTUNG MIT GPP SETUP-GUIDE FÜR PUBLISHER

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Kommentartext Medien sinnvoll nutzen

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Thunderbird herunterladen, Installieren und einrichten Version (portable)

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

Übungsaufgaben Tilgungsrechnung

Auf den Schlussspurt kommt es an!

CodeSaver. Vorwort. Seite 1 von 6

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

1 Schritt für Schritt zu einem neuen Beitrag

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Wie Sie mit Mastern arbeiten

Bewertung des Blattes

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Transkript:

Verteilte Systeme - PP-Computing... alois.schuette@h-da.de Alois Schütte. Oktober / 7

Inhaltsverzeichnis Die Kommunikation in verteilten Systemen, bei denen eine Menge von gleichberechtigten Partnern gemeinsam einen Dienst anbieten und nutzen, soll hier beleuchtet werden. Einleitung Fallbeispiel AChord.im / 7

Einleitung Einleitung Der Begriff Peer-to-Peer (PP) wurde u.a. populär im Zusammenhang mit der Musik Tauschbörse Napster. Mit dieser Anwendung traten erstmals im Internet Client-Rechner in einen großen Verbund ein. Der Regelfall im Intranet und Internet war es bis dahin, dass es sich um sternförmige Netzstrukturen handelt: mehrere Clients greifen auf Dienste eines Servers zu. Die Clients bieten dabei ihrerseits keine Dienste für andere Clients an. Bei PP bilden die Clients an den Extremitäten des Netzes untereinander eine Verknüpfung Gleichberechtigter (englisch: Peer). / 7

Einleitung Evolution der Verbindungsstruktur Die Architektur von verteilten Anwendungen wandelt sich, ausgehend von reinen Client-Server Strukturen, über Web- zu PP Strukturen. / 7

Einleitung Vorteile der PP Kommunikation Vorteile der PP Kommunikation Die am meisten verwendete Aktionen im Internet sind: Suchen, Berechnen, Sharing. Gerade dazu wird durch PP ein Modell zur Verfügung gestellt mit dem u.a. folgende Vorteile erzielt werden: Ressourcen können von Peers bereitgestellt werden, für diejenigen, die sie gerade brauchen (Filesspace, CPU-Power,...). Die Suche kann verteilt und asynchron erfolgen, so dass Ergebnisse insgesamt schneller gefunden werden können. Instant Messaging Systeme auf PP Basis können Benutzer (Peers) unabhängig vom Service Provider ausfindig machen und die Kommunikation zwischen Peers ermöglichen. Käufer und Verkäufer können in PP Auktionen direkt Transaktionen ausführen. Was sind die Nachteile? Kennen Sie Beispiele für PP Anwendungen? / 7

Einleitung Architekturkonzepte Architekturkonzepte Grundsätzlich unterscheidet man PP Architekturen mit (Hybridarchitektur) und ohne (Pure PP Architektur) zentrale Kontrolle. / 7

Einleitung Architekturkonzepte Hybridarchitektur Das Hybrid PP-Modell bedient sich auf der einen Seite der Client-Server-, auf der anderen der PP-Beziehung. Es ist semi-zentral und beinhaltet mindestens einen zentralen Kontrollpunkt. Der Zweck reicht von der Kontrolle des gesamten Netzwerks bis zu einem einfachen Bezugspunkt für die verbundenen Peers. Oft existiert ein alleinstehender Peer, der für alle anderen Peers einen Index bzw. Katalog für die verfügbaren Daten darstellt. 7 / 7

Einleitung Architekturkonzepte Hybridarchitektur Vorteil Der Indexserver bringt den Vorteil mit sich, dass kein spezieller Suchdienst erforderlich ist. Nachteil Ausfall des Kontrollpunktes legt das gesamte PP Netz lahm. Beispiel: Napster 8 / 7

Einleitung Architekturkonzepte Super PP Das Super PP-Modell ist eine Weiterentwicklung des Hybrid PP, wobei die zentrale Verwaltungsinstanz keine einzelner Server ist, sondern selbst ein (teil-) PP Netz. Gut angebundene Knotenpunkte im Netzwerk werden als Super-Nodes eingesetzt, die als Übergangs-Indexserver dienen. Hierbei erfolgt eine Peer-to-Peer-Interaktion zwischen ausgezeichneten Teilnehmern (Super-Peers) sowie zwischen normalen Peers. Super-Nodes und normale Peers interagieren in einen Client-Server-Beziehung. Beispiel: KaZaa 9 / 7

Einleitung Architekturkonzepte Super PP Das Pure PP-Modell ist völlig dezentral ausgelegt. Es beinhaltet keinen zentralen Kontrollpunkt. Die Peers werden als völlig gleichwertig und autonom betrachtet. Daten oder Rechenleistung sollen sich über alle Peers verteilen, die direkt oder indirekt über andere Peers miteinander kommunizieren können. Die Organisation der Peers kann entweder eine feste Struktur aufweisen oder gänzlich unstrukturiert sein. Beispiel: Gnutella, Achord.im / 7

(distributed hash tables, DHT) bilden die Basis vieler PP-Netze. Wir werden hier das Chord-Verfahren diskutieren. / 7

Idee Idee Eine Hastabelle auf einem Server könnte verwendet werden, um einen Lookup-Service für -Werte Paare zu realisieren. Vorteil Client einfach zu implementieren Nachteil key = value = 9 H = key% Server : (, 7) (9, ) (, ) : (, ) : (8, ) (, 9) Single point of attacks Der zentrale Server bildet den Flaschenhals, wenn eine große Anzahl von -Werte Paare zu speichern sind. Eine verteilte Hash-Tabelle weist diese Nachteile nicht auf. / 7

Idee Chord: Verteilete Hash-Tabellen (DHT) DHT bilden eine Klasse von verteilten Systemen zur Realisierung von Lookup Diensten. -Werte Paare werden auf Knoten eines PP Netzes gespeichert. Jeder Knoten kann einen zu einem Schalüssel gehörenden Wert effizient finden. Die Verwaltung des Mapping von n zu verantwortlichem Konten kann mit minimalem Umfang von Unterbrechungen durchgeführt werden. Dies erlaubt eine sehr hohe Skalierung des PP Netzes mit kontinuierlichem Hinzufügen und Entfernen von Knoten. Client key = value = 9 (8, ) (9, ) (, 7) (, 9) (, ) (, ) / 7

Chord Chord Ein grundlegendes Problem der Peer-to-Peer Technik ist es, den richtigen Knoten zu finden, der die gesuchte Information enthält. Hierzu sind Verteilte Hash-Tabellen eine Lösung. Wir betrachten den Chord-Ansatz (vgl. [chord]). Chord liefert dazu eine Operation lookup(key): Finde zu einem den Knoten (IP-Adresse), der die Informationen zum enthält Server Server Server Server / 7

Chord System-Modell Ein Chord-Netz hat folgende Eigenschaften: balanciert: Chord agiert als verteilte Hash-Funktion und verteilt gleichmäßig über alle Knoten. dezentral: Chord ist verteilt, es gibt keine zentrale Kontrolle und keine ausgezeichneten Knoten mit Sonderrechten. skalierbar: Die Kosten für lookup wächst logarithmisch mit der Knotenanzahl. Daher ist es auch für große Netze geeignet. verfügbar: Chord adjustiert die interne Verwaltungs-Tabellen automatisch, wenn Knoten entfernt werden oder neue hinzukommen. flexibles Namensschema: Der Namensraum für ist flach, d.h. die Anwendungen sind flexible in der Zuordnung ihrer Namen für Objekte zu Chord-n. / 7

Chord Chord-Protokoll - Konsistentes Hashing Die konsistente Hash-Funktion ordnet jedem Knoten und jedem einen m-bit Bezeichner unter Verwendung von SHA- zu Knoten n: sha(ip von n) k: sha(k) Die werden den Knoten wie folgt zugewiesen: Die Bezeichner werden sortiert in einem Kreis modulo m angeordnet. k wird dem Knoten n = successor(k) zugewiesen mit n = k oder n ist erster Knoten im Kreis ausgehend von k im Uhrzeigersinn Bezeichner-Kreis mit - drei Knoten,, - drei,, 7 suc() = suc() = suc() = Knoten / 7

Chord Chord-Protokoll - Konsistentes Hashing Konsistentes Hashing ist so designed, dass es ohne große Verwaltung möglich ist, dass Knoten beitreten bzw. das Netz verlassen können. Verfahren Knoten n: beitreten n übernimmt die seines Nachfolgers Bezeichner-Kreis mit - drei Knoten,, - drei,, 7 suc() = Knoten 7 tritt bei 7 suc() = suc() = suc() = suc() = suc() = Knoten 7 / 7

Chord Chord-Protokoll - Konsistentes Hashing Verfahren Knoten n: verlassen der Nachfolger von n übernimmt die von n Bezeichner-Kreis mit - drei Knoten,, - drei,, 7 suc() = Knoten 7 tritt bei 7 suc() = suc() = suc() = suc() = suc() = Knoten Dieses Verfahren sollen Sie im letzten Praktikum implementieren. PP Echo Server Rechner: $ VerteilteSystem/bin/PP/run.sh tcp 8 / 7

Chord Implementierung konsistentes Hashing Zum Implementieren von konsistentem Hashing braucht jeder Knoten als Verwaltungsinformation nur seinen Nachfolger zu kennen: Eine Querry nach einem Bezeichner folgt den succ-pointern der Knoten bis der erste Knoten gefunden ist, der zum Bezeichner passt. Problem: Dieses Verfahren ist aber ineffizient: man muss u.u. alle N Knoten besuchen! Lösung: Jeder Knoten wird mit zusätzlicher Routing-Information ausgestattet. 9 / 7

Chord Implementierung konsistentes Hashing - finger table Jeder Knoten n erhält eine Routingtabelle (finger table): der i-te Eintrag von n enthält den ersten Knoten s, der i Schritte von n entfernt ist d.h. s = successor(n + i ) mit i m. (Notation: n.finger[i].node) Gespeichert werden nun folgende Informationen an jedem Knoten n: Notation finger[k].start.interval.node successor predecessor Definition (n + k )% m, k m [finger[k].start, finger[k + ].start] first node n.finger[k].start next node on the circle; previous node on the circle.finger[].intervall = [ finger[].start, ] finger Intervalle des Knoten 7.finger[].start =.finger[].intervall = [.finger[].start,.finger[].start ].finger[].start =.finger[].start =.finger[].intervall = [.finger[].start,.finger[].start ] / 7

Chord Implementierung konsistentes Hashing - finger table Dieses Schema hat folgende grundlegende Charakteristiken: Jeder Knoten speichert nur wenig Informationen über andere Knoten. Jeder Knoten weiß mehr über seine nahen Nachfolger als von den entfernten Nachfolgern. Die finger-tabelle eines Knotens kann nicht für jeden den Nachfolger bestimmen, z.b. Knoten kennt nicht den Nachfolger von. finger Tabellen und Lokation im Netz mit Knoten,, und,, 7 start Interv. succ finger Tabelle [,] [,] [,] start Interv. succ finger Tabelle [,] [,] [,] start Interv. succ 7 finger Tabelle [,] [,7] [7,] / 7

Chord Implementierung konsistentes Hashing - Nachfolger finden Wegen Punkt verwendet man folgenden Algorithmus, um den Nachfolger eines beliebigen Bezeichners zu finden, man verwendet RPC: // ask node n to find id 's successor n. find_successor ( id) { n' = find_predecessor ( id ); return n '. successor ; } 7 // ask node n to find id 's predecessor 8 n. find_predecessor ( id ){ 9 n' = n; while ( id not in (n ', n'. successor )) n'=n'. closest_preciding_finger ( id ); return n ' } finger Tabellen und Lokation im Netz mit Knoten,, und,, 7 start Interv. succ finger Tabelle [,] [,] [,] start Interv. succ finger Tabelle [,] [,] [,] // return closest finger preceding id n. closest_preceding_finger ( id) { 7 for ( i = m downto ) 8 if ( finger [i]. node is in (n, id) 9 return finger [i]. node ; return n; } start Interv. succ 7 finger Tabelle [,] [,7] [7,] / 7

Chord Implementierung konsistentes Hashing - Nachfolger finden Beispiel: Knoten will successor von Bezeichner wissen Knoten : gehört zu Intervall [7,], also.finger[].succ =. Konten : Da O Vorgänger von ist, fragt Knoten Knoten, den Nachfolger von zu bestimmen. Knoten : Knoten sieht in seiner finger-tabelle,.finger[].succ =. Knoten ; Also gibt Knoten die als Ergebnis an Knoten zurück. finger Tabellen und Lokation im Netz mit Knoten,, und,, 7 start Interv. succ finger Tabelle [,] [,] [,] start Interv. succ finger Tabelle [,] [,] [,] start Interv. succ 7 finger Tabelle [,] [,7] [7,] / 7

Chord Implementierung konsistentes Hashing - Aufwand Satz: Die Anzahl von Knoten, die in einem N-Knoten Netzwerk kontaktiert werden müssen, um den Successor eines Knoten zu bestimmen ist O(log N). Beweis: vgl. [chord]) oder experimentell im Praktikum mit OpenCourd (http: // open-chord. sourceforge. net ). finger Tabellen und Lokation im Netz mit Knoten,, und,, 7 start Interv. succ finger Tabelle [,] [,] [,] start Interv. succ finger Tabelle [,] [,] [,] start Interv. succ 7 finger Tabelle [,] [,7] [7,] / 7

Chord Dynamik des Netzes IN ARBEIT / 7

Fallbeispiel AChord.im Fallbeispiel AChord.im Hier wird als Beispiel auf ein PP System eingegangen, das im Rahmen vom Musterprojekten entstanden ist. Vortrag AChord / 7

Fallbeispiel AChord.im Literatur- & Quellenverzeichnis [chord] Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan: Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications http://pdos.csail.mit.edu/papers/chord:sigcomm/chord_sigcomm.pdf 7 / 7