180 likes | 301 Views
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.”
E N D
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 Exposure • When 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 Adaptation • To 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 Abstractions • Event 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 Discovery • Mediators 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 • Where you are • Who you are with • What resources are nearby • System adapts to context according to • 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 • Sensor readings are not a discrete value • May deviate for another’s measurement of the same • Sensors usually specify the mean and maximum error • Freshness • 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 data • Applications 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?