1 / 125

Context-aware Computing: Basic Concepts

Context-aware Computing: Basic Concepts. 金仲達教授 清華大學資訊系統與應用研究所 九十三學年度第一學期. Outline. Motivation Context and Context-aware Computing Context-aware Applications Developing Context-aware Applications Issues and Challenges Special Topics Summary. Sources.

Télécharger la présentation

Context-aware Computing: Basic Concepts

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.


Presentation Transcript

  1. Context-aware Computing:Basic Concepts 金仲達教授 清華大學資訊系統與應用研究所 九十三學年度第一學期

  2. Outline • Motivation • Context and Context-aware Computing • Context-aware Applications • Developing Context-aware Applications • Issues and Challenges • Special Topics • Summary

  3. Sources • “Out of Context: Computer Systems That Adapt to, and Learn from, Context,” H. Lieberman, T. Selker, MIT • “A Survey of Context-Aware Mobile Computing Research,” by G. Chen, D. Kotz, Dartmouth College • “Context-Aware Applications Survey,” M. Korkea-aho, Helsinki University of Technology • Slides from Jason I. Hong, Group for User Interface Research, U. of California at Berkeley

  4. Motivation • Modern computers are divorced from reality • Unaware of who, where, and what around them • Leads to mismatch • Computers have extremely limited input • Aware of explicit input only • Can take a lot of effort to do simple things • Context-Aware Computing • Making computers more aware of the physical and social worlds we live in • Breaking computers out of the box

  5. Traditional View of Computer Systems Context independent: acts exactly the same Computer System input output Human in the loop

  6. From Abstraction to Context Sensitivity • Traditional black box view comes from the desire for abstraction • This is based on several assumptions: • Explicit input/output: slow, intrusive, requiring user attention • Sequential input-output loop • Move away from the black box model and into context-sensitivity • human out-of-the-loop (as much as possible) • reduce explicit interaction (as much as possible)

  7. Context as Implicit Input/Output explicit input explicit output Context-Aware System • Context: • state of the user • state of the physical environment • state of the computing system • history of user-computer interaction • ...

  8. Context-Aware Computing • Let computer systems sense automatically, remember history, and adapt to changing situations • Reduced explicit interaction, more responsive • Need to draw a boundary around the system under consideration • To define “explicit” and “implicit”

  9. Smoke Alarm Room Activity Safety Auto Lights On / Off Room Activity Convenience Barcode Scanners Object Identity Efficiency File Systems Personal Identity & Time Finding Info Calendar Reminders Time Memory Why Context-Aware Computing? Existing Examples Context Types Human Concern

  10. Why Context-Aware Computing? Existing Examples Potential Examples Context Types Human Concern Auto Cell Phone Off In Meetings Auto Lights On / Off Activity Identity Time Location Proximity Activity History … Convenience File Systems Tag Photos Activity Finding Info Calendar Reminders Proximal Reminders Identity Memory Smoke Alarm Health Alert Identity & Time Safety Barcode Scanners Service Fleet Dispatching Time Efficiency

  11. Outline • Motivation • Context and Context-aware Computing • Context-aware Applications • Developing Context-aware Applications • Issues and Challenges • Special Topics • Summary

  12. Definition of Context (1/3) • Schilitdivides context into three categories: • Computing context • User context • Physical context • Time is also important and natural context • Time context => context history

  13. Definition of Context (2/3) • Schmidt et al.: “knowledge about user’s and IT device’s state, including surroundings, situation, and to a less extent, location” • Dey: “any information that can be used to characterize the situation of an entity” • Entity: person, place, object that is considered relevant to the interaction between a user and an application

  14. Definition of Context (3/3) • Kotz: “the set of environmental states and settings that either determines an application’s behavior or in which an application event occurs and is interesting to the user” • Active context: influences behavior of an application • Passive context: relevant to the application, but not critical

  15. Examples of Context • Identity • Spatial: location, orientation, speed • Temporal: date, time of day, season • Environmental: temperature, light, noise • Social: people nearby, activity, calendar • Resources: nearby, availability • Physiological: blood pressure, heart rate, tone of voice

  16. Context-aware Computing (1/3) • Pascoe: taxonomy of context-aware features • contextual sensing • context adaptation • contextual resource discovery • contextual augmentation (associating digital data with user’s context)

  17. Context-aware Computing (2/3) • Dey: context-aware features • presentation of information/services to a user according to current context • automatic execution of a service when in a certain context • tagging context to information for later retrieval

  18. Context-aware Computing (3/3) Kotz: • Active context awareness - An application automatically adapts to discovered context, by changing the application’s behavior • Passive context awareness - An application presents the new or updated context to an interested user or makes the context persistent for the user to retrieve later.

  19. Context-Aware and Pervasive • What is the relationship between context-aware computing and pervasive computing?

  20. Outline • Motivation • Context and Context-aware Computing • Context-aware Applications • Taxonomy • Developing Context-aware Applications • Issues and Challenges • Special Topics • Summary

  21. Situation/ high-level contexts Examples of Context-awareness • 垃圾郵件過濾 • 汽車恆溫系統 • 會議記錄 • 開會中關閉手機 • 家裡的老人家跌倒了,叫救護車!

  22. Active Badges • Badges emit infrared signals • Gives rough location + ID • Teleport • Redirect screen output from "home" computer to nearby computer • Phone forwarding • Automatically forward phone calls to nearest phone Active Badge Olivetti / AT&T Hopper, Harter, et al

  23. Active Badges (cont’d) • Interface follow-me (location)

  24. ParcTabs • Active badge + wireless • Rough location + ID • Showing information ofthe room the user in • Help find resources • Show all files in a directorywhen enter a room • Locate others • Different control choices indifferent rooms (location, time, nearby devices, file system state) ParcTabs Xerox PARC Want, Schilit, et al

  25. Auto-diaries and Proximate Selection

  26. In/Out Board (Georgia Tech) • Context: identity by FRID, time

  27. DUMMBO (Georgia Tech) • Dynamic Ubiquitous Mobile Meeting Board: • Digitizing whiteboard to capture and access informal and spontaneous meetings • Capture ink written toand erased fromwhiteboard, andaudio discussion • Activated when twoor more peoplegathered around • Context: ID, time,location of whiteboard

  28. Cyberguide • GPS or infrared tracking • Fairly precise location • Display location on screen • Predefined points of interest • Automatically pop up if nearby • Travel journal • Keep log of places seen and photographs taken • Context: location, time Cyberguide Georgia Tech Abowd et al

  29. Cyberguide (cont’d)

  30. Enhanced PDA • Voice memo • Hold like phone near mouth to start recording • Portrait/Landscape • Physically rotate screen • Tilt scrolling • Tilt instead of scrollbars • Power management • Turn on if being held and tilted Microsoft Research Hinckley et al

  31. GUIDE (University of Lancaster) • Context: location through WLAN, userpreference

  32. Fieldwork • University of Kent at Canterbury: • archeological assistant • giraffe observation • rhino identification (location through PalmPilot, GPS; time) • Location dependent notes through StickPlate, StickEdit, StickMap

  33. Memory Aids • Forget-Me-Not: Rank Xerox • ParcTab recording where itsuser is, who they are with,whom they phone, etc. in a database for later retrieval • StartleCam: MIT Media lab. • Skin conductivity sensortriggers taking of imagesand transmitting to remoteserver

  34. Other Applications • Shopping assistant (location) • Smart floor, active floor • Office assistant from MIT Media Lab. (activity, schedule)

  35. Summary: A Rough Taxonomy of Context-Aware Apps • Triggers • Metadata Tagging • Reconfiguration and Streamlining • Input specification • Presentation

  36. A Rough Taxonomy of Context-Aware Apps • Triggers • On X do Y • "Notify doctor and nearby ambulances if serious health problem detected" • "Remind me to talk to Chris about user studies next time I see him"

  37. A Rough Taxonomy of Context-Aware Apps • Metadata Tagging • "Where was this picture taken?" • "Find all notes taken while Mae was talking" • Memory prosthesis • Stick-e notes: University of Kent • Stick-e note: attaching notes to a context, later trigger the node when context occurs again • Programming environment based on stick-e: • Triggering, execution, and sensor components

  38. A Rough Taxonomy of Context-Aware Apps • Reconfiguration and Streamlining • Telephone forwarding and Teleport • Turn off cell phone in theaters • Automatically adjust brightness / volume • Automatic file pre-caching • Select modes in multimodal interaction • Multimedia / Bandwidth adaptation

  39. A Rough Taxonomy of Context-Aware Apps • Input specification • Send mail only to people in building now • Print to nearest printer • "Find gas stations nearest me" • Presentation of plain contexts • Current location • Idle? • Currently in? • Contextual info about objects • Proximate selection

  40. Outline • Motivation • Context and Context-aware Computing • Context-aware Applications • Developing Context-aware Applications • Issues and Challenges • Special Topics • Summary

  41. Design Process of Typical Context-aware Applications 1. Specification 2. Acquisition and Representation 3. Delivery/Distribution 4. Reception and Storage 5. Action (the application)

  42. Design Process: Specification • Context to use • Context behaviors to perform Key step in design process: problem specification

  43. Design Process: Acquisition • Install relevant sensors • Sensors: infrastructure or personal artifacts • Where to sense? • How often to update and report? • Context representation • Store context

  44. Design Process: Delivery/Distribution • Contexts typically captured remotely from applications at different time • Context captured in sensor-rich environment or device may need to serve multiple applications => Need to deliver and distribute context to multiple, remote applications • Infrastructure or middleware support • App/network-level delivery/routing models and transport mechanism

  45. Design Process: Reception • Application locates relevant sensors/contexts • Service discovery • Requests contexts via queries, polls, notifications • Query language, event-notification mechanism • How often to request? • Additional interpretation/abstraction/processing • Collection, aggregation, filtering, correlation, fusion,...

  46. Design Process: Action • Combine received contexts with previous contexts and system/application states for further analysis • Perform actions based on the analysis results • May treat context collection/processing as a separate service

  47. Outline • Motivation • Context and Context-aware Computing • Context-aware Applications • Developing Context-aware Applications • Issues and Challenges • Special Topics • Summary

  48. Sensing the Context (1/3) • Location: • Outdoors: GPS • Indoors: IR, RF, ultrasonic, camera(cellular and non-cellular) • Hybrid: IEEE 802.11, Mobile-IP • Issues: • Heterogeneous sensors with uncertainty and conflicts (sensor fusion) • Data vs sensor networks • Making mobile devices location-aware

  49. Sensing the Context (2/3) • Low-level contexts beyond location • Time: time-of-day (with calendar) • Nearby objects • Network bandwidth • Orientation • Others: photodiode (light), accelerometer (tilt, vibration), microphone, sensors for temperature, pressure, gas, etc. • Issue: sensors in mobile devices or infrastructure => direct vs. indirect awareness

  50. Sensing the Context (3/3) • High-level contexts: user’s activity • Camera technology and image processing • Consult calendar for what user is to do • Combine low-level sensors, e.g., using rules • How about emotional contexts? • Context changes: subscription-notification • Polling rate?

More Related