UnivIS
Informationssystem der Friedrich-Alexander-Universität Erlangen-Nürnberg © Config eG 
FAU Logo
  Sammlung/Stundenplan    Modulbelegung Home  |  Rechtliches  |  Kontakt  |  Hilfe    
Suche:      Semester:   
 
 Darstellung
 
Druckansicht

 
 
Modulbeschreibung (PDF)

 
 
 Außerdem im UnivIS
 
Vorlesungs- und Modulverzeichnis nach Studiengängen

Vorlesungsverzeichnis

 
 
Veranstaltungskalender

Stellenangebote

Möbel-/Rechnerbörse

 
 

Verteilte Systeme - V+EÜ (VS E)7.5 ECTS
(englische Bezeichnung: Distributed Systems - L+EE)

Modulverantwortliche/r: Jürgen Kleinöder
Lehrende: Tobias Distler, Jürgen Kleinöder


Studienfächer/Prüfungsordnungsmodule:

Einfrieren der UnivIS-Modul-Beschreibung: 1.3.2017
Vertiefungsmodul Verteilte Systeme und Betriebssysteme (30510) Vertiefungsmodul Verteilte Systeme und Betriebssysteme (33606) Wahlpflichtmodul aus INF im Schwerpunkt Eingebettete Systeme (36933) Wahlpflichtmodul aus INF im Schwerpunkt Kommunikationsnetze (36934) Wahlpflichtmodul aus INF im Schwerpunkt Realisierung von Informations- und Kommunikationssystemen (36937) Wahlpflichtmodul aus INF im Schwerpunkt Übertragung und Mobilkommunikation (36938) 6 Eingebettete Systeme (41001) 6 Eingebettete Systeme (41363)

Startsemester: SS 2017Dauer: 1 SemesterTurnus: jährlich (SS)
Präsenzzeit: 90 Std.Eigenstudium: 135 Std.Sprache: Deutsch

Lehrveranstaltungen:


Empfohlene Voraussetzungen:

Gute Programmierkenntnisse in Java

Inhalt:

  • Bestandsaufnahme, Beispiele Verteilter Systeme, Problembereiche

Eigenschaften Verteilter Systeme

  • Physikalische/logische Verteiltheit

  • Heterogenität, Nebenläufigkeit, Fehlerverarbeitung

  • Sicherheit, Offenheit, Skalierbarkeit, Transparenz

Architekturen Verteilter Systeme

Interprozesskommunikation und Fernaufrufe

  • Nachrichtenaustausch

  • IPC-Semantiken und -varianten

  • Fernaufrufe – Kommunikation und Semantikaspekte

  • Fernaufrufe – Parameterübergabe, Nachrichtenerstellung, Realisierungsaspekte

Verteilte Anwendungen und Middleware

Fehlertoleranz in Verteilten Systemen: Beispiel: FT-CORBA

  • Middleware und Replikationskonzepte

Multicast-Kommunikation

Zeit in Verteilten Systemen

  • Logische Uhren

  • Uhrensynchronisation

Verteilte Algorithmen

  • Synchronisation und gegenseitiger Ausschluss

  • Wahlverfahren

Inhalt der Übungen:
Fernaufrufsystem

  • Implementierung eines Java-RMI-ähnlichen Systems

(RMI als Anwender ausprobieren, Serialisierung in Java Threads und Synchronisierung in Java, (Dynamische) Generierung von Proxies, Rückruf/Callback, RPC-Semantiken, Replikation)

Lesen und Begutachten von Fachliteratur

Verteilte Algorithmen

  • Basisabstraktionen für verteilte Algorithmen

  • Implementierung einfacher verteilter Algorithmen

Lernziele und Kompetenzen:

Studierende, die das Modul erfolgreich abgeschlossen haben:

  • definieren charakteristische Merkmale und Eigenschaften eines verteilten Systems.

  • beschreiben grundlegende Probleme im Zusammenhang mit der Realisierung verteilter Systeme.

  • vergleichen unterschiedliche von verteilten Systemen bereitgestellte Transparenzeigenschaften.

  • stellen verschiedene Architekturelemente und -muster verteilter Systeme gegenüber.

  • erklären diverse Eigenschaften von Netzwerken und ihre Konsequenzen für die Entwicklung verteilter Systeme.

  • skizzieren unterschiedliche Methoden zur Abwicklung von Interprozesskommunikation sowie ihre Verwendung zur Realisierung von Fernaufrufen.

  • untersuchen die Unterschiede zwischen lokalen Methodenaufrufen und Fernmethodenaufrufen.

  • fassen die Grundlagen von Systemen mit verteiltem gemeinsamen Speicher zusammen.

  • vergleichen Ansätze zur Konvertierung von Nachrichten zwischen verschiedenen Datenrepräsenationen (XDR, sendeseitig, empfangsseitig).

  • beschreiben Methoden zur Behandlung verwaister Fernaufrufe.

  • konzipieren eine eigene auf Java RMI basierende Anwendung.

    • entwickeln ein eigenes Fernaufrufsystem nach dem Vorbild von Java RMI.

  • bewerten die Serialisierungsroutinen von Java RMI.

  • erproben die manuelle Serialisierung von Nachrichten.

  • bewerten die Performanz des eigenen Fernaufrufsystems im Vergleich zu Java RMI.

  • gestalten ein Modul zur Unterstützung verschiedener Fernaufrufsemantiken (Maybe, Last-of-Many, At-Most-Once) für das eigene Fernaufrufsystem.

  • beurteilen auf Basis eigener Experimente mit Fehlerinjektionen die Auswirkungen von Störeinflüssen auf verschiedene Fernaufrufsemantiken.

  • erläutern Aufbau und Funktionsweise von Middleware-Systemen am Beispiel CORBA.

  • klassifizieren Mechanismen zur Bereitstellung von Fehlertoleranz, insbesondere verschiedene Arten der Replikation (aktiv vs. passiv).

  • erklären die Realisierung diverser Fehlertoleranzmechanismen am Beispiel FT-CORBA.

  • entwickeln ein eigene aktiv replizierte Anwendung zur Erforschung der mit dieser Replikationsart verbundenen Problemstellungen (z.B. Determinismus).

  • konzipieren einen Zustandstransfermechanismus für die eigene replizierte Anwendung, mit dessen Hilfe der Neustart von Replikaten toleriert werden kann.

  • illustrieren das Problem einer fehlenden gemeinsamen Zeitbasis in verteilten Systemen.

  • erforschen logische Uhren als Mittel zur Reihenfolgebestimmung.

  • vergleichen Methoden zur Synchronisation physikalischer Uhren (CNV, NTP).

  • unterscheiden grundlegende Zustellungs- und Ordnungsgarantien beim Multicast von Nachrichten.

  • gestalten und optimieren ein Protokoll für den zuverlässigen und totalgeordneten Versand von Nachrichten in einer Gruppe von Knoten.

  • vergleichen Algorithmen zur Wahl eines Anführers auf verschiedenen Netzwerktopologien (Ring, Baum).

  • bewerten diverse verteilte Algorithmen zur Realisierung gegenseitigen Ausschlusses (z.B. zentraler Koordinator, Maekawa).

  • entwickeln einen Dienst zur Verwaltung verteilter Sperrobjekte auf Basis von Lamport-Locks.

  • bewerten die Qualität einer aktuellen Publikation aus der Fachliteratur.

  • erschließen sich typische Probleme (Nebenläufigkeit, Konsistenz) und Fehlerquellen bei der Programmierung verteilter Anwendungen.

  • können in Kleingruppen kooperativ arbeiten.

  • können ihre Entwurfs- und Implementierungsentscheidungen kompakt präsentieren und argumentativ vertreten.

  • reflektieren ihre Entscheidungen kritisch und leiten Alternativen ab.

  • können offen und konstruktiv mit Schwachpunkten und Irrwegen umgehen.

Literatur:

  • George Coulouris, Jean Dollimore, Tim Kindberg, and Gordon Blair. Distributed Systems: Concepts and Design. Addison Weslie, fifth edition, 2011.
  • Andrew S. Tanenbaum and Maarten van Steen. Distributed Systems: Principles and Paradigms (2Nd Edition). Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 2006.


Studien-/Prüfungsleistungen:

Verteilte Systeme (Vorlesung mit erweiterten Übungen) (Prüfungsnummer: 743260)

(englischer Titel: Distributed Systems (Lecture with Extended Exercises))

zugeh. "mein campus"-Prüfung: 
  • 37152 Verteilte Systeme und Betriebssysteme (7,5 ECTS) (Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
  • 38152 Verteilte Systeme und Betriebssysteme (7,5 ECTS) (Informatik (Master of Science) 2010, Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
  • 17028 Wahlpflichtmodul aus INF, 7,5 ECTS (Informations- und Kommunikationstechnik (Master of Science) 2010, Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
  • 17128 Wahlpflichtmodul aus INF, 7,5 ECTS (Informations- und Kommunikationstechnik (Master of Science) 2010, Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
  • 17328 Wahlpflichtmodul aus INF, 7,5 ECTS (Informations- und Kommunikationstechnik (Master of Science) 2010, Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
  • 17428 Wahlpflichtmodul aus INF, 7,5 ECTS (Informations- und Kommunikationstechnik (Master of Science) 2010, Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
  • 49853 Vertiefungsrichtung Eingebettete Systeme (7,5 ECTS) (Mechatronik (Bachelor of Science) 2009, Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
  • 49853 Vertiefungsrichtung Eingebettete Systeme (7,5 ECTS) (Mechatronik (Master of Science) 2012, Prüfung, Form: mehrteilige Prüfung, Zehntelnoten, Dauer: -, 7.5 ECTS, Platzhalter).
Prüfungsleistung, mehrteilige Prüfung, benotet, 7.5 ECTS
Anteil an der Berechnung der Modulnote: 100.0 %
weitere Erläuterungen:
Erfolgreiche Bearbeitung aller sechs Übungsaufgaben zu den erweiterten Übungen (Bewertung jeweils mit "ausreichend") und 30-minütige mündliche Prüfung.
Die Modulnote egibt sich zu 100 % aus der Bewertung der mündlichen Prüfung.

Erstablegung: SS 2017, 1. Wdh.: WS 2017/2018
1. Prüfer: Tobias Distler (100377)

UnivIS ist ein Produkt der Config eG, Buckenhof