Context-Aware Computing


Published on

Presented to The Portuguese Group of Software Architects (GASP) in 2009-04-14

  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Context-Aware Computing

  1. 1. Context-Aware Computing Concepts & Architecture
  2. 2. “ Identification of place lies as a generative core of architecture. Place is to architecture as meaning is to language” Prof. Sharad Atre College of Architecture & Environmental Design
  3. 3. Agenda <ul><li>Concepts </li></ul><ul><li>Technology & Design </li></ul><ul><li>Architecture </li></ul><ul><li>Conclusions </li></ul><ul><li>Questions </li></ul>
  4. 4. Concepts
  5. 5. Ubiquitous/Pervasive Computing <ul><li>The general trend of computing is to have devices seamlessly integrated into the life of users and having services readily available to everywhere users go </li></ul><ul><li>It is an emerging paradigm to free everyday users from manually configuring and instructing computer systems </li></ul><ul><li>Allow us “to do more, by doing less” </li></ul>
  6. 6. Proactive/Autonomic Computing <ul><li>Is about building systems that can self-monitor, self-heal and self-configure (zero maintenance). </li></ul><ul><li>Human attention devoted to interaction can be reduced so that users can focus on high-level tasks </li></ul><ul><li>Both relate to ubiquitous computing and could use context information from environment and users to make decisions </li></ul>
  7. 7. Related Concepts <ul><li>Ambient Intelligence </li></ul><ul><ul><li>Intelligent interfaces acting in people-responsive environments </li></ul></ul><ul><li>Sentient Computing </li></ul><ul><ul><li>Use of sensors and resource status data to maintain and share a model view of the world </li></ul></ul><ul><li>Augmented Reality </li></ul><ul><li>Everywhere Computing </li></ul><ul><li>Physical Computing </li></ul><ul><li>The Internet of Things (...) </li></ul>
  8. 8. Context-Awareness
  9. 9. What is Context? <ul><li>Context is that which surrounds, and gives meaning, to something else </li></ul><ul><li>Context is any information that can be used to characterize the situation of an entity </li></ul><ul><ul><li>Typically the location, identity and state of people, groups, computational and physical objects </li></ul></ul><ul><ul><li>May come from disparate sources and has a relatively transient lifetime </li></ul></ul><ul><ul><ul><li>But historic data about context is important, anyway </li></ul></ul></ul>
  10. 10. “ An example of a piece of relevant context information is the most common question posed when communicating on mobile phones: ‘Where are you?’” Louise Barhuus Department of Design and Use of Information Technology The IT University of Copenhagen
  11. 11. Context-Aware Computing <ul><li>Not just “deliver any service at any time, anywhere”, but rather “delivering the right service at the right moment” </li></ul><ul><li>Mobile computing is introducing the possibility that the physical and logical context of a user might influence the behavior of services called for </li></ul><ul><ul><li>Mobile computing decouples function from location </li></ul></ul><ul><ul><ul><li>User location is transparent to function </li></ul></ul></ul><ul><ul><li>Recent trends are extending this concept of context to include many other facets of the user’s physical environment </li></ul></ul><ul><ul><ul><li>Many sensors are being added to characterize context </li></ul></ul></ul>
  12. 12. Context-Aware Applications <ul><li>Must acquire context information and use it in an intelligent manner (beneficial to either the service, the user or both) </li></ul><ul><li>In the mobile systems of today this would most likely be expressed as calls for service from either local or remote service providers </li></ul><ul><ul><li>The mobile user and his device becomes the “service consumer” </li></ul></ul><ul><li>Meaning arises in the course of action, is not inherent in the technology, but arises from how that technology is used </li></ul><ul><ul><li>This means the designer does not have absolute control, only influence </li></ul></ul><ul><li>Users feel less in control when using context-aware applications than when personalizing their own applications </li></ul><ul><ul><li>Despite this, context-aware applications are preferred over the personalization oriented ones </li></ul></ul>
  13. 13. Context Domains <ul><li>The situation of any entity is characterized by using several informations surrounding the service consumer </li></ul><ul><li>Historical information about any of these might also be considered </li></ul><ul><ul><li>Can also be deduced from interactions the user has made with services over time </li></ul></ul>
  14. 14. Contextual Information Samples <ul><li>User identity </li></ul><ul><li>Spatial information (location, orientation, speed, acceleration) </li></ul><ul><li>Temporal information (time of the day, date, season of the year) </li></ul><ul><li>Environmental information (temperature, air quality, light or noise level) </li></ul><ul><li>Social situation (who you are with, people that are nearby) </li></ul><ul><li>Resources that are nearby (accessible devices, networks, hosts) </li></ul><ul><li>Availability of resources (battery, display, network, bandwidth) </li></ul><ul><li>Physiological measurements (blood pressure, heart rate, respiration rate, muscle activity, tone of voice) </li></ul><ul><li>Activity (talking, reading, walking, running, sleeping) </li></ul><ul><li>Schedules and agendas </li></ul>
  15. 15. Video Pervasive Computing
  16. 16. Enabling Technologies <ul><li>Processing </li></ul><ul><ul><li>Cheaper, smaller, faster, more energy efficient </li></ul></ul><ul><li>Storage </li></ul><ul><ul><li>Big and fast </li></ul></ul><ul><li>Networking </li></ul><ul><ul><li>Global, local, ad-hoc, low-power, high bandwidth, low latencies </li></ul></ul><ul><li>Displays </li></ul><ul><ul><li>Projection, flexible material, low power </li></ul></ul><ul><li>Sensors </li></ul><ul><ul><li>Types, speed, accuracy, price, robustness </li></ul></ul><ul><li>Actuators </li></ul><ul><ul><li>Computer controlled </li></ul></ul>
  17. 17. Design <ul><li>Provide Services </li></ul><ul><ul><li>System design: which embedded system? Web server? Sensors and actuators? </li></ul></ul><ul><ul><li>Naming, registration, discovery </li></ul></ul><ul><ul><li>Physical/virtual mapping </li></ul></ul><ul><ul><li>Mobility management, energy management </li></ul></ul><ul><ul><li>Service composition, I/O matching, adaptation, environment monitoring </li></ul></ul>
  18. 18. Three Levels of Service
  19. 19. Some More Examples... <ul><li>Wearable Computer </li></ul><ul><ul><li>A t-shirt that automatically adjust the ambient temperature of the room by sensing body temperature </li></ul></ul><ul><li>Ambient Intelligence </li></ul><ul><ul><li>User presence is detected to show email in a nearby computer. This feature can be coupled with a coffee machine that senses the user to make coffee according to preferences, etc. </li></ul></ul><ul><li>Context-Aware Phone </li></ul><ul><ul><li>Only accepts calls that are important, according to user context </li></ul></ul>
  20. 20. Architecture
  21. 21. “ The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are undistinguishable from it.” Mark Weiser Chief Scientist at Xerox PARC
  22. 22. Principles of Ubiquitous Computing <ul><li>The purpose of a computer is to help you do something else </li></ul><ul><li>The best computer is a quiet, invisible servant </li></ul><ul><li>The more you can do by intuition the smarter you are. The computer should extend your unconscious </li></ul><ul><li>Technology should create calm </li></ul><ul><ul><li>Calm technology is that which informs but doesn’t demand our focus or attention </li></ul></ul><ul><li>A road to Peace through global conscience </li></ul>
  23. 23. Services Tomorrow
  24. 24. Context-Aware Applications Stack Physical Raw data Semantic Inference Application Physical or virtual sensor Data processing object Semantic processing object Inference object Application User’s GPS GPS measurements User’s latitude, longitude Services nearby the user? Notify user, execute service Components Layers Example
  25. 25. Service Inference Example Service Hotel Dish hotel service xsd:double Location xsd:double Rooms Facilities Dinning facility SnackBar Swimming pool DoubleRoom SingleRoom hotel:offers loc:latitude loc:longitude Restaurant owls:subClassOf Hotel ontology Location ontology OWL-S ontology owls:location owls:subClassOf owl:subClassOf owl:subClassOf owl:subClassOf
  26. 26. Abstract Layered Architecture for Context-Aware Systems applications storage/management preprocessing/reasoning raw data retrieval sensors Acting Subsystem Thinking Subsystem Sensing Subsystem
  27. 27. Research Issues <ul><li>Context Modeling & Reasoning </li></ul><ul><ul><li>How to build representations of context that can be processed and reasoned about by the computers </li></ul></ul><ul><li>Knowledge Maintenance & Sharing </li></ul><ul><ul><li>How to maintain consistent knowledge about the context and share that information with other systems </li></ul></ul><ul><li>User Privacy Protection </li></ul><ul><ul><li>How to give users the control of their situational information that is acquired from the hidden sensors </li></ul></ul>
  28. 28. Some Ideas <ul><li>A repository of context knowledge can help resource-limited devices to become context aware </li></ul><ul><li>Ontologies can help to share context knowledge, reducing the redundancy in sensing </li></ul><ul><li>Policies can give users the control of their context information, protecting their privacy in an open environment </li></ul><ul><ul><li>People are willing to give up partial control if the reward in usefulness is great enough </li></ul></ul>
  29. 29. Video UbiComp Nightmare
  30. 30. Conclusions (I) <ul><li>Context-Aware Computing demands for lots of different knowledge fields to follow: </li></ul><ul><ul><li>System infrastructures, networking, security, user interfaces, embedded systems, AI, perception, speech recognition, etc. </li></ul></ul><ul><li>Systems integration is the key </li></ul><ul><li>Many new and fascinating research problems are emerging </li></ul>
  31. 31. Conclusions (II) <ul><li>There is no common way to acquire and handle context </li></ul><ul><li>Unlike regular user input, context information is distributed and arrives from heterogeneous sources </li></ul><ul><li>The infrastructure must support the aggregation of context about entities in the environment </li></ul><ul><li>Performance is vital </li></ul><ul><ul><li>Actions need to be taken in time for it to be of use to the users </li></ul></ul><ul><ul><li>Very difficult to achieve near real-time </li></ul></ul><ul><li>User should retain control </li></ul><ul><ul><li>Should be able to cancel, stop and undo actions </li></ul></ul><ul><ul><li>Not always possible </li></ul></ul><ul><li>Privacy and Security must be guaranteed </li></ul><ul><ul><li>The users should decide how, where, to whom and for how long their personal information is accessible </li></ul></ul>
  32. 32. Context-Aware Computing Concepts & Architecture