Effizienter Datentransport für die SODESSON-Middleware

  • Beschreibung

    Soziale Netzwerke wie Facebook sind aus unserer heutigen Welt nicht mehr wegzudenken. U¨blicherweise handelt es sich dabei um Webdienste, die mit Hilfe von zentralen Servern realisiert werden. Dies bringt fu¨r den Benutzer diverse Nachteile mit sich, vor allem wirft die zentrale Datenspeicherung bei einem Drittanbieter Fragen der Privatspha¨re auf.
    SODESSON ist eine Middleware, die ermo¨glicht, dass soziale Kontakte als Selbstversorger den Austausch von Daten ausschließlich mit ihren eigenen Gera¨ten selbstorganisiert, kostengu¨nstig und mit Ru¨ck- sicht auf unterschiedliche Gera¨teverfu¨gbarkeiten realisieren ko¨nnen.

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

    Aufgabenstellung

    Deine Aufgabe ist es, PPSP - ein BitTorrent-a¨hnliches Protokoll zur Dateiu¨bertragung auf der Transport- schicht - in SODESSON zu integrieren. Dabei gilt es, den Dateiaustausch zwischen den Gera¨ten einer geschlossenen Empfa¨ngergruppe zu organisieren - ohne Verwendung von zentralen Trackern. Dazu ge- ho¨ren die entsprechende Signalierung zwischen den Gera¨ten sozialer Kontakte und die Verwaltung von mo¨glichen Dateiquellen innerhalb der Gera¨temenge. Als Vorarbeiten stehen bereits existierende Imple- mentierungen von PPSP und SODESSON innerhalb des P2P-Simulators OverSim zur Verfu¨gung. Durch Simulationen kannst du schnell auch fu¨r große Nutzer- und Gera¨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 Verfu¨gung, gleich neben Kaffeevollautomat, Su¨ßigkeiten und Kaltgetra¨nken. Mit deiner Implementierung bringst du dann spa¨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 u¨ber die verpflichtenden Uni- Projekte hinaus programmiert, idealerweise in C++. Grundwissen u¨ber die Funktionsweise von P2P- Netzen ist hilfreich, aber nicht feste Voraussetzung.