Dynamic Reconfiguration Support for Pervasive Computing - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Dynamic Reconfiguration Support for Pervasive Computing

Description:

Title: Pervasive Computing Middleware Author: Dongman Lee Last modified by: Created Date: 7/1/2003 1:20:27 AM Document presentation format – PowerPoint PPT presentation

Number of Views:40
Avg rating:3.0/5.0
Slides: 32
Provided by: Dongm2
Category:

less

Transcript and Presenter's Notes

Title: Dynamic Reconfiguration Support for Pervasive Computing


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 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

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
  • 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
  • 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

10
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

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
  • 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
  • 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
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
  • 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

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 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

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
    developers 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 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

24
Discovery 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

25
Adaptation
  • 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

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
  • 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

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 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.
Write a Comment
User Comments (0)
About PowerShow.com