• Keine Ergebnisse gefunden

Aufgabe 1: Kommunikationsformen in verteilten Systemen

N/A
N/A
Protected

Academic year: 2022

Aktie "Aufgabe 1: Kommunikationsformen in verteilten Systemen"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. Dr. rer. nat. Roland Wism ¨uller

Aufgabenblatt 2

(Zu bearbeiten bis 27.04.)

Vorlesung Verteilte Systeme Sommersemester 2021

Aufgabe 1: Kommunikationsformen in verteilten Systemen

Man unterscheidet grunds¨atzlich zwei Arten von Kommunikation in verteilten Systemen: gesichterte Nachrichtenstr¨ome und ungesicherte Datagramme. Welches sind die wesentlichen Charakteristiken beider Kommunikationsformen und wel- che Vor- und Nachteile ergeben sich daraus? Nennen Sie m¨ogliche Einsatzgebiete.

Aufgabe 2: Datenformat-Konvertierung

Bei der Kommunikation in verteilten Systemen ist es im Allgemeinen notwendig, intern in den Prozessen gespeicherte Datenstrukturen in ein zur ¨Ubertragung geeignetes Format zu konvertieren. Aus welchen Gr¨unden ist dies unabdingbar?

Diskutieren Sie notwendige Maßnahmen f¨ur unterschiedliche Datentypen.

Aufgabe 3: Semantik der Client/Server-Kommunikation

a) Bei der Client/Server-Kommunikation kann es zu Problemen kommen, wenn bei der ¨Ubertragung zwischen Client und Server Nachrichten verloren gehen. Die Behandlung solcher Fehler kann unterschiedlich sein, wodurch sich f¨ur die Kommunikation verschiedene Semantiken ergeben:

• at least once- der Auftrag wird mindestens einmal ausgef¨uhrt,

• at most once- der Auftrag wird h¨ochstens einmal ausgef¨uhrt und

• exactly once- der Auftrag wird genau einmal ausgef¨uhrt.

Die folgende Abbildung zeigt Zustandsdiagramme f¨ur Client und Server bei einer Implementierung der at least onceSemantik:

End Start

Wait

End Start Client

Proc Empfang

Server

Sende Antwort Timeout

Sende Anfrage Antwort−

Anfrage−Empfang Bearbeite Auftrag Auftrag

an Server

Skizzieren Sie analoge Zustandsdiagramme f¨ur Implementierungen der at most once undexactly onceSemanti- ken, wobei wie oben eintreffende Nachrichten und Timeout-Ereignisse verwendet werden sollen. Verwenden Sie Sequenznummern zur Erkennung einzelner Anfragen f¨ur dieexactly onceSemantik.

b) Uberlegen Sie f¨ur folgende Anwendungen, ob¨ at least onceoderat most onceSemantik angebrachter ist:

• das Dr¨ucken eines Aufzugknopfs,

1

(2)

• das ¨Ubersetzen eines Programms,

• Daten in einer Datei schreiben/anh¨angen,

• das Bestellen einer Pizza,

• einen Kontoauszug holen,

• eine elektronische ¨Uberweisung t¨atigen,

• eine Stimme abgeben in einem elektronischen Wahlservice.

Aufgabe 4: Request/Reply-Protokoll

F¨ur ein typisches Client-Server-Protokoll im Request/Reply-Stil bietet es sich an, ein auf Datagrammen basierendes Pro- tokoll zu verwenden. Warum? Entwerfen Sie ein solches Protokoll.

Beachten Sie insbesondere nach M¨oglichkeit alle denkbaren Fehlerszenarien und wie diese behandelt werden sollten.

Dabei sollte das Protokoll m¨oglichst leichtgewichtig sein. Die Datagrammschicht bietet als Dienst beispielsweise folgende Operationen an:

• send(in address, in data)- asynchrones, ungesichertes Versenden der Daten,

• recv(out address, out data, in timeout)- blockierendes Empfangen eines Pakets mit Timeout.

Implementiert werden sollen Operationen der Art:

• doOperation(in address, in request, out reply)- synchrones Versenden eines Requests an den Server,

• getRequest(out address, out request)- blockierendes Empfangen eines Requests (Server),

• sendReply(in address, in reply)- Versenden der Antwort (Server)

Sie d¨urfen davon ausgehen, dass eine Fragmentierung der zu ¨ubermittelnden Nachrichten nicht notwendig ist. Weiterhin wird garantiert, dass keine Datenpakete verf¨alscht werden. Der eventuelle Verlust sowie Nichteinhaltung der Paketreihen- folge m¨ussen hingegen ber¨ucksichtigt werden.

Aufgabe 5: Middleware

Ein zuverl¨assiger Multicast-Dienst erlaubt es einem Sender, zuverl¨assige Nachrichten an mehrere Empf¨anger zu ¨uberge- ben. Geh¨ort ein solcher Dienst zu einer Middleware-Schicht oder sollte er Teil einer darunter liegenden Schicht sein?

Aufgabe 6: Transparenz des RPC

Bei Verwendung vonRemote Procedure Call(RPC) ist es prinzipiell egal, ob sich die aufgerufene Prozedur (d.h. der Server-Prozeß) auf dem lokalen Rechnerknoten oder einem anderen Knoten befindet. Was aber passiert, wenn die Proze- dur einen Systemaufruf ausf¨uhrt? Welche Probleme k¨onnte dies nach sich ziehen und wie k¨onnte man ihnen begegnen?

2

Referenzen

ÄHNLICHE DOKUMENTE

Berechnen Sie durch Wahl einer geeigneten Methode das Magnetfeld eines Stroms durch eine endlich lange Platte der Breite d.. L¨ ange und Breite d der Platte sollen so groß sein,

Thus when the China Banking Regulatory Commission (CBRC) issued in February 2004 a regulation on capital adequacy for commercial banks (Regulation governing capital adequacy

F¨ur eine Situation k¨onnen jedoch zwei oder mehr un- terschiedliche Ereignisvariablen definiert werden, so dass Ereignisse in unterschiedlichen Kombinationen eintreten

Ein Disput zwischen Alice und Bob soll durch einen elektronischen M¨ unzwurf entschieden werden.. Kann Bob keinen Faktor

I Problem: Wir haben eine elastische, reaktive Anwendung aber nicht genug Geld um eine unbegrenzt große Server Farm zu betreiben. I Lösung: Bei Überlastung sollten Anfragen nicht

Pistore/Vardi study nondeterministic planning by means of path games: a plan π is good for the goal φ on domain G if Ego wins an associated game on the execution tree T G,π?. •

Other, similar female types as the London bearer can be found on the tapestries representing the Life of Joseph, woven by Dutch mas- ters following the drawings of Pontormo,

The University Museums and Collections Journal (UMACJ) is a peer-reviewed, on-line journal for the proceedings of the International Committee for University Museums and