Filz, M. (2017). A framework for dynamic configuration of IoT nodes based on events [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2017.37820
Internet der Dinge; Complex Event Processing; Framework; Regelsprache; Esper; Smart Buildings; Skalierbarkeit
de
Internet of Things; Complex Event Processing; Framework; Rule Language; Esper; Smart Buildings; Scalability
en
Abstract:
Das Internet der Dinge (IoT) ist ein Konzept, das derzeit zunehmend an Bedeutung gewinnt, da es sowohl von technischer, sozialer, als auch ökonomischer Relevanz ist. Im Wesentlichen bezeichnet es die Vernetzung einer Vielzahl an Geräten, die mit Hilfe ihrer eingebauten Sensoren in der Lage sind, ihr Umfeld zu erfassen und diese Daten über das Internet auszutauschen. Die enormen Datenmengen, die dadurch erzeugt werden, bieten aus technischer Sicht sowohl Chancen als auch Herausforderungen. Während es innovativen Applikationen die Möglichkeit eröffnet, Zusammenhänge aus unserem täglichen Leben für neue Anwendungen zu nützen, bedarf es für die richtige Verarbeitung passende Werkzeuge. Complex Event Processing (CEP) ist ein solches Werkzeug, das im Stande ist, relevante Strukturen durch die Analyse von Datenströme in Echtzeit zu erkennen. Der Einsatz im IoT Umfeld bietet Applikationen ein adäquates Mittel, ihre Konfigurationen an wechselnde Umgebungsbedingungen wie Standort, Wetter, und andere Faktoren anzupassen. Im herkömmlichen Sinne wird CEP in einer zentralen Architektur eingesetzt, bei der eine einzige Verarbeitungseinheit aus unterschiedlichen Datenquellen gespeist wird. Um jedoch den hohen Anforderungen an Performanz und Skalierbarkeit im IoT Umfeld gerecht zu werden, benötigt es hier den Einsatz von verteilten Verarbeitungsmodellen, die Komponenten je nach Bedarf hinzufügen können. Unglücklicherweise bedeutet die Implementierung von verteilten Systemen mehr Aufwand und höhere Komplexität. Das Ziel dieser Arbeit besteht daher darin, ein Framework umzusetzen, das die Entwicklung von CEP-basierten IoT Applikationen unterstützt. Durch ein modulares Design der Zielanwendung sowie klar definierten Kommunikationsstrukturen werden die genannten Anforderungen erfüllt. Zusätzlich übernimmt das Framework Basisaufgaben wie die Koordination von Komponenten, die Verteilung von Abfrageregeln, und die Bereitstellung von Fehlertoleranz. Ein weiterer Bestandteil der Arbeit ist eine eigene Abfragesprache. Die Sprache ist für den Gebrauch im IoT Umfeld optimiert und ermöglicht es den Benutzern, Abfragen und Regeln möglichst prägnant und intuitiv zu formulieren. Ebenfalls Teil dieser Arbeit ist eine prototypische Implementierung, die als Grundlage für Evaluierungen dient. Neben funktionalen Anwendungsfällen im Bereich von Smart Buildings werden ebenfalls quantitative Messungen durchgeführt, um die Nützlichkeit und die Anwendbarkeit des Frameworks zu demonstrieren.
de
The Internet of Things (IoT) represents an evolving field of technical, social, and economic significance. At its core, it connects a plethora of devices able to collect and sense their environment by using embedded sensors and exchange gathered information via the Internet. The enormous amount of data generated by these devices produces both new possibilities and new challenges. Opening up an endless array of new opportunities for innovative applications, the high volume of data demands the development of new tools and technologies. One such technology is Complex Event Processing (CEP), designed to detect patterns by analyzing streams of data in real-time. Applied to the IoT, it allows applications to make decisions tailored to their specific environment. As a result, applications can change their configuration depending on different requirements such as location, weather, and many other factors. However, CEP in the traditional sense of a central processing unit does hardly scale across thousands of nodes. This limitation can be overcome by applying a distributed processing model, allowing to add components as required. Yet while distribution allows such applications to meet their requirements, it comes at a cost: the effort necessary for implementation of distributed systems are very high due to their increased complexity. Therefore, this thesis proposes a framework for supporting and facilitating the construction of CEP based IoT applications. By design, the framework leverages a modular design of the concrete application and employs well-defined communication structures to satisfy aforementioned requirements. It also cares about low-level tasks of distributed systems such as the coordination of different components, the distribution of rules, and measures for improving fault tolerance. Moreover, this thesis proposes a custom language for defining queries and rules. The proposed language is optimized for the IoT context and enables users to express patterns in an intuitive and succinct way. Additionally, this thesis presents a prototype implementation of the framework. This prototype implementation is consequently used to carry out evaluations. Besides functional use cases in the field of smart buildings, the evaluation focuses on quantitative measurements. By discussing and analyzing multiple test cases, the thesis discusses the feasibility and applicability of the proposed framework.