Effizienter Datentransport für die SODESSON-Middleware

  • Beschreibung

    Soziale Netzwerke wie Facebook sind aus unserer heutigen Welt nicht mehr wegzudenken. Üblicherweise handelt es sich dabei um Webdienste, die mit Hilfe von zentralen Servern realisiert werden. Dies bringt für den Benutzer diverse Nachteile mit sich, vor allem wirft die zentrale Datenspeicherung bei einem Drittanbieter Fragen der Privatsphäre auf.
    SODESSON ist eine Middleware, die ermöglicht, dass soziale Kontakte als Selbstversorger den Austausch von Daten ausschließlich mit ihren eigenen Geräten selbstorganisiert, kostengünstig und mit Rück- sicht auf unterschiedliche Geräteverfügbarkeiten realisieren können.

    Ein zentraler Bestandteil der Middleware soll speziell der Austausch großer Dateien sein. Zu diesem Zweck soll eine existierende BitTorrent-ähnliche Implementierung in SODESSON integriert werden, so dass ein selbstorganisierter, privatsphärengerechter Dateiaustausch ermöglicht wird.

    Aufgabenstellung

    Deine Aufgabe ist es, PPSP - ein BitTorrent-ähnliches Protokoll zur Dateiübertragung auf der Transport- schicht - in SODESSON zu integrieren. Dabei gilt es, den Dateiaustausch zwischen den Geräten einer geschlossenen Empfängergruppe zu organisieren - ohne Verwendung von zentralen Trackern. Dazu ge- hören die entsprechende Signalierung zwischen den Geräten sozialer Kontakte und die Verwaltung von möglichen Dateiquellen innerhalb der Gerätemenge. Als Vorarbeiten stehen bereits existierende Imple- mentierungen von PPSP und SODESSON innerhalb des P2P-Simulators OverSim zur Verfügung. Durch Simulationen kannst du schnell auch für große Nutzer- und Gerätegruppen validieren, ob deine Ideen funktionieren. Genauso lassen sich auf diese Art wichtige Performance-Parameter wie Datendurchsatz und Zustellraten evaluieren, was ebenfalls Bestandteil der Aufgabe ist.

    Arbeitsumgebung

    Dir stehen Linux-PCs in einem klimatisierten Pool-Raum zur Verfügung, gleich neben Kaffeevollautomat, Süßigkeiten und Kaltgetränken. Mit deiner Implementierung bringst du dann später leistungsstarke Simulations-PCs mit massenhaft RAM und CPU-Cores so richtig ins Schwitzen.

    Voraussetzungen

    Du bringst großes Interesse an sozialen Netzwerken und hast schonmal über die verpflichtenden Uni- Projekte hinaus programmiert, idealerweise in C++. Grundwissen über die Funktionsweise von P2P- Netzen ist hilfreich, aber nicht feste Voraussetzung.