Altklausuren Flashcards
Definieren Sie den Begriff “Verteiltes System”.
Ein Verteiltes System ist eine Sammlung unabhängiger Systeme die untereinander kommunizieren, sich koordinieren und von ihrem Nutzer als ein einziges System wahrgenommen werden.
Was bedeutet Transparenz? Welche Arten gibt es, nennen und beschreiben Sie kurz 3 mögliche Arten
Transparenz bedeutet das die Verteilung des Systems dem Nutzer verborgen bleibt.
Zugriffs-: Der Zugriff auf entfernte oder lokale Ressourcen geschieht durch identische Funktionen
Orts-: Der Ort der Ressource ist unbekannt
Leistungstransparenz: Unbemerkte Rekonfiguration der Leistung
Beschreiben Sie den Unterschied zwischen synchroner und asynchroner Kommunikation. Nennen Sie jeweils einen Vor- und Nachteil
Bei synchroner Kommunikation fragt der Client an und wartet auf die Antwort des Servers. Bis dahin ist er blockiert.
Pro: Pufferung, Contra, Gefahr von Deadlock
Bei asynchroner Kommunikation Fragt der Client an und wartet auf die Antwort des Servers, kann aber nebenläufig weitere Anfragen stellen.
Pro: Client ist nicht blockiert, Contra: Komplexere Entwicklung
Beschreiben Sie die Funktionsweise und das Einsatzgebiet eines Reverseproxy
Proxy als Endsystem, stellvertretend für einen Server. Anfragen werden auf Server umgeleitet und ggf. modifiziert.
Single Sign On: Die Autthentifizierung eines Nutzers findet für mehrere Dienste zentral statt.
Welche Rolle spielt die Middleware-Schicht bei verteilten Systemen?
Ausgleich der Heterogenität und Verteilungsunterstützung. Durch Schnittstellen ist es unterschiedlichen Systemen möglich miteinander zu kommunizieren und Daten auszutauschen
Benennen Sie insgesamt drei Kernkomponenten auf Clientseite und auf Serverseite, die zur Implementierung eines entfernten RMI-Objektaufrufs erforderlich sind. Beschreiben Sie in einem Satz deren Funktionalität
RMIRegistry: Namensdienst der Referenzen auf Remote Objekte verwaltet, Objekte müssen hier registriert werden.
Server: Stellt den Dienst bereit und muss das Remote-Interface umsetzen
Client: Holt sich Referenz auf remote Objekt von rmiregistry mit Hilfe von Schnittstellenbeschreibung
Gegeben seien drei Prozesse (P1-P3), die jeweils eine eigene logische Uhr gemäß des Algorithmus von Lamport besitzen. Die Taktung der Uhren ist unterschiedlich schnell. Prozesse 1 läuft mit 4er Taktung, Prozess 2 in1er Taktung und Prozesse 3 in 5er Taktung. Die Prozesse tauschen Nachrichten (A-D) gemäß der u.a. Abbildung aus.
Erklären Sie den Algorithmus und zeigen Sie wie sich die Zeit der logischen Uhr por Prozess verändert.
Basierend auf der Happened-Before-Relation dient der Algorithmus dem Zuweisen von eindeutigen Zeitstempeln an Nachrichten.
Jeder Prozess hat einen Zähler, der bei jedem Ereignis (bspw. senden und empfangen) erhöht wird.
Zudem wird der aktuelle Stand des Zählers an jede Nachricht als Zeitstempel angehängt.
Wird eine Nachricht empfangen, deren Zeitstempel größer oder gleich dem aktuellen Stand der eigenen Uhr ist, dann wird die Uhr auf den Wert des Zeitstempels+1 gesetzt. Andernfalls wird der aktuelle Stand beibehalten.
HTTP/1.1 definiert acht verschiedene Anfrage-Operationen. Nennen Sie drei und erläutern Sie deren Zweck kurz.
Post: Ressource hinzufügen
Get: Ressource erhalten
Put: Ressource verändern
Delete: Ressource entfernen
Erklären Sie die Begriffe Authentifizierung und Autorisierung. Wie kann dies in einer HTTP Web-Applikation umgesetzt werden?
Authentifizierung: Identitätsnachweis. Beispiele: Passwort, PIN
Autorisierung: Rechtevergabe, i.d.R. nach Authentifizierung. Beispiel: Rollen-System
Wie unterscheiden sich Paketvermittlung und Leitungsvermittlung? Nennen Sie für jede Technik einen bedeutenden Vorteil.
Leitungsvermittlung: Exklusiver Kanal zwischen Sender & Empfänger. Pro: Weniger Koordination zwischen Kommunikationspartnern
Paketvermittlung: Mehrere Sender teilen sich eine Leitung und teilen Daten in Pakete auf. Pro: Es können mehrere Sender Pakete verschicken
Wofür stehen die Abkürzungen URI, URL und URN. Geben Sie die ausgeschriebenen Form und jeweils ein Beispiel an.
Uniform Ressource Identifier: Abstrakte Ressourcen-Identifikations-Art. Beispiel: Telefonnummer.
Uniform Ressource Locator: Ressourcen Lokalisierung im Internet. Beispiel: Internetadresse
Uniform Ressource Name: Logischer Name innerhalb eines Namespaces. Beispiel: ISBN-Nummer
Wozu dienen im allgemeinen im ISO/OSI-Modell bzw. dem TCP/IP-Modell Header benötigt?
Zur Ermittlung von Adressen und dem Protokoll auf der nächsthöheren Schicht
Einer der ältesten Internet-Dienste ist der echo-Dienst. Er ist mit TCP und UDP über den Port 7 erreichbar. Der Dienst empfängt die vom Client gesendeten Daten und sendet sie unverändert zurück.
1. Schrieben Sie dafür in Java einen einfachen echo-Server (UDP oder TCP), der den Dienst auf einem variablen Port anbietet (default-Port 7) und wie untenstehend aufgerufen wird. Die Anfrage des Clients soll auf der Konsole ausgegeben werden.
- Beschreiben Sie die Funktionsweise des Programms.
Programmaufruf $> java EchoServer 1234
public class EchoServer { public static void main(String[] args) throws IOException { int portNumber; if(args.length > 0) portNumber = args[0]; else portNumber = 7;
try { ServerSocket serverSocket = new ServerSocket(portNumber); Socket clientSocket = serverSocket.accept(); PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true); BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String inputLine; while ((inputLine = in.readLine()) != null) { out.println(inputLine); }
} catch (IOException e) { e.printStackTrace(); } } }
Wie kann Ortstransparenz erreicht werden?
Der Zugriff auf einen Dienst oder eine Ressource erfolgt über einen bestimmten Namen ohne Ortsinformationen.
Was ist mit einem Systemmodell eines Verteilten Systems gemeint? Nennen Sie zwei mögliche Modelle.
Ein Systemmodell ist eine abstrakte Systembeschreibung, der Beziehungen zwischen Elementen, Funktionen und Strukturen.
Architekturmodelle (Client-Server) und Kommunikationsmodelle (asynchron)