A Web of Things Application Architecture - Integrating the Real-World into the Web
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Diss. ETH No. 19891 A Web of Things Application Architecture - Integrating the Real-World into the Web A dissertation submitted to ETH Zurich for the degree of Doctor of Science Presented by Dominique Guinard M.Sc. in Computer Science, University of Fribourg born February 27, 1981 citizen of Switzerland accepted on the recommendation of Prof. Dr. Friedemann Mattern, examiner, ETH Zurich Prof. Dr. Gustavo Alonso, co-examiner, ETH Zurich Prof. Dr. Sanjay Sarma, co-examiner, MIT Boston 2011
Abstract A central concern in the area of pervasive computing has been the integration of digi- tal artifacts with the physical world and vice-versa. Recent developments in the field of embedded devices have led to smart things increasingly populating our daily life. We define smart things as digitally enhanced physical objects and devices that have commu- nication capabilities. Application domains are for instance wireless sensor and actuator networks in cities making them more context-aware and thus smarter. New appliances such as smart TVs, alarm clocks, fridges or digital-picture frames make our living-rooms and houses more energy efficient and our lives easier. Industries benefit from increasingly more intelligent machines and robots. Usual objects tagged with radio-tags or barcodes become linked to virtual information sources and offer new business opportunities. As a consequence, Internet of Things research is exploring ways to connect smart things together and build upon these networks. To facilitate these connections, research and in- dustry have come up over the last few years with a number of low-power network protocols. However, while getting increasingly more connected, embedded devices still form multiple, small, incompatible islands at the application layer: developing applications using them is a challenging task that requires expert knowledge of each platform. As a consequence, smart things remain hard to integrate into composite applications. To remedy this fact, several service platforms proposing an integration architecture appeared in recent years. While some of them are successfully implemented on some appliances and machines, they are, for the most part, not compatible with one another. Furthermore, their complexity and lack of well-known tools let them only reach a relatively small community of expert developers and hence their usage in applications has been rather limited. On the other hand, the Internet is a compelling example of a scalable global network of computers that interoperate across heterogeneous hardware and software platforms. On top of the Internet, the Web illustrates well how a set of relatively simple and open stan- dards can be used to build very flexible systems while preserving efficiency and scalability. The cross-integration and developments of composite applications on the Web, alongside with its ubiquitous availability across a broad range of devices (e.g., desktops, laptops, mobile phones, set-top boxes, gaming devices, etc.), make the Web an outstanding can- didate for a universal integration platform. Web sites do not offer only pages anymore, but Application Programming Interfaces that can be used by other Web resources to cre- ate new, ad-hoc and composite applications running in the computing cloud and being
accessed by desktops or mobile computers. In this thesis we use the Web and its emerging technologies as the basis of a smart things application integration platform. In particular, we propose a Web of Things application architecture offering four layers that simplify the development of applications involving smart things. First, we address device accessibility and propose implementing, on smart things, the architectural principles that are at the heart of the Web such the Repre- sentational State Transfer (REST). We extend the REST architecture by proposing and implementing a number of improvements to fit the special requirements of the physical world such as the need for domain-specific proxies or real-time communication. In the second layer we study findability: In a Web populated by billions of smart things, how can we identify the devices we can interact with, the devices that provide the right service for our application? To address these issues we propose a lightweight metadata format that search engines can understand, together with a Web-oriented discovery and lookup infrastructure that leverages the particular context of smart things. While the Web of Things fosters a rather open network of physical objects, it is very unlikely that in the future access to smart things will be open to anyone. In the third layer we propose a sharing infrastructure that leverages social graphs encapsulated by social networks. We demonstrate how this helps sharing smart things in a straightforward, user-friendly and personal manner, building a Social Web of Things. Our primary goal in bringing smart things to the Web is to facilitate their integration into composite applications. Just as Web developers and tech-savvies create Web 2.0 mashups (i.e., lightweight, ad-hoc compositions of several services on the Web), they should be able to create applications involving smart things with similar ease. Thus, in the composition layer we introduce the physical mashups and propose a software platform, built as an extension of an open-source workflow engine, that offers basic constructs which can be used to build mashup editors for the Web of Things. Finally, to test our architecture and the proposed tools, we apply them to two types of smart things. First we look at wireless sensor networks, in particular at energy and environmental monitoring sensor nodes. We evaluate the benefits of applying the pro- posed architecture first empirically by means of several prototypes, then quantitatively by running performance evaluations and finally qualitatively with the help several devel- opers who used our frameworks to develop mobile and Web-based applications. Then, to better understand and evaluate how the Web of Things architecture can facilitate the development of real-world aware business applications, we study automatic identification systems and propose a framework for bringing RFID data to the Web and global RFID information systems to the cloud. We evaluate the performance of this framework and illustrate its benefits with several prototypes. Put together, these contributions materialize into an ecosystem of building-blocks for the Web of Things: a world-wide and interoperable network of smart things on which applications can be easily built, one step closer to bridging the gap between the virtual and physical worlds.
Kurzfassung Die Integration von digitalen Artefakten mit der physischen Welt ist ein zentrales Anliegen des Pervasive Computing. Jüngste Entwicklungen im Bereich der eingebetteten Systeme haben dazu geführt, dass wir in unserem täglichen Leben immer öfter mit “smarten” Dingen – vernetzten, digital angereicherten Geräten – interagieren. Unsere Städte werden durch drahtlose Sensor- und Aktuatornetze intelligenter und ermöglichen kontextsensi- tives Verhalten. Neue Geräte wie intelligente Fernseher, Wecker, Kühlschränke oder dig- itale Bilderrahmen machen unsere Wohnungen und Häuser energieeffizienter und unser Leben angenehmer. Die Industrie profitiert von zunehmend intelligenteren Maschinen und Robotern. Alltägliche Objekte, die mit Funkchips markiert oder mit Strichcodes verse- hen sind, werden um virtuelle Informationsquellen erweitert und bieten neue Geschäfts- möglichkeiten. Als Folge dieser Entwicklung wird in den letzten Jahren im Rahmen des Internet der Dinge nach Möglichkeiten gesucht, smarte Dinge miteinander zu vernetzen. Um das Verbinden von Geräten zu vereinfachen, haben Forschung und Industrie eine Reihe von Niedrigenergie-Kommunkationsprotokollen konzipiert und standardisiert. Eine Folge dieser Entwicklungen war jedoch, dass sich auf der Anwendungsebene unter den verbundenen Geräten immer mehr kleine, unvereinbare Inseln bildeten. Das Erstellen von Anwen- dungen für smarte Dinge ist heute eine anspruchsvolle Aufgabe, die Fachwissen über jede einzelne Plattform erfordert. Dies erschwert die Integration von vernetzten Alltags- gegenständen in geräteübergreifenden Anwendungen. Um dieser Entwicklung entgegen- zuwirken, erschienen immer mehr Integrationsarchitekturen die zwar zum Teil erfolgreich eingesetzt werden, jedoch meistens nicht miteinander kompatibel sind. Ihre Komplex- ität und der Mangel an unterstützenden Werkzeugen führen dazu, dass sie nur von einer kleinen Gruppe von Experten verwendet werden können und damit ihr Nutzen für die Erstellung von innovativen Anwendungen bisher eher begrenzt ist. Das Internet ist ein überzeugendes Beispiel für ein skalierbares weltweites Computer- netz, in dem heterogene Hardware- und Softwareplattformen ohne Integrationsprobleme zusammenarbeiten. Des Weiteren zeigt das World Wide Web, wie durch die Nutzung von vergleichbar einfachen und offenen Standards hochflexible Systeme gebaut werden können, während die Effizienz und Skalierbarkeit des Internet weiterhin gewährleistet
sind. Aufgrund seiner breiten Verfügbarkeit auf verschiedenen Geräten (z.B. PCs, Lap- tops, Mobiltelefone, Set-Top-Boxen, Spielkonsolen etc.) und seiner hohen Flexibilität ist das Web ein hervorragender Kandidat für eine universelle Integrationsplattform. Webseit- en bieten neben ihrem klassischen Inhalt auch Programmierschnittstellen, die von anderen Web-Ressourcen verwendet werden können, um innovative Anwendungen in der Cloud zu erstellen, auf die von Desktops oder mobilen Computern aus zugegriffen werden kann. In dieser Arbeit schlagen wir das Web of Things als eine vierschichtige Applikationsin- tegrationsarchitektur vor, die die Entwicklung von Anwendungen mit smarten Dingen vereinfacht. Zunächst wenden wir uns dem Problem der Zugänglichkeit von Geräten zu und schlagen die Umsetzung der Prinzipien, die das Herzstück des Web bilden (z.B. Rep- resentational State Transfer, REST), auf smarten Dingen vor. Des Weiteren haben wir die REST-Architektur erweitert, um die speziellen Anforderungen der physischen Welt – etwa die Notwendigkeit für domänenspezifische Proxies oder für Echtzeit-Kommunikation – zu berücksichtigen. Ausserdem betrachten wir die Frage der Auffindbarkeit: Wie können in einem Netz von Milliarden von smarten Dingen diejenigen Geräte, die für eine bestimmte Anwendung benötigte Dienste anbieten, gefunden werden, und wie kann mit ihnen interagiert werden? Zur Lösung dieser Probleme schlagen wir ein leichtgewichtiges, für Suchmaschinen lesbares, Metadaten-Format vor, das mit einer Web-basierten Auffindungs- und Suchinfrastruktur zusammenarbeitet, die den besonderen Kontext von smarten Dingen berücksichtigt. Obwohl das Web of Things ein offenes Netz von physischen Objekten unterstützt, ist es unwahrscheinlich, dass der Zugriff auf smarte Dinge in Zukunft für jedermann un- eingeschränkt möglich sein wird. Aus diesem Grund bauen wir auf der dritten Ebene eine Infrastruktur, die soziale Netzwerke verwendet, um das gemeinsame Nutzen von smarten Dingen zu ermöglichen. Wir zeigen, wie ein solches social Web of Things die kollektive Verwendung von physischen Artefakten auf benutzerfreundliche Art und Weise ermöglicht. Das Hauptziel dieser Arbeit ist die Verwendung des Web, um die Integration von smarten Dingen in kollaborativen Anwendungen zu vereinfachen. Dadurch ermöglichen wir Weben- twicklern und anderen Personen mit guten Computerkenntnissen, innovative, auf smarten Alltagsdingen basierende, Anwendungen zu entwickeln – so, wie sie heute Web 2.0-Mashups (leichtgewichtige, ad hoc aus verschiedenen Web-Diensten zusammengesetzte Applikatio- nen) erstellen. Um dieses Ziel zu erreichen, stellen wir auf einer weiteren Ebene (Com- position Layer ) das Konzept von physischen Mashups vor. Wir schlagen ausserdem eine Softwareplattform vor, die als Erweiterung eines quelloffenen Workflow-Systems konzip- iert wurde und Grundkonstrukte bereitstellt, um Mashup-Umgebungen für das Web of Things zu erstellen. Wir verwenden zwei verschiedene Arten von smarten Dingen, um unsere vorgeschlagene Architektur und die dazugehörigen Werkzeuge zu testen: Zuerst betrachten wir drahtlose Sensorknoten, insbesondere solche, die für Umwelt- und Energieüberwachung eingesetzt werden. Wir bewerten die mit dem Einsatz unserer Architektur zusammenhängenden Effekte empirisch in verschiedenen Prototypen, quantitativ über Leistungsmessungen und
qualitativ mithilfe von mehreren Entwicklern, die unsere Systeme bei der Erstellung von mobilen Applikationen und Webanwendungen einsetzen. Um ausserdem zu verstehen, wie das Web of Things die Entwicklung von intelligenten Geschäftsanwendungen vereinfachen kann, betrachten wir Systeme zur automatischen Identifizierung von Gegenständen und schlagen ein System vor, mit dem RFID-Daten in das World Wide Web und globale RFID-Informationssysteme in die Cloud integriert werden können. Wir demonstrieren das Leistungsverhalten dieses Systems anhand von verschiedenen Prototypen. Zusammengefasst liefern unsere Beiträge ein Ökosystem von Bausteinen für ein globales Netz von interoperablen smarten Dingen, die das Erstellen von geräteübergreifenden An- wendungen vereinfachen, welche die Kluft zwischen der virtuellen und der physischen Welt überbrücken.
Sie können auch lesen