H.-A. Jacobsen (Ed.): Middleware 2004, LNCS 3231, pp. 397–416, 2004. © IFIP International Federation for Information Processing 2004 MiddleWhere: A Middleware for Location Awareness in Ubiquitous Computing Applications Anand Ranganathan, Jalal Al-Muhtadi, Shiva Chetan, Roy Campbell, and M. Dennis Mickunas Department of Computer Science, University of Illinois at Urbana Champaign, 1304 W. Springfield Ave., Urbana, IL 61801 {ranganat,almuhtad,chetan,rhc,mickunas}@cs.uiuc.edu Abstract. Location awareness significantly enhances the functionality of ubiq- uitous computing services and applications, and enriches the way they interact with users and resources in the environment. Many different alternative or complementary location sensing technologies are available. However, these technologies give location information in different formats and with different resolution and confidence. In this paper we introduce “MiddleWhere” a distrib- uted middleware infrastructure for location that separates applications from lo- cation detection technologies. MiddleWhere enables the fusion of different lo- cation sensing technologies and facilitates the incorporation of additional location technologies on the fly as they become available. MiddleWhere utilizes probabilistic reasoning techniques to resolve conflicts and deduce the location of people given different sensor data. Besides, it allows applications to deter- mine various kinds of spatial relationships between mobile objects and their en- vironment, which is key in enabling a strong coupling between the physical and virtual world, as emphasized by ubiquitous computing. We have integrated MiddleWhere with our ubiquitous computing infrastructure, and have verified its flexibility and usefulness by incorporating various location sensing tech- nologies and building a number of location-sensitive applications on top of it. 1 Introduction Ubiquitous computing has inspired the construction of active, information-rich physi- cal spaces that encompass large numbers of interconnected computer devices and embedded processors. This dust of computing machinery will be providing new func- tionality, offering personalized services, and supporting omnipresent applications. Location awareness enables significant functionality to ubiquitous computing applica- tions, users, resources and the ways they interact. It allows ubiquitous computing environments to tailor themselves according to users’ preferences and expectations, and reconfigure the available resources in the most efficient way to meet users’ de- mands and provide seamless interaction. For example, applications and data can follow users as they roam around, content can be customized based on users’ location, and physical surroundings can be customized according to their inhabitants. A plethora of different alternative or complementary location technologies and sensors are available. The different technologies have different capabilities and as- sumptions and provide assorted levels of location accuracy. No single location sens- ing technology has emerged as a clear winner in all kinds of environments. For exam-