Building Blocks for a Participatory Web of Things - ETH E

Transcription

Building Blocks for a Participatory Web of Things - ETH E
Diss. ETH No. 19890
Building Blocks for a Participatory Web of
Things: Devices, Infrastructures, and
Programming Frameworks
A dissertation submitted to the
ETH Zurich
for the degree of
Doctor of Science
Presented by
Mihai Vlad Trifa
Dipl. Ing. EPFL
Born on 12 March 1982, in Oradea, Romania
citizen of Bex (VD), Switzerland
accepted on the recommendation of
Prof. Dr. Friedemann Mattern, examiner
Prof. Dr. Cesare Pautasso, co-examiner
Prof. Dr. Gero Mühl, co-examiner
2011
Abstract
In less than three decades, computers have evolved from bulky desktop units to tiny,
embedded chips that can communicate wirelessly with each other. Battery-powered and
stuffed with the latest sensing technologies, these networked embedded devices (NEDs)
have been pervading our world and are increasingly implanted in our cars, buildings, and
cities. From mobile phones, to surveillance systems, to contact-less payment systems –
a legion of sentient machines continuously record our behavior. Analyzing the massive
amounts of data collected by NEDs would be very valuable in many disciplines.
Unfortunately, the usage of NEDs remains cumbersome because a multitude of hardware
and software platforms have been developed – both in academia and industry – and
the communication protocols supported by these platforms are often proprietary and
incompatible with each other. Without a unified protocol to interconnect the various
devices, building and maintaining large-scale applications that integrate NED data and
services is an overly complicated process that requires extensive time, expert knowledge,
and resources. A common infrastructure that can scale and evolve as new devices are
added will be necessary to build a global network of NEDs installed and maintained by
different actors. This in turn would lower the access barrier to develop distributed sensing
applications (DSA) as devices could be shared and used easily. In this thesis, we address
the integration problem in large-scale DSAs and explore how to simplify access to data
and services of heterogeneous embedded devices.
Nowadays, access to Internet has become cheap and ubiquitous and it is very likely that
all sorts of electronic devices will increasingly possess Internet connectivity. Since the
mobile Web is rapidly becoming a commodity, this thesis suggests that the existing Web
infrastructure and its protocols should be leveraged to exchange data with NEDs. The
tremendous success of the World Wide Web as a global platform for easily sharing information and connecting people to computing services attests that simple and loosely
coupled approaches offer a high degree of scalability, robustness, and evolvability. This
success is due to a large extent to an open and uniform interface which enabled nonexperts to develop interactive hybrid applications rapidly. Unlike most protocols used in
embedded computing, Web standards in the Internet are widely used and highly flexible,
and in this thesis we suggest that this model would also be beneficial to future embedded
computing applications.
Our research bridges the fields of Web technologies and embedded sensing into a unified
vision called the Web of Things – where the Web’s well-known standards and tools are
leveraged to seamlessly blend NEDs with the existing Web infrastructure. By drawing
upon tools and techniques from both domains, we define the fundamental building blocks
of the Web of Things as an extension of the current Web paradigms. After evaluating
the limitations of current Web technologies with respect to the requirements of NED
applications, we propose practical solutions to alleviate these difficulties to enable the
development of efficient, event-driven, and scalable DSAs. Finally, we propose an endto-end, fully Web-based framework that fosters fast prototyping of distributed sensing
applications that run on top of heterogeneous NEDs.
In contrast to existing research in sensor networks, the central question explored in this
thesis is how much of the existing Web infrastructure can be reused to accommodate
embedded devices. We further examine the common belief that Web standards are inappropriate for building efficient DSAs. Experimental results and prototypes are provided
to support the hypothesis that using Web standards for NEDs is possible. Our results
further show that the Web is not only a suitable, but actually a desirable medium to
build distributed sensing applications that match the requirements for future large-scale
sensing systems.
We provide a comprehensive – conceptual and empirical – investigation of the usage of
Web standards to exchange information with embedded devices, and the contributions of
our work are multiple. First, our results are relevant to the sensor network and pervasive
computing communities, as they support the hypothesis that the existing Web ecosystem
is sufficient as is to build a new generation of scalable and flexible participatory applications on top of heterogeneous NEDs. Second, the Web community at large can build
upon our set of guidelines to push the Web into the physical world by integrating devices
in the Web fabric, thus making the idea of a Web API for the real world realistic. Third,
we explore the practical usage of Web technologies in various contexts, from smart spaces
to smart cities, and show that a fully Web-based infrastructure is an excellent basis to
build an ecosystem of reconfigurable cyber-physical systems. Finally, we hope the work
presented here will serve as inspiration for future Web developers and sensor network researchers. Bridging the gap between these two worlds will very likely shed light upon an
unexplored design space to create more potent solutions for important societal problems,
from energy-efficient buildings, to catastrophe detection and response systems, to more
livable and enjoyable cities.
Résumé
En moins de trois décennies, les systèmes embarqués connectés (SEC) sont devenus omniprésents dans notre monde, car de plus en plus implantés dans nos maisons, voitures,
ou dans nos villes. Ces ordinateurs miniature peuvent communiquer entre eux en utilisant différents protocoles radio et possèdent toutes sortes de capteurs qui mesurent une
myriade de paramètres (température, pression, mouvements, etc.). Des téléphones mobiles, aux systèmes de surveillance (CCTV), en passant par les systèmes de paiement sans
contact – une légion de machines enregistrent en continu nos comportements. L’analyse
des quantités massives de données recueillies par ces systèmes serait très utile dans de
nombreuses disciplines.
Malheureusement, l’utilisation de ces machines n’est de loin pas à la portée de tout le
monde en raison de la variété et de la complexité de plateformes matérielles et logicielles
disponibles – tant dans le milieu académique qu’industriel. De plus les protocoles de communication utilisés par ces plates-formes sont souvent fermés ou sous licence, et surtout
incompatibles entre eux. Sans un protocole unique pour interconnecter ces dispositifs
hétérogènes, le développement et le maintien d’applications à grande échelle qui intègrent
les données recueillies par les SEC, resteront des processus complexes qui nécessitent
beaucoup de temps, de connaissances, et de ressources. Ces solutions compliquées sont
généralement basées sur un couplage étroit entre composants, ce qui entrave fortement la
flexibilité et la scalabilité de ces systèmes. De plus, dans la plupart des cas, ces données
collectées finissent isolées dans des applications fermées.
Une infrastructure commune qui peut s’adapter et évoluer en ajoutant de nouveaux SEC
sera un élément essentiel pour la réalisation d’un réseau mondial de SEC développé et
entretenu par différents acteurs. Cette infrastructure faciliterait l’usage des SEC et permettrait à un grand nombre d’utilisateurs de créer leurs propres applications d’analyse de
données du monde réel. Dans cette thèse, nous abordons le problème de l’intégration à
grande échelle de ces systèmes afin de comprendre comment simplifier l’accès aux données
et aux services offerts par des dispositifs embarqués hétérogènes.
Aujourd’hui, l’accès à Internet est devenu omniprésent et bon marché, de plus il est
fortement probable que toutes sortes d’appareils électroniques pourront se connecter à
Internet. Étant donné que le Web mobile est sur le point de devenir une commodité, nous
suggérons que l’infrastructure existante ainsi que les protocoles du Web peuvent être mis
à profit afin d’échanger des données avec les SEC. Le formidable succès du World Wide
Web comme plateforme mondiale pour le partage facile d’informations et pour se connecter
aisément aux services informatiques atteste qu’une approche simple offre une robustesse et
une scalabilité hors pair. Ce succès est dû dans une large mesure à une interface ouverte
et homogène qui a permis à des programmateurs novices de développer facilement des
applications interactives hybrides. Contrairement à la plupart des protocoles utilisés dans
l’informatique embarquée, les standards du Web sont largement utilisés et très flexibles,
et dans cette thèse nous suggérons que ce modèle serait également bénéfique pour les
futures applications d’informatique embarquée.
La recherche présentée dans ce document de la combinaison des technologies Web et des
systèmes embarqués ont donné naissance à une vision appelée le Web des Objets où les
standards et outils du Web sont mis à profit pour intégrer ces SEC au Web de façon
transparente. En s’appuyant sur les outils de ces deux domaines, nous définissons ici les
éléments fondamentaux ainsi que des composants concret qui forment le Web des Objets.
Après avoir évalué les limites des technologies Web pour des applications en temps réel,
nous proposons des solutions pratiques pour compenser ces limitations afin de permettre
la mise en place d’applications de captage distribuées, qui sont entièrement basées sur les
technologies du Web. Enfin, nous proposons un système complet entièrement basé sur le
Web qui favorise le prototypage rapide d’applications qui se basent sur ces capteurs sans
fil. Nous discutons l’idée reçue selon laquelle les technologies Web ne sont pas adaptées
aux contraintes des réseaux sans fil et qu’il faut choisir des protocoles spécifiquement
adaptés et optimisés. Des résultats expérimentaux ainsi que des évaluations de prototypes
sont fournis afin de corroborer notre hypothèse : développer des applications de captage
distribuées en se basant uniquement sur des technologies Web est non seulement possible,
mais serait même souhaitable grâce aux nombreux avantages offerts par les standards
Web.
Les implications de notre travail sont multiples. En premier lieu, nos résultats sont
utiles aux chercheurs en systèmes embarqués car ils bénéficient de nouveaux outils pour
développer et tester de nouvelles applications distribuées rapidement. Grâce à la facilité
d’usage des standards Web ainsi que des évaluations et applications concrètes, nous offrons des bases solides qui confirment l’hypothèse que l’écosystème du Web permet de
construire une nouvelle génération d’applications participatives qui utilisent des capteurs
hétérogènes. En second lieu, la communauté Web au sens large peut aussi se baser sur
nos directives en permettant une meilleure intégration du monde physique dans le Web,
rendant ainsi l’idée d’une API Web pour le monde réel plausible. En troisième lieu, nous
explorons l’utilisation pratique des technologies Web dans différents contextes, en passant
de la domotique aux villes intelligentes, et montrons qu’une infrastructure entièrement
basée sur le Web serait une excellente base pour un écosystème reconfigurable de systèmes
cyber-physiques. Finalement, nous espérons que les travaux présentés ici pourront servir
d’inspiration pour les développeurs Web et chercheurs en réseaux de capteurs. Combler la
séparation entre ces deux mondes pourra très probablement donner lieu à la conception de
nouvelles solutions plus efficaces pour faire face aux problèmes majeurs de notre sociétés
tels que des bâtiments économes en énergie, les systèmes de détection et de réponse lors de
catastrophes naturelles et accidents, ou simplement créer des villes plus efficaces, moins
gourmandes en énergie, et plus agréables à vivre.