Continuous developments of mobile technologies and their use in everyday life increase our need to be continuously connected to others and to the Internet, anywhere and at any time. However, in mobile, pervasive environments user connectivity is mainly affected by wireless-communications constraints and user mobility. These boundary conditions do not allow us to design communication environments based on unique and fully connected networks or assume a stable path between each pair of users wishing to communicate. Opportunistic networking1,2 has emerged as a new communication paradigm to cope with these problems. It exploits user mobility to establish communications and content exchange between mobile devices in pervasive, mobile computing environments.
Content sharing (of either information available on the Internet or user-generated resources) through, for example, YouTube or Flickr currently represents one of the most popular services. Thus, users are becoming the principal actors of the network, particularly in mobile environments. Efficient development of this kind of service in opportunistic networks imposes mobility support, requiring knowledge of user context and social behaviour. Therefore, information about the network's users and their habits, interests and social interactions plays a fundamental role, allowing the system to generate routes on the fly to correctly deliver messages to the intended recipients.
The social- and context-aware content-sharing service3 we designed and developed in the framework of the European Commission's Information Society Technologies/Future and Emerging Technologies (FET) Haggle project4 exploits a context definition designed for opportunistic networks. The main idea is that each user who wants to participate in the service can declare information about the contents she wants to share, as well as a certain amount of personal information that enables the system to trace her social interactions and mobility patterns. Specifically, we assume that users are grouped into social communities characterized by some common interests (e.g., co-workers, flatmates, family or friends). Each user can belong to one or more communities, and users in the same community have strong mutual social links. Consequently, users from the same community often interact with each other. The service uses their social-behaviour patterns to identify content that might be relevant to the communities a user interacts with. More generally, these interaction patterns allow the system to improve forwarding decisions, probabilistically predicting future user contacts.
Thus, our definition of context is composed of the user context (name, address, habits, timetables and identifiers of the social communities she belongs to), service context (e.g., list of shared files and interests in specific categories for content-sharing services) and device context (e.g., battery lifetime, capacity and available embedded technologies). This information is collected and managed by a ‘context manager,’ which we have integrated into the Haggle autonomous network architecture (see Figure 1). A set of managers implements the main features needed to communicate and deliver messages. To improve efficiency, they can interact with each other through a central kernel, thus providing a completely layer-free architecture above the data link. Our context manager provides relevant information to both upper-layer services or applications and communication protocols.
The Haggle architecture. BT: Bluetooth. UMTS: Universal mobile telecommunications system.
Our application for content sharing in opportunistic networks exploits interactions with the context manager to collect and manage context and social information of mobile users for effective data exchange in a pervasive environment. Figure 2 shows our newly designed graphical user interface through which the user sets up her personal profile and selects interests for sharing.
User interface of the social-aware content-sharing service.
As a practical example of the proposed application, consider the scenario shown in Figure 3. Users in two communities (X and Y) have some common interests in sharing certain file types (e.g., users A, B and C are all interested in mp3 files, while D and E prefer avi and jpg files). Every time the mobile devices of these users encounter a new neighbour, they exchange their context information (mainly user and service contexts) so that each device knows the interests and shared files of all its neighbours, and users can request and exchange the available contents. This information is kept on the device even when the user moves from one community to another (to maintain a history of the relevant context). When user C moves to community Y and her mobile device encounters new neighbours, it exchanges context information and analyses whether some of the available contents can be useful for its previous neighbours. Since it is likely that user C will return to her original community in the near future, the device decides autonomously to download some of those new contents (depending on both their usefulness to other users in the wider network and the status of its resources), so that when it returns they can also be shared among users of community X. This way, even users who will never interact (e.g., A and E) can exchange interesting contents based on their context information.
Therefore, in opportunistic-network settings the standard definition of a network of devices evolves into a network of people, in which information about users and their surrounding context is fundamental to provide efficient communications and data exchange to mobile users. We are extending these concepts in the framework of the FET/Pervasive Adaptation Initiative ‘Socialnets’ project5 by investigating content dissemination in the context of electronic social networks, i.e., self-organizing networks primarily built (at all levels) by exploiting context information related to their users' social behaviour. We thus expect to improve our understanding about how to integrate content dissemination and networking protocols with context information representing social structures.