Article Preview
TopIntroduction
Nowadays, mobile systems group many different devices usually equipped with two or more different heterogeneous wireless interfaces; mobile users require any-time and any-where access to both traditional and novel services, such as email, printing, and social computing applications, while moving across different wireless infrastructures and possibly connecting to dynamically discovered wireless-enabled resources, e.g., monitors and printers, with their portable devices. To facilitate the development and deployment of highly personalized and self-adapting mobile applications, most recent environments have recognized the importance of providing the application level with the full-awareness of current execution environment (user/device profile, location data, available wireless infrastructures connections, …) (Schilit, Adams & Want, 1994; Jones & Grandhi, 2005; Jones, Grandhi & Terveen, 2004).
Therefore, many recent industry and academic research efforts have investigated novel context-aware middlewares to address transparently complex issues posed by mobile environments, and especially to deal with specific problems related to context data representation, gathering, dissemination and retrieval (Sacramento, et al., 2004; Borcea, Gupta, Kalra, Jones & Iftode, 2008). In particular, much literature and work has addressed context data representation and gathering by proposing new and innovative description languages (Endler & Da Rocha, 2006). However, three core requirements necessary to enable effective and efficient context data diffusion, namely adaptability, scalability and dependability, are still - to the best of our knowledge - largely unexplored together. First, since mobile systems traditionally group heterogeneous devices that require access to context-aware services by using different wireless standards, we claim that context-aware middlewares should be able to exploit heterogeneity to increase communication opportunities and system coverage, e.g., to exchange messages and access proper context-aware services by using any wireless technology available on current smart-phones, Personal Digital Assistants (PDAs), laptop devices such as IEEE 802.11 (WiFi), Bluetooth (BT), and 3G cellular. Second, since mobile applications are traditionally deployed in densely populated environments, they should carefully tailor data dissemination so as to grant scalability. Third, since context-aware applications need continuous access to fresh and valid context data, context-aware middlewares should use context data replication and multiple dissemination routes to improve system dependability. In a sense, we claim that systems strive more in mimicking traditional solutions than facing new environments to exploit their properties in the best way.
Consequently, this article proposes a new context-aware middleware that exploits innovative solutions to address the aforementioned issues. To reduce context data traffic, we introduce a distributed hierarchical architecture and we use lightweight context queries to build dissemination routes. To grant the widest system coverage and adaptability, our middleware integrates different wireless standards (BT, WiFi, 3G cellular, …) and intelligently exploits intermediate multi-homed nodes to bridge together different wireless infrastructures and to facilitate the formation of local Mobile Ad-hoc NETworks (MANETs). Finally, to guarantee system resilience to infrastructure faults, we enable system autonomy in infrastructure-free environments by exploiting ad-hoc links and node cooperation. In order to validate our design choices, we deployed the middleware in our university campus.
Our campus is a truly challenging scenario where different persons, randomly roaming in wireless-enabled places, require access to many different context-aware services with their portable wireless devices. Moreover, our campus fosters also the development of context-aware applications since it is a highly collaborative environment where students and professors may share context data. Obtained experimental results demonstrate how different wireless technologies affect system performance and how our architecture adaptively changes context data dissemination behavior by granting high scalability and dependability, even under high traffic load conditions.