Abschlussarbeiten im Bereich Peer-to-Peer (P2P)

Allgemein

Im folgenden sind Vorschläge für mögliche studentische Abschlußarbeiten kurz vorgestellt, welche als Anregung dienen sollen. Wir sind grundsätzlich für eigene Ideen und Vorschläge offen, sofern sich ein Bezug zu unseren Arbeitsthemen herstellen lässt. Am besten einfach eine E-Mail schreiben oder direkt im Büro vorbei kommen. 

Ständig in Bearbeitung

Fragen zu den Themen oder Aufgaben?
Bitte per E-Mail an die Betreuer: Ronny Klauck oder Jan Gäbler!
 

Bitte auch die Hinweise und Tipps für die Anfertigung von Abschlussarbeiten beachten !!!

Themenvorschläge

Netzwerksimulation

  • Simulation und Analyse zur Anbindung realer Protokolle an Simulationsumgebungen am Beispiel von XMPP  (Keywords: XMPP, Netzwerksimulator, Omnet++) (Bachelor/Master)NEU
    Aufgabenstellung: Einbindung der XMPP-Bibliothek libstrophe in Omnet++ (schreiben eines Nachrichten-Wrappers); Erstellung Simulationsaufbau für Server und Clients sowie Anbindung der Clients an den Lehrstuhl XMPP-Server über TCP-Verbindungen (bereits in Omnet++ vorhanden); Vergleich Simulation (Server und Client in Omnet++) mit Anbindung an reale Welt (nur Clients in Omnet++)
    Betreuer: Ronny Klauck

Benutzerlokalisierung - Extensible Messaging and Presence Protocol (XMPP)

Das Extensible Messaging and Presence Protocol (XMPP) ist ein standardisiertes und etabliertes Kommunikationsprotokoll, welches ein breites Spektrum an  Echtzeitkommunikationsanwendungen ermöglicht. Somit können strukturierte Informationen im Exensible Markup Language (XML) Format zwischen zwei Endpunkten ausgetauscht werden. Das Protokoll wird kontinuierlich durch Protokollerweiterungen (XMPP Extensions, XEPs) ergänzt und erschließt so stetig neue Anwendungsfelder. Zum Beispiel wäre es möglich, in Katastrophensituationen ein Netz von Knoten aufzubauen, um den Zustand der Umgebung in einem einfachen XMPP-Client (Chat-Programm wie Pidgin, oder Miranda IM) zu überwachen.

  • Implementierung eines Efficient XML Interchange (EXI)-Parsers für XMPP-basierte Sensornetze (Stichwörter: XMPP, XEP, WSN, sensor network) (Master/Bachelor) NEU
    Aufgabenstellung: Ziel dieser Arbeit ist es, einen EXI-Parser für XML-basierte Nachrichten (XMPP) auf einen Sensorknoten (92 kB ROM / 8 kB RAM) zu implementieren. Als Startpunkt kann der rudimentäre EXI-Parser von uDPWS genutzt werden. Im Anschluss ist eine Anaylse durchzuführen, wie sich EXI auf die Nachrichtengrösse und die Kompatibilität zu bestehenden XMPP-Servern auswirkt. Zur Verfügung steht dem Studenten eine Testumgebung mit Sensor-Hardware und XMPP-Knoten (Server/Client).
    Betreuer: Ronny Klauck
  • Untersuchung der Tauglichkeit des XMPP-basierten Publish/Subscribe-Paradigmas für Sensornetze (Stichwörter: XMPP, XEP, WSN, sensor network) (Master/Bachelor)
    Aufgabenstellung: Ziel dieser Arbeit ist es, eine Anaylse zum Publish/Subscribe-Paradigma (Pub-Sub) von XMPP anzufertigen. Dabei sollen Szenarien und Anwendungsbeispiele aus wissenschaftlichen Arbeiten (Sensornetze, WSN) analysiert und verglichen werden. Besonders geeignete Szenarien für die Verwendung von Pub-Sub in Sensornetzen sollen genauer vorgestellt werden.
    Betreuer: Ronny Klauck
  • Aggregierung der Daten von Teilnehmern innerhalb eines XMPP-Netzes (Stichwörter: XMPP, XML, XEP, data management, database) (Master/Bachelor)
    Aufgabenstellung: Ziel dieser Arbeit ist es, die Daten einzelner XMPPClients mit Hilfe von Publish/Subscribe (XEP-0060, XEP-0163) zu erfassen und im Anschluss auszuwerten. Dabei sollen die empfangenen Daten aggregiert (Bestimmung von Minimum, Maximum, Durchschnitt, Häufigkeit) und zwischengespeichert (XEP-0222, XEP-0223) werden. So lässt sich der Gesamtzustand einer Gruppe ermitteln und darstellen.
    Betreuer: Ronny Klauck
  • Geolokalisierung von Teilnehmern eines XMPP-Netzes (Stichwörter: XMPP, XML, XEP, geolocation) (Bachelor) vergeben
    Betreuer: Ronny Klauck
  • XML-Binärparser für XMPP-Nachrichten (Stichwörter: XMPP, XML, XEP, binary parser) (Bachelor) vergeben
    Betreuer: Ronny Klauck
  • Auffinden und Gruppierung von Teilnehmern in einem XMPP-Netz (Stichwörter: XMPP, XML, XEP, roster management) (Bachelor) vergeben
    Betreuer: Ronny Klauck

Gruppenkommunikation - Moversight

Moversight ist ein Peer-To-Peer-Gruppenkommunikationsprotokoll, welches speziell für die Nutzung in mobilen Umgebungen entwickelt wurde und max. 100 Teilnehmern je Grupper unterstützt. Eine Moversight-Gruppe kann sowohl aus mobilen, als auch aus stationären Teilnehmern bestehen und wird als geschlossene Gruppe verwaltet. Der Zugang zu dieser Gruppe erfolgt nur auf explizite Einladung. Typische Anwendungenfälle für Gruppenkommunikationsprotokolle sind Videokonferenzsysteme, Multiplayer-Spiele, e-Learning-Systeme oder mobile Auktionen. 

Zur Reduzierung der Anzahl der benötigten Übertragungen versendet Moversight die Nachrichten innerhalb der Gruppe über eine Cluster-basierte Topologie. Diese Nachrichten werden dabei global-total geordnet zugestellt: Werden von zwei Teilnehmern der Gruppe Nachrichten zur gleichen Zeit versendet, so empfangen alle Gruppenteilnehmer diese in der gleichen Reihenfolge. Speziell bei mobilen Teilnehmern kann es oft zu Verbindungsabbrüchen kommen (z.B. durch fehlende Netzabdeckung, Ressourcenengpässen, oder ähnlichen). Um die Ausfallzeit des Gruppenteilnehmers in diesen Fällen zu reduzieren, bietet Moversight einen ReJoin-Dienst, welcher es Teilnehmern erlaubt, nach einem Verbindungsabbruch ohne erneute explizite Einladung wieder in die Gruppe einzutreten.

  • Ein Key-Value-Store-Dienst für eine mobile Gruppenkommunikationssitzung (Bachelor) NEU

Aufgabenbeschreibung: comming soon

Betreuer: Jan Gäbler
Schlagworte: Key-Value-Store, Gruppenkommunikation, C/C++

  • Bloomfilter basierte Resynchronisation von Peers in einer Gruppensitzung(Master) NEU

Aufgabenbeschreibung: Ziel der Aufgabe ist der Entwurf und die Umsetzung eines P2P-basierten Resynchronisationsalgorithmuses für das Moversight Gruppenkommunikationsprotokolls unter Verwendung von Bloomfiltern. Die zu entwickelnde Lösung ist für die Omnet++ Version von Moversight umzusetzen und leistungsmäßgi zu beurteilen. 
Weiterführende Links: Bloomfilter auf Wikipedia, What’s the Difference? Efficient Set Reconciliation without Prior Context

Betreuer: Jan Gäbler
Schlagworte: Resynchronisation, Bloomfilter, Gruppenkommunikation, C/C++

  • Erweiterung des Moversight Gruppenbeitritt-Dienstes um ein Challenge/Metrik basierten Eintritt (Bachelor)

Aufgabenbeschreibung: Ziel dieser Arbeit ist die Erweiterung des bestehenden Moversight Gruppenbeitrittes. Der eintretende Peer soll zunächst eine bestimmte Aufgabe (Challenge) lösen und deren Ergebnis im Beitrittsprozess der Gruppe teilnehmen. Auf Basis der Lösung dieser Aufgabe soll dann durch die einzelnen Peers der Gruppe der geeignete Platz des beitretenden Peers jeweils lokal bestimmt werden. Dazu sind die bestehenden Peer-Platzierungsstrategien anzupassen. Ohne weiter globale Abstimmung soll dann der beitretende Peer in das P2P-Netz eingefügt werden. Die zu lösenden Aufgaben können dabei sein:

  • aktuelle Ressourcenausstattung
  • Entfernung zu Referenzpunkten
  • Latenz zu bestimmten Referenzpunkten

Die gefundene Lösung ist prototypisch zum Nachweis der Leistungsfähigkeit in C/C++ und unter Nutzung der Simulationsumgebung Omnet++ und des bestehenden Moversight-Codes umzusetzen. Die daraus ermittelten Leistungsdaten und Erkenntnisse sind in einer Analyse auszuwerten. 

Betreuer: Jan Gäbler
Schlagworte: Moversight, Omnet, C++, P2P, Topologie

  • Leistungsanalyse verschiedener Gruppenkommunikationsprotokolle in mobilen Szenarien (Bachelor)

Aufgabenbeschreibung: Ziel der Aufgabe ist die Untersuchung des Leistungsverhalten von 3  bis 4 klassischen  Gruppenkommunikationsprotokollen in mobilen Szenarien. Dazu sollen die jeweiligen Gruppenkommunikationsprotokolle in Testumgebungen installiert und mobile Szenarien mit varierender Verbindungsqualität (i.S.v. Stabilität, Bandbreite, Latenz, Verbindungsabbrüche, ...) nachgestellt werden. Die erhobenen Leistungsdaten sind statistisch auszuwerten und anschließend zu vergleichen. 

Betreuer: Jan Gäbler
Schlagworte: Gruppenkommunikation, C/C++, Java, Virtualisierung, Testumgebung, JGroups, GCP, Spread, Transis

  • Entwurf und Umsetzung eines Topologie-Wartungsdienstes für Moversight (Bachelor/Master)  vergeben

Aufgabenbeschreibung: Moversight bietet seine Gruppenkommunikationsdienste auf Basis eines P2P_Overlays an. Häufige Gruppenein- und -austritte können die Topologie des Overlays entarten lassen. Ziel dieser Arbeit ist die Entwicklung eines verteilten Wartungsdienstes für die Topolgie, welche die Struktur des P2P-Overlays für die aktuelles Situation optimiert. Dieser Wartungsdienst soll dabei periodisch ausgeführt werden und ohne zentrale Elemente als verteilter Algorithmus umgesetzt werden. Die Umsetzung des Protokollentwurfs zum Nachweis der Leistungsfähigkeit erfolgt in C/C++ in der Simulationsumgebung Omnet++. Der Entwurf ist mit einer umfassenden Analyse der aus der Simulation gewonnen Leistungsdatendaten abzuschließen.

Betreuer: Jan Gäbler
Schlagworte: verteilte Algorithmen, P2P Overlay, Gruppenkommunikation, C/C++, Omnet++

  • Entwurf und Simulation einer Netzstruktur-berücksichtigenden Peer-Platzierungsstrategien für Moversight (Bachelor) 

Aufgabenbeschreibung: Innerhalb von Moversight werden die einzelnen Gruppenkommunikationsteilnehmern in einer Cluster-Struktur verwaltet. Werden mehrere Peers, welche aus einem gemeinesamen Netz stammen (z.B. gleiche Provider, gleiche Uni) verschiedenen Clustern zugeordnet, kann dies die Ausführung der Gruppenkommunikation unnötig verlangsamen. Daher sollen nach Möglichkeit diese Peers dem gleichen Clusters zugeordnet werden. Innerhalb von Moversight bestimmen alle Peers lokal (also nicht zentral gesteuert), mit Hilfe der Peer-Platzierungstrategie, welchen Cluster ein der Gruppe beitretender Peer zugeordnet wird. Somit bestimmen alle Peers der Gruppe unabhängig von einander die Position eines neuen Peers innerhalb der Clusterstruktur, mit gleichem Ergebnis. In dieser Arbeit ist eine Peer-Platzierungsstrategie zu entwickeln, welche ausgehend von der öffentlichen IP-Adresse eines Peers, den Cluster für einen beitretenden Peer bestimmt. Neben einer Clusterung nach den einzelnen Netzprovidern (z.B. Telekom, Vodafone, TU Cottbus, Firma Mustermann) sollen nach Möglichkeit auch die Teilnetze der einzelnen Provider berücksichtig werden. Dies ist wünschenswert, da bei großen Telekommunikationsanbietern die Netze oft große räumliche Regionen abdecken. Daher ist, soweit möglich, der  Einfluß des geographischen Standortes des beitretenden Peers zu prüfen. Die entworfene Peer-Platzierungsstrategie ist prototypisch zum Nachweis der Leistungsfähigkeit in C/C++ und unter Nutzung der Simulationsumgebung Omnet++ und des bestehenden Moversight-Codes umzusetzen. Die daraus ermittelten Leistungsdaten und Erkenntnisse sind in einer Analyse auszuwerten. 

Betreuer: Jan Gäbler

  • Entwurf und Simulation eines UDP-basierten Unicast-Transportdienstes für Moversight (Bachelor) vergeben
  • Entwurf und Simulation eines Dienstes zu Erkennung von Netzpartitionierung in einer mobilen P2P-Gruppenkommunikationssitzung   (Bachelor/Master)  vergeben
  • Nutzung von Public-Cloud-Diensten zur Wiederherstellung der virtuellen Synchronität in mobilen Gruppenkommunikationssitzungen (Bachelor/Master) vergeben