Shah - GMU Computer Science

PERVASIVE COMPUTING
MIDDLEWARE
BY SCHIELE, HANDTE, AND BECKER
A Presentation by Nancy Shah
Vision of Pervasive Computing
“Pervasive computing envisions applications that provide
intuitive, seamless and distraction-free support for their
users.”
“… the applications combine and leverage the distinct
functionality of a number of devices. Many of these
devices are invisibly integrated into the environment.”
“… provide high quality task support while putting only
little cognitive load on users as the require only
minimal manual input.”
Challenges to Application Developers




Unprecedented device heterogeneity
Unreliable wireless communication
Uncertainty in sensor readings
Unforeseeable execution environments



From static to highly dynamic
Changing user requirements
Fuzzy user preferences
Development of pervasive applications in a non-trivial,
time-consuming and error-prone task
Design Considerations

Organizational Model
 Smart
Environment
 Spatially
limited area equipped with sensors and actuators
 Stationary devices
 Some devices are dynamically integrated
 Requires a powerful coordinating computer
 Smart
Peers
 Dynamically
formed collection of peers
 Dynamic set of devices
 Decentralized: No coordinating computer
 More flexible, but more complicated
Design Considerations (cont.)

Provided Level of Abstraction
 Full
Transparency
A
completely generic solution
 All possible application scenarios
 Configurable
Automation
 Allows
developer to forget about intrinsic problems
 Abstraction automates the task with some configuration
 Simplified
 When
Exposure
configuration is no longer reasonable
 Restricted to automated gathering of information
Design Considerations (cont.)

Supported Tasks
 Spontaneous
Interaction
 Devices
communicate with each other
 Detect and monitor the available set of devices
 Context
Management
 Coordinate
measurements of multiple distributed sensors
 Fusion of data
 Application
 To
Adaptation
the overall system properties
 To the available capabilities
 To the context of their users
Spontaneous Interaction

Ubiquitous Communication and Interaction
 Interoperability
 Requires
a common understanding of the semantics of
shared functionalities
 Three main possibilities:



Fixed Standardized Protocol Set
Dynamically Negotiated Protocol Set
Interaction bridges
 Communication
 Event
Abstractions
Heap
 Remote Message Invocation
Spontaneous Interaction (cont.)

Integration of Heterogeneous Devices
 Wide
range of devices
 Different
hardware/software
 Different capabilities and resources
 Two
different approaches
 Build
multiple, yet compatible systems for different classes
of devices
 Build modular systems with minimal yet extensible core
Spontaneous Interaction

Dynamic Mediation
 Peer-based
Discovery
 All
nodes participate in the discovery together
 Clients can broadcast a discovery request
 Service providers can broadcast its services
 Mediator-based
 Mediators
Discovery
manage a service registry for all devices
 Clients register services with the mediator
 Can coordinate entries with other mediators
 In absence of mediator no discovery is possible
Context Management

Definition of Context




System adapts to context according to




Where you are
Who you are with
What resources are nearby
Location of use
Collection of nearby people
Available network and computer infrastructure
Three Classes of Applications



Context-aware presentation
Automatic execution of a service
Tagging of context to information for later retrieval
Context Management (cont.)

Acquisition and Fusion
 Accuracy




Freshness



Sensor readings are not a discrete value
May deviate for another’s measurement of the same
Sensors usually specify the mean and maximum error
Once the value is read, it begins aging
The rate of change determines accuracy
Methods to improve accuracy


Use multiple sensors or readings
Use different technologies or perspectives
Context Management (cont.)

Modeling and Distribution
 Costly
 Sharing
costs with other applications or institutions
 Standardized interfaces
 Retrieved
information must be interpreted across a number
of applications
 Standardized
 Applications
data
need to be able to interpret data
Context Management (cont.)

Provisioning and Access
 Provides
suitable abstractions for applications
 Three classes of context for access
 Identity
 Location
 Time
Application Adaptation

Challenges
 Integrating
coordination of devices
 Different
environments have different devices
 Set of devices changes over time
 Different devices can be used for same task

Coordination
 Based
on the target environment and the user
 Able to adapt to many changes
 Needs support at the middleware layer
 Not
the application layer
Application Adaptation (cont.)

Inter-Application Adaptation
Several non-distributed applications
 Applications are not aware of one another
 Allows for reuse of traditional applications
 Middleware can:

Detect changes and adapt the set of applications
 Provide transparent transcoding services for user data
 Provide services to facilitate the interaction of applications


Issues
Weak form of application coordination
 Cannot coordinate actions between applications when needed

Application Adaptation (cont.)

Intra-Application Adaptation
 Single
application distributed across several devices
 Requires applications to run an application-defined
building block
 Middleware builds a model of the application using
 Individual
building blocks
 Dependencies on one another
 Dependencies on environment
 Issues
 Devices
must be capable/willing to install additional code
Conclusion

Pervasive Applications
Provide seamless, intuitive, and distraction-free task support
 Provide a set of supportive services



Influenced by overall organization and targeted level of support
Heterogeneous Devices
Alleviates low-level communication issues
 Handles details of gathering information from large
numbers of sensors
 Supports changing set of devices

Intuitive Task Support is still a challenge as new devices and
scenarios continue to emerge
Thanks!
Any Questions?