In the last two decades, the many advances in telecommunications and in electronic field have promoted the spreading of wireless communications and mobile devices. Nowadays, many wireless systems serve our society to offer different services, like mobile telephony, TV broadcasting, localization system, and so forth, without the usual constraints imposed by a fixed cable. Starting from these traditional scenarios of mobile telephony, especially in the last years, mobile users require more and more any-time and any-where access to traditional Internet services, like email, and social computing applications, while moving across different wireless infrastructures and possibly connecting to dynamically discovered wireless-enabled resources, such as monitors and printers, with their portable devices.
To fully exploit the great potential stemming from these new mobile scenarios, much works have already recognized the importance of providing the application level with full-awareness of current execution environment (user/device profile, localization data, available wireless infrastructure, …), usually named as context awareness. By exploiting context-awareness, we can realize self-adapting applications able to dynamically change their behavior depending on the current situation. Unfortunately, even if context-awareness is a well-defined and understandable problem, we can notice an almost complete lacking of context-aware solutions. In fact, these scenarios impose many different inter-disciplinary challenges spanning from context modeling, representation and processing, i.e., local issues related to knowledge representation and elaboration, to efficient context distribution and retrieval, i.e., computer networks issues.
To the best of our knowledge, even if much literature already discussed broadly and systematically local context management aspects, context data distribution and retrieval is much neglected. Traditionally, context-aware solutions exploit a fixed-infrastructure approach to ensure context data access, but completely leave out those problems, like scalability and adaptivity, that we consider first-class issues in real and densely populated scenarios.
Unlike those traditional approaches that consider context data distribution a lateral problem, we want to focus on management aspects of context data especially in large-scale distributed networks. Consequently, our original Scalable context-Aware middleware for mobiLe EnvironmentS (SALES) reduces the context data distribution burden exploiting some innovative solutions:
- Hierarchical tree-like architecture: Exploiting a physical locality principle, SALES groups nodes in physical proximity to obtain a final tree-like hierarchical distributed architecture useful to tailor context data distribution. Besides, exploiting logical locality principle, SALES distributes context data only to interested nodes with the principal aim of reducing introduced overhead while contemporary ensuring data access.
- Heterogeneous wireless communication: SALES uses the different communication opportunities provided by each single device to distribute and retrieve context data. In particular, it actively uses different wireless standards, like IEEE 802.11 (Wi-Fi) and Bluetooth (BT), to increase the available bandwidth and to maximize the system coverage.
- Heterogeneous wireless modes: Many wireless technologies, like Wi-Fi and BT, enable direct ad-hoc communications between near devices. Using this opportunity, SALES performs cheap context data distribution that does not introduce any overhead on deployed wireless infrastructures.
- Distributed context data caching: The huge amount of context data can overwhelm whatever large storage system. Moreover, the number of requests routed to retrieve context data can overflow whatever fixed infrastructure and servers as well. To reduce memory and processing overhead, the data distribution, apart from traditional cluster-based architecture on fixed infrastructure, uses mobile devices to build a distributed context data repository.
- Adaptiveness: SALES uses adaptive solutions to enhance system scalability. First, it adapts mobility management protocols according to wireless transmission range and device mobility patterns. Second, it adapts context data distribution protocols according to current available bandwidth.
- Quality of Context (QoC)-based data distribution: SALES exploits Quality of Context (QoC) to impose quality requirements both on exchanged data and on the data distribution process itself. We introduce contracts, namely Context Data Distribution Level Agreements (CDDLAs), to detail the quality requirements SALES has to ensure. The important consequence is that, as long as those constraints are respected, SALES can self-adapt to maximize the scalability of the system.
- Context-aware data distribution: SALES uses context-awareness into the MANET to adapt the data distribution process. In particular, it monitors available bandwidth and it estimates the status of the wireless channel, so to prevent congestion and collision.