Skip to main content
Institute of distributed systems logo Ulm university logo

Fehlertolerante Verteilte Systeme

Summer Semester 2017

   
Title: Fehlertolerante Verteilte Systeme
Type: Vorlesung mit Übung, Modul mit nur dieser Lehrveranstaltung
Token / Number / Module number: FTDS / - / 74239
Semester hours / Credits: 3V+1Ü / 6LP SCH / 3V+1Ü / 6LP CP
Lecturer: Prof. Dr.-Ing. Franz J. Hauck, Dr. Jörg Domaschka
Tutor: David Mödinger, Gerhard Habiger, Eugen Frasch
General schedule: Dienstag, 14.15 Uhr - 15.45 Uhr, O27-2202; Beginn am 18.04.2017 Donnerstag, 12.30 Uhr - 14.00 Uhr, O27-121; Beginn am 20.04.2017
Learning platform: Der Übungsbetrieb wird mit Moodle abgewickelt. Bitte registrieren Sie sich hier mit dem Passwort aus der Vorlesung. Die Vorlesungen werden aufgezeichnet und in Moodle zur Verfügung gestellt.
Grade bonus: Für die erfolgreiche Teilnahme an der Übung gibt es einen Notenbonus von 0,3 bzw. 0,4 auf die mündliche Prüfung. Zur erfolgreichen Teilnahme besteht Präsenzpflicht bei den Übungsveranstaltungen, Abgabepflicht bei den Übungsaufgaben (leere Blätter gelten nicht als Abgabe) sowie die Verpflichtung während des Semesters die eigene Lösung in der Übung vorzustellen.
Exam dates: freie Wahl nach Absprache mit dem Prüfer

Description and general information

Integration of module into courses of studies: Informatik, M.Sc.: Kernfach Technische und Systemnahe Informatik Informatik, M.Sc.: Vertiefungsfach Verteilte Systeme Informatik, Lehramt Staatsexamen: Wahl Medieninformatik, M.Sc.: Kernfach Technische und Systemnahe Informatik Medieninformatik, M.Sc.: Vertiefungsfach Verteilte Systeme Software Engineering, M.Sc.: Kernfach Technische und Systemnahe Informatik Software Engineering, M.Sc.: Vertiefungsfach Verteilte und Eingebettete Systeme
Modes of learning and teaching:
Module authority: Prof. Dr.-Ing. Franz J. Hauck
Lecturer: Prof. Dr.-Ing. Franz J. Hauck, Dr. Jörg Domaschka
Language: Englisch
Turn / Duration: jedes Sommersemester / ein Semester
Requirements (contentual): Grundkenntnisse über Verteilte Systeme z.B. aus dem Modul Grundlagen Verteilter Systeme
Requirements (formal): -
Basis for: Masterarbeit im Bereich fehlertolerante Verteilte Systeme
Learning objectives: Fehlertoleranz ist ein Muss für kritische Systeme, aber auch nützlich für alle verteilten Softwaresysteme. In diesem Modul lernen Studierende mehrere Ansätze Fehler zu maskieren  basierend auf Standard Hardware und Netzwerken durch den Einsatz spezieller verteilter Algorithmen. Studeierende können diese Ansätze beschreiben und erläutern sowie die Unterschiede zwischen ihnen identifizieren, insbesonder auch Vor- und Nachteile. Sie können beurteilen, welcher Ansatz und welche individuelle Konfiguration am besten für ein gegebenes Anwendungsszenario und ein gegebenes Fehlermodel geeignet ist. Studierende verstehen die darunterliegenden Mechanismen, z.B. Einigungsprotokolle, konfliktfreie replizierte Datentypen, Zustandssicherung und Zustandstransfer., auf denen die verschiedenen Ansätze aufbauen, einschließlich ihrer Randbedingungen und Voraussetzungen. Durch die präsentierten Fallbeispiele und praktischen Übungen erkennen Studierende wie diese Mechanismen zu einem lauffähigen fehlertoleranten System kombiniert werden können.
Content: * Terminologie, System- und Fehlermodelle, Randbedingungen, Architekturüberlegungen * Konzepte und Ansätze für Redundanz, Fehlererkennung, Fehlererholung * Zustandssicherung, Event Sourcing: Fallbeispiele, Überlegungen für die Praxis * Replizierte Zustandsmaschinen: Einigung, deterministische Ausführung, deterministisches Scheduling, Fallbeispiele, Überlegungen für die Praxis * Datengetriebene Replikation: k-aus-n Systeme, verteilter gemeinsamer Speicher, transaktionale Systeme, Fallbeispiele, Überlegungen für die Praxis * Master-Slave-Replikation: Fehlererkennung, Aktualisierungstrategien, deterministische Ausführung, Fallbeispiele, Überlegungen für die Praxis * Eventual Consistency: Master-Master-Replikation, CRDT, Fallbeispiele, Überlegungen für die Praxis * Testen, Fehlerinjektion
Literature: * G. Coulouris, J. Dollimore, T. Kindberg, G. Blair: Distributed systems. Concepts and design. 5th ed., Pearson, 2012. * P. Jalote: Fault tolerance in distributed systems. Prentice Hall, 1994. * Various articles provided during the lecture
Grading procedure: mündliche Prüfung; keine Leistungsnachweise; Notenbonus bei erfolgreicher Übungsteilnahme (Modalitäten werden zu Beginn jeweils bekannt gegeben)
Estimation of effort: Präsenzzeit Vorlesung, Übung, Prüfung: 60h (2LP) Selbststudium mit Nachbereitung der Vorlesung, Übungsaufgaben, Prüfungsvorbereitung: 120h (4LP) Summe: 180h (6LP)
Logo: Certificate since 2008 - audit family-friendly university Logo: StudyCheck - top university Logo: StudyCheck - digital readiness Logo: Universities for openness, tolerance and against xenophobia