Visualisierung des Datenflusses in einem selbstversorgenden sozialen Netzwerk

  • 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¨cksicht auf unterschiedliche Gera¨teverfu¨gbarkeiten realisieren ko¨nnen. Elementar ist dabei, dass keine Gera¨te außerhalb der Empfa¨ngergruppe am Datenaustausch beteiligt sind.

    Um den selbstversorgenden Datenaustausch zwischen Gera¨ten zu veranschaulichen, soll eine Mo¨glichkeit der entsprechenden Visualisierung geschaffen werden.

    Aufgabenstellung

    Deine Aufgabe ist es, den bereits funktionierenden, selbstversorgenden Datenaustausch in SODESSON zu visualisieren. Dazu soll eine grafische Oberfla¨che mit einem passenden Framework, wie beispielsweise QT, implementiert werden. In dieser soll es mo¨glich sein, auch innerhalb derselben Nutzer unterschiedliche Empfa¨ngergruppen zu definieren und Nachrichten zu verschicken. Wird nun eine Nachricht fu¨r eine dieser Empfa¨ngergruppen generiert, sorgt SODESSON dafu¨r, dass diese nur zu den relevanten Gera¨ten geliefert wird. Der korrekte Empfang soll ebenso visualisiert werden.

    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, Kreativita¨t und Spaß am anschaulichen Vermitteln von Inhalten mit. Du hast schonmal u¨ber die verpflichtenden Uni-Projekte hinaus programmiert, hast idealerweise Erfahrung in C++ und GUI-Design. Grundwissen u¨ber die Funktionsweise von P2P-Netzen ist hilfreich, aber nicht feste Voraussetzung.