Title: Dynamic Reconfiguration Support for Pervasive Computing
1Dynamic Reconfiguration Support for Pervasive
Computing
- Dongman Lee
- Collaborative Distributed Systems Networks Lab.
- Information and Communications Univ.
2Contents
- Overview
- Key Requirements
- Case Study
- Technical Challenges
3Paradigm 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.
4Ubiquitous 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
5Key Characteristics of Ubiquitous Computing
- Human-centered
- Distraction-free
- Minimal administration
- Context-aware
- Invisibility
- Ideal complete disappearance of pervasive
computing technology from a users 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
6Key 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
7Why 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
8Key Considerations
- Adaptability
- 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
9Aura - Overview
- Aura Objectives
- 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 layers 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
10Aura - 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
Aura System Architecture
11Aura - 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
12Gaia - Overview
- Gaia Objectives
- 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
13Gaia - Architecture
- Gaia System Software
- 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
14Gaia - 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
15Active Surroundings - Overview
- Active Surroundings
- 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
16Active Surroundings - Architecture
17Active 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
18Active Surroundings Interaction Model
19Active 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 applications 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
20Active 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
21Active 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
developers role) - If it allowed, follow ontology description
(described by service provider)
22Technical Challenges in System Support
- Technical Kindberg
- Service discovery
- Adaptation
- Integration with physical world
- Programming framework
- Robustness
- Security
23Discovery 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 doesnt 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 humans role to
resolve tension between interoperability and
ambiguity
24Discovery and interaction (contd)
- Interaction
- 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
25Adaptation
- Challenges
- 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
26Integration 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
27Programming 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
28Robustness 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
29Security
- Challenges
- Trust
- 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 users 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
30Q A
- What would you like to see in future?
31References
- 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 22-31. - Ralph D. Hill, The Abstraction-Link-View
Paradigm Using Constraints to Connect User
Interfaces to Applications, Proceedings of
CHI92, pages 335-342. - 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.