The Anatomy of a ContextAware Application Computer Science and Engineering University of Texas at Arlington Cheng-Lung Chu 2003/4/21 CSE 6362 Intelligent Environments Spring 2003 1 Overview Context and context-awareness A platform described in the paper Bat Teleporting 2003/4/21 CSE 6362 Intelligent Environments Spring 2003 2 Context Context means situational information “Context is any information that can be used to characterize the situation of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and application themselves.” Dey, A.K. and Abowd. G.D., Georgia Institute of Technology, 1999. 2003/4/21 CSE 6362 Intelligent Environments Spring 2003 3 Context cont’ Almost any info available at the time of an interaction can be seen as context info. Examples 2003/4/21 Identity Spatial info – location, orientation, speed, and acceleration Temporal info – time of the day Environmental info Social situation Resources that are nearby Availability of resources Physiological measurements Activity Schedules and agendas CSE 6362 Intelligent Environments Spring 2003 4 Context-Awareness Context-awareness 2003/4/21 One is able to use context info. A system is context-aware if it can extract, interpret and use context info and adapt its functionality to the current context of use Challenge – Complexity of capturing, representing and processing contextual data CSE 6362 Intelligent Environments Spring 2003 5 A Context-aware application A context-aware application adapts its behavior to a changing environment Proposed Platform 2003/4/21 A fine-grained location system A detailed data model A persistent distributed object system Resource monitors A spatial monitoring service CSE 6362 Intelligent Environments Spring 2003 6 Indoor Location Sensing Ideal location sensor for use indoor 2003/4/21 Fine-grain spatial info High update rate Unobtrusive Cheap Scalable Robust CSE 6362 Intelligent Environments Spring 2003 7 The Bat Location System – Bat Bats 2003/4/21 Consist of a radio transceiver, controlling logic, and ultrasonic transducer 7.5x3.5x1.5 (cm), 35g 48-bit Globally unique ID Powered by a single 3.6V Lithium cell, a lifetime of around fifteen months CSE 6362 Intelligent Environments Spring 2003 8 The Bat Location System – Ultrasound receiver unit Ultrasound receiver units Placed at known points on the ceiling of the rooms to be instrumented Connected by a high-speed serial network in daisy-chain fashion Receivers are placed in a square grid, 1.2m apart 2003/4/21 CSE 6362 Intelligent Environments Spring 2003 9 The Bat Location System Base station Periodically transmits a radio message containing a single identifier, causing the corresponding Bat to emit a short un-encoded pulse of ultrasound In the mean time, receiver are reset via the wired network Receivers monitor the incoming ultrasound and record the time of arrival of any signal from the Bat Times-of-flight of the ultrasound pulse from the Bat to receivers 2003/4/21 CSE 6362 Intelligent Environments Spring 2003 10 The Bat Location System Entity location is determined based on the principle of trilateration 3D position can be also deduced Orientation of an object can be deduced 2003/4/21 CSE 6362 Intelligent Environments Spring 2003 11 The Bat Location System Reflection error - Statistical outlier rejection algorithm Reverberation 20 ms - location updates 50/second Scalability issues 2003/4/21 Location Quality of service Scheduling info can also be used to assist power saving The set of Bats to be tracked may change over time Handover of control between base stations CSE 6362 Intelligent Environments Spring 2003 12 The Bat Location System 2003/4/21 CSE 6362 Intelligent Environments Spring 2003 13 The Bat Location System Current deployment 2003/4/21 720 receivers and 6 radio cells to cover an area of around 1000 m2 on three floors. The system can determine the positions of up to 75 objects each second, accurate to around 3cm in three dimensions CSE 6362 Intelligent Environments Spring 2003 14 Environment model Describing entities in the real world and their possible interactions Sets out the types, names, capabilities and properties of all entities and acts as a bridge, allowing computer systems to share the user’s perceptions of the real world Ouija – a package provides an object-oriented data modeling language which is used to generate an object layer on top of the relational model used by the Oracle DB 3-tier architecture 2003/4/21 CSE 6362 Intelligent Environments Spring 2003 15 2003/4/21 CSE 6362 Intelligent Environments Spring 2003 16 Resource Monitor Resource monitor Installed on all networked machines Machine activity Machine resources Network point-to-point bandwidth and latency Techniques to ensure the DB not to be a bottleneck 2003/4/21 Update frequency Relevancy caching CSE 6362 Intelligent Environments Spring 2003 17 Programming with Space Location-aware applications are interested in relative spatial facts The person is standing in front of the workstation Express relative spatial facts in terms of geometric containment relationship Applications receive a stream of events expressing spatial facts relevant to them 2003/4/21 CSE 6362 Intelligent Environments Spring 2003 18 Spatial monitoring 2003/4/21 CSE 6362 Intelligent Environments Spring 2003 19 Containment tree indexing system The index system uses a quadtree called the containment index Maximal cover – the smallest set of quadtree cells required to cover the space at a particular resolution 2003/4/21 CSE 6362 Intelligent Environments Spring 2003 20 The containment indexing theorem Space s is contained by space t if and only if, for each cell x in the maximal cover of s, there exists exactly one cell in the maximal cover of t that contains x or is equal to x 2003/4/21 CSE 6362 Intelligent Environments Spring 2003 21 Bat Teleporting Improved application based on Active Badge System Redirect X Window System environment to different displays Virtual Network Computing system Provides a windowing-system-independent means for a user to access his desktop environment from any networked machine Event driven application 2003/4/21 CSE 6362 Intelligent Environments Spring 2003 22 Bat Teleporting cont’ Two buttons on the Bat One is used to allow selection of an alternative desktop The other is used to override the current desktop owned by other users Three relative geometry conditions are registered with the spatial monitor 2003/4/21 Positive containment Negative containment Negative overlap CSE 6362 Intelligent Environments Spring 2003 23 Bat Teleporting cont’ 2003/4/21 CSE 6362 Intelligent Environments Spring 2003 24 An application provides human users with browsable model of the world which they can explore 2003/4/21 CSE 6362 Intelligent Environments Spring 2003 25 Conclusions A fine-grained sensor system A rich data model reflecting the resource information required to support context-aware application A distributed system of persistent objects which can be queried by context-aware application A resource monitoring system for collecting information about the computing environment A spatial monitoring system which allows eventbased applications to be written 2003/4/21 CSE 6362 Intelligent Environments Spring 2003 27 References Ward, A., Jones, A., Hopper, A. A New Location Technique for the Active Office. IEEE Personal Communications Magazine, Vol. 4, No. 5, October 1997. pp. 42-47 Hightower, J. and Borriello, G., A Survey and Taxonomy of Location Sensing Systems for Ubiquitous Computing, UW CSE 01-08-03, University of Washington, Department of Computer Science and Engineering, Seattle, WA, Aug. 2001. Korkea-aho, M., Context-Aware Applications Survey, Helsinki University of Technology, Department of Computer Science, Apr, 2000 http://www.uk.research.att.com/bat/ http://www.uk.research.att.com/ Harter, A., Hopper, A., Steggles, P., Ward, A., and Webster, P., The Anatomy of a Context-Aware Application, Wireless Networks, Vol. 8, pp. 187-197 2003/4/21 CSE 6362 Intelligent Environments Spring 2003 28