Context-aware Computing: Basic Concepts. Pervasive ComputingContext-aware Computing-1 Outline Motivation Context and Context-aware Computing Context-aware

Download Context-aware Computing: Basic Concepts. Pervasive ComputingContext-aware Computing-1 Outline Motivation Context and Context-aware Computing Context-aware

Post on 31-Mar-2015




0 download

Embed Size (px)


<ul><li>Slide 1</li></ul><p>Context-aware Computing: Basic Concepts Slide 2 Pervasive ComputingContext-aware Computing-1 Outline Motivation Context and Context-aware Computing Context-aware Applications Developing Context-aware Applications Issues and Challenges Special Topics Summary Slide 3 Pervasive ComputingContext-aware Computing-2 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 Slide 4 Pervasive ComputingContext-aware Computing-3 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 Slide 5 Pervasive ComputingContext-aware Computing-4 Traditional View of Computer Systems Computer System inputoutput Context independent: acts exactly the same Human in the loop Slide 6 Pervasive ComputingContext-aware Computing-5 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) Slide 7 Pervasive ComputingContext-aware Computing-6 Context as Implicit Input/Output Context-Aware System explicit input explicit output Context: state of the user state of the physical environment state of the computing system history of user-computer interaction... Slide 8 Pervasive ComputingContext-aware Computing-7 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 Slide 9 Pervasive ComputingContext-aware Computing-8 Why Context-Aware Computing? Context TypesExisting ExamplesHuman Concern Room ActivitySmoke AlarmSafetyRoom ActivityAuto Lights On / OffConvenienceObject IdentityBarcode ScannersEfficiency Personal Identity &amp; Time File SystemsFinding InfoTimeCalendar RemindersMemory Slide 10 Pervasive ComputingContext-aware Computing-9 Existing Examples Why Context-Aware Computing? Context Types Potential ExamplesHuman Concern ActivityConvenience ActivityFinding Info IdentityMemory Identity &amp; TimeSafety TimeEfficiency Identity Time Location Proximity Activity History Smoke Alarm Auto Lights On / Off Barcode Scanners File Systems Calendar Reminders Health Alert Auto Cell Phone Off In Meetings Service Fleet Dispatching Tag Photos Proximal Reminders Slide 11 Pervasive ComputingContext-aware Computing-10 Outline Motivation Context and Context-aware Computing Context-aware Applications Developing Context-aware Applications Issues and Challenges Special Topics Summary Slide 12 Pervasive ComputingContext-aware Computing-11 Definition of Context (1/3) Schilit divides context into three categories: Computing context User context Physical context Time is also important and natural context Time context =&gt; context history Slide 13 Pervasive ComputingContext-aware Computing-12 Definition of Context (2/3) Schmidt et al.: knowledge about users and IT devices 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 Slide 14 Pervasive ComputingContext-aware Computing-13 Definition of Context (3/3) Kotz: the set of environmental states and settings that either determines an applications 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 Slide 15 Pervasive ComputingContext-aware Computing-14 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 Slide 16 Pervasive ComputingContext-aware Computing-15 Context-aware Computing (1/3) Pascoe: taxonomy of context-aware features contextual sensing context adaptation contextual resource discovery contextual augmentation (associating digital data with users context) Slide 17 Pervasive ComputingContext-aware Computing-16 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 Slide 18 Pervasive ComputingContext-aware Computing-17 Context-aware Computing (3/3) Kotz: Active context awareness - An application automatically adapts to discovered context, by changing the applications 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. Slide 19 Pervasive ComputingContext-aware Computing-18 Context-Aware and Pervasive What is the relationship between context-aware computing and pervasive computing? Slide 20 Pervasive ComputingContext-aware Computing-19 Outline Motivation Context and Context-aware Computing Context-aware Applications Taxonomy Developing Context-aware Applications Issues and Challenges Special Topics Summary Slide 21 Pervasive ComputingContext-aware Computing-20 Examples of Context-awareness ! Situation/ high-level contexts Slide 22 Pervasive ComputingContext-aware Computing-21 Active Badges Active Badge Olivetti / AT&amp;T Hopper, Harter, et al 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 Slide 23 Pervasive ComputingContext-aware Computing-22 Active Badges (contd) Interface follow-me (location) Slide 24 Pervasive ComputingContext-aware Computing-23 ParcTabs Xerox PARC Want, Schilit, et al Active badge + wireless Rough location + ID Showing information of the room the user in Help find resources Show all files in a directory when enter a room Locate others Different control choices in different rooms (location, time, nearby devices, file system state) Slide 25 Pervasive ComputingContext-aware Computing-24 Auto-diaries and Proximate Selection Slide 26 Pervasive ComputingContext-aware Computing-25 In/Out Board (Georgia Tech) Context: identity by FRID, time Slide 27 Pervasive ComputingContext-aware Computing-26 DUMMBO (Georgia Tech) Dynamic Ubiquitous Mobile Meeting Board: Digitizing whiteboard to capture and access informal and spontaneous meetings Capture ink written to and erased from whiteboard, and audio discussion Activated when two or more people gathered around Context: ID, time, location of whiteboard Slide 28 Pervasive ComputingContext-aware Computing-27 Cyberguide Georgia Tech Abowd et al 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 Slide 29 Pervasive ComputingContext-aware Computing-28 Cyberguide (contd) Slide 30 Pervasive ComputingContext-aware Computing-29 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 Enhanced PDA Microsoft Research Hinckley et al Slide 31 Pervasive ComputingContext-aware Computing-30 GUIDE (University of Lancaster) Context: location through WLAN, user preference Slide 32 Pervasive ComputingContext-aware Computing-31 Fieldwork University of Kent at Canterbury: archeological assistant giraffe observation rhino identification (location through PalmPilot, GPS; time) Location dependent notes through StickPlate, StickEdit, StickMap Slide 33 Pervasive ComputingContext-aware Computing-32 Memory Aids Forget-Me-Not: Rank Xerox ParcTab recording where its user is, who they are with, whom they phone, etc. in a database for later retrieval StartleCam: MIT Media lab. Skin conductivity sensor triggers taking of images and transmitting to remote server Slide 34 Pervasive ComputingContext-aware Computing-33 Other Applications Shopping assistant (location) Smart floor, active floor Office assistant from MIT Media Lab. (activity, schedule) Slide 35 Pervasive ComputingContext-aware Computing-34 Summary: A Rough Taxonomy of Context-Aware Apps Triggers Metadata Tagging Reconfiguration and Streamlining Input specification Presentation Slide 36 Pervasive ComputingContext-aware Computing-35 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" Slide 37 Pervasive ComputingContext-aware Computing-36 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 Slide 38 Pervasive ComputingContext-aware Computing-37 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 Slide 39 Pervasive ComputingContext-aware Computing-38 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 Slide 40 Pervasive ComputingContext-aware Computing-39 Outline Motivation Context and Context-aware Computing Context-aware Applications Developing Context-aware Applications Issues and Challenges Special Topics Summary Slide 41 Pervasive ComputingContext-aware Computing-40 Design Process of Typical Context- aware Applications 1. Specification 2. Acquisition and Representation 3. Delivery/Distribution 4. Reception and Storage 5. Action (the application) Slide 42 Pervasive ComputingContext-aware Computing-41 Design Process: Specification Context to use Context behaviors to perform Key step in design process: problem specification Slide 43 Pervasive ComputingContext-aware Computing-42 Design Process: Acquisition Install relevant sensors Sensors: infrastructure or personal artifacts Where to sense? How often to update and report? Context representation Store context Slide 44 Pervasive ComputingContext-aware Computing-43 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 =&gt; Need to deliver and distribute context to multiple, remote applications Infrastructure or middleware support App/network-level delivery/routing models and transport mechanism Slide 45 Pervasive ComputingContext-aware Computing-44 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,... Slide 46 Pervasive ComputingContext-aware Computing-45 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 Slide 47 Pervasive ComputingContext-aware Computing-46 Outline Motivation Context and Context-aware Computing Context-aware Applications Developing Context-aware Applications Issues and Challenges Special Topics Summary Slide 48 Pervasive ComputingContext-aware Computing-47 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 Slide 49 Pervasive ComputingContext-aware Computing-48 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 =&gt; direct vs. indirect awareness Slide 50 Pervasive ComputingContext-aware Computing-49 Sensing the Context (3/3) High-level contexts: users 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? Slide 51 Pervasive ComputingContext-aware Computing-50 Quality of Contexts What context is important? Always and in different situations? Quality: Coverage, resolution, accuracy, confidence, reliability, frequency, timeliness Self-contained vs. infrastructure-supported PDA doesn't need location sensors if it can ask nearby sensors to approximate Need standards for sharing components? Slide 52 Pervasive ComputingContext-aware Computing-51 Modeling Contexts Location model: Symbolic: Active Badge, symbols Geometric: GPS, coordinates Environmental model: relationship between... Locations: hierarchical, containment, distance People: friend, family, hierarchy Devices? Context representation: Key-value pairs, tagged encoding Object-oriented model: contexts as object states Logic-based model: facts in rule-based system Slide 53 Pervasive ComputingContext-aware Computing-52 Context Specification Need to express context about and relationships between People, Places, Things Predicates Identity (Who is? What is? Is with?) Location (Near? Nearest? Distance? Path?) Activi...</p>