280 likes | 530 Views
The Anatomy of a Context-Aware Application. Computer Science and Engineering University of Texas at Arlington Cheng-Lung Chu. Overview. Context and context-awareness A platform described in the paper Bat Teleporting. Context. Context means situational information
E N D
The Anatomy of a Context-Aware Application Computer Science and Engineering University of Texas at Arlington Cheng-Lung Chu CSE 6362 Intelligent Environments Spring 2003
Overview • Context and context-awareness • A platform described in the paper • Bat Teleporting CSE 6362 Intelligent Environments Spring 2003
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. CSE 6362 Intelligent Environments Spring 2003
Context cont’ • Almost any info available at the time of an interaction can be seen as context info. • Examples • 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
Context-Awareness • Context-awareness • 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
A Context-aware application • A context-aware application adapts its behavior to a changing environment • Proposed Platform • 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
Indoor Location Sensing • Ideal location sensor for use indoor • Fine-grain spatial info • High update rate • Unobtrusive • Cheap • Scalable • Robust CSE 6362 Intelligent Environments Spring 2003
The Bat Location System –Bat • Bats • 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
The Bat Location System –Ultrasound receiver unit • Placed at known points on the ceiling of the rooms to be instrumented • Connected by a high-speed serial network in daisy-chain fashion • Ultrasound receiver units • Receivers are placed in a square grid, 1.2m apart CSE 6362 Intelligent Environments Spring 2003
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 CSE 6362 Intelligent Environments Spring 2003
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 CSE 6362 Intelligent Environments Spring 2003
The Bat Location System • Reflection error - Statistical outlier rejection algorithm • Reverberation 20 ms - location updates 50/second • Scalability issues • 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
The Bat Location System CSE 6362 Intelligent Environments Spring 2003
The Bat Location System • Current deployment • 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
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 CSE 6362 Intelligent Environments Spring 2003
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 • Update frequency • Relevancy • caching CSE 6362 Intelligent Environments Spring 2003
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 CSE 6362 Intelligent Environments Spring 2003
Spatial monitoring CSE 6362 Intelligent Environments Spring 2003
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 CSE 6362 Intelligent Environments Spring 2003
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 CSE 6362 Intelligent Environments Spring 2003
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 CSE 6362 Intelligent Environments Spring 2003
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 Positive containment Negative containment Negative overlap Bat Teleporting cont’ CSE 6362 Intelligent Environments Spring 2003
Bat Teleporting cont’ CSE 6362 Intelligent Environments Spring 2003
An application provides human users with browsable model of the world which they can explore CSE 6362 Intelligent Environments Spring 2003
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 event-based applications to be written CSE 6362 Intelligent Environments Spring 2003
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 CSE 6362 Intelligent Environments Spring 2003