Institut für Verteilte Systeme
- 1:
Projekte. - 2:
Publikationen. - 3:
Lehre. - 4:
Personen. - 5:
Intranet.
Weitere Themen
Praktikum Multimedia- und Internetsysteme
Praktikum / WS 2009/2010 / CS 5850
Angaben
- Nummer/Titel
- CS 5850 / Praktikum Multimedia- und Internetsysteme, PMIT / Multimedia and Internet Systems (Project)
- Dozent
- Prof. Dr. Franz Hauck
- Betreuer
- Holger Schmidt, Jörg Domaschka, Jan-Patrick-Elsholz, Vladimir Nikolov, Christian Spann, Sven Schober
- SWS/Leistungspunkte
- 4P, 8 LP
- Termine
- noch nicht bekannt
- Anmeldung
- Es hängen Teilnehmerlisten im Institut für Verteilte Systeme aus. Zum verbindlichen Anmelden bitte eintragen. Die Themenzuordnung erfolgt in der Reihenfolge der Anmeldung. Anmeldung ist auch in der Vorbesprechung der Themen möglich. Die Vorbesprechung findet statt am
Montag, 19.10.2009 um 14.15 Uhr im Raum O27-2203 - Zuordnung
- Dipl. Inf.: Praktikum
Dipl. Medieninf.: Praktikum
Ba. Inf. (PO 2001): Praktikum
Ma. Inf. (PO 2001): Praktikum
Ma. Inf.Sys.Tech.: Modul Middleware (Kurzprojekt)
Themen
Gruppenkommunikationsframework mit dynamischen Gruppen
Betreuer: Christian Spann
Für die Realisierung von Fehlertoleranten Anwendungen ist es meist notwendig, die Anwendungen auf mehrere Knoten zu verteilen. Um der verteilten Anwendung eine verlässliche Kommunikation untereinander zu ermöglichen, werden Gruppenkommunikationsalgorithmen verwendet. Da immer wieder Knoten ausfallen können und durch neue ersetzt werden müssen, ist es notwendig, dass diese Algorithmen dynamisch Knoten ausschließen und hinzunhemen können. Es gibt jedoch bis heute keine verlässliche Gruppenkommunikationssoftware, die genau dies während des Betriebs erlaubt. In der Abteilung wurde ein Prototyp einer solchen GC-Software entwickelt, diese ist aber noch nicht Einsatzreif. Ziel des Praktikums ist es, sich in die vorhandene Software einzuarbeiten und in einen lauffähigen Zustand zu versetzen.
Geschachtelte Aufrufe in Virtual Nodes
Betreuer: Christian Spann
Das Institut ist Partner im XtreemOS Projekt und entwickelt dafür das Framework Virtual Nodes für die Replikation von Objekten. Diese Objekte erscheinen dem Nutzer als ein "virtuelles" Objekt, bestehen aber real aus mehreren realen Objekten, die auf verschiedenen Knoten verteilt sein können und die sich untereinander koordinieren. Um in den verteilten Objekten Multithreading zuzulassen sind deterministische Scheduler nötig, die den Zutritt in Abschnitte mit gegenseitigem Ausschluss regeln. Aufgabe des Praktikums ist es, diese Scheduler um die Fähigkeit zu erweitern, geschachtelte Aufrufe an andere entfernte Dienste/Objekte zu unterstützen.
Tracken Garbage Collection
Betreuer: Jörg Domaschka
Java bietet von Haus aus keine Unterstützung um festzustellen wann welches Objekt der Garbage Collection zum Opfer fällt. Allerdings bietet das Java Tool Interface (JVM-TI) die Möglichkeit Zugriffe auf die Felder von Objekten zu beobachten und im Anschluss bestimmte Aktionen auszuführen. Zudem bieten die in java.lang.ref enthaltenen Klassen schwache Referenzen auf Java Objekte. Diese Referenzen werden auf null gesetzt sobald das Objekt von der Garbage Collection eingesammelt wird. Ziel des Praktikums ist es zu überprüfen, ob es die Kombination beider Mechanismen (JVM-TI + schwache Referenzen) erlaubt den Zeitpunkt der Garbage Collection abzupassen und darauf objektspezifisch zu reagieren.
Transparente Thread Migration in Java
Betreuer: Jörg Domaschka
In Java ist die Migration von Threads nicht standardmäßig nicht vorgesehen. java.lang.Thread implementiert keines der für die Seriaisierung notwendigen Interfaces. Zudem ist das Aussehen des Stacks laut Spezifikation eine Sache der Java Virtual Machine und somit implementierungsabhäging. Es gibt Arbeiten, die untersucht haben, wie Java Code verändert werden muss, damit eine transparente Thread Migration möglich wrid. Diese Ansätze erfordern jedoch entweder eine eigene JVM oder sind sehr teuer, da viele zusätzliche Byte-Code-Instruktionen eingefügt werden.
Die Kosten können umgangen werden, wenn man zum Einen annimmt, dass Threads nur dann migriert werden können, wenn sie sowieso blockiert sind (z.B. durch einen Aufruf an wait. Zum Anderen kann man mit Hilfe des Java Tool Interfaces (JVM-TI) den Stack eines Threads auslesen und den ausgeführten Byte-Code verändern.
Um den Thread nun zu migrieren, wartet man bis dieser blockiert ist und liest dann den aktuellen Stack aus. Auf Seiten der Zielplattform manipuliert man den Byte-Code der betroffenen Klassen auf die aus der Literatur bekannten Art und Weise und lässt den Thread aus einer initialen Methode loslaufen. Hat er den Blockadepunkt erreicht, setzt man den Byte-Code wieder in den ursprünglichen Zustand zurück.
Ziel dieses Praktikums ist es zu evaluieren, ob dieser Ansatz praxistauglich ist und einen Prototypen zu implementieren.
SIP Conferencing
Betreuer: Sven Schober
Implementierung eines UA für SIP Conferencing nach RFC 4353.
RTP PROXY
Betreuer: Sven Schober
Implementierung eines RFC kopatiblen RTP Proxies auf der Basis von OSGi.
Sessionmanagement mit H.323 und Java
Betreuer: Jan-Patrick Elsholz
Implementierung einer Sitzungs API für Instant-X unter Verwendung der JTAPI.
SIP PROXY mit JAIN SIP
Betreuer: Jan-Patrick Elsholz
Implementierung und Bundeln eines SIP PROXIES auf der Basis von JAIN SIP
Semantic Mashup
Betreuer: Jan-Patrick Elsholz
Implementierung eines semantic Mashups mit Google Apps und YQL. Ziel dabei ist es, das Modulhandbuch der Uni Ulm mit dem LSF zu verknüpfen.
