Titel: Ausgewählte Themen Verteilter Systeme
Englischer Titel: Selected Topics in Distributed Systems
Typ: Seminar, Modul
Nummer / Kürzel: CS5900.113 / ATVS
SWS / LP: 2S / 4LP
Dozent: Prof. Dr. Frank Kargl, Prof. Dr.-Ing. Franz J. Hauck
Betreuer: Steffen Kächele, Stefan Dietzel, Benjamin Erb, Stephan Kleber, Vladimir Nikolov, Sven Schober, Christian Spann, Rens van der Heijden
Termine: Montag, 12.30 Uhr - 14.00 Uhr, O27-341; Beginn am 15.10.2012
Vorbesprechung: Unverbindliche Vorbesprechung am Montag, 15.10.2012, 12.30 Uhr im Raum O27-341. Themenzuordnung erfolgt während der Vorbesprechung oder vorab per E-Mail an den Betreuer.
Lernplattform: Die Veranstaltung wird mit Hilfe des E-Learningsystems ILIAS durchgeführt. Bitte melden Sie sich dort an.

Themen

Protokoll-Analyse SPDY, Microsoft S+M, waka, WebSockets – Mechanismen für HTTP/2.0
(vergeben)
Betreuer: Benjamin Erb

Derzeit arbeitet eine Working Group des IETFs an einer neuen Version des HTTP-Protokolls. Hierbei sollen diverse Probleme des HTTP/1.1 Protokolls aufgeriffen, und das Protokoll zukunftsfähig gemacht werden. Mit SPDY (Google), Speed+Mobility (Microsoft), WebSockets und waka existieren bereits ergänzenden Protokolle zu HTTP/1.1. Vermutlich werden viele Konzepte dieser Protokolle als Grundlage für HTTP/2.0 dienen. Ziel dieser Seminararbeit ist eine kurze Analyse der Probleme in HTTP/1.1, die Vorstellung der neueren Protokolle und die Identifikation und Erläuterung ihrer Konzepte mit Hinblick auf HTTP/2.0.

Verteiltes Entwickeln und Testen mit Vagrant/Puppet
(vergeben)
Betreuer: Benjamin Erb

Die Implementierung verteilter Anwendungen erfordert reproduzierbare und versionierbare Testumgebungen und virtualisierte Maschinen. Hierfür stehen mit Vagrant und Puppet zwei mächtige Ruby-basierte Tools zur Verfügung. Im Rahmen der Seminararbeit soll das verteilte Entwickeln und Testen auf Grundlage von Vagrant/Puppet erklärt und beschrieben werden.

State-of-the-Art der Netzwerktomografie

Betreuer: Sven Schober

Das Internet stellt mit IP einen transparenten Paketzustelldienst zur Verfügung. Absender- und Zieladdresse genügen, um ein Paket seinem Empfänger zuzustellen. Dabei bleibt die Struktur des Netzwerkes verborgen. Für einige Anwendungen kann es jedoch nützlich sein eben diese zu kennen, um z.B. gemeinsame Pfade als potentielle Flaschenhälse zu identifizieren. Das Gebiet der Netzwerktomografie und sein bekanntester Stellvertreter traceroute, befasst sich damit diese Struktur wieder sichtbar zu machen. Dies ist jedoch mit einigen Herausforderungen verbunden, welche in der Literatur bereits angegangen wurden. Der aktuelle Stand der Kunst soll in diesem Thema präsentiert werden.

Securing Implantable Medical Devices (IMDs)
Betreuer: Stephan Kleber

IMDs wie Herzschrittmacher oder Insulinpumpen sind mit der Fähigkeit ausgestattet, drahtlos kommunizieren zu können. Dies wirft Fragen in Bezug auf Sicherheit und Privatsphäre bei der Verwendung solcher Geräte auf. Es liegt eine Bachelorarbeit vor, die eine gute Übersicht über bestehende Literatur zu diesem Thema gibt. Dort werden Ansätze vorgestellt, die diese Probleme lösen könnten. Im Rahmen dieses Thema soll hieraus anhand vorgegebener Kriterien eine strukturierte Bewertung und Abgrenzung dieser Strategien entstehen.

Mifare Sicherheit
(vergeben)
Betreuer: Stefan Dietzel

Das RFID-Technologie einsetzende Mifare System ist weit verbreitet für Zugriffskontrolle, Mitgliedsausweise, Fahrkarten und elektronische Geldbörsen. Inzwischen gelten die von Mifare eingesetzten kryptografischen Protokolle als komplett gebrochen. Diee Arbeit soll einen Überblick über die historische Entwicklung der Angriffe geben mit Schwerpunkt auf bekannten Anwendungen die Mifare einsetzen. Zusätzlich kann ein Ausblick auf mögliche verbesserte Systeme gegeben werden.
Network Coding
Betreuer: Stefan Dietzel
Traditionelle Routing-Protokolle für das Internet leiten Daten unverändert durch das Netzwerk weiter. Hiermit lässt sich zwar eine gute Auslastung der Verfügbaren Leitungskapazitäten erreichen, aber nicht immer die optimale. Der Forschungsbereich Network Coding umfasst eine Reihe von Protokollen und theoretischen Aussagen, die den Datendurchsatz bis zum theoretischen Maximum erhöhen können. Ziel der Arbeit ist es, Network Coding einzuführen und gängige Protokolle vorzustellen.
Angriffe auf Anonymisierungsnetze
(vergeben)

Betreuer: Rens van der Heijden
 

In den letzen 10 Jahren ist Anonymität im Internet immer wichtiger geworden. Um Anonymität zu erreichen, wurden verschiedene Anonymisierungsnetze entwickelt, unter anderem The Onion Router (TOR). TOR zielt ab auf plausible deniability, denn komplette Anonymität ist nicht skalierbar möglich. Ziel dieser Arbeit ist eine Bewertung von Sicherheit in TOR; es ist möglich ein detaillierte Analyse von einigen Angriffen zu machen, oder ein Klassifizierung von bekannten Angriffen.

Angriffen auf Data-consistenz Mechanismen im Fahrzeugnetzen

Betreuer: Rens van der Heijden

Fahrzeugnetze sind eine Anwendung verteilter Systeme, bei den wireless transmitters im Fahrzeugen verbaut werden. Weil kommende Anwendungen für diese Netze mit Verkehrssicherheit zu tun haben, planen Forscher zukünftlige Anwendungen wie eine Verbesserung der Verkehrsleistungsfähigkeit. Sicherheit und Richtigkeit der Daten ist hier ganz wichtig; ein vielversprechender Ansatz ist Datenkonsistenz. Ziel dieser Arbeit ist die Entwicklung eines Frameworks für die Auswertung von Datenkonsistenz-Mechanismen. Diese Arbeit ist nur im Seminar Forschungstrends in Verteilte Systemen wählbar.

Privacy-aware Access Control in der Praxis

Betreuer: Rens van der Heijden

In großen Anwendungssystemem stellen persönliche und private Daten ein Sicherheitsrisiko dar. Selbst bei guter Absicherung können die Daten immer noch gewonnnen werden, unter anderem mit Techniken wie social engineering, oder durch ein (Insider)Angriffe. Um diesen möglichen Sicherheitslücken zu schließen, ist die Idee von Privacy-aware Access Control, mit XML-basierten Sprachen wie EPAL von IBM und XACML von OASIS Zugang zu solchen Daten zu regeln. Ziel dieser Arbeit ist es, den praktischen Nutzen dieser Mechanismen festzustellen

Angriffe auf Cloud Systeme (vergeben)

Betreuer: Steffen Kächele

Cloud Computing Plattformen haben sich in den letzten Jahren stark verbreitet. Dadurch wandern zunehmend kritische und senible Anwendungen und Daten in gemeinsam genutzte Serverfarmen. In diesem Seminar sollen ausgehend von den Techniken, welche im Cloud Computing Umfeld eingesetzt werden (Hardware Virtualisierung, Netzwerkvirtualisierung, gemeinsam genutzte Applicationcontainer, etc.) bekannte Angriffsszenarien aus der Literatur aufgearbeitet und auf das Cloud Computing Gebiet übertragen werden.

OSGi für Cloud Anwendungen

Betreuer: Steffen Kächele

OSGi unterstützt Entwickler dabei, Java Anwendungen modular aufzubauen. OSGi Anwendungen sind hoch flexibel. So kann die Funktionalität von Anwendungen zur Laufzeit dynamisch angepasst werden, indem Softwaremodule dynamisch nachgeladen oder entfernt werden. Im Rahmen dieser Seminararbeit soll ein kurzer Einstieg in OSGi gegeben werden. Hierbei soll insbesondere auf die Enterprise OSGi Standards Subsystems, Bundle Repository und Remote Service Admin eingegangen werden.

Simulation und Testen verteilter Anwendungen
Betreuer: Christian Spann

Die Erforschung und Entwicklung verteilter Anwendungen stellt eine Vielzahl komplexer Herausforderungen an uns Informatiker. Für die Fehlersuche und parametrisierung muss ein solches System deshalb lokal und verteilt ausgiebig getestet werden. In diesem Seminar soll eine Recherche vorhandener Techniken und Anwendungen, welche diesen Prozess unterstützen durchegführt und die Resultate vorgestellt werden.

Effiziente Programmiersprachen für verteilte Algorithmen
Betreuer: Christian Spann

Verteilte Algorithmen zeichnen sich häufig durch wiederkehrenden Nachrichtenverkehr zwischen verschiedenen Knoten und die verteilte nebenläufige Behandlung dieser Nachrichten aus. In klassischen imperativen Programiersprachen wie Java ist die Implementierung solcher Dienste meist nicht sehr elegant. Ziel des Seminars ist die Untersuchung Recherche von Design Patterns und alternativen Programmiermodellen für verteilte Algorithmen. 

Vergleich von Real-Time Server Mechanismen

Betreuer: Vladimir Nikolov

Server-Mechanismen werden üblicherweise zur Handhabung aperiodischer oder sporadischer Aktivitäten in Echtzeitsystemen eingesetzt. Einerseits sorgen diese für Isolation von den übrigen periodischen Tasks. Andererseits ermöglichen sie eine Beschränkung des Ressourcenverbrauchs von Tasks oder ganzer Applikationen. Bei diesem Thema soll eine Gegenüberstellung bereits existierender Server-Techniken, wie z.B. Polling-, Sporadic-, Deferrable-, Total Bandwidth- und Constant Bandwidth-Server, ausgearbeitet und vorgestellt werden.

Unzulänglichkeiten in der RTSJ-Spezifikation

Betreuer: Vladimir Nikolov

Die RTSJ-Spezifikation (JSR-1) beschreibt notwendige Erweiterungen einer Standard Java Virtual Machine (JVM), um die Ausführung von Programmen mit Echtzeitgarantien zu ermöglichen.  Diese Erweiterungen führen unter Anderem neuartige Speicherbereiche, Echtzeit-Threads, spezielle Locks und Scheduler-Abstraktionen innerhalb JVMs ein. Allerdings wurden in der Echtzeitliteratur Unzulänglichkeiten in den spezifizierten Gegenständen kommentiert, gerade im Bereich des Schedulings und der RTSJ Processing Groups. Diese verhindern z.B. Implementierungen von benutzerdefinierten Scheduling- und Server-Mechanismen.  Bei diesem Seminarthema sollen diese Defizite und ihre Auswirkungen zusammengefasst und vorgestellt werden.

Beschreibung und allgemeine Angaben, Modulbeschreibung

Einordnung in die Studiengänge: Informatik, BSc.: Seminar
Medieninformatik, BSc.: Seminar
Software-Engineering, BSc.: Seminar
Informatik, Dipl.: Hauptseminar
Medieninformatik, Dipl.: Hauptseminar
(siehe auch unsere Hinweise zu Seminaren)
Lehr- und Lernformen: Ausgewählte Themen Verteilter Systeme, 2S, 4LP
Verantwortlich: Prof. Dr. Frank Kargl
Unterrichtssprache: Deutsch
Turnus / Dauer: jedes Semester / ein volles Semester
Vorraussetzungen (inhaltlich): Grundlagen der Rechnernetze, Proseminar
Vorraussetzungen (formal): -
Grundlage für (inhaltlich): -
Lernergebnisse: Studierende vertiefen exemplarisch an einem Teilgebiet der Informatik ihre Kenntnisse im selbstständigen Arbeiten mit wissenschaftlicher Literatur sowie im mündlichen und schriftlichen Präsentieren von fachwissenschaftlichen Inhalten. In Diskussionen wird die Fähigkeit zur kritischen Reflektion geübt. Im fachlichen Teil des Seminars stehen aktuelle Themen der Verteilten Systeme im Fokus. Abhängig vom Thema lernen Studierende ein konkretes System oder ein Konzept Verteilter Systeme kennen. Sie können diese Systeme in einen größeren Kontext einordnen und deren Vor- und Nachteile selbständig ableiten.
Inhalt: Zu Beginn des Seminars werden Themen des wissenschaftlichen Arbeitens (z.B. Literaturrecherche, Schreiben einer Publikation, Präsentationstechniken) eingeführt, um den Studenten eine methodische Hilfestellung zu geben. Die Erstellung der eigentlichen Ausarbeitung und Präsentation erfolgt in individueller Betreuung. Die Ergebnisse werden in einer Abschlusspräsentation vorgestellt.
Literatur: Wird je nach Thema zu Beginn der Veranstaltung bekannt gegeben.
Bewertungsmethode: Leistungsnachweis über erfolgreiche Teilnahme. Diese umfasst Anwesenheit und enthält Ausarbeitung, Vortrag und Mitarbeit.
Notenbildung: unbenotet
Arbeitsaufwand: Präsenzzeit: 40 h
Vor- und Nachbereitung: 80 h
Summe: 120 h