Vs4.21 4.2 Gruppenkommunikation (group communication) Bedeutet:Sendeoperation bezieht sich auf mehrere Adressaten - die Mitglieder einer Prozessgruppe.

Slides:



Advertisements
Ähnliche Präsentationen
Kapitel 15 Verteilte Datenbanken
Advertisements

Message Passing Interface (MPI)
Strategie (Strategy / Policy) Ein objektbasiertes Verhaltensmuster Stephan Munkelt, Stefan Salzmann - 03IN.
© 2003 Patrick Brunner Spontane Vernetzung – Jini 9. Januar 2004 Spontane Vernetzung Patrick Brunner.
Vs61 6 Verteilte Datenverwaltung. vs62 Ziel:Zusammengehöriger Datenbestand soll über mehrere Stationen verteilt werden, z.B. Fragmentierung: in mehrere.
6.3 Ereignisbasierte Systeme Ereignis (event) : eine Ereignis-Quelle (event source, publisher) generiert Benachrichtigung (event notification), an der.
4 Verteilte Algorithmen
2 Kommunikationssysteme bieten Kommunikationsdienste an, die das Senden und Empfangen von Nachrichten erlauben (sending & receiving messages) bestehen.
4.2 Gruppenkommunikation (group communication) Bedeutet:Sendeoperation bezieht sich auf mehrere Adressaten - die Mitglieder einer Prozeßgruppe (process.
Vs Klassifizierung von Kommunikationsdiensten synonym:Nachrichtensystem/dienst(message service) Kommunikationssystem/dienst(communication service)
On a Buzzword: Hierachical Structure David Parnas.
DNS – Domain Name System
Vortrag im Rahmen des Seminars
Umstellung von Lucane Groupware auf sichere Gruppenkommunikation mittels TGDH Von: Markus Diett Betreut durch: Mark Manulis Lehrstuhl für Netz- und Datensicherheit.
Das Strukturmuster Kompositum von C. Günther, T. Hammerschmidt und D. Kuhn.
3.1.7 Korrektheit von Objekten Voraussetzung für die Diskussion der Korrektheit von nichtsequentiell benutzten abstrakten Objekten: Modellbasierte Spezifikation:
ATM LAN Emulation Prof. Dr. W. Riggert. 2 Inhalt Das Tutorial ist in drei Abschnitte gegliedert. Abschnitt 1 behandelt die Frage, warum LAN Emulation.
Seminar: Architekturbeschreibungssprachen
Interaktionen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld Wie arbeiten VS mit ihrem Material (im einfachsten Fall)?
Verteilte Algorithmen
1 Thomas Butter Content Delivery Networks Peer-to-Peer Netze Thomas Butter
Einführung in die Technik des Internets
DVG Einführung in Java1 Einführung in JAVA.
Evaluierung des ITU-T.124 Telekonferenzstandards
TCP/IP-Ethernet.
Multimedia-Anwendungen und Routing
Sequenzdiagramme (1) Festlegen des Inter-Objekt-Verhaltens (Interaktionsstruktur, Verantwortlichkeiten) Sequenzdiagramm ist temporal orientiert zeigt.
Information und Kommunikation
Fehler in Rechnernetzen
Abgeleitet aus dem OSI-Referenzmodell sieben Schichten
Thread Synchronisation in JAVA
Zustandsübergangsdiagramme (1)
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II - Probeklausur - Arne Vater Sommersemester.
Anforderungen an Automotive Bussysteme
VPN – Virtual Private Network
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
Schutzvermerk nach DIN 34 beachten Ethernet und Echtzeit.
7.2.4 Klassifikation mobilen Codes Nicht vergessen:  Sowohl das Fernkopieren als auch die Migration von Objekten setzt voraus, daß der Code entweder am.
6.1.2 Sequentielle Konsistenz
Lösungen 1. Zu einem Dienst gehören immer: Diensterbringer (Server), Dienstbenutzer (Client) und Protokoll.
4.4 Sperrsynchronisation
TCP/IP.
2.3 Implementierung von Prozessen
Analyse und Umsetzung einer Filter-basierten Paketverarbeitungsmaschine für IP-Netzwerke Lehrstuhl für Systemarchitektur und Betriebssysteme Forschungs-
Vs Replizierte Objekte Vollständige Replikationsabstraktion ist attraktiv und machbar. 2 Beispiele: Orca(H. Bal, VU Amsterdam, ) = klassenbasierte,
Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.
5.1.2 Sequentielle Konsistenz
Vs Verteilte Transaktionen Situation:Fragmentierung: Ein Datenbestand ist über mehrere Stationen verteilt (z.B. verteilte Datenbank, verteiltes Dateisystem,...)
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
6.3 Verteilte Transaktionen
Max Haustein, Karsten Otto
NET Remoting.Net („dotnet“) :von Microsoft eingeführte Plattform für verteilte Anwendungen, virtuelle Maschine für die verteilte Ausführung von.
Visualisierung verteilter Systeme
Vs41 4 Verteilte Algorithmen. vs42 Prozesse als Systemkomponenten:  Spezifikation eines Prozesses ? (Vgl. Spezifikation eines ADT) syntaktisch:z.B. Ports.
Vs Auswahlalgorithmen (election algorithms) dienen der Wahl eines Koordinators („Gruppenleiters“) einer Gruppe bei „halbverteilten“ Algorithmen.
Vs61 6 Fehlertoleranz. vs62 Zuverlässigkeit (reliability) Sicherheit vor FehlernSicherheit vor Angriffen (safety)(security) WS/SS xySystemsicherheit SS.
Lisa Huber DHBW Mannheim
Asymmetrische Kryptographie
CCNA2 – Module 8 TCP/IP Error and Control Messages.
Verteilte Systeme Sommersemester 2007 Karsten Otto.
Vs Klassifizierung von Kommunikationsdiensten synonym:Nachrichtensystem/dienst(message service) Kommunikationssystem/dienst(communication service)
2 Kommunikationssysteme
Othmar Gsenger Erwin Nindl Christian Pointner
6.1.2 Sequentielle Konsistenz
6.3 Verteilte Transaktionen
7 Fehlertoleranz.
5.2 Gruppenkommunikation
Den Bus erkunden ….
Tutorstunde 10.
 Präsentation transkript:

vs Gruppenkommunikation (group communication) Bedeutet:Sendeoperation bezieht sich auf mehrere Adressaten - die Mitglieder einer Prozessgruppe (process group) Rundruf, Rundsendung, Rundmeldung (multicast; an alle Prozesse: broadcast) (Gegenteil: unicast) Motivation:- Replikation von Code und/oder Daten - Auffinden von Objekten im Netz - Informationsdienste - Konferenzsysteme, Kooperationssysteme (CSCW)

vs4.22 Klassifikation in verschiedenen Dimensionen: Adressierung:- benannte Prozeßgruppen: send m to group (mit Operationen zum Betreten/Verlassen einer Gruppe) - ad-hoc-Prozeßgruppen: send m to procset Offenheit:- geschlossene Gruppe: nur Mitglieder können senden - offene Gruppe: jeder kann senden Zuverlässigkeit: - keine Garantie, daß jeder die Nachricht erhält - atomar: Nachricht erreicht alle oder keinen - k-zuverlässig: Nachricht erreicht n ≥ k Teilnehmer Reihenfolge:s.u.

vs4.23 Implementierung: Gruppenverwaltung: - zentralisiert - verteilt Nachrichtenübertragung: - mit multicast-fähiger Netz-Hardware - mit speziellen Multicast-Protokollen - per Einzeladressierung

vs Ordnung der Nachrichten In welcher Reihenfolge treffen Rundrufe bei den Empfängern ein?  ungeordnet: keine Anforderung (d.h. nicht notwendig FIFO)  FIFO: mehrere Nachrichten eines Senders kommen in der Reihenfolge ihres Absendens bei allen Empfängern an. (Wie bei Unicast leicht durch Folgenumerierung zu gewährleisten.)  Kausalordnung (causally ordered, virtually synchronous) : FIFO bei allen Nachrichten, die in einer Kausalitätskette gesendet werden.  Totale Ordnung (loosely synchronous) : Nachrichten werden überall in der gleichen Reihenfolge erhalten.

vs4.25 Totale Ordnung impliziert Kausalordnung impliziert FIFO impliziert ungeordnet

vs Sicherung der Kausalordnung  Prozess p erhöht in seiner „Vektorzeit“ P vor dem Senden P p um 1 und heftet dann P als Zeitstempel t an die Nachricht an. Vor.: Zuverlässige Nachrichtenübertragung (!)  Eine von p bei q eintreffende Nachricht mit Zeitstempel t wird vom Nachrichtensystem solange zurückgestellt (d.h. nicht abgeliefert), bis gilt: t p = Q p + 1(garantiert FIFO-Ordnung) und  i  p: t i ≤ Q i (garantiert Kausalordnung: alle Nachrichten, die p gesehen hat, hat auch q gesehen)  Beim Abliefern einer Nachricht von p bei q wird Q p um 1 erhöht. (CBCAST im System ISIS, Birman/Joseph 1987, Cornell Univ.)

vs Sicherung der Totalordnung durch künstliche Serialisierung unabhängiger Rundrufe entweder mittels Sequencer, d.i. zusätzliche Station, über die alle Rundrufe vermittelt werden odermittels Prozeßring mit kreisender Marke (vgl. Token Ring in Hardware,  4.2.4), die die Sendeberechtigung gibt Garantiert werden typischerweise zuverlässige totalgeordnete Rundrufe auch bei Nachrichtenverlust, evtl. sogar Stationsausfall

vs4.28 Struktur des Sequencer-Protokolls:  p: send m to G veranlaßt Senden von (m,G) an Sequencer s (unzuverlässiger Unicast)  s schickt m an alle Mitglieder von G (unzuverlässiger Multicast)  Die send -Anweisung ist erst dann abgeschlossen, wenn bei der ausführenden Station die Nachricht m von s zurückkommt. Details: - Durchnumerierung der Unicasts und Multicasts - Timeout bei den beteiligten Prozessen - Geschichtspuffer beim Sequencer (Verteiltes Betriebssystem Amoeba, Kaashoek/Tanenbaum 1989)

vs4.29 Variante des Protokolls: - p macht Rundruf direkt, auch an s: (p,n,m) - s reagiert mit Rundruf (p,n,OK,i) - erst mit Erhalt dieser Nachricht ist die erste „offiziell“ Aufwand: Original:2 lange Nachrichten, aber nur 1 Multicast Variante:2 Multicasts, aber nur eine Nachricht ist lang Achtung! Diese Verfahren skalieren nicht für große Systeme! Andere Verfahren z.B. für Internet-Multicast.

vs Hardware-unterstützte Rundrufe in Lokalnetzen Ethernet: Kollisionsfreie Übertragung (durch Netzsteuerung nach eventuell wiederholten Versuchen sichergestellt) resultiert in Nachrichtenempfang in allen Stationen (einer Gruppe). Pufferüberlauf wird durch Software verhindert. Streng serielle Behandlung aller Rundrufe garantiert Totalordnung (sogar „perfect synchrony“ statt nur „virtual/loose synchrony“)

vs4.211 Token Ring: Senden kann nur wer im Besitz einer Marke ist. Erst wenn die Nachricht wieder beim Sender angekommen ist, wird die Marke weitergereicht, d.h. Serialität der Rundrufe und damit ebenfalls Totalordnung.

4.2.5 Gruppenkomunikation mit Java  Multicast Sockets: IP Multicast (ohne explizite Gruppen,  ) Multicast Sockets2.4.2  JGroups: + zuverlässige Gruppenkommunikation, JGroups Ordnung nach Wunsch FIFO, kausal oder total String props="UDP:PING:FD:STABLE:NAKACK:UNICAST:" + "FRAG:FLUSH:GMS:VIEW_ENFORCER:STATE_TRANSFER:QUEUE"; Message send_msg; Object recv_msg; Channel channel = new JChannel(props); channel.connect("MyGroup"); send_msg = new Message(null, null, "Hello world"); channel.send(send_msg); recv_msg = channel.receive(0); System.out.println("Received " + recv_msg); channel.disconnect(); channel.close(); statt Voreinstellung typischerweise "UDP(mcast_addr=...;mcast_port=...)"