Überblick. Verteilte Systeme

Größe: px
Ab Seite anzeigen:

Download "Überblick. Verteilte Systeme"

Transkript

1 Überblick Wintersemester 2014/2015 Prof. Dr. Peter Mandl Verteilte Systeme Einführung und Überblick Zeitsynchronisation Wahl und Übereinstimmung RPC, verteilte Objekte und Dienste Verteilte Transaktionen Message Passing Middlewareplattformen Verteilte Architekturen Gruppenkommunikation Replikation Wechselseitiger Ausschluss Prof. Dr. Peter Mandl Verteilte Systeme Seite: 1

2 Literatur für diesen Teil Coulouris G., et al.: Distributed systems: concepts and design, 5. Auflage, Prentice-Hall, 2012 Tanenbaum, A., Steen, M.: Verteilte Systeme - Prinzipien und Paradigmen, 2. Auflage, Prentice-Hall, 2008 Weber, M.: Verteilte Systeme, Spektrum Akademischer Verlag, 1998 Ban, B.; Red Hat Inc: Reliable Multicasting with the JGroups Toolkit, Manual, JBoss Revision: 1.14 Seite: 2

3 Zielsetzung Zielsetzung der Vorlesung: - Der Studierende soll die grundlegenden Kommunikationsmechanismen für die Gruppenkommunikation verstehen und einschätzen können. - Der Studierende soll den Aufwand und die Machbarkeit der Implementierung von Multicast-Protokollen abschätzen können. Seite: 3

4 Überblick 1.Gruppenkommunikation, grundlegende Anforderungen 2. Semantik der Gruppenkommunikation 3. Implementierungsaspekte 4. Fallbeispiel: JGroups 5. Zusammenfassung Seite: 4

5 Gruppenkommunikation, Was ist das? Im Gegensatz zur Punkt-zu-Punkt-Kommunikation dient Gruppenkommunikation der Kommunikation von mehreren verteilten Prozessen innerhalb einer Anwendung - Mehr als 2 Teilnehmer - 1:m-Kommunikation: Sender sendet an mehrere Empfänger Verschiedene Kommunikationsmechanismen: Sinnvoll ist Multicast Gruppenmitglied Gruppenmitglied Gruppenmitglied Gruppenmitglied Nachricht an die Gruppe Gruppenkommunikation (Multicast) Gruppenmitglied Gruppenmitglied Kommunikationsmechanismen: - Broadcast - Multicast z.b. über multicastfähige Netzwerke wie Ethernet - Gruppenadresse notwendig Seite: 5

6 Motivation und Szenarien Es gibt viele Anwendungen, die Gruppenkommunikation benötigen Unterschiedliche Anforderungen an die Zuverlässigkeit und an die Sortierung der Nachrichten: - Chat-Anwendung Geringe Anforderungen - Verteilung von Aktienkursen in einem Handelsraum einer Bank Hohe Anforderungen - Cluster für hochverfügbare Anwendungen Hohe Anforderungen - Verschiedene Replikationsszenarien Unterschiedliche Anforderungen Seite: 6

7 Offene und geschlossene Gruppen Geschlossene Gruppe: Bekannte Mitglieder Offene Gruppe: Dynamisch variierende Mitglieder Geschlossene Gruppe Offene Gruppe Prozess mit eindeutiger ID Üblichere Variante: Aber Ausfallsituationen müssen behandelt werden Teilnehmer fällt aus und möchte danach wieder zur Gruppe! Seite: 7

8 Überblick 1. Gruppenkommunikation, grundlegende Anforderungen 2. Semantik der Gruppenkommunikation 3. Implementierungsaspekte 4. Fallbeispiel: JGroups 5. Zusammenfassung Seite: 8

9 Semantik der Gruppenkommunikation: Zuverlässigkeit- und Ordnungsgrade Zuverlässigkeitsgrade - Keine Zuverlässigkeit: Keine Garantie darüber, wie viele Empfänger eine Nachricht erhalten - k-zuverlässig: Es wird garantiert, dass mind. k Gruppenmitglieder eine Nachricht erhalten - Atomar: Es wird sichergestellt, dass alle oder keiner eine Nachricht erhalten Ordnungsgrade (in der Nachrichtenreihenfolge) - Ungeordnet: Überholen möglich (nicht sortiert) - FIFO-geordnet (FIFO-sortiert) - Kausal geordnet (kausal sortiert) - Total geordnet (vollständig sortiert) Seite: 9

10 Zuverlässigkeitsgrade Atomar Atomar bedeutet: Alle nicht fehlerhaften Gruppenmitglieder erhalten eine Nachricht oder keines der Mitglieder - Ordnung nicht festgelegt - Wichtig z.b. bei verteilter, replizierter Datenbank, bei der alle Änderungsoperationen in allen Repliken ausgeführt werden müssen (da ist aber auch die Reihenfolge wichtig) Probleme, die gelöst werden müssen: - Absturz eines Gruppenmitglieds: Alle anderen müssen vom Ereignis erfahren und es behandeln - Gruppenmitglied kommt wieder dazu: Recovery notwendig - Neues Mitglied kommt zur Gruppe hinzu (bei offenen Gruppen) Seite: 10

11 Zuverlässigkeitsgrade Virtuelle Synchronität (1) Die Gruppe kann sich immer verändern während Nachrichten gesendet werden Def. Sicht (View) bzw. Gruppensicht : - Alle Gruppenmitglieder sehen die Gruppe gleich Problem: Gruppe ändert sich (durch Ausfall eines Mitglieds) und es ist gerade eine Nachricht unterwegs - Alle bekommen die Nachricht oder keiner Virtuell synchron bedeutet soviel wie atomar während einer Gruppensicht - Man spricht auch von einem virtuell synchronen Multicast = zuverlässiger, aber nicht geordneter Multicast Seite: 11

12 Zuverlässigkeitsgrade Virtuelle Synchronität (2) Herausforderung: Multicasts finden zwischen Sichtänderungen statt - Die Änderung einer Sicht stellt eine Grenze dar, die eine Multicast- Nachricht nicht überschreiten darf - Alle Multicasts während einer Sicht werden abgeschlossen, bevor die neue Sicht wirksam wird P1 tritt der Gruppe bei P3 stürzt ab P3 kommt wieder zurück P 1 t P 2 P 3 Tanenbaum (2008) P 4 G = {P1, P2, P3, P4} G = {P1, P2, P4} G = {P1, P2, P3, P4} Nachricht wird nicht ausgeliefert Seite: 12

13 Ordnungsgrade im Zusammenhang Keine Ordnung FIFO- Ordnung Kausale Ordnung Totale Ordnung Totale Ordnung erfüllt auch die Bedingungen einer kausalen Ordnung usw. Achtung: Atomar bedeutet nicht unbedingt geordnet! Seite: 13

14 Ordnungsgrade: FIFO-geordnet (1) Alle Gruppennachrichten desselben Senders kommen bei den anderen Mitgliedern in der gesendeten Reihenfolge an Beispiel bei 5 Gruppenmitgliedern ohne Konsistenzprobleme: P 1 P 2 P 3 P 4 P 5 send(msg1) receive(msg1) Zeit send(msg2) receive(msg2) receive(msg1) receive(msg1) receive(msg2) receive(msg2) receive(msg1) receive(msg2) Seite: 14

15 Ordnungsgrade: FIFO-geordnet (2) Mögliches Konsistenzproblem durch Übertragung, die nicht den FIFO- Regeln entspricht P 1 P 2 P 3 P 4 P 5 send(msg1) receive(msg1) Zeit send(msg2) receive(msg2) receive(msg1) receive(msg1) receive(msg2) receive(msg2) receive(msg1) Das wäre eine Verletzung der FIFO-Ordnung! receive(msg2) Seite: 15

16 Ordnungsgrade: FIFO-geordnet (3) Konsistenzprobleme sind zudem trotz der FIFO-Ordnung möglich Beispiel bei 5 Gruppenmitgliedern mit Konsistenzproblemen: P 1 P 2 P 3 P 4 P 5 send(msg1) receive(msg1) send(msg2) Zeit Mögliches Problem! receive(p2, msg2) receive(p1, msg1) Seite: 16

17 Ordnungsgrade: Kausale Ordnung (1) Wenn eine Nachricht m a kausal abhängig von einer anderen Nachricht m b ist, erhalten alle Gruppenmitglieder m b vor m a Kausal unabhängige Nachrichten sind aber ungeordnet Es geht also um den Zusammenhang von Ereignissen - Ursache vor Wirkung - Kann auch anders wahrgenommen werden: Triebwerksgeräusch (Ursache) hört man erst, nachdem man ein Flugzeug schon gesehen hat (Wirkung) Definition: Kausalität (Quelle: Weber, M.: Verteilte Systeme, 1998) - Ereignisse: e 1, e 2, e 3 - e 1 < e 2 : e 2 ist kausal abhängig genau dann, wenn e 1 Auswirkungen auf e 2 haben kann - Zwei Ereignisse sind dann kausal unabhängig wenn weder e 1 < e 2 noch e 2 < e 1 gilt - Transitivität gilt auch - Die Relation < definiert hier eine partielle Ordnung (Halbordnung) auf der Menge der Ereignisse Seite: 17

18 Ordnungsgrade: Kausale Ordnung (2) Kausalitätserhaltende Ordnung ist auch eine FIFO-Ordnung Beispiel innerhalb eines sequentiell ablaufenden Prozesses: Kausal geordnete Sende- und Empfangsereignisse (s = Sendeereignis, r = Empfangsereignis): s1 < s2 < r1 < s3 < r2 P 1 s1 s2 r1 s3 r2 t Ankommende Nachricht Das Empfangen einer Nachricht ist kausal abhängig vom vorhergehenden Absenden derselben: s1 < r1, s2 < r2 und r1 < s2 s1 < r2 (Transitivität) P 1 r1 s2 Mögliche Abhängigkeit! Siehe auch Happened-Before-Relation! t P 2 s1 r2 Seite: 18

19 Ordnungsgrade: Kausale Ordnung (3) Beispiel mit 5 Gruppenmitgliedern für eine kausal geordnete Gruppenkommunikation: P 1 t P 2 P 3 P 4 P 5 Seite: 19

20 Ordnungsgrade: Kausale Ordnung (4) Beispiel mit 5 Gruppenmitgliedern für eine nicht kausal geordnete Gruppenkommunikation: P 1 t P 2 P 3 P 4 P 5 FIFO-Ordnung wäre aber hier erfüllt; hier trivial, da P1 und P2 jeweils nur eine Nachricht senden Seite: 20

21 Ordnungsgrade: Totale Ordnung Alle Gruppenmitglieder empfangen bei totaler Ordnung alle Nachrichten in der gleichen Reihenfolge Die Reihenfolge kann aber beliebig sein, sie muss nur für alle Gruppenmitglieder gelten Um totale (= globale) Ordnung zu erreichen, wird ein zusätzliches Ordnungskriterium eingeführt, z.b. eine globale eindeutige Prozess-Id Totale Ordnung ist sehr aufwändig zu implementieren In praktischen Fällen ist kausale Ordnung oder FIFO-Ordnung ausreichend Seite: 21

22 Variante: Zuverlässiger, aber nicht sortierter Multicast Bedeutung: - Virtuell synchron, - aber keine Garantien zur Ordnung bzw. Auslieferung der Nachrichten Beispiel: P 1 sendet zwei Nachrichten, die in unterschiedlicher Reihenfolge bei den Gruppenmitgliedern ankommen P 1 send(m1) send(m2) t P 2 P 3 Nachricht 1 kommt an: Nachricht 2 kommt an: Seite: 22

23 Variante: Zuverlässiger, FIFO-sortierter Multicast Bedeutung: - Virtuell synchron und - eingehende Nachrichten von demselben Prozess werden in derselben Reihenfolge ausgeliefert, in welcher der Prozess sie sendet Beispiel: P 1 sendet zwei Nachrichten, die in gleicher Reihenfolge bei den Gruppenmitgliedern ankommen P 1 send(m1) send(m2) t P 2 P 3 Nachricht 1 kommt an: Nachricht 2 kommt an: Aber: FIFO-Reihenfolge nicht global über alle Prozesse! Seite: 23

24 Variante: Zuverlässiger, kausal sortierter Multicast Bedeutung: - Virtuell synchron und - potenzielle (!) Kausalität zwischen den Nachrichten wird beibehalten Beispiel: P 1 und P 4 senden je zwei Nachrichten P 1 send(m1) send(m2) t P 2 m1 m3 m2 m4 P 3 P 4 send(m3) send(m4) Implementierung mit Vektor-Zeitstempeln möglich Seite: 24

25 Variante: Zuverlässiger, kausal sortierter Multicast Beispiel mit einer Verletzung der Kausalität, da P 2 Nachricht m3 vor m2 empfängt P 1 send(m1) send(m2) receive(m3) t P 2 receive (m1) m3 m2 P 3 P 4 receive(m2) send(m3) Seite: 25

26 Diskussion Message Queueing mit Publish Subscribe versus Gruppenkommunikation Vorteile, Gemeinsamkeiten, Unterschiede und Möglichkeiten der Kommunikationsmodelle diskutieren! Seite: 26

27 Überblick 1. Gruppenkommunikation, grundlegende Anforderungen 2. Semantik der Gruppenkommunikation 3. Implementierungsaspekte 4. Fallbeispiel: JGroups 5. Zusammenfassung Seite: 27

28 Implementierung Modell (1) Grundlegendes Modell der Implementierung auf einem System: - Ankommende Nachrichten gehen in eine Rückhaltewarteschlange - Auslieferungsbedingungen (Reihenfolge, Konsistenz) müssen erfüllt werden - Dann erst gehen Nachrichten in eine Auslieferungswarteschlange - Von dort aus Auslieferung an die Anwendung Seite: 28

29 Implementierung Modell (2) Eingangs- und Ausgangswarteschlangen einer Middleware zur Verarbeitung von Nachrichten zur Gruppenkommunikation Applikation Kommunikationsschicht Anwendung mit Nachrichtenverarbeitung Auslieferung Unterschied: Empfang und Auslieferung einer Nachricht! Betriebssystem Rückhalte- Warteschlange Auslieferungswarteschlange Pufferung möglich Wenn Auslieferungsgarantien erfüllt sind Eingehende Nachrichten werden empfangen Quelle: in Anlehnung an Coulouris (2012) Seite: 29

30 Implementierung Modell (3) Middlewareschicht Auf jedem Knoten läuft eine Instanz der Middleware mit mindestens zwei Diensten: send (multicast) und deliver Rechner 1 Rechner 2 Rechner n Anwendung Anwendung Anwendung send deliver send deliver send deliver Multicast- Middleware Zustellungslogik Multicast- Middleware Multicast- Middleware send send send receive receive receive Weitere Dienste: join, leave Netzwerk Seite: 30

31 Implementierung über Punkt-zu-Punkt-Nachrichten Implementierung abhängig vom Netzwerk Senden einer Multicast-Nachricht einzeln an alle Gruppenmitglieder - Einfach zu implementieren - Keine Garantie für die Ankunft der Nachrichten - Keine Ordnung - Ineffizient, da viele Nachrichten gesendet werden - Möglich über TCP oder UDP Je komplizierter die Anforderungen an den Ordnungsgrad und die Zuverlässigkeit, umso mehr muss man auf Punkt-zu- Punkt-Verbindungen zurückgreifen - Aber zusätzliche Funktionalität muss implementiert werden Seite: 31

32 Implementierung über vorhandene Multicast-Mechanismen Nutzung von im Netzwerk verfügbaren Mechanismen: Broadcast, Multicast - Beispiel: IP-Multicast über UDP-Sockets - Im WAN wird für das Multicasting noch IGMP (IGMPv6) benötigt Viel genutzt in OSPF, Web-Radio, IPTV - IPv6-Multicasting Auch diese Mechanismen reichen nur für die Implementierung von unzuverlässigen und ungeordneten Gruppenkommunikation aus Verbesserung der Zuverlässigkeit und/oder der Ordnung erfordert zusätzliche Mechanismen Seite: 32

33 Implementierung der Zuverlässigkeit, total geordneter Multicast Eindeutige Sequenznummern über alle Nachrichten erforderlich - Implementierung über eine Gruppenkommunikations-Middleware Pufferung beim Empfänger - Nachrichten erst an Anwendung geben, wenn fortlaufende Sequenznummern ohne Lücken vorhanden sind Generierung der Sequenznummern, drei Varianten: - Zeitstempel einer eindeutigen, gemeinsamen logischen oder physikalischen Uhr verwenden - Zentraler Sequencer, an den alle Nachrichten gesendet werden, nutzen (siehe Amoeba) - Spezielles Protokoll zur Abstimmung der Sequenznummern (z.b. über ein Token-basiertes Protokoll) Seite: 33

34 Implementierung Bestätigungen für einen zuverlässigen Multicast n Gruppenmitglieder n - 1 Bestätigungen, die beim Sender ankommen Bestätigungen könnten auch verloren gehen erneut senden Sender wird überschwemmt mit Bestätigungsnachrichten - Feedback-Implosion - Sendepuffer muss lange aufgehoben werden E 1 S ACK E 2 E n-1 Hohe Nachrichtenkomplexität, wie kann man zuverlässiges Multicasting skalierbar implementieren? Seite: 34

35 Implementierung Nicht hierarchische Feedback-Steuerung Optimierung des Bestätigungsverfahrens durch Reduktion der Bestätigungsnachrichten z.b. im SRM-Protokoll (Scalable Reliable Multicasting) - Nur fehlende Nachrichten werden gemeldet NAK an die ganze Gruppe - Empfänger verzögert aber seine NAK-Nachricht um eine zufällige Zeit und horcht auf NAK-Nachrichten anderer Gruppenmitglieder Ziel: Einsparung von NAK-Nachrichten - Nachteilig: Verzögerungen Timer-Behandlung bei großen Gruppen ist schwierig Weitere Verbesserung durch hierarchische Feedbacksteuerung Seite: 35

36 Implementierung Hierarchische Feedback-Steuerung Hierarchisches zuverlässiges Multicasting - Lokale Koordinatoren Geben Nachrichten weiter Übernehmen evtl. spätere erneute Anforderung - Beispiel: Vereinfacht mit nur einem Sender E S LAN K WAN-Verbindung K LAN W E = Empfänger K = Koordinator S = Sender W = Wurzel Quelle: Tanenbaum (2008) Seite: 36

37 Implementierung der virtuellen Synchronität Sender kann ausfallen, bevor alle Gruppenmitglieder seine Nachricht erhalten haben Sicht muss für alle gleich sein Alle Gruppenmitglieder bewahren die Nachricht auf, bis sie wissen, dass alle anderen sie sicher erhalten haben - Nur stabile Nachrichten dürfen an Anwendung ausgeliefert werden Monitoring und Synchronisation erforderlich - Jeder Prozess kann eine Sichtänderung (Ausfall eines Mitglieds) erkennen - Nachricht über Sichtänderung wird an alle gesendet - Daraufhin senden alle ihre Kopien aller instabilen Nachrichten an alle Mitglieder - Anschließend wird eine Flush-Nachricht gesendet Anzeige, dass nächste Sicht eingerichtet werden kann Dies ist nur eine Implementierungsvariante, man könnte z.b. auch mit Koordinatoren arbeiten Seite: 37

38 Überblick 1. Gruppenkommunikation, grundlegende Anforderungen 2. Semantik der Gruppenkommunikation 3. Implementierungsaspekte 4.Fallbeispiel: JGroups 5. Zusammenfassung Seite: 38

39 Überblick über vorhandene Lösungen ISIS (1986, Ken Birman), Folgesystem: Horus (Ken Birman u.a., 90er Jahre) - ISIS implementiert mehrere Multicast-Varianten CBCAST: Kausal geordneter Multicast auf Basis von Vektoruhren ABCAST: Total geordneter Multicast auf Basis eines zentralen Sequencers... - Wird wohl heute noch in der New Yorker Börse eingesetzt Ken Birman Professor of Computer Science Cornell University Java Groups = JGroups: Toolkit der offenen Java-Welt - Ursprünge auch an der Cornell University (Birman) - Entwickler: Bela Ban Seite: 39

40 Fallbeispiel JGroups Überblick JGroups ist ein Toolkit für die zuverlässige Multicast- Kommunikation Open-Source-Projekt stand unter GNU Lesser General Public Licence jetzt unter Apache Licence 2.0 ( Zuverlässiger Multicast, in Java implementiert Multicast-Schicht über verschiedenen Transportschichten realisiert Unterstützung von - zuverlässiger Übertragung in einer Gruppe - atomarem Multicast - total geordnetem Multicast Abstraktion: Channels (ähnlich wie Sockets) Seite: 40

41 Fallbeispiel JGroups Stack Konfigurierbarer Stack, in dem verschiedene vordefinierte Protokolle auf Basis eines Transportprotokolls oder eines höheren Protokolls (JMS) enthalten sein können Unterstützt mehrere Plattformen Gruppenmitgliedschaften verwalten Ordering-Protokolle (FIFO, kausal, total) Zuverlässige Übertragung im Unicast und Multicast, Retransmission, Mit Sequencer oder Token-basiert Fragmentierungsschicht UDP mit IP Multicast TCP JMS Auch Verschlüsselung kann konfiguriert werden TCP IP Siehe Seite: 41

42 Fallbeispiel JGroups Funktionen Überblick über die JGroups-Funktionalität - Gruppen können erzeugt und entfernt werden - Gruppen können über LAN und/oder WAN verteilt sein - Prozess zu Gruppe zuordnen und entfernen (join, leave) - Mitgliederüberwachung und Notifikation bei Eintritt, Austritt und bei einem Absturz eines Mitglieds - Entfernen von abgestürzten Mitgliedern - Senden von Gruppennachrichten - Senden von Einzelnachrichten (point-to-point) - Empfangen von Nachrichten über sog. Message-Listener (receive) Seite: 42

43 Fallbeispiel JGroups JGroups-API JGroups ist als Java-Package implementiert Um Gruppenmitglied zu werden, muss ein Anwendungsprozess einen Channel (Java-Bezeichnung: JChannel) erzeugen Die Eigenschaften eines Channels werden in einer Konfigurationsdatei festgelegt (XML-basiert) Anschließend muss ein connect-aufruf getätigt werden, in dem der Name der Gruppe angegeben wird Anwendung JChannel connect close JGroups Java-Klasse JGroups Java-Klasse JGroups Java-Klasse JGroups-Stack (konfigurierbar) Seite: 43

44 Fallbeispiel JGroups Codebeispiel // Codeausschnitt zum Erzeugen eines JGroup-Channels und // zum Verbinden mit einer Gruppe // Gruppe wird in JGroups Cluster genannt import org.jgroups.jchannel.*; public class MyClass { JChannel ch; } public static void main( ) { ch = new JChannel(); ch.connect( MyGroup ); } Channel erzeugen unconnected connect() disconnect() connected Zustandsautomat für einen JGroup-Channel close() closed close() Seite: 44

45 Fallbeispiel JGroups JGroups-Konfiguration XML-basierte Notation: Stack eingebettet in <config </config> <config> <UDP mcast_addr="${jgroups.udp.mcast_addr: }" mcast_port="${jgroups.udp.mcast_port:45588}" max_bundle_size="60000"... <PING timeout="2000 /> <pbcast.nakack use_mcast_xmit="false" gc_lag="0 retransmit_timeout="300,600,1200,2400,4800 discard_delivered_msgs="true"/> <UNICAST timeout="300,600,1200,2400,3600"/> <pbcast.stable stability_delay="1000" desired_avg_gossip="50000" max_bytes="400000"/> <VIEW_SYNC avg_send_interval="60000" /> <pbcast.gms print_local_addr="true" join_timeout="3000" view_bundling="true"/> <FC max_credits=" " min_threshold="0.10"/> </config> Siehe JGroups-Manual Seite: 45

46 Fallbeispiel JGroups Einsätze JBoss Application Server - High-Availability-Lösung für Application-Server-Cluster - Failover von Session Beans (stateful, stateless) usw. - High-Availability JNDI - - JBoss EHCache - Caching-Lösung JBoss Instanz 1 JBoss Instanz 2 JGroups JBoss Instanz 3 JBoss Instanz 4 Partition Seite: 46

47 Überblick 1. Gruppenkommunikation, grundlegende Anforderungen 2. Semantik der Gruppenkommunikation 3. Implementierungsaspekte 4. Fallbeispiel: JGroups 5.Zusammenfassung Seite: 47

48 Zusammenfassung Es gibt viele Multicast-Ansätze - Je höher die Anforderungen an die Sortierung (Ordnungsgrad) und die Zuverlässigkeit, desto aufwändiger die Implementierung - Die Anwendung gibt die Vorgaben für die Implementierung Abgrenzung zu verteilten Transaktionen: - Zuverlässiger (atomarer) Multicast befasst sich mit dem verteilten Festschreiben der Auslieferung von Nachrichten - Verteilte Transaktionen befassen sich mit dem verteilten Festschreiben (Commit) von ganzen Transaktionen (mehrere Operationen) Diskussion: - Bedeutet Auslieferung einer Nachricht schon die erfolgreiche Verarbeitung? Seite: 48

Motivation. Gruppenkommunikation. Verteilte Anwendung. Gruppenkommunikation. HW-Multicast div. GC-Impl totale Ord. Kommunikationsnetz

Motivation. Gruppenkommunikation. Verteilte Anwendung. Gruppenkommunikation. HW-Multicast div. GC-Impl totale Ord. Kommunikationsnetz s s Gruppenkommunikation Motivation Kommunikation bei der Programmentwicklung bewährter, verstandener Mechanismus Bei Gruppenkommunikation verschieden teuere semantische Varianten möglich (dadurch ggf.

Mehr

Gruppenkommunikation. Dipl.-Inf. J. Richling Wintersemester 2003/2004

Gruppenkommunikation. Dipl.-Inf. J. Richling Wintersemester 2003/2004 Gruppenkommunikation Dipl.-Inf. J. Richling Wintersemester 2003/2004 Motivation Häufig ist eine Aufgabe von einer Gruppe zu erledigen Gruppenmitglieder: Rechner, Prozesse Anwendung: Fehlertoleranz Client-Server-Anwendungen.

Mehr

Aufgabe 2.1: Lamports Uhren

Aufgabe 2.1: Lamports Uhren Aufgabe 2.1: Lamports Uhren Die Relation a ereignet sich kausal vor b wird kurz als a b notiert. Von zwei Ereignissen a und b sind logische Zeitstempel nach Lamport, C(a) und C(b), bekannt, und es gilt

Mehr

Zusammenschlüsse in verteilten Systemen. Überblick. Virtual Synchrony. Gruppenkommunikation

Zusammenschlüsse in verteilten Systemen. Überblick. Virtual Synchrony. Gruppenkommunikation Überblick Zusammenschlüsse in verteilten Systemen Gruppe Zusammenschluss von Knoten in einem verteilten System, die in der Anzahl begrenzt sind, zumeist miteinander gleichberechtigt kommunizieren und gemeinsamen

Mehr

Byzantinische Fehlertoleranz durch Gruppenkommunikation am Beispiel des Rampart-Toolkit Frank Mattauch

Byzantinische Fehlertoleranz durch Gruppenkommunikation am Beispiel des Rampart-Toolkit Frank Mattauch 1 Hauptseminar: Moderne Konzepte für weitverteilte Systeme: Peer-to-Peer-Netzwerke und fehlertolerante Algorithmen (DOOS) Byzantinische Fehlertoleranz durch Gruppenkommunikation am Beispiel des Rampart-Toolkit

Mehr

Uberblick Verteilte Synchronisation Zeit in verteilten Systemen Logische Uhr Synchronisation Aufgabe 6 VS- Ubung (SS15) Verteilte Synchronisation 10 1

Uberblick Verteilte Synchronisation Zeit in verteilten Systemen Logische Uhr Synchronisation Aufgabe 6 VS- Ubung (SS15) Verteilte Synchronisation 10 1 Überblick Verteilte Synchronisation Zeit in verteilten Systemen Logische Uhr Synchronisation Aufgabe 6 VS-Übung (SS15) Verteilte Synchronisation 10 1 Zeit in verteilten Systemen Ist Ereignis A auf Knoten

Mehr

AS 7 / EAP 6 - Clustering. heinz.wilming@akquinet.de @akquinet h3p://blog.akquinet.de

AS 7 / EAP 6 - Clustering. heinz.wilming@akquinet.de @akquinet h3p://blog.akquinet.de AS 7 / EAP 6 - Clustering heinz.wilming@akquinet.de @akquinet h3p://blog.akquinet.de Was ist die EAP 6? EAP6!= EAP5 +1 JBoss Enterprise ApplicaBon PlaCorm 6 Stabile und unterstützte Pla>orm Basiert auf

Mehr

Verteilte Systeme. Verteilte Systeme. 7 Koordination SS 2017

Verteilte Systeme. Verteilte Systeme. 7 Koordination SS 2017 Verteilte Systeme SS 2017 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 26. Juni 2017 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/12) i

Mehr

Multicasting. Weitere Definitionen

Multicasting. Weitere Definitionen Multicasting Def. Mehrpunkt-Kommunikation: Gleichzeitiger Austausch von Nachrichten unter mehreren Kommunikationspartnern. Def. Multicast: Die Übermittlung einer Nachricht an mehrere Empfänger in einer

Mehr

Überblick. Zeit in verteilten Systemen. Echtzeit-basierte Uhren. Synchronsation von Echtzeit-Uhren: NTP, PTP

Überblick. Zeit in verteilten Systemen. Echtzeit-basierte Uhren. Synchronsation von Echtzeit-Uhren: NTP, PTP Überblick Zeit in verteilten Systemen Ist Ereignis A auf Knoten X passiert bevor B auf Y passiert ist? Beispiele: Internet-Auktion, Industrie-Steuerungen,... Verteilte Synchronisation Zeit in verteilten

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 5 26.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: Erläutern

Mehr

Hauptdiplomklausur Informatik März 2001: Internet Protokolle

Hauptdiplomklausur Informatik März 2001: Internet Protokolle Universität Mannheim Fakultät für Mathematik und Informatik Lehrstuhl für Praktische Informatik IV Professor Dr. W. Effelsberg Hauptdiplomklausur Informatik März 200: Internet Protokolle Name:... Vorname:...

Mehr

5 Verteilte Algorithmen. vs5 1

5 Verteilte Algorithmen. vs5 1 5 Verteilte Algorithmen vs5 1 Charakterisierung eines verteilten Systems? Prozesse als Systemkomponenten: Spezifikation eines Prozesses (Vgl. Spezifikation eines ADT) syntaktisch: z.b. Ports oder Parameter

Mehr

Verteilte Systeme. Synchronisation II. Prof. Dr. Oliver Haase

Verteilte Systeme. Synchronisation II. Prof. Dr. Oliver Haase Verteilte Systeme Synchronisation II Prof. Dr. Oliver Haase 1 Überblick Synchronisation 1 Zeit in verteilten Systemen Verfahren zum gegenseitigen Ausschluss Synchronisation 2 Globale Zustände Wahlalgorithmen

Mehr

Wechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen. Özden Urganci Ulf Sigmund Ömer Ekinci

Wechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen. Özden Urganci Ulf Sigmund Ömer Ekinci Wechselseitiger Ausschluss in verteilten Systemen / Elektionsalgorithmen Özden Urganci Ulf Sigmund Ömer Ekinci Inhaltsangabe 1 Einleitung 2 Prinzipien des verteilten wechselseitigen Ausschlusses 2.1 Anforderungen

Mehr

Überblick. Zeit Motivation Network Time Protocol (NTP) Logische Uhren. c td VS (SS16) Zeit 9 1

Überblick. Zeit Motivation Network Time Protocol (NTP) Logische Uhren. c td VS (SS16) Zeit 9 1 Überblick Zeit Motivation Network Time Protocol (NTP) Logische Uhren c td VS (SS16) Zeit 9 1 Motivation Zeit als Mittel zur Reihenfolgebestimmung (Beispiele) Erkennung von Modifikationen an Dateien (z.

Mehr

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES 2016 Software AG. All rights reserved. For internal use only DIGITAL BUSINESS APPLICATIONS DRIVE THE DIGITAL BUSINESS Partner Lieferanten Kunden SaaS

Mehr

Rechnernetze Übung 11. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2012

Rechnernetze Übung 11. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2012 Rechnernetze Übung 11 Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2012 IP: 192.168.43.9 MAC: 02-55-4A-89-4F-47 IP: 216.187.69.51 MAC: 08-48-5B-77-56-21 1 2 IP: 192.168.43.15 MAC:

Mehr

Verteilte Systeme - Java Networking (Sockets) -

Verteilte Systeme - Java Networking (Sockets) - Verteilte Systeme - Java Networking (Sockets) - Prof. Dr. Michael Cebulla 30. Oktober 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 36 M. Cebulla Verteilte Systeme Gliederung Grundlagen TCP/IP

Mehr

Hinter den Kulissen. JBoss Clustering: J2EE-Cluster-Implementierung mit JGroups. JBoss Clustering. Aufgaben eines Frameworks für Gruppenkommunikation

Hinter den Kulissen. JBoss Clustering: J2EE-Cluster-Implementierung mit JGroups. JBoss Clustering. Aufgaben eines Frameworks für Gruppenkommunikation Gruppenkommunikation Gruppen, also Mengen von verteilten Prozessen, die miteinander kommunizieren und Nachrichten austauschen, sind in vielen Szenarien anzutreffen. Neben Clustering sind z.b. (Video-)Konferenzsysteme

Mehr

Grundlagen: Überblick

Grundlagen: Überblick Grundlagen: Überblick Verteilte Systeme Definition Grundbegriffe Kommunikation Klassifikation von Fehlern Begriffe Fehlerarten Analyse von Algorithmen Korrektheit Komplexität Verteilte Algorithmen (VA),

Mehr

Verteilte Systeme. Replikation & Konsistenz I. Prof. Dr. Oliver Haase

Verteilte Systeme. Replikation & Konsistenz I. Prof. Dr. Oliver Haase Verteilte Systeme Replikation & Konsistenz I Prof. Dr. Oliver Haase 1 Überblick Replikation & Konsistenz I Ziele von Replikation Replikationsmodelle datenzentriert Client-zentriert Replikation & Konsistenz

Mehr

Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. 9. Verteilte Algorithmen

Vorlesung Verteilte Systeme Sommersemester Verteilte Systeme. 9. Verteilte Algorithmen Vorlesung "Verteilte Systeme" Sommersemester 999 Verteilte Systeme 9. Verteilte Algorithmen Bereits behandelte Bereiche Logische Uhren Keine globale Uhrensynchronisation möglich (Theorie) Kausalitätserhaltender

Mehr

6.1.2 Sequentielle Konsistenz (Lamport 1979)

6.1.2 Sequentielle Konsistenz (Lamport 1979) 6.1.2 Sequentielle Konsistenz (Lamport 1979) Def.: Sequentielle Konsistenz (sequential consistenc): Effekt/Ergebnisse einer verteilten Programmausführung auf repliziertem Objekt = Effekt/Ergebnisse einer

Mehr

Verteilte Algorithmen

Verteilte Algorithmen Verteilte Algorithmen Wechselseitiger Ausschluss PD Dr.-Ing. Gero Mühl Kommunikations- und Betriebssysteme Fakultät für Elektrotechnik u. Informatik Technische Universität Berlin Überblick > Problem des

Mehr

Masterkurs Verteilte betriebliche Informationssysteme

Masterkurs Verteilte betriebliche Informationssysteme Peter Man dl Masterkurs Verteilte betriebliche Informationssysteme Prinzipien, Architekturen und Technologien Mit 196 Abbildungen STUDIUM VIEWEG+ TEUBNER 1 Einführung in verteilte Systeme 1 1.1 Definitionen

Mehr

ARP, ICMP, ping. Jörn Stuphorn Bielefeld, den 4. Mai Mai Universität Bielefeld Technische Fakultät

ARP, ICMP, ping. Jörn Stuphorn Bielefeld, den 4. Mai Mai Universität Bielefeld Technische Fakultät ARP, ICMP, ping Jörn Stuphorn stuphorn@rvs.uni-bielefeld.de Universität Bielefeld Technische Fakultät TCP/IP Data Link Layer Aufgabe: Zuverlässige Übertragung von Rahmen über Verbindung Funktionen: Synchronisation,

Mehr

Realisierung von atomarem Broadcast. Atomarer bzw. totaler Broadcast

Realisierung von atomarem Broadcast. Atomarer bzw. totaler Broadcast Atomarer bzw. totaler Totale Ordnung: Wenn zwei Prozesse P 1 und P 2 beide die achrichten und empfangen, dann empfängt P 1 vor genau dann, wenn P 2 die achricht vor empfängt Beachte: Das Senden wird nicht

Mehr

JBoss 7 als Plattform für hochverfügbare Anwendungen

JBoss 7 als Plattform für hochverfügbare Anwendungen JBoss 7 als Plattform für hochverfügbare Anwendungen Orientierungspunkt 04/2013 24.05.2013, OIO Dirk Weil, GEDOPLAN GmbH Dirk Weil GEDOPLAN GmbH, Bielefeld Java EE seit 1998 Konzeption und Realisierung

Mehr

Message Oriented Middleware am Beispiel von XMLBlaster

Message Oriented Middleware am Beispiel von XMLBlaster Message Oriented Middleware am Beispiel von XMLBlaster Vortrag im Seminar XML und intelligente Systeme an der Universität Bielefeld WS 2005/2006 Vortragender: Frederic Siepmann fsiepman@techfak.uni bielefeld.de

Mehr

Neuer Funkrufmaster: DAPNET Folien: Daniel Sialkowski und Ralf Wilke. 2. Hamnettagung in Aachen,

Neuer Funkrufmaster: DAPNET Folien: Daniel Sialkowski und Ralf Wilke. 2. Hamnettagung in Aachen, Neuer Funkrufmaster: DAPNET Folien: Daniel Sialkowski und Ralf Wilke 2. Hamnettagung in Aachen, 19.11.2016 Inhalt ) I. Einführung: Paging-Sendernetzwerke Vergleich mit Mobilfunknetzen )))) Quelle: C. Jansen,

Mehr

Prof. Dr. Th. Letschert CS5001. Verteilte Systeme. Master of Science (Informatik) - Formalisierungen, Logische Zeit - Th Letschert FH Gießen-Friedberg

Prof. Dr. Th. Letschert CS5001. Verteilte Systeme. Master of Science (Informatik) - Formalisierungen, Logische Zeit - Th Letschert FH Gießen-Friedberg Prof. Dr. Th. Letschert CS5 Master of Science (Informatik) - Formalisierungen, Logische Zeit - Th Letschert FH Gießen-Friedberg Formalisierung verteilter Berechnungen Logische Zeit 2 Formalisierung verteilter

Mehr

Rechnernetze Übung 11

Rechnernetze Übung 11 Rechnernetze Übung 11 Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juli 2011 Herr Müller (Test GmbH) Sekretärin (Super AG) T-NR. 111 T-NR. 885 Sekretärin (Test GmbH) Herr Meier (Super

Mehr

Verteilte Systeme - 5. Übung

Verteilte Systeme - 5. Übung Verteilte Systeme - 5. Übung Dr. Jens Brandt Sommersemester 2011 Transaktionen a) Erläutere was Transaktionen sind und wofür diese benötigt werden. Folge von Operationen mit bestimmten Eigenschaften: Atomicity

Mehr

Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication

Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication Frank Kargl Torsten Illmann Michael Weber Verteilte Systeme Universität Ulm {frank.kargl torsten.illmann weber} @informatik.uni-ulm.de

Mehr

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel VS3 Slide 1 Verteilte Systeme Vorlesung 3 vom 22.04.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

IGMP und MLD wird zwischen dem Endsystem

IGMP und MLD wird zwischen dem Endsystem 1 Internet Group Management Protocol IGMP / Multicast Listener Discovery MLD Bincheng Zhu(56398) Student im Master Elektrotechnik/Informationstechnik Zusammenfassung Dieser Bricht beschreibt die Eingenschaften

Mehr

6.3 Verteilte Transaktionen

6.3 Verteilte Transaktionen 6.3 Verteilte Transaktionen Situation: Fragmentierung: Ein Datenbestand ist über mehrere Stationen verteilt (z.b. verteilte Datenbank, verteiltes Dateisystem,...) d.h. in Fragmente aufgeteilt, für die

Mehr

8.4 Das Andrew File System 393 8.5 Ausblicke 404 8.6 Zusammenfassung 410 Übungen 411

8.4 Das Andrew File System 393 8.5 Ausblicke 404 8.6 Zusammenfassung 410 Übungen 411 Inhaltsverzeichnis Vorwort 11 Aufgabenbereiche und Leserschaft 11 Aufbau dieses Buches 12 Literatur 12 Änderungen in dieser Auflage 13 Danksagungen 14 Web-Site 14 Kapitel 1 Charakteristische Eigenschaften

Mehr

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder Java: Kapitel 1 Überblick Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Was ist Java? Die Java-Technologie umfasst die Programmiersprache Java sowie die Java-Plattform

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Clustering von Application Servern am Beispiel von JBoss 3.2

Clustering von Application Servern am Beispiel von JBoss 3.2 Clustering von Application Servern am Beispiel von JBoss 3.2 Cluster Workshop iternum GmbH Alexanderstraße 7 60489 Frankfurt/Main www.iternum.com Agenda Clustertechnik allgemein Was ist Clustering? Gründe

Mehr

Verteilte Systeme SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 8.

Verteilte Systeme SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 8. Verteilte Systeme SS 2013 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 8. Juli 2013 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/13) i

Mehr

Prof. Dr. Th. Letschert CS5001. Verteilte Systeme. Master of Science (Informatik) - Einleitung - Th Letschert FH Gießen-Friedberg

Prof. Dr. Th. Letschert CS5001. Verteilte Systeme. Master of Science (Informatik) - Einleitung - Th Letschert FH Gießen-Friedberg Prof. Dr. Th. Letschert CS5001 Master of Science (Informatik) - - Th Letschert FH Gießen-Friedberg Modulnr.: CS5001 Verwendbar : Master of Science (Informatik) Master of Science (Wirtschaftsinformatik)

Mehr

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.

Mehr

Internetanwendungstechnik. TCP/IP- und OSI-Referenzmodell. Gero Mühl

Internetanwendungstechnik. TCP/IP- und OSI-Referenzmodell. Gero Mühl Internetanwendungstechnik TCP/IP- und OSI-Referenzmodell Gero Mühl Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik Kommunikations- und Betriebssysteme (KBS) Einsteinufer 17, Sekr.

Mehr

Klausur zum Kurs Verteilte Systeme (1678) am 2. März 2013

Klausur zum Kurs Verteilte Systeme (1678) am 2. März 2013 Fakultät für Mathematik und Informatik Lehrgebiet Kooperative Systeme Prof. Dr. Jörg M. Haake Klausur zum Kurs Verteilte Systeme (1678) am 2. März 2013 Klausurort: Vorname Name: Adresse: Matrikelnummer:

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Wintersemester 07/08 Übungsblatt 4 18.1.07 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1:

Mehr

Dienstkonzept und Routing-Algorithmen für Mehrpunktkommunikation (Multicast) Prof. B. Plattner ETH Zürich

Dienstkonzept und Routing-Algorithmen für Mehrpunktkommunikation (Multicast) Prof. B. Plattner ETH Zürich Dienstkonzept und Routing-Algorithmen für Mehrpunktkommunikation (Multicast) Prof. B. Plattner ETH Zürich IP Next Generation - Multicast (1) Modell für Multicast in IPv4 und IPv6 Jede Multicast-Adresse

Mehr

Universität Freiburg. Thema: IP-Multicast Marcel Tschöpe. IP-Multicast

Universität Freiburg. Thema: IP-Multicast Marcel Tschöpe. IP-Multicast IP-Multicast Netzwerkgrundlagen Unicast Daten werden von einem PC an einen anderen geschickt (Punkt-zu-Punkt-Verbindung) Broadcast Daten werden von einem Computer, an alle anderen des selben Netzwerkes

Mehr

Automatische Verteilung in Pangaea. André Spiegel Freie Universität Berlin

Automatische Verteilung in Pangaea. André Spiegel Freie Universität Berlin Automatische Verteilung in Pangaea André Spiegel Freie Universität Berlin Einführung Pangaea ist ein System, das zentralisierte Java-Programme automatisch verteilen kann basierend auf statischer Quelltextanalyse

Mehr

Netzwerk-Programmierung. Netzwerke.

Netzwerk-Programmierung. Netzwerke. Netzwerk-Programmierung Netzwerke Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste}@techfak.uni-bielefeld.de Übersicht Netzwerk-Protokolle Protkollfamilie TCP/IP Transmission Control Protocol (TCP)

Mehr

ResilientSoftware Design Patterns

ResilientSoftware Design Patterns Resilient Software Design Patterns Version: 17.1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Ihr Sprecher Thorsten Maier Trainer, Berater, Entwickler Orientation

Mehr

Client-Server mit Socket und API von Berkeley

Client-Server mit Socket und API von Berkeley Client-Server mit Socket und API von Berkeley L A TEX Projektbereich Deutsche Sprache Klasse 3F Schuljahr 2015/2016 Copyleft 3F Inhaltsverzeichnis 1 NETZWERKPROTOKOLLE 3 1.1 TCP/IP..................................................

Mehr

Netzwerkprogrammierung

Netzwerkprogrammierung Seminarvortrag Netzwerkprogrammierung Referent: Stefan Renner E-Mail: rennersn@studi.informatik.uni-stuttgart.de Motivation Einsatz von Netzwerken: Physikalische Ressourcen gemeinsam nutzen Daten unabhängig

Mehr

ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS. Piotr Kasprzak

ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS. Piotr Kasprzak ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS Piotr Kasprzak Agenda Laufzeitumgebung Java EE (J2EE) Motivation APIs / Technologien JBoss Entwicklungsumgebung Eclipse Ausblick Java EE -

Mehr

Im Vergleich: Hochverfügbarkeitslösungen für die MySQL -Datenbank

Im Vergleich: Hochverfügbarkeitslösungen für die MySQL -Datenbank Im Vergleich: Hochverfügbarkeitslösungen für die MySQL -Datenbank Ralf Gebhardt SkySQL Ab Vävarsvägen 11 02630 Esbo Finland Schlüsselworte MySQL, MariaDB, Hochverfügbarkeit, Replikation, MHA, DRBD, HA,

Mehr

11. Komponenten Grundlagen der Programmierung 1 (Java)

11. Komponenten Grundlagen der Programmierung 1 (Java) 11. Komponenten Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 10. Januar 2006 Einordnung im Kontext der Vorlesung

Mehr

Überblick über die Roblet -Technik

Überblick über die Roblet -Technik Überblick über die Roblet -Technik Hagen Stanek gefördert durch Agenda Teil 1: Motivation, Einführung Teil 2: Beispiel-Vorführung Teil 3: Anwendungen, Zusammenfassung 2 Teil 1 Motivation, Einführung 3

Mehr

UDP User Datagramm Protokoll

UDP User Datagramm Protokoll UDP User Datagramm Protokoll Marco Gerland Janina de Jong Internet Protokolle WS 03 / 04 1/31 Einführung IP Datagramme werden durchs Internet geroutet abh. von der IP Adresse Anhand der Ziel IP Adresse

Mehr

Herausforderung Multicast IPTV

Herausforderung Multicast IPTV Track 3B Herausforderung Multicast IPTV Stefan Rüeger Leiter Technik, Studerus AG IPTV Agenda Multicast IGMP Konfiguration Netzwerkkomponenten Stolpersteine im Umgang mit IPTV Aktuelle Einsatz-Szenarien

Mehr

Verteilte Systeme Kapitel 8: Replikation und Konsistenz

Verteilte Systeme Kapitel 8: Replikation und Konsistenz Verteilte Systeme Kapitel 8: Replikation und Konsistenz Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Inhaltsüberblick der Vorlesung

Mehr

Kapitel 1: Architektur verteilter Systeme. Middleware in Java vieweg 2005 Steffen Heinzl, Markus Mathes

Kapitel 1: Architektur verteilter Systeme. Middleware in Java vieweg 2005 Steffen Heinzl, Markus Mathes Kapitel 1: Architektur verteilter Systeme Struktur eines verteilten Systems Ein verteiltes System besteht aus Menge unabhängiger Rechnersysteme Kommunikationsnetz und erbringt eine verteilte Anwendung

Mehr

Java und Netzwerkkommunikation

Java und Netzwerkkommunikation Java und Netzwerkkommunikation Ziel: Kommunikation über Rechnergrenzen hinweg Grundlagen Sockets in Java Java-Netzwerk-Einführung Seite 1 Grundbegriffe Senden und Empfangen von Daten! Frau B Herr A Sender

Mehr

TCP. Transmission Control Protocol

TCP. Transmission Control Protocol TCP Transmission Control Protocol Wiederholung TCP-Ports Segmentierung TCP Header Verbindungsaufbau-/abbau, 3 - WayHandShake Timeout & Retransmission MTU maximum transfer Unit TCP Sicher Verbunden? Individuelle

Mehr

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi Projektgruppe Thomas Kühne Komponentenbasiertes Software Engineering mit OSGi Anforderungen der PG IDSE an ein Komponenten- Client Nativer Client Web Client Alternativen IDSE Nutzer Szenario Pipe IDSE

Mehr

9: Verteilte Algorithmen

9: Verteilte Algorithmen 9: Verteilte Algorithmen Verteiltes System: Zusammenschluss unabhängiger Computer ( Knoten ), das sich für den Benutzer als einzelnes System präsentiert. (Begriffsbildung nach A. Tanenbaum hatten wir schon)

Mehr

GSCC General Storage Cluster Controller. TSM Verfügbarkeit

GSCC General Storage Cluster Controller. TSM Verfügbarkeit GSCC General Storage Cluster Controller TSM Verfügbarkeit Skyloft 17.06.2015 Karsten Boll GSCC Themen Historie und Überblick Design und Architektur IP Cluster (DB2 HADR) GSCCAD das GUI Trends GSCC Neuigkeiten

Mehr

Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Sigact News, 33(2), June 2002

Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Sigact News, 33(2), June 2002 Brewer s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Sigact News, 33(2), June 2002 Seth Gilbert Nancy Lynch Brewer s Conjecture and the Feasibility of Consistent,

Mehr

Modul 5: TCP-Flusskontrolle

Modul 5: TCP-Flusskontrolle Modul 5: TCP-Flusskontrolle M. Leischner Internetkommunikation Folie 1 Prinzip des Sliding-Window: Zuverlässigkeit + Effizienz A B A B A B A B unbestätigtes Senden Stop-and-Wait Sliding-Window Sliding

Mehr

Informatik 12 Kapitel 2 - Kommunikation und Synchronisation von Prozessen

Informatik 12 Kapitel 2 - Kommunikation und Synchronisation von Prozessen Fachschaft Informatik Informatik 12 Kapitel 2 - Kommunikation und Synchronisation von Prozessen Michael Steinhuber König-Karlmann-Gymnasium Altötting 9. Februar 2017 Folie 1/40 Inhaltsverzeichnis I 1 Kommunikation

Mehr

Elementare Systemkomponenten:

Elementare Systemkomponenten: Elementare Systemkomponenten: Zeitsynchronisation Verteilten Systemen (Time Service) VSS1-Time-1 Zeit und Koordination: Einführung Grundsätzliche Alternativen: externe Synchronisation interne Synchronisation

Mehr

Rapid I/O Toolkit. http://projects.spamt.net/riot. Alexander Bernauer alex@copton.net 08.12.08

Rapid I/O Toolkit. http://projects.spamt.net/riot. Alexander Bernauer alex@copton.net 08.12.08 Rapid I/O Toolkit http://projects.spamt.net/riot Alexander Bernauer alex@copton.net 08.12.08 Inhalt Motivation Architektur Beispiel I/O Features Ausblick Motivation Problemstellung Vorgaben Datenverarbeitung

Mehr

Themen. Vermittlungsschicht. Routing-Algorithmen. IP-Adressierung ARP, RARP, BOOTP, DHCP

Themen. Vermittlungsschicht. Routing-Algorithmen. IP-Adressierung ARP, RARP, BOOTP, DHCP Themen outing-algorithmen IP-Adressierung AP, AP, OOTP, DHCP echnernetze Schicht 3 des OSI-, sowie TCP/IP-Modells Aufgaben: Vermittlung von Paketen von einer Quelle zum Ziel Finden des optimalen Weges

Mehr

Einsatz von Java-Komponenten in verteilten Embedded Systems

Einsatz von Java-Komponenten in verteilten Embedded Systems Einsatz von Java-Komponenten in verteilten Embedded Systems Uwe Rastofer, Ulrich Gall, Frank Schinkmann, Bernd Hindel, Jürgen Kleinöder 3SOFT GmbH, Erlangen Informatik 4, Friedrich-Alexander-Universität

Mehr

Industrielle Bussysteme : EtherNet/IP

Industrielle Bussysteme : EtherNet/IP Industrielle Bussysteme : EtherNet/IP Dr. Leonhard Stiegler Automation www.dhbw-stuttgart.de Inhalt EtherNet/IP (Industrial Protocol) Grundsätze und Entwicklung CIP und Protokollbeschreibung Objekt-Modell

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

Verteilte Systeme Jürgen Nehmer, SS 2003

Verteilte Systeme Jürgen Nehmer, SS 2003 Definitionen Instanz Verteilte Systeme Jürgen Nehmer, SS 2003 Einführung Rechnervernetzung Verteiltes Programm Eine Menge autonomer Softwareinstanzen, die ein gemeinsames Problem bearbeiten und zu diesem

Mehr

SAP NetWeaver Gateway. Connectivity@SNAP 2013

SAP NetWeaver Gateway. Connectivity@SNAP 2013 SAP NetWeaver Gateway Connectivity@SNAP 2013 Neue Wege im Unternehmen Neue Geräte und Usererfahrungen Technische Innovationen in Unternehmen Wachsende Gemeinschaft an Entwicklern Ausdehnung der Geschäftsdaten

Mehr

Resilient Software Design Patterns

Resilient Software Design Patterns Resilient Software Design Patterns Version: 17.1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Ihr Sprecher Thorsten Maier Trainer, Berater, Entwickler Orientation

Mehr

Vorlesung "Verteilte Systeme" Sommersemester 1999. Verteilte Systeme NTP) Verteilte Systeme, Sommersemester 1999 Folie 4.2

Vorlesung Verteilte Systeme Sommersemester 1999. Verteilte Systeme NTP) Verteilte Systeme, Sommersemester 1999 Folie 4.2 Verteilte Systeme 4. Zeit Ansätze Pragmatisch: Uhrensynchronisation Abgleich der lokalen Uhren Beispiele Zeitabgleich nach F. Christian Berkeley-Algorithmus Verteilte Synchronisation Network Time Protocol

Mehr

Wahlalgorithmen auf beliebigen Netzstrukturen. Verteilte Algorithmen (VA), WS 2003/04 43

Wahlalgorithmen auf beliebigen Netzstrukturen. Verteilte Algorithmen (VA), WS 2003/04 43 Wahlalgorithmen Überblick/Problemstellung Wahlalgorithmen auf Ringstrukturen Beispiel TokenRing Wahlalgorithmen auf Baumstrukturen Wahlalgorithmen auf beliebigen Netzstrukturen Verteilte Algorithmen (VA),

Mehr

Kosten der Abschirmung von Code und Daten

Kosten der Abschirmung von Code und Daten Kosten der Abschirmung von Code und Daten Alexander Züpke, Kai Beckmann, Andreas Zoor, Reinhold Kröger vorname.nachname@hs-rm.de Motivation Internet der Dinge STM32F4 Mikrocontroller 2 Motivation Internet

Mehr

Verteilte Systeme. Protokolle. by B. Plattner & T. Walter (1999) Protokolle-1. Institut für Technische Informatik und Kommunikationsnetze

Verteilte Systeme. Protokolle. by B. Plattner & T. Walter (1999) Protokolle-1. Institut für Technische Informatik und Kommunikationsnetze Protokolle Protokolle-1 Kommunikationssubsystem Ein System, welches innerhalb eines verteilten Systems für den Nachrichtentransport zwischen Kommunikationspartnern (= Prozesse) zuständig ist (Hardware

Mehr

Betriebssysteme Kap. 5: Netzwerkmanagement

Betriebssysteme Kap. 5: Netzwerkmanagement Betriebssysteme, WS 2014/15 wk - 1 - Betriebssysteme Kap. 5: Netzwerkmanagement Winfried E. Kühnhauser Wintersemester 2014/15 Winfried E. Kühnhauser CSI Technische Universität Ilmenau www.tu-ilmenau.de

Mehr

Netzwerktechnologien 3 VO

Netzwerktechnologien 3 VO Netzwerktechnologien 3 VO Univ.-Prof. Dr. Helmut Hlavacs helmut.hlavacs@univie.ac.at Dr. Ivan Gojmerac gojmerac@ftw.at Bachelorstudium Medieninformatik SS 2012 Kapitel 3 Transportschicht 3.1 Dienste der

Mehr

Klausur Verteilte Systeme

Klausur Verteilte Systeme VS SS-05 Oß (Fachbereich 5, Elektrotechnik und Informationstechnik) Zuname: Vorname: Matr.-Nr.: Fach-Nummer: Termin: Prüfer: Klausur Verteilte Systeme 5661 (Fachprüfung) Mittwoch, 13. Juli 2005, 8.30-11.30

Mehr

Betriebssysteme. Thomas Fahringer. Institut für Informatik Universität Innsbruck. VO Betriebssysteme

Betriebssysteme. Thomas Fahringer. Institut für Informatik Universität Innsbruck. VO Betriebssysteme Grundzüge der Informatik IV: Betriebssysteme Thomas Fahringer Institut für Informatik Universität Innsbruck V Thomas.Fahringer@uibk.ac.at 1 Kapitel I Betriebssysteme: Aufgaben und Überblick V 2 Was ist

Mehr

F. Kathe ROS Folie 1

F. Kathe ROS Folie 1 F. Kathe ROS Folie 1 F. Kathe ROS Folie 2 ROS Eine Einführung in das Robot Operating System Florian Kathe fkathe@uni-koblenz.de Institut für Computervisualistik Universität Koblenz-Landau 9. November 2012

Mehr

Internet-Kartographie

Internet-Kartographie Internet-Kartographie Yves Matkovic Chair for Network Architectures and Services Department for Computer Science Technische Universität München Präsentation am 02. April 2014 Yves Matkovic: Internet-Kartographie

Mehr

Konzepte von Betriebssystem- Komponenten Middleware. Jini. Vortrag von Philipp Sommer

Konzepte von Betriebssystem- Komponenten Middleware. Jini. Vortrag von Philipp Sommer Konzepte von Betriebssystem- Komponenten Middleware Vortrag von Philipp Sommer 1 Inhalt 1. Einführung Hintergrund Was ist? Ziele von 2. Technology Komponenten Client, Server und Dienste Discovery und Join

Mehr

Loadbalancing und Clustering mit Tomcat 6

Loadbalancing und Clustering mit Tomcat 6 Loadbalancing und Clustering mit Tomcat 6 Java Forum Stuttgart 3. Juli 2008 Michael Heß ORDIX AG, Paderborn mhe@ordix.de www.ordix.de Agenda Zielsetzung des Vortrags Webserver Integration Loadbalancing

Mehr

Netzwerke. Netzwerk-Programmierung. Sven Hartmeier.

Netzwerke. Netzwerk-Programmierung. Sven Hartmeier. Netzwerk-Programmierung Netzwerke Sven Hartmeier shartmei@techfak.uni-bielefeld.de Übersicht Netzwerk-Protokolle Protokollfamilie TCP/IP Transmission Control Protocol (TCP) erste Schritte mit sockets Netzwerk-Programmierung

Mehr

2 Kommunikationssysteme. vs2 1

2 Kommunikationssysteme. vs2 1 2 Kommunikationssysteme vs2 Kommunikationssysteme bieten Kommunikationsdienste an, die das Senden und Empfangen von Nachrichten erlauben (sending & receiving messages) bestehen aus - Kommunikationsnetz

Mehr

11.1 Indirektes Binden (3) 11.1 Indirektes Binden (4) Objektadapterkonfiguration. Unmittelbarer Vorteil des indirekten Bindens

11.1 Indirektes Binden (3) 11.1 Indirektes Binden (4) Objektadapterkonfiguration. Unmittelbarer Vorteil des indirekten Bindens 11.1 Indirektes Binden (3) Objektadapterkonfiguration Name wird bei Erzeugung vergeben wird genutzt u.a. für Property-Zugriffe Adapter-ID wird über Property konfiguriert Beispiel: MyAdapter.AdapterID=MyAdapter

Mehr

Konzepte der Programmiersprachen

Konzepte der Programmiersprachen Konzepte der Programmiersprachen Sommersemester 2010 4. Übungsblatt Besprechung am 9. Juli 2010 http://www.iste.uni-stuttgart.de/ps/lehre/ss2010/v_konzepte/ Aufgabe 4.1: Klassen in C ++ Das folgende C

Mehr

Vorlesung SS 2001: Sicherheit in offenen Netzen

Vorlesung SS 2001: Sicherheit in offenen Netzen Vorlesung SS 2001: Sicherheit in offenen Netzen 2.2 Transmission Control Protocol - TCP 2.3 User Datagram Protocol - UDP Prof. Dr. Christoph Meinel Informatik, Universität Trier & Institut für Telematik,

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf

Mehr