Hauptseminar Multimedia- und Internetsysteme

 
Titel: Multimedia- und Internetsysteme
Englischer Titel: Multimedia and Internet Systems
Typ: Hauptseminar
Kürzel / Nr.: MIT / CS5900.082
SWS / LP: 2S / 4 LP
Dozent:  Prof. Dr.-Ing. Franz J. Hauck
Betreuer: Steffen Kächele, Christian Spann
Termine: Donnerstag, 10.15 Uhr – 11.45 Uhr, O27-341
Vorbesprechung: Vorstellung und Vergabe der Themen am Donnerstag, 17.10.2013, 10.15 Uhr - 11.45 Uhr, O27-341
Lernplattform: Die Seminarplätze werden per ILIAS vergeben. Bitte melden Sie sich dazu im ILIAS-Kurs an.
Themenvergabe: Die Themenvergabe erfolgt während der Vorbesprechung nach Anmeldereihenfolge im ILIAS-Kurs. Alternativ können Themen vorab in Absprache mit dem jeweiligen Betreuer vergeben werden, wir empfehlen aber die Vorbesprechung abzuwarten, um einen besseren Überblick über die Themen zu erhalten.

Themen

 

in.Crease: GUI-Komponenten für ein elektronisches Modulhandbuch

Betreuer: Franz J. Hauck

Projektanteil: Für ein elektronisches Modulhandbuch und Vorlesungsverzeichnis soll eine erste Version für eine Benutzerführung weiterentwickelt werden. Dazu gehören der Entwurf der Benutzeroberfläche, der Navigation und Benutzerführung für Betrachtungs- und Editorfunktionen. Gemäß dem MVC-Muster soll vor allem View und Controller für einen abgegrenzten Aufgabenbereich erstellt werden. Ein lauffähiger Prototyp soll nach einer Konzeptphase mit JavaEE (genauer JSF und Servlets) entwickelt werden. Ideale Voraussetzung sind Studium der Medieninformatik und Kenntnise von JSF bzw. AvID Stoff.
Seminaranteil: Im vorangehenden oder parallel zu besuchenden Seminar sind die Besonderheiten von JSF herauszuarbeiten. Neben den grundsätzlichen Fähigkeiten sind vor allem der mögliche Einsatz von Validatoren und Templates im Zusammenhang mit dem Projektanteil darzustellen.

in.Crease: Datenmodellierung für ein elektronisches Modulhandbuch

Betreuer: Franz J. Hauck

Projektanteil: Für ein ein elektronisches Modulhandbuch und Vorlesungsverzeichnis soll eine effiziente Datenmodellierung durchgeführt werden. Die Modellierung soll mittels JavaEE (genauer EJB und JPA, Java Persistence API erfolgen). Die notwendigen Entitäten und Attribute müssen auf ein geeignetes relationales Schema umgesetzt werden. Dabei ist die Herausforderung, dass alle Datenänderungen einzeln persistiert werden müssen, um Änderungen nachträglich nach zu verfolgen. Hierzu sollen verschiedene Schemata erstellt und deren Abfrageeffizienz bei großen Datenmengen evaluiert werden. Ideale Voraussetzung sind Kenntnisse von JPA bzw. AvID Stoff.
Seminaranteil: Im vorangehenden oder parallel zu besuchenden Seminar sind die Besonderheiten von JPA herauszuarbeiten. Neben der grundsätzlichen Funktion sind vor allem die Besonderheiten des objektrelationalen Mappings von JPA im Zusammenhang mit dem Projektanteil darzustellen.

Orchestrierte Topologieerfassung

Betreuer: Sven Schober

Wissen über die Netzwerktopologie kann Helfen die Quality-of-Service verteilter Multimedia-Anwendungen zu verbessern. So können z.B.  Cluster innerhalb der Teilnehmer von Videokonferenzen erkannt werden und gezielt Proxy-Server platziert werden, die die Netzwerklast verringern.  Ein bekanntes Werkzeug zur Topologieerfassung ist traceroute, welches die einzelnen "Hops" einer Internet-Route von Quell- zu Zielhost sichtbar machen kann. Um ein umfassendes Bild der Topologie zwischen mehreren Teilnehmern zu erhalten müssen jedoch einige Herausforderungen angegangen werden: Zum einen existiert mit Load-Balancern eine starke Quelle von Ungenauigkeiten, zum anderen sind die Routen der Hin- und Rückrichtung im Allgemeinen nicht identisch und selbst wenn ist dies nicht immer ohne weiteres Erkennbar.  Am Lehrstuhl für Verteilte Systeme entstand u.a. bereits eine Traceroute- Implementierung, welche es erlaubt aus Java heraus Traces zu starten und umfassenden Einfluss auf die versendeten Pakete zunehmen.  In diesem Thema soll der Stand der Technik bei der Topologieerkennung aufgearbeitet (Seminaranteil) werden und aufbauend auf den existierenden Vorarbeiten eine Implementierung angefertigt (Projektanteil) werden.

Kombinierte Bandbreiten- und Topologieerfassung

Betreuer: Sven Schober

Verteilte Anwendungen können von Wissen über Bandbreite und Topoligie des Netzwerks zwischen Hosts profitieren. So können z.B.  Proxy-Server an "günstigen" Stellen platziert werden, um Flaschenhälse weniger zu belasten.  Bisher gibt es für beide Einsatzfälle separate Werkzeuge, für Topologieerkennung z.B. traceroute, für Bandbreitenmessung z.B.  tcpperf. Gerade letztere Kategorie belastet den Netzwerkpfad zwischen Quell- und Zielhost jedoch stark, weshalb in der Forschung einige Ansätze entwickelt wurden die Belastung zu reduzieren.  Weiterhin messen die vorhandenen Ansätze meist nur die Ende-zu-Ende-Bandbreite, Informationen darüber, wo der Flaschenhals entlang des Pfades liegt bleibt verborgen.  Am Lehrstuhl für Verteilte Systeme entstand ein Werkzeug mit dem aus Java heraus Pakete versendet werden können, auf deren Aufbau umfassend Einfluß genommen werden kann. So kann damit z.B.  traceroute sehr einfach implementiert werden, aber auch die erwähnten modernen Bandbreitenmesstechniken.  Ziel dieses Themas soll die Aufarbeitung der Literatur (Seminaranteil) und die Erarbeitung eines Ansatzes zur kombinierten Toplogie-, Latenz- und Bandbreitenmessung entlang eines Pfades sein, sowie eine Implementierung aufbauend auf den vorhandenen Vorarbeiten (Projektanteil).

Effizientes Checkpointing in Byzantinisch Fehlertoleranten Bibliotheken

Betreuer: Christian Spann

Verteilte Anwendungen sehen sich in der Realität mit verschiedenen Ausfall- bzw. Angriffsszenarien konfrontiert. Der Rechner auf dem die Anwendung ausgeführt wird kann ausfallen oder von Hackern übernommen werden. Byzantinisch Fehlertoleranten Systeme versuchen dies durch eine Replikation der Anwendung auf mehrere Rechner zu verhindern. Dabei ist die Logik für eine solche Verteilung unter anderem darauf angewiesen, periodisch den Zustand der Anwendung zum gleichen logischen Zeitpunkt auf allen Replikaten zu sichern. Denn erst nach dieser Sicherung kann die Anfragehistorie der Anwendung gelöscht werden. Die Notwendigkeit dieser Historie ergibt sich aus der durchzuführenden Fehlererholung beim Ausfall bzw. einer übernahme eines Replikats. 
Projektanteil: Design und Implementierung eines Moduls zur verteilten Erstellung und Verifikation von Zustandsschnappschüssen.
Seminaranteil: Untersuchung verschiedener Ansätze zur Erstellung solcher Schnappschüsse und Identifikation der notwendigen Komponenten und Methoden.

Beschreibung und allgemeine Angaben

Einordnung in die Studiengänge:Informatik, M.Sc.: Projekt, Modul Middlewaresystem-Entwicklung
Medieninformatik, M.Sc.: Projekt, Modul Middlewaresystem-Entwicklung
Informationssystemtechnik, M.Sc.: Wahlpflicht Informatik, Projekt, Modul Middlewaresystem-Entwicklung
(siehe auch unter Hinweise zu Seminaren)
Verwantwortlich:Prof. Dr.-Ing. Franz J. Hauck
Unterrichtssprache:Deutsch, Ausarbeitung und Präsentation wahlweise in Deutsch oder Englisch
Turnus / Dauer:jedes Semester / ein volles Semester
Vorraussetzungen (inhaltlich):-
Vorraussetzungen (formal):-
Grundlage für (inhaltlich):Multimedia- und Internetsysteme im Eigenbau
Lernergebnisse:In dem Seminar wird zum einen das selbständige wissenschaftliche Aufarbeiten eines begrenzten Stoffgebiets geübt. Zum anderen bereitet das Stoffgebiet auf eine Projektarbeit vor. Studierende erschließen das definierte Stoffgebiet selbständig durch Suche nach geeignetem Informationsmaterial. Sie extrahieren die wichtigen Informationen und entscheiden über eine geeignete Darstellung in einer Ausarbeitung sowie in einer Vortragspräsentation. Sie analysieren darüber hinaus das Material auf Eignung für das Projektthema und geben eigene Urteile über die Zusammenhänge zwischen Stoff und geplantem Projektthema ab. In der Diskussion nach dem Vortrag verteidigen die Studierenden ihre Position gegenüber Prüfern, Betreuern und anderen Seminarteilnehmern.
Inhalt:Die Inhalte der Seminarthemen sind abhängig von den angebotenen Themen (siehe dort). Gemeinsam ist allen Themen, dass sie im Bereich der Verteilten Systeme angesiedelt sind. Insbesondere werden immer wieder Systeme betrachtet, bei denen Anwendungen unterstützt werden bei ausgewählten Problemstellungen. Diese Unterstützung wird typischerweise als Systemfunktion bereitgestellt, die sich nicht innerhalb traditioneller Betriebssysteme sondern außerhalb in so genannten Middlewaresystemen implementiert ist. Typische Themengebiete sind Unterstützung für weiche Echtzeiteigenschaften, fehlertolerante Systeme, multimediale Kommunikationssysteme oder skalierbare Internetdienste.
Notenbildung:Die Note wird auf Anwesenheit, Vortrag, Ausarbeitung und Diskussionsbereitschaft erteilt.
Arbeitsaufwand:Präsenzzeit: 30 h
Vor- und Nachbereitung: 90 h
Summe: 120 h