Context information may refer to any information that can be used to characterize the state of an entity, which may be a person, a system module, or any other object that is relevant to a particular application (or use case) (Abowd et al., 1999). Context information is usually assigned to one of two broad categories, namely human-related context and physical environment context (Schmidt, Beigl & Gellersen, 1999). Concerning context representation, a survey by (Perttunen, Riekki & Lassila, 2009) lists conceptual models, logic programming, ontology-based representation, rule-based representation, case-based representation, uncertainty representation, and procedural programming as state of the art techniques / methods.
When it comes to services, there are two main classes of context information that can be used in order to enhance the service usage:
Typical examples of exploiting user context in the mobility domain are enhanced context-aware navigation systems (Di Lorenzo, Phithakkitnukoon & Ratti, 2010) and the intelligent filtering of results of information services, e.g., based on the current location of the user (Barbeau et al., 2011), (Noh et al., 2012). An example of user context exploitation from a different domain is the recognition of events by medical services (Kameas & Calemis, 2010), e.g., based on changes of sensed body data. Some of the research challenges in the field of user context include the (standardized) representation of context data and the development of reusable context-handling architectures (Malik, Mahmud & Javed, 2007). For example, (Riaz et al., 2005) propose an architecture that supports service delivery (service lookup and service access control) based on user context and related ontologies. Similarly, (Thyagaraju et al., 2012) suggest usage of Bayesian networks, fuzzy logic and rule-based reasoning to prioritize available services and requested information, e.g., depending on the location of the user.
Privacy and user context information security is another important topic. For example, the MaskIt framework (Götz, Nath & Gehrke, 2012) provides an unified user context stream format with user-controlled context information access. Similar functionality is provided by the ipShield framework (Chakraborty et al., 2013), which uses the current user context together with a model of user behaviour to quantify an adversary's knowledge regarding a sensitive inference, and obfuscate data accordingly before sharing.
A typical example of exploiting system context is the decision of whether or not (and how) to compress the data that is being exchanged during the usage of a service depending on the features of the client device and the used network. Related insights can be found, for example, in (Tian et al., 2004). As there are many different types of services, which may be in turn affected by different aspects of the system context, it is often necessary to analyse case-specifically (or service-specifically) what can be done in order to optimize service usage for particular system settings. However, general rules may also be sometimes inferred. For example, (Papageorgiou et al., 2010) analyse the system context settings that favour (or not) the use of a list of possible service communication methods.
In connection with (Web) services and other applications, context adaptation techniques play an important role. Using different techniques allows developers to specify actions that have to be performed, if a particular context is given (Truong et al., 2008). In many cases, the reasons for performing context adaptation are diverse, e.g., context information is often used for service selection and task adaptation, such as selecting the most suitable service in a particular situation (Maamar et al., 2004). In addition, context information is used for adaptive control in security and privacy management (Zuidweg et al., 2003) and access control (Wang et al., 2008) or for communication adaptation such as the selection of a suitable communication protocols. Further, context information is used for content adaptation, especially in mobile Web services (Han et al., 2008). For these, different techniques have been evaluated by researchers, e.g. based on a Hidden Markov Model (Zheng et al., 2013). Further, a service delivery platform, which is designed for the continuous context-aware adaptation of service-based systems was addressed by (Bucchiarone et al., 2013). In addition, context information was also used for predicting Quality of Service (QoS) and Quality of Experience (QoE) properties for Web services in order to select the most suitable one (Baraki et al. 2013). Context-awareness plays also an important role in green and energy-efficient solutions (Vallina-Rodriguez & Crowcroft, 2013), (Sabharwal et al., 2013), where it helps determining currently irrelevant services and applications to stop them in order to minimize power usage and extend battery life. Another example application is time awareness. (Baltrunas et al., 2012) analyse seasonal and time of day factors that influence the rating of offered user activities.
Context information is an important topic in SIMPLI-CITY. Almost every service can make use of a kind of context information. Most of the time the user’s location plays the most important role, e.g., for creating a routing plan to the desired destination, to get only relevant traffic information, or to find a nearby parking slot or restaurant. Beside of this, user-specific information (e.g., who is interacting with the system) can be used for privacy management and access control. To include user-specific data into service enables developers to create personalized services such as restaurant/bar recommendations depending on the user's habits and preferences. However, apart from the user and the location, other context information may be used within SIMPLI-CITY. An example could be to automatically start the car's heating or air condition based on current weather information, or if SIMPLI-CITY runs on a smartphone and it detects that the battery gets critical it can decide to turn of data or even switch to 2G to save energy.