Pervasive-computing systems aim to provide smart environments through which people can interact electronically—using personal digital assistants or smart phones, for example—with actuators (e.g., fan heaters), sensors (e.g., thermometers) and services (e.g., air-conditioning controllers). People may have their own sensors on their person and the information from all sensors, both personal and environmental, can be used to tailor services and control any available actuators. Such context-aware systems are amenable to considerable personalization. For example, if one prefers a certain ambient temperature, when entering a room this could be picked up from one's hand-held computer by an air-conditioning service running in the smart environment, compared with the temperature from a room sensor and used to control a fan heater.
Current trends in the design of pervasive systems concentrate on the provision of isolated smart spaces via a static—although often distributed—infrastructure.1 While this was an understandable approach when such systems were in their infancy, there is a danger that it will lead to islands of pervasiveness separated by voids in which there is no support for pervasiveness whatsoever. The user experience will be all or nothing, without a graceful degradation from the former to the latter. If the current trend continues, there will be no means for users meeting outside smart environments to share or exploit information, services or neighbourhood resources, no matter how powerful or smart their mobile devices may be.
Three forms of interaction and collaboration underlying the pervasive vision. (Top left) Andy and Betty are waiting at a bus stop. Betty furnishes Andy with an internet connection for which she charges him. (Bottom left) Two people share a physical space in a rental car where they each need to configure their own seats and cooperate to jointly select the temperature, among other parameters. (Right) A patient visits a doctor and the data his personal smart space (PSS) has been collecting about him is uploaded to the surgery's smart-space infrastructure and made available to the doctor via her PSS.
The European Union's seventh framework programme project PERSIST (personal self-improving smart spaces)2 aims to implement a user-centric smart space, the ‘personal smart space’ (PSS), providing minimum functionality which can be extended and enhanced as the user encounters other smart spaces. A PSS is a form of personal espace3 based on a personal-area network constructed from a variety of networked components. These might range from mobile or wearable devices to smart dust (a network of tiny devices which communicate with each other wirelessly across very short distances). PSSs provide limited pervasiveness and context awareness at any time and at any location. They can interoperate with other smart spaces, which permits them to automatically adapt environments to satisfy user preferences, use all available resources and resolve any potential conflicts.
PSSs are adaptable and capable of self-improvement. They can learn and reason about users, their intentions, preferences and context. They enable the sharing of context information with each other, resolving conflicts as regards the preferences of multiple users, making recommendations and acting upon them, prioritizing, sharing and balancing limited resources among users, services and devices, and reasoning about trustworthiness to protect privacy and assure reliability. The PSS offers many practical advantages (see Figure 1). It also requires significant self-improvement innovations in the areas of grouping and sharing, user intent, recommender systems, learning and reasoning, and proactive behaviour.
When the PSSs of multiple users overlap, a number of potential benefits become possible. However, there are also problems to overcome. Group context offers the prospect of sharing context information among a number of users. On the other hand, personal preferences for, say, the temperature of a room containing two users' PSSs could conflict. This will need to be resolved. There are also issues relating to resource sharing when PSSs overlap.
The key to providing acceptable proactive behaviours lies in accurately predicting a user's intentions. A priori knowledge of how common tasks can be broken down into indivisible actions can be used to identify when a user is partway through accomplishing a given task. One can then deduce that the user's intention is to complete that task. A posteriori knowledge of a particular user's past actions can identify frequently repeated collections of actions. These can then be collated into informal tasks which can subsequently be handled in the same way as a priori tasks.
Just as PSSs need to adapt to the changing requirements of the user, services and applications must also adjust to each new environment. To improve the accuracy of this alteration, ‘recommender’-style systems can be employed to select components and services. When a user wants to use a service of a certain type, recommender systems can suggest a particular service based on the previous choices of any given set of users.
Automatic learning of preferences presents an opportunity to obtain accurate preference data without having to enter it manually. A range of different learning techniques exist including incremental rule building and both neural and Bayesian networks (among others), each with its own advantages and disadvantages (e.g., rapid convergence or visualization). In addition, to fully exploit the benefits of context awareness one needs to infer higher-level context attributes from low-level sources. This requires methods to reason on group context.
To respond automatically to any type of situation, some form of proactivity is required. This involves the PSS taking action on behalf of the user in situations where this is clearly agreed (e.g., changing the user's status to ‘unavailable’ when entering a theatre so that no calls or messages are sent through, or switching on a news broadcast upon arrival at home). Proactive behaviour can be enhanced by various learning and reasoning techniques. The outputs from context inference, user-intent models and recommender systems can also be used to condition behaviour.
The PSS paradigm directly meets the challenge that future infrastructures need to be pervasive, ubiquitous and highly dynamic. Depending on a user's context, a PSS might need to interact with other users' devices to infer group context and dynamically negotiate overall preferences or use of resources. Dealing with a variable number of other PSSs generates numerous challenges. It also has a significant impact on system-design specifications because ultimately these large numbers of heterogeneous devices and applications must be integrated.