Diss. ETH Nr. 16653 User-Centric Dependability Concepts for Ubiquitous Computing Juergen Bohn Institute for Pervasive Computing ETH Zurich, Switzerland Contact: jjbohn@jjbohn.com (Zusammenfassung in deutscher Sprache - siehe unten) Summary in English: =================== This dissertation provides a systematic study of critical dependability challenges in the context of ubiquitous computing, with particular consideration of the needs of the end-user, which to this point in time has not been investigated deeply in the research community. In doing so, we focus on two fundamental areas of ubiquitous computing: human-computer interaction and context-aware computing. Dependability in the area of human-computer interaction so far mainly focused on the design and implementation of user interfaces. However, with the emergence of highly interactive ubiquitous computing environments, the user's dependence on interface devices has been increasing significantly even in everyday life situations. This leads to a new, user-centric type of dependability threat: given that a user requires certain user interface devices to interact with or to control a surrounding ubiquitous computing environment on a daily basis, it has to be investigated how he or she can cope with the unanticipated unavailability of these devices. It is therefore important to ensure the physical availability of user interface devices in order to preserve the accessibility of personal data and device functionality required as part of the human-computer dialogue. A further fundamental challenge is dependable context- and location-aware computing, as the manifold mobile or portable devices and smart objects found in ubiquitous computing environments are particularly subject to frequent and spontaneous changes in their surrounding context. Mobile devices not only have to cope with dynamic changes in locally available resources and in the physical properties of the user's environment, but they often also have to take into account unanticipated alterations of user-specific parameters such as the user's location, activity, personal preferences, and intentions. By enabling mobile devices to retrieve context autonomously in the respective location where it matters and using it as implicit input, context-aware computing provides means for more user-friendly, unobtrusive computing services. However, from the viewpoint of dependability, a crucial challenge is to provide mobile devices with reliable means of context awareness, and - in addition - to enable applications to use redundant context for the implementation of fault-tolerance mechanisms. Here an important task is to enable mobile devices and applications to tolerate and adapt at runtime to disturbances that are liable to occur in highly dynamic ubiquitous computing environments, such as the temporary or permanent unavailability of resources, the absence of network connectivity, or the unavailability of remote infrastructure-based services. The main contributions of this dissertation are threefold. Firstly, we present concepts that increase the accessibility of personalized device functionality and improve the availability of personal user data. For that, we developed and prototypically implemented a system that exploits the diversity of user interface devices by means of a redundant input/output diversification. We further motivate the concept of instant personalization and temporary ownership as a method of freeing the user from the dependence on individual personalized devices while preserving the advantages of customized device functionality and access to personal user data. Secondly, we describe concepts for improving the dependability of user-centric systems in ubiquitous computing environments by exploiting redundancy and diversity of resources, with a focus on location awareness. For that we have investigated and developed two concepts that enable fault-tolerant computing based on localized cooperation and resource sharing: (1) fault-tolerant services based on cooperating smart everyday objects, and (2) super-distribution of smart entities. The first approach enables mobile devices to exploit the multitude and diversity of volatile resources, which are found in the local computing environment of these devices, for the realization of fault-tolerant services. The idea of the second approach is to distribute computerized entities in a highly redundant way over object surfaces and physical environments, and to use the resulting physical infrastructure as a substrate for the realization of self-contained, fault-tolerant location-aware services and applications. As a further elaboration of the concept of redundancy, we present two systems that exploit diversity of sensor technologies and sensing capabilities by applying sensor data fusion techniques: (1) a lightweight and extensible system for the self-positioning of mobile devices based on an open sensor-fusion architecture, and (2) a solar-cell based positioning system that uses locally available context knowledge for real-time self-calibration and service optimization to improve the quality and robustness of the positioning procedure. Last but not least, we identify and discuss dependability challenges of human-centered ubiquitous computing systems from a broader social and ethical perspective, including general aspects of reliability, control, social compatibility, and user acceptance. Zusammenfassung in deutscher Sprache: ===================================== Ziel dieser Dissertation ist es, kritische Herausforderungen hinsichtlich der Verlässlichkeit von Ubiquitous Computing unter besonderer Berücksichtigung der Endbenutzer systematisch zu analysieren. Diese Problemstellung wurde in der Ubiquitous-Computing-Forschung bisher noch nicht eingehender untersucht. Dabei wird der Schwerpunkt auf die Interaktion von Mensch und Maschine sowie auf kontextabhängige Computersysteme gelegt. Die Betrachtung von Verlässlichkeitsaspekten im Bereich der Mensch-Maschine-Interaktion hat sich bislang vorwiegend auf den Entwurf und die Entwicklung von Benutzerschnittstellen beschränkt. Mit dem Aufkommen hochinteraktiver Ubiquitous-Computing-Umgebungen nimmt jedoch die Abhängigkeit von Benutzergeräten in Alltagssituationen signifikant zu. Dies führt zu einer neuartigen Gefährdung der Verlässlichkeit aus Sicht des Anwenders: Damit ein Benutzer ein ihn ständig umgebendes Ubiquitous-Computing-System kontrollieren bzw. mit ihm interagieren kann, benötigt er gewisse Benutzerschnittstellengeräte. Hier gilt es Konzepte zu entwickeln, die dem Anwender im Falle der Nichtverfügbarkeit von bevorzugten Benutzergeräten weiterhin den Zugriff auf persönliche Daten ermöglichen und die erforderliche Funktionalität sicherstellen. Einen wichtigen Aspekt bildet dabei die Identifikation und Nutzbarmachung von vorhandenen Redundanzen in Bezug auf Benutzerschnittstellen und -geräte. Eine weitere grundsätzliche Herausforderung stellt die Verlässlichkeit von kontextabhängigen und ortsbewussten Computersystemen dar. Mobile und tragbare Geräte sind in Ubiquitous-Computing-Umgebungen häufig von spontanen Veränderungen in ihrem jeweiligen unmittelbaren Umfeld (Kontext) betroffen: sie müssen sich nicht nur auf häufige Veränderungen der lokal verfügbarer Ressourcen in der Benutzerumgebung einstellen, sondern oft auch unvorhergesehene Wechsel von benutzerspezifischen Kenngrößen berücksichtigen, wie z.B. den Ort des Benutzers, seine Aktivitäten, seine persönlichen Präferenzen und Absichten. Indem mobile Geräte befähigt werden, ihren Kontext selbstständig und autonom direkt am eigenen Ort zu erfassen, ermöglichen kontextabhängige Computersysteme die Bereitstellung von benutzerfreundlicheren, unaufdringlicheren Dienstleistungen. Der Einsatz von Ubiquitous-Computing-Systemen erfordert daher eine zuverlässige Ausstattung mobiler Geräte mit Kontextinformationen. Zentraler Aspekt hierbei ist es, mobile Geräte und Anwendungen zu befähigen, sich an Störungen zur Laufzeit - wie sie in hoch dynamischen Ubiquitous-Computing-Umgebungen häufiger etwa in Form vorübergehender oder dauerhafter Nichtverfügbarkeit von Ressourcen, fehlender Konnektivität oder Nichterreichbarkeit entfernter infrastrukturbasierter Dienste anzutreffen sind - anzupassen, diese zu tolerieren, und redundante Kontextinformationen für Fehlertoleranzmaßnahmen einzusetzen. Diese Dissertation setzt sich in drei Hauptbeiträgen mit der Untersuchung von Verlässlichkeitsaspekten in Bezug auf Ubiquitous Computing auseinander: Im ersten Hauptteil werden Konzepte präsentiert, die die Verfügbarkeit von interaktiven Benutzerschnittstellen erhöhen, um insbesondere auch die Verfügbarkeit von personalisierter Gerätefunktionalität und persönlichen Benutzerdaten zu verbessern. Hierzu wurde ein System entwickelt und prototypisch implementiert, das auf die Verschiedenartigkeit von Benutzergeräten für eine redundante Ein-/Ausgabediversifizierung zurückgreift. Der vorgestellte Ansatz der augenblicklichen Personalisierung und vorübergehenden Inbesitznahme befreit den Benutzer aus der Abhängigkeit von individuellen persönlichen Geräten, bewahrt dabei jedoch gleichermaßen die Vorteile von benutzerangepasster Gerätefunktionalität und der Verfügbarkeit von persönlichen Daten. Im zweiten Hauptteil werden diverse Ansätze zur Steigerung der Verlässlichkeit von kontextabhängigen Computersystemen in Ubiquitous-Computing-Umgebungen durch die Ausnutzung lokal vorhandener Ressourcenvielfalt und -redundanz besprochen. Der Schwerpunkt liegt hier auf den im Ubiquitous Computing bedeutsamen ortsbewussten Diensten und Anwendungen. Es werden zwei Konzepte vorgestellt, die durch lokale Zusammenarbeit und Ressourcenteilung fehlertolerante Dienste ermöglichen: (1) Fehlertolerante Dienste basierend auf kooperierenden intelligenten Alltagsgegenständen und (2) Hochverteilung von intelligenten Einheiten. Der erste Ansatz ermöglicht mobilen Geräten, die Vielzahl und Vielfalt an dynamisch veränderlichen Ressourcen in der unmittelbaren lokalen Umgebung für Fehlertoleranzzwecke auszunutzen. Die Grundidee des zweiten Ansatzes ist es zunächst, computerisierte Einheiten hochredundant über die Oberfläche von Objekten oder physischen Umgebungen zu verteilen, um anschließend die so erhaltene materielle Infrastruktur als ein Substrat für die Entwicklung von unabhängigen fehlertoleranten ortsbewussten Diensten und Anwendungen zu nutzen. Als eine weitere Ausprägung des Redundanzansatzes werden zwei Systeme präsentiert, welche eine vorhandene Vielfalt von Sensortechnologien und sensorischen Fähigkeiten mit Hilfe von Sensorfusionstechniken nutzbar machen: (1) eine leichtgewichtiges und erweiterbares System für die Selbstpositionierung von mobilen Geräten, basierend auf einer offenen Sensorfusionsarchitektur, und (2) ein Solarzellen-basiertes Positionierungssystem, das lokal verfügbares Kontextwissen in Echtzeit für eine Selbstkalibrierung und Dienstgüteoptimierung zur Verbesserung von Genauigkeit und Robustheit der Positionsbestimmung einsetzt. Im dritten und letzten Hauptteil wird die Problematik der Verlässlichkeit von Ubiquitous-Computing-Systemen aus einer weiter gefassten, ethisch-sozialen Perspektive beleuchtet und bewertet. Angesichts seiner ausgeprägten Human- und Benutzerzentriertheit werden abschließend mögliche Auswirkungen und Gefahren des Ubiquitous Computing analysiert sowie eine Reihe von sozialen Herausforderungen und Fragestellungen zu wichtigen Themenkomplexen wie Zuverlässigkeit, Kontrolle, soziale Kompatibilität oder Benutzerakzeptanz identifiziert und diskutiert.