Dynamic Reconfiguration Support
for Pervasive Computing
Dongman Lee
Collaborative Distributed Systems & Networks Lab.
Information and Communications Univ.
 Overview
 Key Requirements
 Case Study
 Technical Challenges
Paradigm Shift
 Technology is moving from personal computers to handheld,
intelligent, and everyday devices with embedded technology and
From Pervasive Computing: Vision and Challenges by Satyanarayanan, M.
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
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
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
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
• Applications are dynamically and automatically adapted to current context
– Efficient use of resources – system aspect
– User context (preference) – user aspect
Key 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
 Transparency
– Allow applications to spontaneously reconfigure with new services or
established services regardless of context changes
Aura - 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 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
Aura - Architecture
 Aura Components
– Odyssey
• Resource monitoring and
application-aware adaptation
– Coda
• Support for nomadic,
disconnectable, and bandwidthadaptive file access
Task Support, user intent, high-level proactivity
Other Aura runtime support
– 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
Nomadic file access
Remote Execution
Resource Monitoring, Adaptation
Linux Kernel
Intelligent Networking
Aura System Architecture
Aura - Adaptation
 Coarse-grained Adaptation
(Application Re-composition or
– Ongoing work (does not provide yet)
 Focus on Inter-environment Task
– Describe Current Task
– Leverage Aura File Space
(Extended Coda) to store task
– Restore current task using task
Bird eye view of Aura Adaptation
Description of Video Playing Service
Gaia - 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
Gaia - 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
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
Active 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,
• 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
– Allow flexible application adaptation to such a heterogeneous and dynamic
Active Surroundings - Architecture
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
• 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
Active Surroundings – Interaction Model
User A
User B
Presentation Architecture
Link Object
Link Object
Link Object
Link Object
Link Object
Event Sub-Typing
Service Integration Broker
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
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
S erv ice
C lien t
S erv ice
L in k
S erv ice
O b ject
– Service link
• Acts as a proxy for local communication
• 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
 Only link object is required to rebind itself to a
new communication broker due to context
changes while application object remains
co m m u n ica tio n b ro k er
re-b in d in g
S erv ice
O b ject
S erv ice
L in k
S erv ice
O b ject
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
• 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
Technical Challenges in System Support
 Technical [Kindberg]
Service discovery
Integration with physical world
Programming framework
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
– System designers must decide the human’s role to resolve tension between
interoperability and ambiguity
Discovery and interaction (cont’d)
 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
 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
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
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
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
 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 user’s whereabouts raises privacy issues
– Location
• Customizing services to a location can result in a loss of privacy for identified
– 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
Q &A
 What would you like to see in future?
 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 CHI’92, pages 335-342.
 Glenn E. Krasner and Stephen T. Pope, A Description of the Model-ViewController 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.

Pervasive Computing Middleware