context-aware computing: basic concepts. pervasive computingcontext-aware computing-1 outline...

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)


  • Slide 1

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 & 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 & 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 => 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&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, execut


View more >