by Marco Conti, Franca Delmastro, Andrea Passarella
In mobile pervasive environments, mainly characterized by intermittent connectivity conditions, gathering social and context information about the users and their behaviour is fundamental to providing efficient communications and content exchange.
The emerging trend in social network applications and active participation of users in generating and sharing content (as defined by the Web 2.0 paradigm) further increases the need for users to be continuously connected with each other and to the Internet, everywhere and always. However, users’ mobility and the physical limitations of wireless communications do not allow us to apply the same principles and solutions developed for the conventional (static) Internet. We cannot assume a single and fully connected network where mobile devices can communicate through a stable path. For this reason, in the last few years, Opportunistic Networking has emerged as a new communication paradigm to cope with this kind of scenario and especially with intermittent connectivity conditions.
The European FET-SAC (Future and Emerging Technologies - Situated and Autonomic Communications) Haggle project, started in 2006 and currently reaching its end, has been one of the pioneering investigators of this topic. It defines a new autonomic networking architecture to support communications and content exchange between users and mobile devices that could never be connected through a conventional multi-hop path, due to the users’ mobility or significant partitions of the network. The main concept is to exploit users’ mobility and their patterns of interaction to generate routes on the fly. Specifically, every time a mobile device receives a message with a specific destination, it selects from among its current 1-hop neighbours the best forwarder by analysing several elements (eg the probability of arriving at the destination in the near future, the common interests between the local user and the destination etc). Thus, the system processes additional information to complement knowledge on the network topology that is intrinsically unstable. Specifically, the best actions to be taken by networking protocols when two users are in contact are identified through knowledge of their social behaviour, and of context information related to (i) the user (eg habits, interests, timetables); (ii) the mobile devices (eg capacity, battery lifetime); and (iii) the services running on them (eg list of shared files, set of interesting genres in case of content sharing). For this reason social and context information assumes a fundamental role both in the network protocols, in order to guarantee efficient communications among users, and in the design of efficient services and applications tailored to mobile pervasive environments.
The Social-Aware Content Sharing service we designed and developed in the framework of Haggle exploits a context definition tailored to both the features of the specific service and those of opportunistic networks. The main idea is that users participating in the service can decide to declare to other participants information on the content they want to share, plus some personal information that can help the system predict their social interactions and consequently mobility patterns. The user directly configures this personal profile through the graphical interface shown in Figure 1.
Figure 1: Interface of the Social-Aware Content-Sharing Service.
We presume that users are grouped in social communities characterized by some common interests (eg coworkers, flatmates, family, friends). Each user can belong to one or more communities, and users of the same community have strong social links with each other, periodically getting in touch. This information is used by the service to identify possible interesting content, even for users who are not physically connected, and more generally by the system to improve forwarding decisions on the network by probabilistically predicting future contacts among users.
As a practical example of our service we can consider the scenario depicted in Figure 2. There are two communities (X and Y) whose users have some common interests in sharing files (eg users A, B and C are all interested in mp3 files, while D and E are interested in avi and jpg). Every time a mobile device of one of these users comes into contact with a new neighbour, they exchange context information (mainly related to user and service data) so that each device knows the interests and the shared files of all its neighbours. Thus, users are able to request from and exchange content with the device of their current neighbours. This information is maintained on the device as a context history, even when the user moves to another community. For example, when user C moves to community Y and their mobile device gets in touch with the new neighbours, it exchanges context information and analyses whether some of the available content might be useful to previously encountered users. Since it is likely that it will return to the original community, the device autonomously decides to fetch some of this content (depending on its utility for the other users and on the current status of its resources), so that when it returns, this content can be shared with users of community X. In this way, users who have never been in direct contact can exchange interesting content based on their context information.
Figure 2: A realistic scenario.
Figure 3: The Haggle architecture.
Beyond the specific example of content sharing, social-aware context information is integrated in the Haggle platform in order to allow all the network components to exploit it. We integrated a Context Manager in the Haggle architecture in order to acquire and manage context data. As shown in Figure 3, the Haggle architecture consists of a set of managers implementing the main features needed to communicate and deliver messages on the network, and a central kernel through which they can interact to improve efficiency, thus providing a completely layer-less architecture above the data link. The Context Manager is able to manage context information and make it available both to other interested managers and upper-layer services and applications in order to improve their features in mobile pervasive environments.
EC Haggle project: http://www.haggleproject.org
Marco Conti, Franca Delmastro or Andrea Passarella