Werkzeugunterstützung für namenszentrische Dienste im Internet der Dinge

Status: offen
Betreuer: Horst Hellbrück , Torsten Teubler
Student: n.a.

Themengebiet

Das Internet, wie wir es heute kennen, hat sich evolutionär entwickelt. Von dieser evolutionären Entwicklung sind vor allem Protokolle wie TCP/IP gemeint, die die Basis des heutigen Internets darstellen. Ein Charakteristikum des heutigen Internets ist das Ende-zu-Ende Paradigma, wo Stationen adressiert und Nachrichten im Netz nur weitergeleitet werden. Neben evolutionärer Entwicklung und dem Ende-zu-Ende Paradigma gibt es auch vollkommen neue Ansätze wie Content-Centric Networking. Bei Content-Centric Networking werden nicht die einzelnen Stationen adressiert, sondern die Daten. Dieser Ansatz entspricht mehr der Art und Weise, wie das heutige Internet von den Benutzern wahrgenommen wird, da Benutzer in der Regel an Daten, als an Stationen im Netzwerk interessiert sind.

Details

In der CoSA Forschungsgruppe untersuchen wir, welche Bedeutung Content-Centric Networking für das zukünftige Internet of Things (IoT) hat. Hierzu haben wir für drahtlose Sensornetze ein angepasstes CCNx Protokoll entwickelt das in Funktion und Design CCNx sehr ähnlich ist. Weiterhin sind wir der Meinung, dass Services im IoT eine größere Rolle spielen als Dokumente wie z.B. Webseiten. Daher fokussieren wir uns weniger auf die Adressierung von Daten sondern stellen den Aspekt, dass Namen anstatt numerische Adressen verwendet werden, in den Vordergrund. Zusammengefasst lässt sich unser Ansatz als "Name-Centric Services" charakterisieren. Services oder sogenannte Service Orientierte Architekturen (SOA) sind auch ein Begriff im heutigen Internet. Implementierungen von SOA nutzen häufig Werkzeuge, die Code für die vernetzte Interaktion generieren. Dies beschleunigt die Anwendungsentwicklung da es dem Anwendungsentwickler hilft, sich auf die Applikationslogik zu fokussieren. Im Rahmen dieser Arbeit soll eine Werkzeugunterstützung für Name-Centric Services weiterentwickelt werden. Diese Werkzeuge sind Code-Generatoren, die Code sowohl für Sensorknoten (C++) als auch für Java generieren, damit Name-Centric Services miteinander interagieren können. Eine weitere Herausforderung ist der drahtgebunden/drahtlos Übergang (Gateway) von einem drahtgebunden Netz zu den Sensorknoten. Die Realisierung des Gateways erfolgt in Java, da wir bereits technischen Voraussetzungen geschaffen haben. Das Gateway soll dabei sehr einfach gestaltet und nur mit einer Grundfunktionalität (bspw. Un-/marshaling von Nachrichten) ausgestattet sein. Zusätzliche Funktionalität des Gateways soll mittels Services realisiert werden. Die Entwicklung der Werkzeuge und des Gateways erfolgt in enger Absprache mit dem Betreuer, da konzeptionelle Fragestellungen bei experimentellen Ansätzen wie den Name-Centric Services stetig diskutiert werden müssen.

Aufgaben

  • Weiterentwicklung von Werkzeugen zur Code-Generierung (C++, Java) in Java.
  • Entwicklung eines Service orientieren Gateways zum drahtgebunden/drahtlos Übergang in Java.
  • Entwicklung von (mindestens drei) Konfigurationsdiensten für die Sensorknoten mit Hilfe der Werkzeugunterstützung (bspw. Dienst für Dienstebeschreibung, Namensvergabe, Name-Alaising).
  • Dokumentation der Ergebnisse.

Voraussetzungen

  • Solide Kenntnisse in Java und Grundkenntnisse in C++.
  • Kenntnisse in Verteilten Systemen von Vorteil.