Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dynamic Reconfiguration Support for Pervasive Computing

Similar presentations


Presentation on theme: "Dynamic Reconfiguration Support for Pervasive Computing"— Presentation transcript:

1 Dynamic Reconfiguration Support for Pervasive Computing
Dongman Lee Collaborative Distributed Systems & Networks Lab. Information and Communications Univ.

2 Contents Overview Key Requirements Case Study Technical Challenges

3 Paradigm Shift Technology is moving from personal computers to handheld, intelligent, and everyday devices with embedded technology and connectivity From Pervasive Computing: Vision and Challenges by Satyanarayanan, M.

4 Ubiquitous Computing Vision
The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it – Mark Weiser Computation is freely available everywhere – IBM People, places, and things are first class citizens of the connected world, where e-services meet the physical world, where humans are mobile, devices and services are federated and context-aware – HP Brings computing away from the desktop and into the world, where people live and work – Microsoft Provides each user with an invisible halo of computing and information services that persists regardless of location – CMU By extending the reach of traditional computing systems to encompass the devices and physical space surrounding the machines, entities, both physical and virtual, may be allowed to seamlessly interact – UIUC

5 Key Characteristics of Ubiquitous Computing
Human-centered Distraction-free Minimal administration Context-aware Invisibility Ideal – complete disappearance of pervasive computing technology from a user’s consciousness Practical – reasonable approximation to this ideal – minimal user distraction Not only hardware but also software Hardware aspect (physically invisible) Tangible interfaces, smart appliances, etc. Software aspect (logically invisible) Not intrude to users, self-configure, self-adaptive system

6 Key Features of Ubicomp Middleware
To Support “Pervasiveness”, the system should provide the followings: Sense environment changes Provide mechanisms to gather the sensed information Sensed should be converted to context information Decision should be made by itself to provide efficient services to users without intrusion to the user Service discovery mechanism to discover currently available service based on current context New services or devices should be dynamically plugged into system without interventions of users The changed information should be distributed to other entities in the environment Environment Sensing Context Management Service Discovery Dynamic Reconfiguration Support

7 Why Dynamic Reconfiguration?
Motivation Heterogeneity Ubiquitous computing environment contain a collection of heterogeneous devices (resources) Different environments have different number of resources Dynamics Not only devices but also users dynamically enter and leave an environment Multi-users Group of users share an environment Dynamic Reconfiguration Support Polymorphic and Transparent Application Transformation with minimal administration Applications are dynamically and automatically adapted to current context Efficient use of resources – system aspect User context (preference) – user aspect

8 Key Considerations Adaptability Flexibility Transparency
Dynamic and heterogeneous nature of a ubiquitous computing environment Applications are dynamically and automatically adapted to current context with minimal intrusions to users Flexibility Different environments have different devices and services We may not assume that exactly same service (or devices) are available in environments Transparency Allow applications to spontaneously reconfigure with new services or established services regardless of context changes

9 Aura - Overview Aura Objectives Challenges Two Broad Concepts in Aura
Intended for pervasive computing environments involving wireless communication, wearable or handheld computers, and smart spaces. Aims to provide User distraction-free computing environment Moving workspace Challenges Human attention is an especially scarce resource in pervasive environment Minimize distraction or intrusion of system Variable bandwidth connectivity, short battery life, and client resource constraints in mobile communication Two Broad Concepts in Aura Proactivity A system layer’s ability to anticipate requests from a higher layer Self-tuning Layers adapt by observing the demands made on them and adjusting their performance and resource usage characteristics

10 Intelligent Networking
Aura - Architecture Aura Components Odyssey Resource monitoring and application-aware adaptation Coda Support for nomadic, disconnectable, and bandwidth-adaptive file access Spectra Adaptive remote execution mechanism that uses context to decide how to best execute the remote call Prism Responsible for capturing and managing user intent Layered above application and provides high-level support for proactivity and self-tuning Intelligent Networking Linux Kernel Coda Nomadic file access Odyssey Resource Monitoring, Adaptation Spectra Remote Execution Other Aura runtime support Application Prism Task Support, user intent, high-level proactivity Aura System Architecture

11 Aura - Adaptation Coarse-grained Adaptation (Application Re-composition or reconfiguration) Ongoing work (does not provide yet) Focus on Inter-environment Task Migration Describe Current Task Leverage Aura File Space (Extended Coda) to store task description Restore current task using task description Bird eye view of Aura Adaptation Description of Video Playing Service

12 Gaia - Overview Gaia Objectives Challenges
People-Centric Pervasive Environment Mobile users in pervasive computing environment Many resources, devices per user Resource management and infrastructure for pervasive computing Context sensitive adaptation of applications, services, and resources Challenges Software infrastructure with which to develop applications for ubiquitous computing habitats or living spaces Unified infrastructure for Active Space Active Space A physical space coordinated by a responsive context-based software infrastructure that enhances mobile users’ ability to interact with and configure their physical and digital environments seamlessly

13 Gaia - Architecture Gaia System Software Application Framework
Gaia Kernel Component Management Core Dynamically loads, unloads, transfers, creates, and destroys all Gaia Components Event Manager Supports creation of named event channels and distribution of load Context Service Provides a taxonomy and uniform representation of context types Context File System Make personal data automatically available to applications, conditioned on user presence Component Repository Provides persistent storage of components Presence Service Detects the presence of digital and physical entities Space Repository Centralized repository containing information about active entities Gaia Architecture Application Framework Model – Presentation – Controller – Coordinator Application Framework Model Implements the application logic Presentation Exports the application data Controller Maps input sensor events into method requests for the model Coordinator Manages the first four components

14 An Example of Group-aware Application (MP3 Player) Policy
Gaia - Adaptation Manual Adaptation Provide GUI to select appropriate presentations and controllers Automatic Adaptation Use policies to drive application adaptation automatically Generate ACD from AGD with predefined policies GUI for Manual Adaptation An Example of Group-aware Application (MP3 Player) Policy ACD generator

15 Active Surroundings - Overview
Explore ways in which surroundings are enabled to socially interact with themselves as well as human beings by embodiment of cognition, learning, emotion, behavior, etc. Active, not just reactive Surroundings are tangible, sociable, and cooperative Explore the context of groups as well as individuals Develop a framework by which surroundings can assist and help human beings, exploiting location- or context-aware understanding dynamically and adaptively Dynamic reconfiguration support Develop an application model suitable to a ubiquitous environment where there exist heterogeneous and dynamic resources, devices, services, security policies, etc. Provide application developers with an infrastructure with which they can develop applications transparently without concerning the context changes or target environments Allow flexible application adaptation to such a heterogeneous and dynamic environment

16 Active Surroundings - Architecture

17 Active Surroundings – Key Points
Application Model Extended Presentation/semantic split application model An application is composed of a semantic object and one or more presentation objects Application can polymorphically change its presentations, exploiting currently available resources or devices in an environment Transparent Adaptability Support Virtually connected communication bus with a pub/sub model Supports two distinct adaptation semantics: anchored vs. localized Application developers can be relieved from being burdened on dealing with context changes Flexibility Support Application adaptation based on sub-typing concept Application can be flexibly reconfigured to current contexts

18 Active Surroundings – Interaction Model

19 Active Surroundings – Application Model
Application Model – Extended Presentation/Semantic Split Model Presentation object A software abstraction created in an environment with devices Partially replicate state information Semantic object Implements logic of the application and manage the application’s state PS link Contains constraints and define how to access information in presentation and semantic objects Presentation Architecture Automatic mappings of presentation objects when context changes Advantages Association of a single semantic object with multiple presentation objects Multi-user support Effective use of resources (devices) Application access independent of local presentations

20 Active Surroundings – Adaptation Support
Transparent Adaptability Support Assumption Publish/subscribe communication model Provides service objects with the interfaces for interacting with other service objects For dynamic binding, service objects are dynamically bound at runtime using event type matching Service link Acts as a proxy for local communication broker Represents how service objects (and associated link objects) are associated with each other Rebinds each of link objects when an application is introduced to a new context  Only link object is required to rebind itself to a new communication broker due to context changes while application object remains intact

21 Active Surroundings – Flexible Binding
Flexibility Support Leverages notion of sub-typing concept The required service and operation is transparently substituted by 3 cases; substitution by its sub-type, substitution by its super-type, or coercion by its super-type functionality Subtyping Policy Substitution with subtype Searching level Subtype searching process will be continued till one of its subtype find (default) Replace with supertype In case of additional functionality Depend on the application policy (application developer’s role) If it allowed, follow ontology description (described by service provider)

22 Technical Challenges in System Support
Technical [Kindberg] Service discovery Adaptation Integration with physical world Programming framework Robustness Security

23 Discovery and interaction
Service discovery address allocation and name resolution Challenges avoiding overspecification Components must obey the same vocabulary and syntax of service specifications Lost opportunities for association A camera that can send an image for printing should be able to send the image to a digital frame. But, if the camera doesn’t have a specification for the digital frame, the opportunity passes More abstract and much less detailed service specifications can lead to ambiguity System designers must decide the human’s role to resolve tension between interoperability and ambiguity

24 Discovery and interaction (cont’d)
After associating to a service, a component employs a programming interface to use it Challenges How can the software on the device use the service without a priori knowledge of its methods ? Data-oriented interaction is a promising model It requires ubiquitous data standardization for it to work across environment boundaries

25 Adaptation Challenges Content adaptation
Adaptation must often take place without human intervention, to achieve calm computing Embedded devices tend to be small, and limits to miniaturization mean constrained resources Available resources tend to vary dynamically Content adaptation The content adaptation techniques in mobile computing solve only a part of the overall problem Content adaptation among n heterogeneous device types We must address such issues as discovery and robustness We must find a way to apply the adaptation using mechanisms invisible to the user The human interface adaptation It is to move the human interface to a physically different device chosen on the fly Applying transformation to the UI can be a powerful approach to achieving spontaneous interaction

26 Integration with the physical world
Challenges We need low-level application programming interfaces that let software deal with physical sensors and actuators We need a high-level software framework that lets applications sense and interact with their environment, including physical sensors and actuators

27 Programming frameworks
A framework for programming ubiquitous computing environments might address the ubiquitous computing challenges in applications, the operating system or middleware, and the development language Challenges to leverage existing applications because of large investment in the applications, their data, and knowledge of how to use them to leverage OSs without modification OSs are fragile, most users are reluctant or insufficiently sophisticated to apply OS patches, and OS functionality is generally regarded as beyond application writers’ control

28 Robustness and routine failures
Challenges A radical increase of failure frequency due to wireless networking Solutions Expiration-based schemes and soft state Each available device or service send a periodic advertisement announcing its presence or availability to the directory service When failure is common case, identify what critical static or dynamic state you must persistently store and consider reconstructable soft state for the rest Separating failure-free and failure-prone operations Indicate which operations are more likely to fail which enables developers to be able to provide more effective error handling Group communication for “free” indirection to provide a level of indirection that helps rediscover lost resources

29 Security Challenges Trust Security for resource-poor devices
Because of spontaneous interoperation Security for resource-poor devices Extremely resource-poor devices do not have sufficient computing resources for asymmetric encryption Protocols must minimize communication overheads to preserve battery life Access control Knowing an identified user’s whereabouts raises privacy issues Location Customizing services to a location can result in a loss of privacy for identified individuals New patterns of resource-sharing Physical integration works against the firewall model Spontaneous interaction makes extranet technologies unsuitable, because developers intend them for long-term relationships with outside users

30 Q &A What would you like to see in future?

31 References Manuel Roman, Christopher K. Hess, Renato Cerqueira, Anand Ranganathan, Roy H. Campbell, and Klara Nahrstedt, Gaia: A Middleware Infrastructure to Enable Active Spaces, IEEE Pervasive Computing, pages 74-83, Oct-Dec 2002. David Garlan, Dan Siewiorek, Asim Smailagic, and Peter Steenkiste, Project Aura: Towards Distraction-Free Pervasive Computing, IEEE Pervasive Computing, special issue on Integrated Pervasive Computing Environments, Volume 1, Number 2, April-June 2002, pages Ralph D. Hill, The Abstraction-Link-View Paradigm: Using Constraints to Connect User Interfaces to Applications, Proceedings of CHI’92, pages Glenn E. Krasner and Stephen T. Pope, A Description of the Model-View-Controller User Interface Paradigm in the Smalltalk-80 System, Journal of Object Oriented Programming, vol. 1(3), pages 26-49, 1988. Barbara H. Liskov and Jeannette M. Wing, A Behavioral Notion of Subtyping, ACM Transactions on Programming Languages and Systems 1994.


Download ppt "Dynamic Reconfiguration Support for Pervasive Computing"

Similar presentations


Ads by Google