The idea of context-aware services has been around for a long time. The rise of user mobility enabled by well-equipped mobile devices, increasing interconnectedness and available service platforms such as the mobile Web offers new possibilities for context-aware computing, but, at the same time, produces a number of novel challenges. In this chapter, the authors observe current approaches in this active research area, and identify the respective challenges, achievements, and trends. The authors also extend the notion of context-aware services by considering service composition approaches, and present a middleware aiming at the autonomic and context-aware provision of services in mobile peer-to-peer networks. In this regard special attention is paid to a semantic blackboard concept to cache and disseminate context data and a context-aware service composition approach in terms of the identified trends and challenges.
Increasing user mobility, availability of services, and capabilities of mobile devices all offer new opportunities for the provision of services, but also introduce substantial new requirements and challenges.
Chen and Kotz (2000) examined the status of context-aware mobile computing in 2000 and named the key examples and achievements in this area at that time. Starting from general definitions of context and context-awareness, four possible categories for context are depicted that extend the three categories proposed by Schilit et al. (1994): computing context, user context, physical context, and time the extra category. Their survey also lists a number of context-aware applications developed at that time, concluding that the type of context information mostly applied was location information (1). It is not clear to the authors whether other kinds of context information are more difficult to sense or simply not that useful. Their representation of context information gives six categories: location model, key-value pairs, tagged encoding, object-oriented model, logic-based model, and others (2). In terms of system infrastructure two kinds were identified: those with a centralized structure and those with a decentralized one (3).