• Keine Ergebnisse gefunden

Verteilte Systeme Syste e

N/A
N/A
Protected

Academic year: 2021

Aktie "Verteilte Systeme Syste e"

Copied!
32
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Verteilte Systeme

Friedemann Mattern

ETH Zü i h

Syste e

ETH Zürich

© F. Mattern, HS 2012

ETH

Eidgenössische

Technische Hochschule Zürich

Prüfungsrelevant ist der Inhalt der Vorlesung, nicht alleine der Text dieser Foliensammlung!

© Friedemann Mattern, 2002

Wer bin ich? Wer sind wir?

Prof. Friedemann Mattern Prof. Friedemann Mattern + mehrere Assistenten

und Assistentinnen

Fachgebiet „Verteilte Systeme“

(2)

© Friedemann Mattern, 2002

Prof. Friedemann Mattern

Wer bin ich? Wer sind wir?

Prof. Friedemann Mattern + mehrere Assistenten

und Assistentinnen Matthias Kovatsch

Ansprechperson für or- ganisatorische Aspekte

Fachgebiet „Verteilte Systeme“

im Departement Informatik, Institut für Pervasive Computing

kovatsch@inf.ethz.ch

© Friedemann Mattern, 2002

Mit was beschäftigen wir uns?

ƒ Infrastruktur für verteilte Systeme

ƒ Internet der Dinge

ƒ Ubiquitous Computing

ƒ Sensornetze

ƒ Smart energy

ƒ Verteilte Anwendungen

Mehr zu uns:

www.vs.inf.ethz.ch

ƒ Verteilte Anwendungen und Algorithmen

(3)

© Friedemann Mattern, 2002

Organisatorisches zur Vorlesung

ƒ Format: 6G+1A: Vorlesung g und Praktikum integriert g

ƒ Mo 9:15 - 12:00, Fr 9:15 - 12:00, jew. NO C 6

ƒ Praktikum ist inhaltlich komplementär zur Vorlesung (mobile Kommunikationsplattformen: Android, HTC Desire etc.)

ƒ Gelegentliche Assistentenstunden (zu den “Vorlesungsterminen”) zur Besprechung der Praktikumsaufgaben und Vertiefung des Stoffes

ƒ Gelegentliche Denkaufgaben (ohne Lösung...) in der Vorlesung

ƒ Sinnvolle Vorkenntnisse (Grundlagen)

ƒ 4 Semester der Bachelorstufe Informatik

ƒ Grundkenntnisse Computernetze und Betriebssysteme (z.B. Prozessbegriff, Synchronisation)

ƒ UNIX, Java ist hilfreich

© Friedemann Mattern, 2002

Organisatorisches (2)

ƒ Folienkopien p jeweils einige Tage nach der Vorlesung j g g g

ƒ im pdf-Format bei www.vs.inf.ethz.ch/edu

ƒ Prüfung schriftlich

ƒ bewertete Praktikumsaufgaben gehen in die Prüfungsnote ein

ƒ Vorlesung 15.10. – 30.11.2012: Prof. Roger Wattenhofer

(4)

© Friedemann Mattern, 2002

Einordnung der Vorlesung

ƒ „Verteilte Systeme“ ist ein Querschnittsthema

ƒ Gewisse Überschnei- dungen mit anderen Vor

Principles of Distrib- uted Com- puting Verteilte

Algo- rithmen

Verteilte Systeme

dungen mit anderen Vor- lesungen unvermeidlich

OS and Networks

Parallele Program-

mierung

© Friedemann Mattern, 2002

Thematisch verwandte

Veranstaltungen (Masterstufe)

ƒ Ubiquitous Computing q p g

ƒ Enterprise Application Integration - Middleware

ƒ Web Services and Service Oriented Architectures

ƒ Verteilte Algorithmen

ƒ Principles of Distributed Computing

ƒ Einschlägige Seminare

ƒ Praktikum (“Lab”)

ƒ Semester- und Masterarbeit

9

(5)

© Friedemann Mattern, 2002

Literatur

ƒ G. Coulouris, J. Dollimore, T Ki db G Bl i Di t ib t d T. Kindberg, G. Blair: Distributed Systems: Concepts and Design (5th ed.). Addison-Wesley, 2011

ƒ A. Tanenbaum, M. van Steen:

Distributed Systems: Principles and Paradigms (2nd ed.). Prentice-Hall, 2007

ƒ O. Haase: Kommunikation in verteilten Anwendungen (2. Aufl.).

R. Oldenbourg Verlag, 2008

ƒ A. Schill, T. Springer: Verteilte Systeme (2. Aufl.). Springer Vieweg, 2011

© Friedemann Mattern, 2002

„Verteiltes System“ – zwei Definitionen

ƒ A distributed computing system consists of multiple autonomous processors that do not share primary memory, but cooperate by sending messages over a communication network.

-- H. Bal

ƒ A distributed system is one in which the failure of a computer you didn’t even know existed can render your own computer

(6)

© Friedemann Mattern, 2002

„Verteiltes System“

ƒ Physisch verteiltes System y y

ƒ Compute-Cluster ... Rechnernetz

Knoten / Prozess Nachricht

ƒ Logisch verteiltes System

ƒ Prozesse (Objekte, Agenten)

ƒ Verteilung des Zustandes (keine globale Sicht)

ƒ Keine gemeinsame Zeit (globale, genaue Uhr)

13

© Friedemann Mattern, 2002

Sichten verteilter Systeme (1)

ƒ Computernetz mit p

“Rechenknoten”, z.B.

ƒ Compute-Cluster

ƒ Local Area Network

ƒ Internet

ƒ Relevante Aspekte:

ƒ Routing, Adressierung,…

Zunehmende Abstraktion

(7)

© Friedemann Mattern, 2002

Sichten verteilter Systeme (2)

ƒ Objekte j in Betriebs- systemen, Middleware, Programmiersprachen

ƒ “Programmierersicht”

ƒ z.B. Client mit API zu Server kommunizierende Prozesse,

kooperierende Objekte kooperierende Objekte

Zunehmende Abstraktion

© Friedemann Mattern, 2002

Sichten verteilter Systeme (3)

ƒ Algorithmen- und g Protokollebene

ƒ Aktionen, Ereignisfolgen

ƒ Konsistenz, Korrektheit

ƒ Man kann verteilte Systeme auf verschiedenen Ab t kti t f b t ht

Abstraktionsstufen betrachten

ƒ Es sind dabei jeweils unterschiedliche Aspekte

(8)

© Friedemann Mattern, 2002

Die verteilte Welt

Auch die “reale Welt” ist Auch die reale Welt ist ein verteiltes System:

ƒ viele gleichzeitige (“parallele”) Aktivitäten

ƒ exakte globale Zeitnicht erfahrbar / vorhanden

ƒ keine konsistente Sicht des Gesamtzustandes

K ti d h li it

ƒ Kooperation durch explizite Kommunikation

ƒ Ursacheund Wirkungzeitlich (und räumlich) getrennt

© Friedemann Mattern, 2002

Warum verteilte Systeme?

ƒ Es gibt inhärent geographisch verteilte physische Systeme g g g p p y y

ƒ z.B. Steuerung einer Fabrik, Zweigstellennetz einer Bank (Zusammenführen / Verteilen von Information)

ƒ Electronic commerce

ƒ kooperative Informationsverarbeitung räumlich getrennter Institutionen (z.B. Reisebüros, Kreditkarten,...)

ƒ Mensch-Mensch-Telekommunikation

ƒ Mensch-Mensch-Telekommunikation

ƒ E-Mail, Diskussionsforen, Blogs, digitale soz. Netze, IP-Telefonie,...

ƒ Globalisierung von Diensten

ƒ Skaleneffekte, Outsourcing,...

Wirtschaftliche Aspekte

ƒ Outsourcing von Diensten, Verlagerung in eine „Cloud“, kann günstiger sein als eine lokal-zentralisierte Lösung

ƒ Compute-Cluster manchmal besseres Preis-Leistungs- verhältnis als Supercomputer Wirtschaftliche Aspekte

ƒ Outsourcing von Diensten, Verlagerung in eine „Cloud“, kann günstiger sein als eine lokal-zentralisierte Lösung

ƒ Compute-Cluster manchmal besseres Preis-Leistungs- verhältnis als Supercomputer

(9)

© Friedemann Mattern, 2002

Verteilte Systeme als „Verbunde“

ƒ Verteilte Systeme verbinden räumlich (oder logisch)

ƒ Systemverbund

ƒ gemeinsame Nutzung von Betriebsmitteln, Geräten,...

ƒ einfache inkrementelle

ƒ Lastverbund

ƒ Zusammenfassung der Kapazitäten

ƒ Datenverbund

getrennte Komponenten zu einem bestimmten Zweck

Erweiterbarkeit

ƒ Funktionsverbund

ƒ Kooperation bzgl. Nutzung jeweils spezifischer Eigenschaften

ƒ allgemeine Bereitstellung von Daten

ƒ Überlebensverbund

ƒ Redundanz durch Replikation

© Friedemann Mattern, 2002

Historische Entwicklung (1)

ƒ Rechner-zu-Rechner-Kommunikation

ƒ Zugriff auf entfernte Daten (“Datenfernübertragung”, DFÜ)

ƒ dezentrale Informationsverarbeitung war zunächst ökonomisch nicht sinnvoll (zu teuer, Fachpersonal nötig)

→Master-Slave-Beziehung (“Remote Job Entry”, Terminals)

ƒ ARPA-Netz (Prototyp des Internet)

ƒ “symmetrische” Kommunikationsbeziehung (“peer to peer”)

ƒ symmetrische Kommunikationsbeziehung ( peer to peer )

ƒ file transfer, remote login, E-Mail

ƒ Internet-Protokollfamilie (TCP/IP,...)

(10)

© Friedemann Mattern, 2002

Historische Entwicklung (2)

ƒ Workstation- und PC-Netze (LAN)

ƒ bahnbrechende, frühe Ideen bei XEROX-PARC (XEROX-Star als erste Workstation, Desktop-Benutzerinterface, Ethernet, RPC, verteilte Dateisysteme,...)

ƒ Kommerzielle Pionierprojekte als Treiber

ƒ z.B. Reservierungssysteme, Banken, Kreditkarten

ƒ Web / Internet als Plattform

ƒ für electronic commerce etc.für electronic commerce etc.

ƒ web services

ƒ neue, darauf aufbauende Dienste

ƒ Mobile Geräte

ƒ z.B. Smartphones

ƒ Internet der Dinge

21

Änderung der Vernetzungsqualität aus historischer Sicht

Friedemann Mattern

Vernetzung von:

-Computern(ftp)

Mobiler

Eingebettete Internet-

Dienste

‘00:

Computern(ftp) -Dokumenten(WWW) -Menschen(soz. Netze) -Dingen(Internet der Dinge)

E-Mail

Mobiler Zugang

TCP http

Zeit Web 2.0

‘80: WWW

‘90:

(11)

Historie von Konzepten

ƒ Concurrency, Synchronisation

Entwicklung “guter” Konzepte, Modelle Abstraktionen etc

y, y

ƒ war bereits klassisches Thema bei Datenbanken und Betriebssystemen

ƒ Programmiersprachen

ƒ „kommunizierende“ Objekte

ƒ Parallele und verteilte Algorithmen

ƒ Semantik von Kooperation / Kommunikation

Modelle, Abstraktionen etc.

zum Verständnis der Phäno- menedauert oft lange (not- wendige Ordnung und Sichtung des verfügbaren Gedankenguts)

Diese sind jedoch für die Lösung praktischer Probleme hilfreich, oft sogar notwendig!

ƒ mathematische Modelle für Verteiltheit (z.B. CCS, Petri-Netze)

ƒ Abstraktionsprinzipien

ƒ Schichten, Dienstprimitive,...

ƒ Verständnis grundlegender Phänomene der Verteiltheit

ƒ Konsistenz, Zeit, Zustand,...

Architekturen verteilter Systeme

ƒ Zu Anfang waren Systeme monolithisch u a g a e Syste e o o t sc

- Nicht verteilt / vernetzt -Mainframes

-Terminals als angeschlossene „Datensichtgeräte“

(„Datenendgerät“: Fernschreiber [tty], ASCII)

(12)

Architekturen verteilter Systeme: Peer-to-Peer

ARPANET1969

Jeder Rechner gleichzeitig Informationsanbieter und -konsument

Architekturen verteilter Systeme: Client-Server

- Einführung von Workstations

( d “)

Internet

Client

Server

(später dann „PC“)

-WWW-dominiertes Internet - Serverals Informationsanbieter -Clientals Konsument; gleichzeitig

Benutzungsschnittstelle (“front end”) für einen Nutzer

(13)

Client-Server

Populärauch wegen des

ƒ entspricht Geschäftsvor- gängen in unserer Dienst- leistungsgesellschaft

ƒ gewohntes Muster → intuitive Struktur, gute Überschaubarkeit Populärauch wegen des eingängigen Modells

Überschaubarkeit

Architekturen verteilter

Systeme: Fat- und Thin-Client

Fat-Client Thin-Client

Präsentation

Applikation

Präsentation

Applikation

Präsentation

Applikation

Präsentation

Applikation Applikation

Client

Server

Daten

Applikation

Daten Daten

Daten Server

(14)

Architekturen verteilter Systeme: 3-Tier

Präsentation

Applikation

Verarbeitung wird auf mehrere physikalische Einheiten verteilt - Logische Schichten minimieren

die Abhängigkeiten - Leichtere Wartung

Daten

- Einfaches Austauschen Server

Server

Architekturen verteilter Systeme: Multi-Tier

W it S hi ht i h

Präsentation

Webserver

Applikation

Weitere Schichten sowie mehrere physikalische Einheiten pro Schicht („Compute-Cluster“) erhöhen die Skalierbarkeitund Flexibilität Mehrere Webserver ermöglichen z.B. Lastverteilung

V t ilt D t b k i d

Daten- Verteilte Datenbanken in der Datenhaltungsschicht bietet Sicherheit durch Replikation und hohen Durchsatz

Daten- verwaltung

Daten- haltung Compute-

Cluster

(15)

Architekturen verteilter Systeme: Compute-Cluster

Vernetzung kompletter Einzelrechner Vernetzung kompletter Einzelrechner Räumlich konzentriert (wenige Meter) Sehr schnelles Verbindungsnetz

Es gibt diverse Netztopologien, um die Einzelrechner (als Knoten in einem Graphen)p )miteinander zu verbinden – diese sind unterschiedlich hinsichtlich

ƒ Skalierbarkeit der Topologie

ƒ Routingkomplexität

ƒ Gesamtzahl der Einzelverbindungen

ƒ maximale bzw. durchschnittliche Entfernung zweier Knoten

ƒ Anzahl der Nachbarn eines Knotens

ƒ

Bestimmt mit die Kosten und die Leistungsfähigkeit eines Systems

Beispiel: Hypercube- Verbindungstopologie

ƒ Würfel der Dimension d

ƒ Vorteil: einfaches Routing, kurze Weglängen

ƒ Nachteil: Viele Einzelverbindungen (O(n log n) bei n Knoten)

ƒ Rekursives Konstruktionsprinzip

ƒ Hypercube der Dimension 0: Einzelrechner

ƒ Hypercube der Dimension d+1: „Nimm zwei Würfel der Dimension d und verbinde korrespondierende Ecken“

Dimension d und verbinde korrespondierende Ecken

(16)

Routing beim Hypercube

ƒ Knoten systematisch y nummerieren (entspr.

rekursivem Aufbau)

ƒ Zieladresse bitweise xor mit Absenderadresse

ƒ Wo sich eine “1” findet, in diese Dimension muss gewechselt werden

ƒ Maximale Weglänge: d; durchschnittliche Weglänge = d/2

(Induktionsbeweis als einfache Übung)

Hypercube

ƒ Dies stellt auch einen Hypercube dar

ƒ ist nur nicht als Würfel gezeichnet

(17)

Eine andere Verbindungstopo- logie: Der d-dimensionale Torus

ƒ Gitter in d Dimensionen mit “wrap-around”

ƒ Rekursives Konstruktionsprinzip: Nimm w

d

gleiche Exemplare der Dimension d-1 und verbinde korrespon- dierende Elemente zu einem Ring

ƒ Sonderfall Ring: d = 1

ƒ Sonderfall Hypercube: d-dimensionaler Torus mit wi= 2 für alle Dimensionen i

Es gibt noch einige andere sinnvolle Verbindungstopolo- gien (auf die wir nicht eingehen)

Parallelrechner verteiltes System

Mehrprozessor-

systeme Computernetze

(geographisch verteilt) eng

gekoppeltlose gekoppelt

Mehrrechner- systeme

MIMD Multiple Instruction, Multiple Data (im Gegensatz zu SIMD)

Multicore

(auf einem Chip)

Parallelrechner Verteiltes System

systeme

(gemeinsamer Speicher)

(geographisch verteilt)

systeme

(räuml. konzentriert)

“multiprocessor” “compute cluster”

(auf einem Chip)

(18)

Architekturen verteilter Systeme:

Service-Oriented Architecture (SOA)

EineUnterteilungder Applikation in Eine Unterteilungder Applikation in einzelne, unabhängige Abläufe innerhalb eines Geschäftsprozesseserhöht die Flexibilität weiter

Lose Kopplung zwischen Services über Nachrichten und events (statt RPC) Services können bei Änderungen der Prozesse einfach neu zusammengestellt werden ( development by composition“) werden („development by composition“) Services können auch von externen Anbieternbezogen werden

Oft in Zusammenhang mit Web-Services

Architekturen verteilter Systeme: Cloud-Computing

MassiveBündelung der Rechen Massive Bündelung der Rechen- leistungan zentraler Stelle Outsourcenvon Applikationen in die Cloud

Internetim Wesentlichen nur noch als Vermittlungsinstanz

(19)

Motivierender Trend: Stetige Erhö- hung der Bandbreite für Endnutzer

Hochgeschwindigkeit ins Haus

ƒ Konvergenz TV, Telekom- munikation und Internet

ƒ Technologiewechsel Æ erhebliche Investitionen

ƒ wirtschaftliche Faktoren und Bedingungen

(20)

Cloud-Computing

E M il i d b i

Alles ist

„irgendwo“

im Netz

E-Mail wird beim Provider gespeichert

Cloud-Computing

F t d b i

Alles ist

„irgendwo“

im Netz

Fotos werden bei

gespeichert

(21)

Cloud-Computing

Vid b i

Alles ist

„irgendwo“

im Netz

Videos bei

Cloud-Computing

P i t D k t

Alles ist

„irgendwo“

im Netz

Private Dokumente werden bei einem Storage Provider abgelegt

Das Tagebuch wird öffentlich „im Netz“

l Bl füh t

als Blog geführt

(22)

Cloud-Computing

I f i t t

Alles ist

„irgendwo“

im Netz

Informieren tut man sich im Netz

Cloud-Computing

V t t t

Alles ist

„irgendwo“

im Netz

Vernetzen tut man

sich bei „social net-

works“ oder „digital

communities“ im Netz

(23)

Cloud-Computing

Pl ttf i N t

Alles ist

„irgendwo“

im Netz

Plattformen im Netz nutzt man zum

- Kaufen - Spielen

- Kommunizieren - …

Cloud-Computing

Alles ist

„irgendwo“

im Netz

Vorteile für Nutzer:

ƒ von überall zugreifbar

ƒ keine Datensicherung

ƒ keine Softwarepflege

Kein PC, sondern billiges Web-Terminal,

(24)

Cloud-Computing

Alles ist

„irgendwo“

im Netz

Voraussetzungen?

ƒ Überall Breitband (fest & mobil)

ƒ Netz-Verlässlichkeit (Versorgungssicherheit, Datenschutz,…)

ƒ Wirtschaftlichkeit

Verlässlichkeit?

Cloud Voraussetzungen?

ƒ Überall Breitband (fest & mobil)

ƒ Netz-Verlässlichkeit (Versorgungssicherheit, Datenschutz,…)

ƒ Wirtschaftlichkeit

(25)

Geschlossen!

Credit Suisse Å100 m

(26)

Cloud-Computing

Alles ist

„irgendwo“

im Netz

Plattformen:

ƒ Wer betreibt sie? Wo?

ƒ Wer verdient daran?

ƒ Wer bestimmt?

ƒ Wer kontrolliert?

ƒ Welche Nationen profitieren davon?

profitieren davon?

Beispiel: Google-Datenzentren

ƒ Jedes Datenzentrum hat 10 000 – 100 000 Computer

ƒ Kostet über 500 Mio $

(Bau, Infrastruktur, Computer)

ƒ Verbraucht 50 – 100 MW Energie

(Strom, Kühlung)

ƒ Neben Google weitere

(z.B. Amazon, Microsoft, Ebay,…)

(27)

Google Data Center Groningen

Google Data Center Columbia River

(28)

The Dalles, OR, Columbia River

Google Data Center Columbia River

Electricity supply

Cooling towers

(29)

Energiezufuhr „Discovery

Substation“ : 115 kV / 13.8 kV

Nahes Kraftwerk: Dalles Dam Power Station, Columbia River

The Chronicle, March 1, 2007 – PUD to seek vote on coal power

Coal will provide most affordable, reliable future power say supporters of the plan power, say supporters of the plan.

As demand for electricity in The Dalles soars, and federal hydropower supplies near their limit, Northern Wasco County PUD plans to ask voters May 15 for permission to buy power from two separate coal-fueled electrical plants soon to be built.

(30)

Innenansicht eines Cloud-Zentrums

ƒ Effizient wie Fabriken

ƒ Produkt: Internet-Dienste

ƒ Kostenvorteil durch Skaleneffekt

ƒ Faktor 5 – 7 gegenüber traditio- nellen „kleinen“ Rechenzentren

ƒ Angebot nicht benötigter Leistung auf einem Spot Markt Leistung auf einem Spot-Markt

Das entwickelt sich zum eigentlichen Geschäft!

Zukünftige Container-Datenzentren

ƒ Hunderte von Containernaus je einigen tausend Compute-Servern

ƒ mit Anschlüssen für Strom und Kühlung

ƒ Nahe an Kraftwerken

ƒ Transport von Daten billiger als Strom

Thin clients?

(31)

Cloud-Computing für die Industrie und Wirtschaft

ƒ Spontanes Outsourcen von IT inklusive Geschäftsprozesse

ƒ Spontanes Outsourcen von IT inklusive Geschäftsprozesse

ƒ Datenverarbeitung als Commodity

ƒ Software und Datenspeicher als Service

ƒ Keine Bindung von Eigenkapital

ƒ Kosten nach „Verbrauch“

ƒ Elastizität: Sofortiges Hinzufügen weiterer Ressourcen bei Bedarf

ƒ virtualisierte Hardware Markt für „utility computing“

2010: ca. 95 Milliarden EUR

Architekturen verteilter

Systeme: Zusammenfassung

ƒ Peer-to-Peer

ƒ Client-Server (Fat-Client vs. Thin Client)

ƒ 3-Tier

ƒ Multi-Tier

ƒ Service-Oriented Architecture (SOA)

ƒ Compute-Cluster

ƒ Cloud-Computing

(32)

Resümee (1)

ƒ Verteilte Systeme: Begriff, Sichtweisen, Eigenschaften,...

ƒ

ƒ Warum verteilte Systeme?

ƒ Kooperation von a-priori geographisch verteilten Einheiten

ƒ Verteilte Systeme als “Verbund”

ƒ Historische Entwicklung von Systemen und Konzepten

ƒ Architekturvarianten

ƒ Compute-Cluster

ƒ Peer-to-Peer

ƒ Client-Server

ƒ Fat-Client vs. Thin Client

ƒ 3-Tier und Multi-Tier

ƒ Compute-Cluster

(Beispiel für Verbindungstopologie:

Hypercube und Torus)

ƒ Service-Oriented Architecture (SOA)

ƒ Cloud-Computing

Resümee (1b)

ƒ Cloud Computing

ƒ Cloud-Computing

ƒ motiviert durch schnelle, ubiquitäre, verlässliche Netze

ƒ Trend: „alles“ irgendwo im Netz

ƒ Beispiele für Cloud-Datenzentren

ƒ wirtschaftliche Effekte: Skaleneffekte, Spot-Markt

Referenzen

ÄHNLICHE DOKUMENTE

– Mobile Node (MN) globally addressable: fixed Home Address (HoA) – Home Agent (HA) to permanently represent MN at home network – Mobile Node locally addressable: changing Care

u Linking: bidirektional, signalisiert mit „exit“ Nachrichten – Erlaubt es Lebenszeit von Aktoren zu

u Junfeng Yang et al., MODIST: Transparent Model Checking of Unmodified Distributed Systems, in Proceedings of the 6th USENIX Symposium on Networked Systems Design and

 nur eine Operation: synchronisiere(S) ; alle lokalen Write-Operationen werden zu allen Kopien übertragen und alle Write-Operationen bei anderen Kopien werden zur lokalen

Clients können über die entfernte Methode nextMessage()Nachrichten-Strings abrufen, wobei sich der Server für eine begrenzte Zeit t merkt, welche Nachricht zuletzt an den jeweili-

– Repräsentieren eine (interaktive) Session für einen Client – Können nicht zwischen Clients geteilt werden. – Beenden mit

eine Nachricht an einen anderen Prozeß schickt, der daraufhin ebenfalls in den kritischen Abschnitt will, dann darf der Sendeprozeß vor dem Empfangsprozeß in den

 Junfeng Yang et al., MODIST: Transparent Model Checking of Unmodified Distributed Systems, in Proceedings of the 6th USENIX Symposium on Networked Systems Design and