TU Wien:Verteilte Systeme VO (Dustdar)/Pruefung 2014-10-13

Aus VoWi
Zur Navigation springen Zur Suche springen

Fragenausarbeitung[Bearbeiten | Quelltext bearbeiten]

Welche Probleme kann die Heterogenität in VS bereiten?[Bearbeiten | Quelltext bearbeiten]

In a heterogeneous distributed system, steps must be taken to make sure that all processes can communicate with each other. Typically whenever processes with different operating systems attempt to communicate, some type of conversion must take place. This greatly increases the complexity of the system and thereby the potential for faults.

Wie hilft die Middleware, um diese Probleme zu minimieren?[Bearbeiten | Quelltext bearbeiten]

The middleware attempts to mask these differences and present all processes with a unified interface. The processes need not be aware that they are communicating with different types of machines and should be able to send messages, data, etc. as easily as possible.

Bei MMORPGs gibt es viele Spieler. Welche Techniken helfen dabei, eine möglichst schnelle Antwortzeit zu liefern?[Bearbeiten | Quelltext bearbeiten]

http://en.wikipedia.org/wiki/Lag

Eine Frage bezüglich geographical Scalability bez. Frage 3.[Bearbeiten | Quelltext bearbeiten]

See above.

Man musste sagen, was aus {RPC, Publish/Subscribe, noch irgendwas} geignet ist, wenn man (i) über den Kommunikationsparner überhaupt keine Infos braucht und (ii) wenn der Empfänger/Sender nicht gleichzeitig online sein muss oder so[Bearbeiten | Quelltext bearbeiten]

Das Publish/Subscribe-Pattern wäre hier das richtige, da weder der Publisher nähere Infos über den Empfänger braucht, noch der Subscriber den Sender kennen muss (i). Des Weiteren kann bei diesem Pattern, das eine Art Queue besitzt, der Empfänger die Nachrichten auch später abholen (ii).

Eine Technologie aus 5. beschreiben - wenn die beschriebene Technologie aber in 5. falsch war, hats hier 0 Punkte gegeben![Bearbeiten | Quelltext bearbeiten]

Siehe Frage 05.

Wenn man einen Webserver schreibt, der viele Clients möglichst rasch bearbeiten soll, was/warum am besten ist: Single-Threaded, Multi-Threaded, Multi-Prozessor[Bearbeiten | Quelltext bearbeiten]

Multi-threaded webserver with multiprocessors. There should be no blocking of clients and their requests, which is why each client should receive its own thread to interact with the server.

Die Idee der Sockets skizzieren[Bearbeiten | Quelltext bearbeiten]

Sockets provide a communication point at resource through which messages can be sent. This type of communication interface is universal across all systems and therefore masks any differences between the actual networking technology of two different machines. Furthermore, a socket provides a channel (or in Java a stream) to receive data from the socket/communication partner and also send data.

Bei auftretenden Ereignissen sendet ein Türsensor Daten an einen Datenserver. Der Datenserver muss dann die Tür-ID und Gebäude-ID dazu speichern. Welches Naming-Service bietet sich an? LDAP, DHT, DNS?[Bearbeiten | Quelltext bearbeiten]

Lightweight Directory Access Protocol (LDAP)

Den Ablauf von der vorherigen Frage skizzieren.[Bearbeiten | Quelltext bearbeiten]

Ein Write-Quorum war gegeben - genau die Hälfte der Knoten. Warum ist das ein gültiges/ungültiges Quorum? Bei gültig: man musste ein gültiges Read-Quorum angeben, Bei ungültig: warum kann das zu Probleme führen?[Bearbeiten | Quelltext bearbeiten]

Beispiel Skizzieren, wo für logische Uhr von den Ereignissen E und F C(E) < C (F) gilt, aber E nicht vor F auftritt.[Bearbeiten | Quelltext bearbeiten]

Warum kann ein DDoS Angriff auf einen Webserver zu Problemen bei den Nutzern führen?[Bearbeiten | Quelltext bearbeiten]

The server is too busy responding to requests and trying to set up connections that never materialize into actual connections. Since the server is too busy responding to these spam requests, it cannot respond to any (or only a few) legitimate requests. Furthermore, since the spam requests often look just like real traffic it is difficult to identify what is and is not legitimate.

Die 3 Anforderungen einer Hash Funktion angeben[Bearbeiten | Quelltext bearbeiten]

A hash function must be *easy to compute* the hash function for a given message, it is *computationally infeasible to generate a message given the hash function* and it is *collision resistant* meaning that two different messages should always result in different hashes.

Die 3 Typen der Failure Masking by Redundancy angeben[Bearbeiten | Quelltext bearbeiten]

  • Information: Extra bits are added to a message to allow a reconstruction of the message in the event that bits become corrupted during transmission (Hamming code)
  • Time: Sending messages should repeat in the event that a previous attempt failed
  • Permanent: There are backups of data that can be accessed in the event that the primary copy becomes corrupted or lost

Ob Coda die UNIX Semantics unterstützt. Warum/Warum nicht[Bearbeiten | Quelltext bearbeiten]

Nein Code unterstützt Transaction semantics

Die zwei Arten, wie Prozesse in Gruppen organisiert werden können + Vorteile/Nachteile[Bearbeiten | Quelltext bearbeiten]

  • Flat: All processes are equal and the crash of one process does not affect others. Communication and coordination is more complicated, however, as voting among processes is required.
  • Hierarchical: A coordinator exists within the group and handles balancing the work load among members of the group. Unfortunately the coordinator presents a single point of failure.

MC Fragen zu Version Vector von Coda[Bearbeiten | Quelltext bearbeiten]

Frage 19[Bearbeiten | Quelltext bearbeiten]

Frage 20[Bearbeiten | Quelltext bearbeiten]

Quelle[Bearbeiten | Quelltext bearbeiten]

Link zum Forum