Entwicklung eines Protokolls zur Einigung über die Platzierung von Logger-Diensten in IoT-Systemen

Type: Masterarbeit
Status: Offen
Beginn: Sofort
Student: N.N.
Tutor: Franziska Kühn
Supervisor: Prof. Dr. rer. nat. Stefan Fischer

Forschungsgebiet

Im sogenannten Internet der Dinge (IoT) werden physische Objekte mit Kleinstcomputern ausgestattet und in unsere gewohnte Umgebung eingebettet. Es wird erwartet, dass die Anzahl der vernetzten Dinge in den nächsten Jahren gewaltig ansteigen wird. Schätzungen für die nahe Zukunft bzgl. der Zahl der vernetzten Geräte reichen von 26 bis 50 Milliarden rund um das Jahr 2020 [1]; neuere Schätzungen gehen von einem weiteren starken Wachstum mit um die 125 Milliarden Geräten in 2030 aus, von denen 337 Millionen ihren Dienst in medizinischen Anwendungen versehen (siehe bspw. IoT ebook).
 
Die Dinge können oftmals (drahtlos) mit dem Internet kommunizieren und verfügen häufig über Sensorik und Aktuatorik. Dadurch wird es möglich den Zustand der realen Welt in Echtzeit der digitalen Welt zur Verfügung zu stellen und den Zustand der realen Welt über Aktuatoren direkt zu beeinflussen. IoT-Systeme können vielfältig eingesetzt werden und weitreichende, auch sicherheitskritische, Aufgaben übernehmen. Die eingesetzten Systeme in IoT-Umgebungen sind oftmals heterogen, ressourcenbeschränkt (bspw. CPU, Speicher, Energie), hochgradig verteilt und dynamisch sowie selbst häufig unzuverlässig.

Thema der Arbeit/Aufgabenstellung

Das am ITM entwickelte Logging-Framework ermöglicht es Daten von IoT-Systemen, die das CoAP-Protokoll implementieren, zu loggen, um die Daten dann später aufbereiten und weiterverwenden zu können. Ein Logger ist dabei ein Dienst, der im IoT-Netz auf einem beliebigen IoT-Knoten deployed werden kann, unabhängig davon von welchen Knoten im Netz Daten geloggt werden sollen. Es können mehrere Logger im IoT-System existieren und die Logger können zum Teil voneinander abhängig sein.

Es ist nicht nur notwendig die Logger abhängig von den verfügbaren Ressourcen der IoT-Knoten sinnvoll im Netz zu verteilen, sondern auch, dass Einigung über die Verteilung unter den IoT-Knoten erreicht wird. Dafür sollen im Rahmen dieser Masterarbeit zunächst Protokolle zur globalen Einigung in verteilten Systemen/IoT-Systemen (bspw. aus dem Bereich Telekommunikation) ermittelt werden. Anschließend soll für das Logging-Framework ein entsprechendes Protokoll entwickelt und umgesetzt werden. Dabei ist u.a. Folgendes zu beachten:

  • Wann und wer stößt die Verteilung an?
  • Wie kann das Protokoll möglichst ressourcenschonend umgesetzt werden?
  • Wie wird mit Netzwerkproblemen, Nachrichtenverlust und (vorübergehend) unerreichbaren IoT-Knoten umgegangen?
  • Wie werden Logger über abhängige Komponenten informiert?
  • Was passiert wenn ein IoT-Knoten, auf dem ein Logger laufen soll, während der Einigung ausfällt?

Es kann davon ausgegangen werden, dass eine mögliche sinnvolle Verteilung bereits ermittelt wurde und die Abhängigkeiten zwischen den Komponenten gegeben ist.

Das entwickelte Protokoll bzw. die Implementierung ist anhand ausgewählter Szenarien zu evaluieren.

Voraussetzungen

Begriffe wie „verteilte Systeme“ und „Internet of Things“ sollten bekannt und verstanden sein. Java-Kenntnisse und Programmiererfahrungen werden vorausgesetzt.

Das Kleingedruckte

Nach Einarbeitung und Umsetzung ist die geleistete Arbeit in der eigentlichen Ausarbeitung sorgfältig zu dokumentieren. Der implementierte Code ist vollständig zu kommentieren. Die Ergebnisse werden quelloffen, beispielsweise unter den Bedingungen der Apache-Lizenz 2.0, veröffentlicht. Es sind die Regeln zur Erstellung von wissenschaftlichen Arbeiten des Instituts zu beachten.

Literatur

[1] Tavis C. McCourt, Simon Leopold, Frank G. Louthan IV, Hans Mosesmann, J. Steven Smigie, Terry Tillman, Daniel Toomey, Georgios Kyriakopoulos, Eric Lemus, Brian Peterson, and Alexander Sklar. The Internet of Things - A Study in Hype, Reality, Disruption and Growth. Industry report, Raymond James & Associates, January 2014.