Middleware-Technologien

Praktikum im Hauptstudium / SS 2009 / CS 7000

Angaben

Dozent
Prof. Dr. Franz J. Hauck
Betreuer
Jörg Domaschka, Jan-Patrick Elsholz, Vladimir Nikolov, Holger Schmidt, Christian Spann, Sven Schober
Termine
Vorbesprechung am Montag, den 27.04.2009, von 14.15 bis 15.45 Uhr im Raum O27/121
Ilias
Die ganze Veranstaltung wird im Ilias Learning Management System der Universität Ulm abgebildet. Hier gehts zum Praktikum in Ilias.
SWS
3
Leistungspunkte
12
Zuordnung
Ma. Inf. (PO 2007): Projektmodul Middleware
Ma. Medieninf.: Projektmodul Middleware

Themengebiete

Integration von NMM in OSGi

Die Network-Integrated Multimedia Middleware (NMM) aus Saarbrücken soll mittels JNI in das Komponentenframework OSGi integriert werden.

Sessionmanagement mit H.323 für Instant-X

Im Rahmen des Instant-X Projekts soll ein Middleware-Bundle implementiert werden, dass das Sitzungsprotokoll H.323 implementiert.

Java RTSP Server

Es soll ein RFC konformer RTSP Server mit Hilfe des JMF programmiert werden, der in dem Komponentenframework OSGi läuft.

Java SIP Proxy

Es soll ein RFC konformer SIP Proxy mit Hilfe von JAIN SIP programmiert werden, der in dem Komponentenframework OSGi läuft.

Semantic Mashup

Es soll ein Protoyp zur Orchestrierung von Webseiten via HTTP erstellt werden. Konkret soll ein lesender Zugriff auf das LSF und das HIS stattfinden, um die Modulabhängigkeiten darstellen zu können.

OSGi meets RTSJ

Hier sollen Potentiale untersucht werden, eine bestehende OSGi Implementierung mittels RTSJ (möglichst) echtzeitfähig zu machen. Ideen sollen mittels RTSJ unter Linux implementiert und die somit erreichte Vorhersagbarkeit bestimmter Prozesse im OSGi Framework evaluiert werden.

JUnit Tests für Gruppenkommunikationsalgorithmen

Die Literatur kennt eine Vielzahl unterschiedlicher Gruppenkommunikationsalgorithmen. Diese besitzen eine relativ einfache API (send, receive), haben aber ein komplexes internes Verhalten. Vor allem die Logik um Ausfälle einzelner Mitglieder zu erkennen und zu verarbeiten ist oft schwer zu implementieren. Ziel des Praktikums ist es eine Kommunikationsschicht zu implementieren mit deren Hilfe Ausfälle und Netzwerkpartitionen simuliert werden können. Darauf aufbauend sollen JUnit Tests geschrieben werden, die es erlauben die Eigenschaften (z.B. kann atomic multicast, kommt mit Netzwerkpartitionen zurecht, ...) bestimmter Algorithmen bzw. deren Implementierung zu testen.

Virtual Nodes auf PlanetLab

Virtual Nodes sind eine fehlertoleranz Software, die im Zuge des XtreemOS Projekts entwickelt wird. Dabei wird ein Service durch mehrfache Ausführung (Replikation) fehlertolerant. Ziel des Praktikums ist es zunächst die Software um einen Mechanismus zu erweitern, der erkennt, sobald die Anzahl der Replikate unter einen gewissen Grenzwert (threshold) fällt und darauf reagiert indem neue Replikate gestartet werden. Anschließend soll eine einfache Beispielanwendung auf PlanetLab zum Laufen gebracht werden. Schließlich soll der aktuelle Zustand des Systems (Anzahl und Orte der Replikate) über eine Webseite einsehbar gemacht werden.

Verteiltes deterministisches Scheduling

Die Virtual Nodes Software setzt verteiltes Scheduling ein, um die nebenläufige Ausführung von Anfragen zu ermöglichen. Aufgabe in diesem Praktikum ist es, ein Testframework zu erstellen, mit dem die in Java implementierten Algorithmen lokal und verteilt auf Performance getestet werden können. Es soll dabei möglich sein, Tests mit konstruierten Anfragen als auch die Evaluation der Scheduler mit realer Software in Virtual Nodes durchzuführen.

Paxos Gruppenkommunikation für Virtual Nodes

Die Virtual Nodes Software benötigt für verschiedene Teilmodule einen uniformen Broadcastmechanismus für Nachrichten zwischen den teilnehmenden Knoten. Momentan wird dafür JGroups eingsetzt. Dieses Framework sichert allerdings nicht in vollem Umfang den benötigten Broadcastmechanismus zur Verfügung. In einem früheren Projekt ist bereits selbst eine Gruppenkommunikation entwickelt worden, die nun für Virtual Nodes überarbeitet und angepasst werden soll. Ziel ist es zunächst, den Paxos Algorithmus in Virtual Nodes zur Verfügung zu stellen.