Studentische Arbeiten
Testbed-Entwicklung für lectureStudio
Typ der Arbeit:
Bachelor-Thesis,
Master-Thesis
Bearbeitungsstand: Abgeschlossene Arbeiten
Möglicher Beginn der Arbeit: 01.06.2023
Arbeit abgeschlossen am: 04.03.2024
Betreuer*in: M.Sc. Sebastian Ehmes
Student*in: Özcan Karaca
Motivation
Das Vorlesungs-Tool lectureStudio (https://www.lecturestudio.org) wurde zur Unterstützung von Dozenten an der Technischen Universität Darmstadt entwickelt. Ein wesentlicher Aspekt dieser Plattform ist die Tatsache, dass sie nicht nur in der Lage ist Videos, z.B. von der Webcam des Dozenten oder einem geteilten Bildschirm, zu streamen, sondern auch deren Folien als PDF-Datei. Ein Unterschied zu herkömmlichen Videokonferenz-Tools ist der Ansatz, den verwendeten PDF-Foliensatz zu Beginn der Vorlesung an alle Teilnehmer zu verteilen. Nach dem Start der Vorlesung werden nur noch kleine Aktionen wie Folienwechsel oder Annotationsbefehle an die Clients gesendet. Durch diesen Ansatz kann die gesamte Bandbreite des Streaming-Prozesses drastisch reduziert werden. Allerdings verursacht die Verteilung von großen PDF-Dateien zu Beginn der Vorlesung einen enormen Bandbreitenbedarf beim lectureStudio Server. Ist das Dokument groß oder die Anzahl der am Stream teilnehmenden Studierenden hoch, kann dieser Vorgang die Verbindung des Servers für einige Zeit sättigen. Um dieses Problem zu umgehen, entwickeln wir am Fachgebiet derzeit einen Ansatz, der eine P2P-Overlay-Topologie berechnet, um eine Client-zu-Client-Verteilung der PDF-Datei zu ermöglichen. Durch die Verwendung eines solchen P2P-Ansatzes muss der zentrale lectureStudio Server das PDF-Dokument nur an eine Teilmenge aller angeschlossenen Clients übertragen, die die Datei anschließend an die restlichen Clients weiterleiten.
Neben der Entwicklung des Topologiekontrollalgorithmus selbst ist das Testen und Benchmarken des selben von mindestens genauso großer Bedeutung. Hierbei ist es entscheidend ein Testbed zu bekommen, das das Streaming-Szenario möglichst realitäts nah abbildet, um einen robusten Algorithmus zu entwicklen, der in der echten Anwendung bestehen kann.
Aufgabenstellung
Ziel dieser Arbeit ist es ein Testbed auf Basis von Docker-Schwärmen zu entwicklen, um damit eine realitätsnahe Testumgebung für den neuen P2P-basierten Dokumentenverteilalgorithmus von lectureStudio zu testen und ggf. weiterzuentwicklen. Mit Hilfe einer großen Anzahl von automatisch ausrollbaren Docker Containern (aka. Schwärmen) sollen Teilnehmer für lectureStudio Streams simuliert werden. Dafür sollen Verbindungseigenschaften und Verhalten der simulierten Teilnehmer parametrisierbar sein. Das könnte im ersteren Fall z.B. die verfügbare Bandbreite, das zugehörige Subnetz oder die Latenz sein. In letzterem Fall könnte es auch die Einstellung der mittleren Teilnahmedauer und so etwas wie mittlere Frequenz von Disconnects und Reconnects sein.
Alle Parameter sowie die Konfiguration soll durch ein Featuremodell modelliert werden.
Voraussetzungen
- Docker (muss bei BSc. Thesis bereits beherrscht werden)
- Java