TU Wien:Verteilte Systeme VO (Dustdar)/Pruefung 2020-08-10
Aufgabe 1: General Distributed Systems[Bearbeiten | Quelltext bearbeiten]
Aufgabe 1.1[Bearbeiten | Quelltext bearbeiten]
EN: The following figure depicts the object-based architectural style. Fill in the numbered blanks.
DE: Die folgenden Abbildung zeigt den objektbasierten Architekturstil. Füllen Sie die nummerierten Felder aus.
Aufgabe 1.2[Bearbeiten | Quelltext bearbeiten]
EN: The following figure depicts the event-based architectural style. Fill in the numbered blanks.
DE: Die folgende Abbildung zeigt den ereignisbasierten Architekturstil. Füllen Sie die nummerierten Felder aus.
Aufgabe 2: Processes and Communications I[Bearbeiten | Quelltext bearbeiten]
EN: You have to implement a client that downloads documents from different servers. You should avoid long delays. When the client connects to one of the servers, it will receive first a list of links to the documents. Using the links, the client can obtain these documents from different servers.
DE: Sie haben die Aufgabe, einen Client zu eintwickeln, welcher Dokumente von verschiedenen Servern herunterlädt. Lange Wartezeiten sollten dabei vermieden werden. Wenn sich der Client bei einem Server anmeldet, erhält er zunächst eine Liste zu den Dokumenten. Mithilfe dieser Links kann der Client diese Dokumente von verschiedenen Servern herunterladen.
Aufgabe 2.1[Bearbeiten | Quelltext bearbeiten]
EN: Would you design the client as either a singlethreaded process, a multithreaded process, or a multi process program? Explain your choice in max three sentences.
DE: Würden Sie den Client als Single-Thread-Prozess, als Multi-Thread Prozess oder als Multi Prozess-Programm designen? Erklären Sie Ihre Wahl in max. drei Sätzen.
Aufgabe 2.2[Bearbeiten | Quelltext bearbeiten]
EN: Your client software need tot use sockets for the interaction with the servers. Sketch the basic steps (communication patterns) between the client and one server when downloading a file.
DE: Ihre Client-Software verwendet Sockets für die Interaktion mit den Serverne. Skizzieren Sie die grundlegenden Schritte (Kommunikationsmuster) zwischen dem Client und einem Server wöhrend des Herunterladens einer Datei.
Aufgabe 3: Processes and Communications II[Bearbeiten | Quelltext bearbeiten]
Aufgabe 3.1[Bearbeiten | Quelltext bearbeiten]
EN: Describe the basic idea of stateful servers and name one practical example where the usage of stateful servers is preferable (in max. three sentences).
DE: Beschreiben Sie in max. 3 Sätzen die grundlegende Idee von zustandsbehafteten (stateful) Servern und nennen Sie ein praktisches Beispiel, in dem die Verwendung von zustandsbehafteten Servern zu bevorzugen ist.
Aufgabe 3.2[Bearbeiten | Quelltext bearbeiten]
EN: In a Peer-to-Peer network, you need to request information from different peers. Since the network is ever-changing, peers are leaving and entering the network constantly. Explain (in max. three sentences) if you would use synchronous or asynchronous communication between the peers.
DE: Sie haben die Aufgaebe, in einem Peer-to-Peer-Netzwerk Informationen von verschiedenen Peers abzufragen. Das Netzwerk ändert sich stetig, was dazu führt, dass laufend Peers dem Netzwerk beitreten oder es verlassen. Erklären Sie in max. drei Sätzen, ob Sie synchrone oder asynchrone Kommunikation zwischen den Peers verwenden würden.
Aufgabe 4: Naming[Bearbeiten | Quelltext bearbeiten]
Aufgabe 4.1[Bearbeiten | Quelltext bearbeiten]
EN: Explain in max. three sentences what a name space and a naming domain are. What is the relationship between these tow concepts?
DE: Erläutern Sie in max. drei Sätzen, was ein Namensraum und eine Namensdomäne ist. Wie ist die Beziehung zwischen diesen beiden Konzepten?
Aufgabe 4.2[Bearbeiten | Quelltext bearbeiten]
EN: In the following table you will find three examples for naming information. Are these either examples for flat naming, structured names, or attribute-based naming?
DE: In der folgenden Tabelle finden Sie drei Beispiele für Namensinformationen. Sind diese entweder Beispiele für flache Benennung, strukturierte Benennung oder Attribut-basierte Bennenung?
Examples:
- uid=schahram.dustar, ou=People, dc=example, dc=at
- 84-99-96-45-44-55
- www.tuwien.ac.at
Aufgabe 5: Performance, Dependability, and Fault Tolerance[Bearbeiten | Quelltext bearbeiten]
Aufgabe 5.1[Bearbeiten | Quelltext bearbeiten]
EN: Explain Failures, Errors, and Faults and how these three threats to dependability are related to each other (in max. three sentences).
DE: Erklären Sie in max. drei Sätzen Fehlschläge (Failures), Störungen (Errors) oder Mängel (Faults) und wie diese drei Bedrohungen für Zuverlässigkeit zueinander in Beziehung stehen.
Aufgabe 5.2[Bearbeiten | Quelltext bearbeiten]
EN: Explain in one sentence each how large a k-fault tolerance group needs to be in order to tolerate (i) timing faults or (ii) Byzantine faults. Justify the group sizes.
DE: Erklären Sie in jeweils einem Satz, wie groß eine k-Fehler-tolerante Gruppe sein muss, um entweder (i) zeitliche Mängel oder (ii) Byzantinische Mängel zu tolerieren. Brgründen Sie die Gruppengrüßen.
Aufgabe 6: Time and Synchronization[Bearbeiten | Quelltext bearbeiten]
Aufgabe 6.1[Bearbeiten | Quelltext bearbeiten]
EN: With regard to physical clocks, we differentiate between precision and accuracy. Define the two concepts in one sentence each.
DE: Im Bereich der physikalischen Uhren unterscheiden wir zwischen Präzision und Genauigkeit. Definieren Sie diese beiden Konzepte in jeweils einem Satz.
Aufgabe 6.2[Bearbeiten | Quelltext bearbeiten]
EN: Four processes 0-3 use the bully algorithm to select an new coordinator. In the figure, you can find five “rounds” which are needed to identify a new coordination. Assume that process 1 is the one to trigger the election. For each round, insert the messages sent by the processes, i.e. ELECTION, COORDINATOR, and OK messages. Hint For each round, only insert one type if message. Answers to messages are sent in the subsequent round.
DE: Vier Prozesse 0-3 nutzen den Bully-Algorithmus, um einen neuen Koordinator auszuwählen. In der Abbildung finden Sie fünf Runden, die benötigt werden, um einen neuen Koordinator zu identifizieren. Nehmen Sie dabei an, dass Prozess 1 die Wahl anstößt. Tragen Sie für jede Runde die Nachrichten ein, welche von den Prozessen gesendet werden, d.h. WAHL-, KOORDINATOR- und OK-Nachrichten. Hinweis: Verwenden Sie pro Runde nur einen Nachrichtentypen. Antworten auf Nachrichten werden in der nachfolgenden Runde gesendet.
Aufgabe 7: Consistency[Bearbeiten | Quelltext bearbeiten]
Aufgabe 7.1[Bearbeiten | Quelltext bearbeiten]
(a)[Bearbeiten | Quelltext bearbeiten]
EN: Consider the following Read/Write events: Is this sequence allowed in a system that provides causal consistency? If yes, why? If not, propose a causally consistent event ordering.
DE: Betrachten Sie die R/W-Ereignisse. Ist diese Sequenz in einem System zulässig, das kausale Konsistenz bietet1ß Wenn ja, warum? Wenn nicht, schlagen Sie eine kausal-konsistente-Ereignisreihenfolge vor.
(b)[Bearbeiten | Quelltext bearbeiten]
EN: Provide an application example, where monotonic read consistency is useful (In max. two sentences).
DE: Geben Sie in max. 2 Sätzen ein Anwendungsbeispiel an, bei dem monotone Lesekonsistenz nützlich ist.
Aufgabe 7.2[Bearbeiten | Quelltext bearbeiten]
(a)[Bearbeiten | Quelltext bearbeiten]
EN: Provide a definition of eventual consistency in one sentence.
DE: Definieren Sie letztendliche Konsistenz (eventual consistency) in einem Satz.
(b)[Bearbeiten | Quelltext bearbeiten]
EN: Explain why the Domain Name System (DNS) functions with eventual consistency in a maximum of two sentences.
DE: Erklären Sie in maximal zwei Sätzen, warum das Domain Name System (DNS) mit letztendlicher Konsistenz gut funtioniert.
Aufgabe 8: Replication and Content Distribution[Bearbeiten | Quelltext bearbeiten]
Aufgabe 8.1[Bearbeiten | Quelltext bearbeiten]
EN: Name one advantage and one disadvantage of push-based content distribution protocols.
DE: Nennen Sie einen Vorteil und einen Nachteil von Push-basierten Protokollen zur Verteilung von Inhalten.
Aufgabe 8.2[Bearbeiten | Quelltext bearbeiten]
EN: Name one advantage and one disadvantage of non-blocking primary backup consistency protocols.
DE: Nennen Sie einen Vorteil von nicht-blockierenden Primär-Backup-Konsistenzprotokollen.
Aufgabe 9: Security[Bearbeiten | Quelltext bearbeiten]
Aufgabe 9.1[Bearbeiten | Quelltext bearbeiten]
(a)[Bearbeiten | Quelltext bearbeiten]
EN: Provide a definition of strong collision resistance in a maximum of two sentences.
DE: Geben Sie in max. zwei Sätzen eine Definition von starker Kollisionsresistenz.
(b)[Bearbeiten | Quelltext bearbeiten]
EN: Name one reason why we typically digitally sign a message digest produced by a hash function instead of the message itself.
DE: Nennen Sie einen Grund, warum wir typischerweise eine Nachtrichten-Kurzfassung digital signieren, der einer von einer Hash-Funktion erstellt wird, anstelle der Nachricht selbst.
Aufgabe 9.2[Bearbeiten | Quelltext bearbeiten]
EN: During the establishment of a secure channel between two parties, after the authentication phase has completed, the communicating parties generally use a unique shared session key for confidentially, which is discarded when the secure channel is no longer used. Name two benefits of this approach.
DE: Während der Errichtung eines sicheren Kanals zwischen zwei Parteien verwenden die kommunizierenden Parteien nach Abschluss der Authentifizierungsphase im Allgemeinen einen eindeutigen gemeinsamen Sitzungsschlüssel für die Vertraulichkeit, der verworfen wird, wenn der sichere Kanal nicht mehr verwendet wird. Nennen Sie zwei Vorteile dieses Ansatzes.
Aufgabe 10: Applications and Technology[Bearbeiten | Quelltext bearbeiten]
Aufgabe 10.1[Bearbeiten | Quelltext bearbeiten]
(a)[Bearbeiten | Quelltext bearbeiten]
EN: Explain the concept of resource over-provisioning with a figure.
DE: Erläutern Sie das Konzept der Ressourcenüberversorgung anhand einer Abbildung.
(b)[Bearbeiten | Quelltext bearbeiten]
EN: Name a problem that a service provider may face if under-provisioning resources.
DE: Nennen Sie ein Problem, mit dem ein Dienstanbieter möglicherweise konfrontiert ist, wenn Ressourcen nicht ausreichend bereitgestellt werden.
Aufgabe 10.2[Bearbeiten | Quelltext bearbeiten]
EN: Service-oriented architectures involve three key roles, as shown in the figure below. The numbered arrows represent the sequence of operations that have to take place to invoke a service. Name the arrows.
DE: Serviceorientierte Architekturen umfassen drei maßgebliche Rollen, wie in der folgenden Abbildung dargestellt wird. Die nummerierten Pfeile geben die Abfolge der Vorgänge an, die zum Aufrufen eines Service ausgeführt werden müssen. Beschriften Sie die Pfeile.