A Web of Things Application Architecture - Integrating the Real-World into the Web

Die Seite wird erstellt Christian Hentschel
 
WEITER LESEN
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