Probeklausur verteilte Anwendungen

Werbung
Klausur zu „Verteilte Anwendungen“
SS 2004 (Prof. Dr. J.Schlichter, Dr. W.Wörndl)
Name:
________________________________ (bitte deutlich schreiben)
Matrikelnummer:
___________________________
Zustimmung zur Veröffentlichung des Ergebnisses im Internet: { ja
{ nein
Datum: 19.07.2004
Die Klausur besteht aus 5 Aufgaben, in denen maximal 40 Punkte erreicht werden können.
Sie haben 90 Minuten Zeit, um die Aufgaben zu bearbeiten.
Es sind keine Hilfsmittel zugelassen.
Notieren Sie bitte zuerst auf allen 7 Blättern der Klausur Ihren Namen.
Die Beantwortung der Aufgaben kann in (aussagekräftigen) Stichpunkten und mit
beschrifteten Skizzen erfolgen. Falls der Platz bei den Aufgaben für die Antwort nicht
ausreicht, dann benutzen Sie bitte die Rückseite des Blattes.
Notenverteilung:
1.0 38-40
1.3 35-37
1.7 32-34
2.0
2.3
2.7
29-31
27-28
25-26
3.0
3.3
3.7
23-24
21-22
19-20
Bei Punktezahl zwischen Notenstufen wird aufgerundet.
4.0 17-18
4.3 10-16
4.7 5-9
Name:
________________________________
2
Aufgabe 1: Transparenz (6 Punkte)
Transparenz ist ein wichtiges Konzept bei verteilten Anwendungen.
a) Ist die folgende Aussage richtig oder falsch? (mit kurzer Begründung)
„(Hohe) Transparenz bei verteilten Anwendungen bedeutet, die Verteiltheit einer Anwendung
für den Benutzer möglichst sichtbar zu machen“
b) Beschreiben Sie die Replikationstransparenz (replication transparency).
c) Geben Sie ein Beispiel, wann eine größtmögliche Transparenz bei verteilten Anwendungen
nicht sinnvoll ist.
Name:
________________________________
3
Aufgabe 2: Verzeichnisdienst LDAP (6 Punkte)
Lightweight Directory Access Protocol (LDAP) ist ein Protokoll zum Zugriff auf einen
Verzeichnisdienst. Beschreiben Sie das Informations- und das Namensmodell von LDAP.
Name:
________________________________
4
Aufgabe 3: Vektoruhren und Gruppenkommunikation (15 Punkte)
Vektoruhren (logical vector clocks) sind ein Mittel zur Modellierung von Ereignissen einer
verteilten Anwendung.
a) Bestimmen Sie im nachfolgenden Beispiel die Veränderung der Werte für die Vektoruhren
von TK1, TK2 und TK3. Die Vektoruhren seien jeweils mit dem Nullvektor initialisiert; die
gestrichelten Pfeile repräsentieren den Nachrichtenaustausch zwischen Komponenten.
(Hinweis: Zeichnen Sie die Werte an den Events der Teilkomponenten direkt in das Beispiel
ein)
b) Erläutern Sie eine Möglichkeit, die Auslieferung von Nachrichten an eine Gruppe von
Prozessen total zu sortieren. D.h. alle Nachrichten sollen in einer festen Reihenfolge
ausgeliefert werden.
Name:
________________________________
5
c) ISIS ist ein Softwaresystem, dessen Zielsetzung die Unterstützung von verteilten
Prozessgruppen ist. Das cbcast Verfahren (causal broadcast) von ISIS realisiert eine virtuell
synchrone Zustellung von Nachrichten an einzelne Gruppenmitglieder. Beschreiben Sie den
Algorithmus des cbcast Verfahrens.
Name:
________________________________
6
Aufgabe 4: Verteilte Dateisysteme (6 Punkte)
Gegeben sei ein verteiltes Dateisystem, das die Replikation von Dateien unterstützt. Der
Zugriff auf die Dateikopien werde mit Hilfe eines Votierungsverfahrens (voting) geregelt.
a) Beschreiben Sie den prinzipiellen Ablauf eines Votierungsverfahrens.
b) Gegeben sei nun ein Votierungsverfahren mit 3 Servern und folgenden Eigenschaften:
Replikationsgrad der Dateien REP = 3
Lesequorum R = 1
Schreibquorum W = 2
Markieren Sie zu den folgenden Aussagen, ob sie richtig oder falsch sind (ohne Begründung).
(Hinweis zur Bewertung: Falsch markierte Antworten führen zu Punktabzug.)
richtig falsch
{
{
Das gegebene Votierungsverfahren ist geeignet, um einen gleichzeitigen
Lese- und Schreibzugriff auf eine Datei zu verhindern
{
{
Wenn von den 3 Servern nur 1 Server erreichbar ist (also 2 Server können
keine positive Stimme abgeben), dann ist ein Schreibzugriff
ausgeschlossen, aber ein Lesezugriff noch möglich
{
{
Wenn einer der 3 Server ein Stimmengewicht von 2 hat (die anderen
beiden Server haben das Stimmengewicht 1), dann muss für eine „WriteAll-Read-Any“ Strategie ein Schreibquorum W = 4 gewählt werden
{
{
Allgemein gehören die Votierungsverfahren zu den optimistischen
Verfahren der Nebenläufigkeitskontrolle (optimistic concurreny control)
{
{
Ein optimistisches Verfahren zur Nebenläufigkeitskontrolle schließt einen
Zugriff auf inkonsistente Daten grundsätzlich aus
Name:
________________________________
7
Aufgabe 5: Java RMI (7 Punkte)
Java Remote Method Invocation (RMI) ermöglicht einen verteilten Methodenaufruf in einer
Java Anwendung.
a) Erläutern Sie die Schritte, die bei der Entwicklung einer Java RMI Anwendung nötig sind.
b) Was ist der prinzipielle Unterschied der Vorgehensweise bei der Entwicklung einer RMI
Anwendung im Vergleich zu Corba oder traditionellen RPC-Systemen?
Herunterladen