Visualisierung des Datenflusses in einem selbstversorgenden sozialen Netzwerk

  • 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ücksicht auf unterschiedliche Geräteverfügbarkeiten realisieren können. Elementar ist dabei, dass keine Geräte außerhalb der Empfängergruppe am Datenaustausch beteiligt sind.

    Um den selbstversorgenden Datenaustausch zwischen Geräten zu veranschaulichen, soll eine Möglichkeit der entsprechenden Visualisierung geschaffen werden.

    Aufgabenstellung

    Deine Aufgabe ist es, den bereits funktionierenden, selbstversorgenden Datenaustausch in SODESSON zu visualisieren. Dazu soll eine grafische Oberfläche mit einem passenden Framework, wie beispielsweise QT, implementiert werden. In dieser soll es möglich sein, auch innerhalb derselben Nutzer unterschiedliche Empfängergruppen zu definieren und Nachrichten zu verschicken. Wird nun eine Nachricht für eine dieser Empfängergruppen generiert, sorgt SODESSON dafür, dass diese nur zu den relevanten Geräten geliefert wird. Der korrekte Empfang soll ebenso visualisiert werden.

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