Instant Messenger für ein dezentrales soziales Netzwerk

  • chair:Dezentrale soziale Netzwerke
  • type:Studien-/Bachelor-Arbeit
  • time:Dec 2011
  • advisor:

    Ingmar Baumgart, Fabian Hartmann, Martina Zitterbart

  • person in charge:Kai Kugler
  • Beschreibung

    Soziale Online-Netzwerke sind ein fester Bestandteil unseres Alltags geworden. Bei einem zentralisierten Dienst wie beispielsweise Facebook ist die fehlende Kontrolle der Benutzer über ihre Daten ein großes Problem, das breite Teile der Öffentlichkeit bewegt. Dezentrale soziale Netzwerke wie Diaspora begegnen diesem Problem, indem die Nutzerdaten verteilt gespeichert werden und sich somit nicht bei einem Anbieter sammeln. Üblicherweise sind diese Alternativen jedoch vom Funktionsumfang rein an die klassischen sozialen Netze angelehnt („Facebook-Clones“).

    Neben den bekannten Anwendungen aus sozialen Netzwerken wie einer Profilseite oder öffentlichen Pinnwand, sind jedoch auch andere Dienste denkbar, die gegenseitiges Vertrauen erfordern - beispielsweise eine Dateifreigabe oder Bereitstellung des eigenen Internetzugangs über WLAN für andere Benutzer. Heutige mobile Geräte wie Handys, Laptops und Kameras können solche Dienste selbst ohne weitere Serverstruktur anbieten und dabei den sozialen Kontext mit berücksichtigen.

    Aufgabenstellung

    Für den Einstieg in dieses innovative Paradigma soll als erste, typische Anwendung eines sozialen Onlinedienstes ein Instant Messenger samt GUI implementiert werden. Dieser soll sowohl auf einem Smartphone als auch auf einem regulären PC lauffähig sein. Die Speicherung von Daten findet dazu verteilt auf den teilnehmenden Geräten statt. Zu diesem Zweck soll der P2P-Simulator OverSim angebunden werden, welcher eine verteilte Hashtabelle (DHT) zur Ablage von Daten mitbringt. Je nach Erreichbarkeit der Gesprächspartner soll direkt zwischen den Geräten kommuniziert werden oder Nachrichten in der DHT zwischengespeichert werden. Der Fokus liegt hier auf einer transparenten, wiederverwendbaren Schnittstelle.

    Arbeitsumgebung

    Es stehen für die Entwicklung und Tests mehrere Nokia N900 Smartphones sowie Linux-Laptops zur Verfügung. Ein Poolraum für ungestörtes Arbeiten hat in unmittelbarer Nähe eine hervorragende Kaffeemaschine sowie Kaltgetränke.

    Voraussetzungen

    Grundlegende Programmierkenntnisse werden vorausgesetzt. Spezielle Erfahrungen mit C++ oder GUI-Programmierung mit QT sind von Vorteil, aber kein Muss.