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.