Efficient Iot Application Delivery and Management in Smart City
Total Page:16
File Type:pdf, Size:1020Kb
Efficient IoT Application Delivery and Management in Smart City Environments DISSERTATION zur Erlangung des akademischen Grades Doktor der technischen Wissenschaften eingereicht von Michael Vögler Matrikelnummer 0625617 an der Fakultät für Informatik der Technischen Universität Wien Betreuung: Univ.Prof. Schahram Dustdar Diese Dissertation haben begutachtet: (Univ.Prof. Schahram Dustdar) (Prof. Frank Leymann) Wien, 11.04.2016 (Michael Vögler) Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Efficient IoT Application Delivery and Management in Smart City Environments DISSERTATION submitted in partial fulfillment of the requirements for the degree of Doktor der technischen Wissenschaften by Michael Vögler Registration Number 0625617 to the Faculty of Informatics at the TU Wien Advisor: Univ.Prof. Schahram Dustdar The dissertation has been reviewed by: (Univ.Prof. Schahram Dustdar) (Prof. Frank Leymann) Wien, 11.04.2016 (Michael Vögler) Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Erklärung zur Verfassung der Arbeit Michael Vögler Macholdastraße 24/4/79, 1100 Wien Hiermit erkläre ich, dass ich diese Arbeit selbständig verfasst habe, dass ich die ver- wendeten Quellen und Hilfsmittel vollständig angegeben habe und dass ich die Stellen der Arbeit - einschließlich Tabellen, Karten und Abbildungen -, die anderen Werken oder dem Internet im Wortlaut oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabe der Quelle als Entlehnung kenntlich gemacht habe. (Ort, Datum) (Unterschrift Verfasser) i Acknowledgements This work was partly supported by the Pacific Controls Cloud Computing Lab (PC3L)1, a joint lab between Pacific Controls L.L.C., Scheikh Zayed Road, Dubai, United Arab Emirates and the Distributed Systems Group of the TU Wien. 1http://pc3l.infosys.tuwien.ac.at/ iii Danksagung Mit dem Schreiben dieser Zeilen beende ich nun nicht nur diese Dissertation, sondern schließe auch mein Informatikstudium ab, an dem ich mittlerweile fast eine Dekade gearbeitet habe. Rückblickend betrachtet, wäre diese Arbeit nie ohne das Zutun und die Unterstützung zahlreicher Personen möglich gewesen, denen ich in Form dieser Zeilen danken möchte. Als Erstes möchte ich mich bei meinem Betreuer, Prof. Schahram Dustdar, für die Unterstützung und die Chance bedanken, meine Dissertation in der Distributed Systems Group (DSG) zu schreiben, in der ich meine Forschungsideen großteils eigenständig verfolgen und umsetzen konnte. Des Weiteren danke ich Prof. Frank Leymann für seine interessanten Vorträge über die Grundsätze der Cloud und für die Zweitbegutachtung dieser Arbeit. Natürlich möchte ich mich auch bei meinen Kollegen der DSG bedanken, die mich auf meinem Weg mit guter Zusammenarbeit und hilfreichem Feedback begleitet haben. Insbesondere möchte ich mich bei Christian Inzinger und Johannes M. Schleicher bedan- ken, die an allen meinen Forschungsarbeiten beteiligt waren, mir immer mit Rat und Tat zur Seite standen und dadurch die vorliegende Arbeit erst möglich gemacht haben. Mein Dank gilt natürlich auch meinen Eltern, die mir das Studium ermöglicht und mich immer in meinen Vorhaben und Träumen unterstützt haben. Weiters möchte ich mich bei meiner gesamten Familie und natürlich auch meinen Freunden für die Unter- stützung bedanken. Darüber hinaus, gebührt der meiste Dank Kara Wieland, die mich im kompletten Verlauf meines Studiums begleitet hat, Höhen und Tiefen mit mir überstanden hat, es mit Engelsgeduld ertragen hat, wenn ich Abende und Wochenenden vor dem Laptop verbracht habe und mir immer Mut zugesprochen hat, auch wenn sie selbst gerade eine stressige Zeit durchmachte. v Abstract The smart city concept initially emerged as an umbrella term for the use of information and communication technology (ICT) in cities with the goal of delivering additional services to their citizens and generally becoming more efficient in terms of resource utilization. Traditionally, these resources were mainly limited to energy and mobility systems. However, with the evolution and ubiquitous availability of information technol- ogy, potential target domains and resources that are addressable in a smart city changed significantly. New areas like smart buildings or smart traffic systems can now be tackled. With the recent advent of the Internet of Things (IoT), more and more stakeholders in the smart city domain start to deploy connected IoT devices that allow for sensing and controlling the physical environment they are residing in. Based on the deployed IoT devices and the available smart city infrastructure, IoT applications emerged as a central enabler for stakeholders to build new innovative smart city services for citizens. Such IoT applications need to efficiently manage large amounts of data provided by connected devices, which in combination with the rapid growth of IoT, is challenging. Furthermore, deployed IoT applications need the ability to fully utilize the underlying smart city in- frastructure resources to optimally fulfill their requirements at all times. Apart from the intrinsic challenges of operating and managing IoT applications in the smart city domain, such applications must also support the seamless integration of stakeholders and data from different domains to help building new applications that are able to tackle the increasingly complex challenges of today’s smart cities. In this thesis we present a set of novel approaches that allow for efficient operation and management of IoT applications in a smart city ecosystem. We first introduce a methodology that makes IoT devices first class citizens in the design, development, and operation of IoT applications, which allows for leveraging the available capabilities of these resources to build more resilient and performant applications. We present an approach for elastic provisioning of software and application capabilities on resource-constrained IoT devices that explicitly considers the significant heterogeneity in terms of available storage and processing power of these devices. Next, we introduce a declarative, constraint-based model to describe IoT applications as a set of clearly separated components. Based on this model, we derive an approach to dynamically generate optimized deployment topologies for IoT applications that are tailored to the currently available physical infrastructure. Since the monitoring of IoT applications is an essential part of application operation, we introduce a non-intrusive monitoring approach that supports in-depth analysis of data-intensive IoT applications independent of the underlying execution environment. vii Finally, to ensure the efficient execution of IoT applications, we present an approach for analyzing monitored infrastructure data to optimize the overall IoT application deployment. By using a set of illustrative scenarios, we extensively evaluate the results of our investigations and show that our contributions support the efficient delivery of robust and flexible IoT applications by allowing them to fully utilize the complete range of infrastructure resources available in a smart city ecosystem. Kurzfassung Das Konzept intelligenter Städte entstand ursprünglich als Oberbegriff für die Nutzung von Informations- und Kommunikationstechnologie in Städten, mit dem Ziel Bürgern zusätzliche Dienstleistungen anzubieten und im Allgemeinen effizienter mit vorhanden Ressourcen umzugehen. Zu Beginn waren diese Ressourcen in erster Linie auf Energie- und Mobilitätssysteme beschränkt. Mit der raschen technologischen Entwicklung und der damit einhergehenden allgegenwärtigen Verfügbarkeit von Informationstechnologie vergrößerten sich jedoch auch die potenziellen Zieldomänen und Ressourcen, die man in intelligenten Städten ansprechen konnte. Dementsprechend ist es nun möglich, neue Bereiche, wie etwa intelligente Gebäude oder intelligente Verkehrssysteme, zu erschließen. Mit der Entstehung des Internet der Dinge (IoT), haben immer mehr Akteure begonnen vernetzte IoT Geräte in intelligenten Städten einzusetzen, die es wiederum ermöglichen, die physische Umgebung, in der sie sich befinden, zu erfassen und zu steuern. Basierend auf den installierten IoT Geräten und der verfügbaren Infrastruktur von intelligenten Städten, sind sogenannte IoT Anwendungen zu mächtigen Mechanismen für Akteure geworden, um neue und innovative Dienstleistungen für Bürger zu entwickeln und diesen bereitzustellen. Allerdings müssen solche Anwendungen effizient mit großen Datenmengen umgehen können, was in Kombination mit dem rasanten Wachstum des IoT eine große Herausforderung darstellt. Darüber hinaus brauchen laufende IoT Anwendungen die Möglichkeit, die zugrunde liegenden Infrastrukturressourcen von intelligenten Städten im vollen Umfang zu nutzen, da sie nur so die an sie gestellten Anforderungen jederzeit optimal erfüllen können. Neben den intrinsischen Herausforderungen, die durch den Betrieb und die Verwaltung von IoT Applikationen in intelligenten Städten entstehen, müssen Anwendungen auch die nahtlose Integration von Interessenvertretern und Daten aus den unterschiedlichsten Bereichen unterstützen. Erst dadurch ist es möglich, neue Anwendungen zu entwickeln, die in der Lage sind, die immer komplexer werdenden Herausforderungen intelligenter Städte zu bewältigen. In dieser Arbeit stellen wir eine Reihe von neuartigen Ansätzen vor, die den effizienten Betrieb und eine ebensolche Verwaltung von IoT Anwendungen im Ökosystem intelligen- ter Städte ermöglichen. Wir beginnen mit einer Methodologie, die IoT Geräte zu wichtigen