1.26k likes | 1.73k Vues
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.
E N D
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 • “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
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
Traditional View of Computer Systems Context independent: acts exactly the same Computer System input output Human in the loop
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)
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 • ...
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”
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
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
Outline • Motivation • Context and Context-aware Computing • Context-aware Applications • Developing Context-aware Applications • Issues and Challenges • Special Topics • Summary
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
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
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
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
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)
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
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.
Context-Aware and Pervasive • What is the relationship between context-aware computing and pervasive computing?
Outline • Motivation • Context and Context-aware Computing • Context-aware Applications • Taxonomy • Developing Context-aware Applications • Issues and Challenges • Special Topics • Summary
Situation/ high-level contexts Examples of Context-awareness • 垃圾郵件過濾 • 汽車恆溫系統 • 會議記錄 • 開會中關閉手機 • 家裡的老人家跌倒了,叫救護車!
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
Active Badges (cont’d) • Interface follow-me (location)
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
In/Out Board (Georgia Tech) • Context: identity by FRID, time
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
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
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
GUIDE (University of Lancaster) • Context: location through WLAN, userpreference
Fieldwork • University of Kent at Canterbury: • archeological assistant • giraffe observation • rhino identification (location through PalmPilot, GPS; time) • Location dependent notes through StickPlate, StickEdit, StickMap
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
Other Applications • Shopping assistant (location) • Smart floor, active floor • Office assistant from MIT Media Lab. (activity, schedule)
Summary: A Rough Taxonomy of Context-Aware Apps • Triggers • Metadata Tagging • Reconfiguration and Streamlining • Input specification • Presentation
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"
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
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
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
Outline • Motivation • Context and Context-aware Computing • Context-aware Applications • Developing Context-aware Applications • Issues and Challenges • Special Topics • Summary
Design Process of Typical Context-aware Applications 1. Specification 2. Acquisition and Representation 3. Delivery/Distribution 4. Reception and Storage 5. Action (the application)
Design Process: Specification • Context to use • Context behaviors to perform Key step in design process: problem specification
Design Process: Acquisition • Install relevant sensors • Sensors: infrastructure or personal artifacts • Where to sense? • How often to update and report? • Context representation • Store context
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
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,...
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
Outline • Motivation • Context and Context-aware Computing • Context-aware Applications • Developing Context-aware Applications • Issues and Challenges • Special Topics • Summary
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
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
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?