These` de Doctorat de l’Universite´ Paris VI Pierre et ... · a large-scale experiment with 80...

147
Th` ese de Doctorat de l’Universit ´ e Paris VI Pierre et Marie Curie Sp´ ecialit´ e S YST ` EMES I NFORMATIQUES pr´ esent´ ee par Anna-Kaisa Pietil¨ ainen pour obtenir le grade de Docteur de l’Universit ´ e Pierre et Marie Curie Opportunistic Mobile Social Networks at Work soutenue le 21 Dec` embre 2010 devant le jury compos´ e de M. : Marc S HAPIRO Pr´ esident MM. : Jon CROWCROFT Rapporteurs Per GUNNINBERG MM. : Pietro MICHIARDI Examinateurs M. : Christophe DIOT Encadrant M. : Serge FDIDA Directeur de Th` ese

Transcript of These` de Doctorat de l’Universite´ Paris VI Pierre et ... · a large-scale experiment with 80...

These de Doctorat de l’Universite Paris VIPierre et Marie Curie

Specialite

SYSTEMES INFORMATIQUES

presentee par

Anna-Kaisa Pietilainen

pour obtenir le grade de

Docteur de l’Universite Pierre et Marie Curie

Opportunistic Mobile Social Networks at Work

soutenue le 21 Decembre 2010 devant le jury compose de

M. : Marc SHAPIRO PresidentMM. : Jon CROWCROFT Rapporteurs

Per GUNNINBERG

MM. : Pietro MICHIARDI ExaminateursM. : Christophe DIOT EncadrantM. : Serge FDIDA Directeur de These

These de Doctorat de l’Universite Paris VIPierre et Marie Curie

Specialite

SYSTEMES INFORMATIQUES

presentee par

Anna-Kaisa Pietilainen

pour obtenir le grade de

Docteur de l’Universite Pierre et Marie Curie

Opportunistic Mobile Social Networks at Work

soutenue le 21 Decembre 2010 devant le jury compose de

M. : Marc SHAPIRO PresidentMM. : Jon CROWCROFT Rapporteurs

Per GUNNINBERG

MM. : Pietro MICHIARDI ExaminateursM. : Christophe DIOT EncadrantM. : Serge FDIDA Directeur de These

Acknowledgements

Working towards a PhD degree has been a very interesting and challenging periodof my life. It has allowed me to acquire many new technical skills in research, systemsdesign and development. And most importantly, it has helped me to deepen my un-derstanding and thinking about engineering, systems research, and computer sciencein general. Of course, all this would not have been possible without the help and sup-port from numerous people that I have had the change to meet, work and share mylife with during my PhD years.

First of all, I would like to thank my advisors, Christophe Diot and Serge Fdida,for giving me the opportunity to pursue my PhD research with them. In particular, Iam grateful for Christophe for all the time, patience and resources he has provided tome and this PhD project.

A part of my work was born and done in collaboration with several people, namelyAugustin Chaintreau, Jason LeBrun, Abderrahmen Mtibaa, Earl Oliver and GeorgeVarghese. I thank all of them for the discussions and work we have done togetherthat lead eventually to the design, implementation and experiments with MobiClique(a special acknowledgment to Earl for coming up with the name). Besides my co-authors, I thank Jon Crowcroft, Ali Favaz, Stratis Ioannidis, Shashank Malisetty andMartin May who all have been involved in some ways in the MobiClique project atvarious stages.

MobiClique development and experiments have been supported by the EuropeanUnion funded Haggle project and all its partners: people at CNR, EPFL, Eurecom,SUPSI, and the Universities of Cambridge and Uppsala. I thank in particular ErikNordrstrom, Christian Rohner and the other members of the Haggle team at the Uni-versity of Uppsala for being always ready to answer my questions about Haggle andother technical issues. The large-scale experiments with MobiClique would not havebeen possible without the material help from all the project partners; thanks for send-ing and carrying the phones! I have also very much enjoyed all the Haggle meetingsthat I had change to participate in all over Europe at the partner institutes.

I thank also Mario Gerla, George Varghese and Kevin Fall for hosting me in theirlaboratories for varying periods of time during my PhD. All these visits gave me anice change to present and discuss my research, get new ideas and learn from otherprojects and people.

Finally, my work would not have been possible without the support of Technicolor

v

(Thomson) Paris Research Laboratory and all my colleagues there. I thank collectivelyall the past and current permanents, PhD students, interns and visitors. It has beeninteresting and supportive environment to work at. I want to thank separately all myco-PhD students at Technicolor; Abderrahmen, Dan-Christian, Fernando, Italo, Lu-cas, Marianna and Matteo; for the peer support that has varied from dealing with theuniversity bureaucracy to organizing MobiClique experiments and enjoying variousconferences. Marianna I thank you also for being a great flatmate even if Paris re-ally sucks for finding appartments. A special thanks goes also to Vincent Alloy, VenusApovo and Letizia Ballarini for their help with the practical matters related to IT andadministration.

A successful work requires also other preoccupations. I have been lucky enough tohave many dear old and new friends in my life during these years. I thank my friendsin Paris and the ones who came to visit me here for helping me to discover Paris andto enjoy my free time. I thank also the friends that have hosted me around Europewhen traveling. And lastly, all my friends back in Finland who have been there allthese years despite me being far away. The list of the names is long but I am sure youall know who you are.

During the last two years one person has become the most important person ofmy life. In fact, I probably have this thesis to thank that I stayed in Paris this long andhad the chance to meet Maelezig. Me (and my thesis) are extremely grateful to her forunderstanding the never ending working days, supporting my good and bad moods,and just being there when I needed that.

Finally, it has been a long way from Hankasalmi 1 to finish a PhD in computerscience in Paris. I thank my parents Heikki and Tarja, and my brothers Samuli andTuomas for all the good advice, opportunities, encouragement and support they havegiven me all these years. I would not be here without them.

1. A small village lost in the middle of Finland.

vi

Resume

Les reseaux mobiles opportunistes ad-hoc se forment lorsque des terminaux mobilesportes par des utilisateurs communiquent entre eux sans aucune infrastructure en”store-carry-forward” . Ils different ainsi largement des reseaux classiques comme In-ternet dont l’architecture suppose la disponibilite instantanee de chemins reliant leshotes et dont les delais de propagation, comme le taux de perte des paquets, sontfaibles. A l’inverse, dans les reseaux opportunistes, la mobilite des individus induitde nombreuses deconnexions et de grandes variations des delais. Le defi de la lim-itation des ressources vient quant a lui de la faible taille des terminaux mobiles parrapport a celle des systemes informatiques statiques. En outre, l’implementation et ledeploiement des reseaux opportunistes reels est a la fois difficile et couteux en tempset moyens. C’est pourquoi les chercheurs se sont jusqu’ici appuyes principalement surdes simulations, des modeles analytiques d’evaluation a grande echelle ou encore surles resultats fournis par des prototypes simples afin de demontrer la faisabilite de cessystemes.

Dans cette these nous adoptons une demarche experimentale pour concevoir etanalyser les reseaux opportunistes. Nous nous interessons en particulier a l’impactdes interactions sociales sur les reseaux opportunistes. L’experimentation grandeurnature est d’autant plus importante que ce type de reseaux est encore peu etudie etque les conditions operationnelles complexes sont difficiles a modeliser ou a simuler.

Sous cet aspect, les contributions que nous livrons ici peuvent etre tenues pour pi-onnieres. D’abord l’etude detaillee des communications opportunistes via Bluetoothentre smartphones, dans des environnements controles et reels, montre qu’en depitdes limitations pratiques de cette technologie, la communication opportuniste ad-hoc constitue un paradigme de communication efficace et attractif. Nous avons en-suite concu et implemente MobiClique, un middleware de communication destineaux reseaux opportunistes qui s’appuie sur la mobilite et les relations sociales desutilisateurs pour le routage opportuniste des messages. Enfin, la realisation d’uneexperience grandeur nature mobilisant 80 personnes nous a permis de collecter lesinformations concernant leurs reseaux sociaux d’une part, leurs contacts ad-hoc et lestraces de leurs communications d’autre part. Ainsi, en utilisant les donnees collectees,nous proposons une methodologie d’analyse des structures des communautes tem-porelles dans le reseau opportuniste. Nous etudions egalement de quelle facon cesstructures et les interactions sociales caracterisent les chemins de dissemination ducontenu.

vii

Abstract

Opportunistic mobile ad hoc networks consist of human-carried mobile devicesthat communicate with each other in a ”store-carry-forward” fashion, without any in-frastructure. They present distinct challenges compared to classical networks, suchas the Internet, that assumes the availability of a contemporaneous, reasonably lowpropagation delay, low packet loss rate path between the two end points that commu-nicate. In opportunistic networks, disconnections and highly variable delays causedby human mobility are the norm. Another major challenge in opportunistic commu-nications arises from the small form factor of mobile devices which introduces re-source limitations compared to static computing systems. Moreover, implementationand deployment of actual opportunistic mobile networks, systems and applications ischallenging, very often expensive and time-consuming. Hence, the research commu-nity has mainly relied on simulations and analytical modeling, or on simple proof-of-concept prototypes to demonstrate the feasibility of these systems.

In this dissertation we take an experimental approach to the analysis and designof opportunistic mobile networks. We explore in particular the impact of social in-teractions on the structure of these networks. Real-life experimentation is importantas opportunistic mobile networking is still a relatively new research area. Very littleis known about the operational conditions that are complex and difficult to model orsimulate. The behavior of users, which is a key feature of our system design, has to beobserved in situ.

This dissertation makes several original contributions. First, we study Bluetoothbased opportunistic communications in detail using smartphones in both controlledand real-life settings. We find that despite the practical limitations of Bluetooth, oppor-tunistic ad hoc communication is an effective and attractive communication paradigm.Second, we design and implement MobiClique, a communication middleware for op-portunistic mobile networking. MobiClique takes advantage of user mobility and so-cial relationships to forward messages in an opportunistic manner. Third, we performa large-scale experiment with 80 people, where we collect social network information(i.e. their Facebook profile), and ad hoc contact and communication traces. Using thecollected data, we propose a methodology to analyze temporal community structuresof the opportunistic network. Furthermore, we study how temporal community struc-tures and social interaction characterize the epidemic content dissemination paths.

ix

Contents

1 Introduction 11.1 Opportunistic Mobile Social Networks . . . . . . . . . . . . . . . . . . . . 11.2 Research Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1 Network Architectures, Protocols, Paradigms . . . . . . . . . . . 31.2.2 Mobile Computing and Communications . . . . . . . . . . . . . . 41.2.3 Network Measurement and Evaluation . . . . . . . . . . . . . . . 5

1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3.1 Opportunistic Communications . . . . . . . . . . . . . . . . . . . 71.3.2 MobiClique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3.3 Experimental Data Collection and Data Sets . . . . . . . . . . . . 81.3.4 Analysis of Opportunistic Mobile Social Networks . . . . . . . . 8

1.4 Dissertation Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 Related Literature 112.1 Mobile Social Networking and Applications . . . . . . . . . . . . . . . . 112.2 Opportunistic Network Architectures, Protocols, Paradigms . . . . . . . 13

2.2.1 Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2.2 Forwarding in Opportunistic Networks . . . . . . . . . . . . . . . 162.2.3 Application Programming Paradigms and Interfaces . . . . . . . 19

2.3 Mobile Computing and Communications . . . . . . . . . . . . . . . . . . 202.3.1 Mobile Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.3.2 Opportunistic Wireless Communications . . . . . . . . . . . . . . 23

2.4 Network Measurement, Characterization and Modeling . . . . . . . . . . 262.4.1 Encounter Traces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.4.2 Network Structure and Dynamics . . . . . . . . . . . . . . . . . . 28

xi

3 Opportunistic Communications with Bluetooth 33

3.1 Short Introduction to Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . 33

3.1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.1.2 Inquiry Scan Procedure . . . . . . . . . . . . . . . . . . . . . . . . 35

3.1.3 Higher Layer Protocols . . . . . . . . . . . . . . . . . . . . . . . . 36

3.1.4 Application Programming Interfaces . . . . . . . . . . . . . . . . . 36

3.2 Bluetooth Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.2.1 Battery Life . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.2.2 Contact Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.2.3 Data Transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.3 Experimenting with Opportunistic Communications . . . . . . . . . . . 42

3.3.1 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.3.2 Contact Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.3.3 Data Transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.3.4 Opportunistic Network Capacity . . . . . . . . . . . . . . . . . . . 48

3.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4 MobiClique 51

4.1 Design Principles and System Overview . . . . . . . . . . . . . . . . . . . 51

4.1.1 Leveraging Existing Social Network(s) . . . . . . . . . . . . . . . 52

4.1.2 Decentralized Operation . . . . . . . . . . . . . . . . . . . . . . . . 52

4.1.3 Community Based Interaction . . . . . . . . . . . . . . . . . . . . 53

4.1.4 Platform for Development . . . . . . . . . . . . . . . . . . . . . . . 53

4.1.5 System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.2 Detailed Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.2.1 Networking Architecture . . . . . . . . . . . . . . . . . . . . . . . 55

4.2.2 Software Architecture and Implementation . . . . . . . . . . . . . 56

4.2.3 Application Programming Interface . . . . . . . . . . . . . . . . . 60

4.3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.3.1 Mobile Social Networking . . . . . . . . . . . . . . . . . . . . . . . 61

4.3.2 Ad Hoc Messaging . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

4.3.3 Epidemic Voting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.4 Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

xii

5 Experimental Data Collection and Data Sets 675.1 Data Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.2 Data Sets and Basic Properties . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.2.1 Online Social Network . . . . . . . . . . . . . . . . . . . . . . . . . 695.2.2 Opportunistic Contacts . . . . . . . . . . . . . . . . . . . . . . . . 705.2.3 User-generated Application Traffic . . . . . . . . . . . . . . . . . . 725.2.4 Content Dissemination . . . . . . . . . . . . . . . . . . . . . . . . . 73

5.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

6 Epidemic Content Dissemination 776.1 Pair-wise Interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786.2 Temporal Contact Graph and Communities . . . . . . . . . . . . . . . . . 81

6.2.1 Temporal Contact Graph . . . . . . . . . . . . . . . . . . . . . . . . 816.2.2 Communities in Snapshot Graphs . . . . . . . . . . . . . . . . . . 836.2.3 Discovering Temporal Communities . . . . . . . . . . . . . . . . . 856.2.4 Properties of Temporal Communities . . . . . . . . . . . . . . . . 86

6.3 Epidemic Content Dissemination . . . . . . . . . . . . . . . . . . . . . . . 876.3.1 Role of GCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896.3.2 Role of Central Nodes . . . . . . . . . . . . . . . . . . . . . . . . . 906.3.3 Role of Temporal Communities . . . . . . . . . . . . . . . . . . . . 91

6.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

7 Conclusions and Future Work 957.1 Future Work Directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

7.1.1 Opportunistic Wireless Communications . . . . . . . . . . . . . . 967.1.2 Architecture and Applications . . . . . . . . . . . . . . . . . . . . 977.1.3 Experimental Data Collection . . . . . . . . . . . . . . . . . . . . . 977.1.4 Network Structure and Dynamics . . . . . . . . . . . . . . . . . . 98

A Introduction 101A.1 Les Communications Opportunistes dans les Reseaux Sociaux Ad-Hoc . 101A.2 Directions de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

A.2.1 Architectures, Protocoles et Paradigmes . . . . . . . . . . . . . . . 104A.2.2 Systemes et Communications Mobiles . . . . . . . . . . . . . . . . 105A.2.3 Experimentation et Evaluation des Reseaux . . . . . . . . . . . . . 106

A.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107A.3.1 Communications Opportunistes . . . . . . . . . . . . . . . . . . . 108

xiii

A.3.2 MobiClique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108A.3.3 Collection des Donnees . . . . . . . . . . . . . . . . . . . . . . . . 109A.3.4 Analyse des Reseaux Opportunistes . . . . . . . . . . . . . . . . . 109

A.4 Apercu et Organisation de la These . . . . . . . . . . . . . . . . . . . . . . 110

References 124

List of Figures 128

List of Tables 129

xiv

Chapter 1Introduction

THIS dissertation presents one of the first experimental studies on opportunistic mo-bile social networks. In this chapter we will first introduce the underlying moti-

vations of our research and define the term opportunistic mobile social networks forpurposes of this dissertation. Then we overview the research issues in this contextfollowed by the contributions of this dissertation. The introduction is concluded byan outline of the rest of the dissertation.

1.1 Opportunistic Mobile Social Networks

Personal mobile devices have become ubiquitous and an inseparable part of ourdaily lives. These devices have evolved rapidly from simple phones and SMS capabledevices to smartphones that we use to connect, interact and share information withour social circles. The smartphones are used for traditional two-way messaging suchas voice, SMS, multimedia messages, instant messaging or email. Moreover, the recentadvances in the mobile application development frameworks and application storeshave encouraged third party developers to create a huge number of mobile applica-tions that allow users to interact and share information in many novel ways. Someexamples are networked games, location based services and online social networking(tweeting, status and location updates, reviews, recommendations, photo sharing andso forth).

The popularity of smartphones and applications would not have been possiblewithout the availability of Internet connectivity. Typical smartphones come equippedwith multiple radio interfaces including cellular radio (2G, 3G or emerging 4G tech-

2 1.1. Opportunistic Mobile Social Networks

nologies), 802.11 (WiFi), Bluetooth and Infrared. The cornerstone of this dissertationis that, in addition to the global Internet connectivity, some of the available interfaces(notably Bluetooth and WiFi) can be used for local device discovery and direct device-to-device data communications. Today, this functionality remains mostly unused or isvery limited to applications such as synchronization of data with a PC or manual filetransfers (e.g. OBEX 1 for Bluetooth). All of the above discussed smartphone appli-cations follow instead the traditional Internet application development paradigm anddepend on some type of infrastructure based communication service. The local con-text, mobility or opportunistic contacts between mobile devices are practically nevertaken into account.

In the research community, the widespread adoption, increasing computationalpower, storage and communication capabilities of mobile devices have inspired var-ious mobile networking paradigms, systems and applications that take advantage ofthese untapped resources. One such idea, that has become a popular research domainin itself, is that of opportunistic mobile ad hoc networks. These networks build on aso called store-carry-forward communication paradigm (also called “Pocket SwitchedNetworking”): data is stored, carried and delivered by mobile devices using wirelessad hoc contact opportunities with other devices to pass the data onwards, potentiallyover multiple hops until it reaches its destination(s).

The advantages of opportunistic communications include potentially high capac-ity, low cost, localized communications, fully decentralized operation and indepen-dence of any infrastructure. These benefits are directly related to the varying capa-bilities of the available networking technologies. Cellular data today is often slow,expensive (especially when roaming) and not even always available (rural areas, un-derground transportation, popular mass events, disaster situations to name a fewexamples). Bluetooth or WiFi can both offer always available, essentially free, localconnectivity. In addition, WiFi offers higher bandwidths compared to the availablecellular networks. Consequently, we believe there is a huge opportunity and unusednetwork capacity available in opportunistic encounters and in this dissertation we ex-plore how to exploit them efficiently.

A common critique against opportunistic networks has been the lack of incentiveto participate in such a system as it often requires rather altruistic resource sharingwith strangers to make it work. We claim that social networking can help in thisrespect. In the Internet, applications such as online social networks and other col-

1. IrDA Library of Specifications, http://www.irda.org/displaycommon.cfm?an=1&subarticlenbr=7

Chapter 1. Introduction 3

laborative tools have become highly popular among both fixed and mobile Internetusers. These applications create communities of users centered around interests vary-ing from gaming to editing Wikipedia pages. In the context of opportunistic networks,the social network and communities can act as an incentive to share the limited re-sources of a mobile device: one could be more willing to share or carry data for afriend or someone from the same community than for a complete stranger. Or, putdifferently, as with many Internet applications, if the users have established a commu-nity, then the incentive comes from belonging to and maintaining a community.

We believe opportunistic networking applications can benefit from the users’ so-cial networks in other ways too. First, the social networking applications have proventheir popularity in the current Internet and many compelling opportunistic network-ing applications are naturally about social networking (introduction services, friendfinders, recommendations, content sharing, gaming). Second, human mobility onwhich the opportunistic network rely for forwarding, is directly related to social be-havior of people: we are more likely to meet regularly with our friends, family orco-workers than some strangers. Consequently, many forwarding schemes rely onsocial information for efficient forwarding decisions.

In this dissertation, we study and analyze experimentally opportunistic mobile so-cial networks that we define as decentralized opportunistic communication networksformed among human carried mobile devices that take advantage of mobility and so-cial networks to create new opportunities for exchanging information and mobile adhoc social networking.

1.2 Research Issues

Opportunistic mobile social networks raise several interesting research questionsspanning multiple domains that we overview below.

1.2.1 Network Architectures, Protocols, Paradigms

The traditional Internet architecture assumes the availability of contemporaneous,reasonably low propagation delay, low packet loss rate, end-to-end paths betweenany two nodes [22]. However, as soon as these assumptions are relaxed, everythingfrom the principle of packet switching to how routing is performed needs to be re-visited [36, 49].

4 1.2. Research Issues

Network Architecture

In an opportunistic network disconnections and highly variable delays are thenorm. Generally, the networking architectures adopt asynchronous message pass-ing as the underlying communications paradigm to cope with these issues [36, 128].A number of additional architectural design questions must also be re-considered in-cluding naming and addressing, flow control, congestion control, end-to-end reliabil-ity and security [36].

Forwarding

The underlying topology of opportunistic networks is highly dynamic. Thereforeestablishing and maintaining end-to-end paths between nodes is generally infeasible.In addition, node mobility that is leveraged for forwarding is often unpredictable. Asa result, new forwarding protocols are needed. The basic principle behind most ofthe proposed solutions is to rely on completely decentralized hop-by-hop forwardingdecisions [144].

Application Programming Paradigms and Interfaces

Opportunistic networking has also consequences on the choice of communicationparadigms and application interface design. The host-centric client server model ofthe Internet using the well known socket interface needs rethinking as it does not copewell with disconnections, delays nor node mobility. New application programminginterfaces (APIs) are required that support spatial and temporal decoupling betweenapplications and the underlying network. By this we mean that applications shouldnot need to know the exact address or location of the destination (spatial coupling)nor should they need to be involved at the time of transfer (temporal coupling) [27].

1.2.2 Mobile Computing and Communications

The second major research direction is about the design and implementation ofmobile communication systems and applications.

Mobile Platforms

Even if smartphones are becoming increasingly powerful, the small form factor ofthese devices will always introduce resource limitations compared to static computingsystems [118]. These limitations include lower processing power, smaller memory and

Chapter 1. Introduction 5

persistent storage, slower I/O and, most critically, finite battery life. These constraintsmust be addressed when designing systems and applications for mobile devices.

Commonly used research platforms for mobile systems are either based on sen-sor platforms such as Intel Motes (iMotes) [99] or on off-the-shelf consumer devices.A number of mobile platforms are currently available including (but not limited to)Android, BlackBerry, iPhone, Maemo, Symbian and Windows Mobile. All these plat-forms support third-party applications and provide different type of abstractions toaddress the above discussed mobile computing challenges. The choice of a platformhas also further consequences on what can be done in the research domain in terms ofcapabilities and available APIs [101].

Wireless Communications

The second major system design challenge arises from the inherently variable per-formance and reliability of wireless mobile communications. A typical smartphonehas several network interfaces (NICs). They all have unique characteristics in termsof bandwidth, reliability, radio range and energy consumption. Moreover, none ofthese interfaces is really designed for opportunistic communications in mind. Theunique challenges in this setting are device mobility, discovery of contact opportuni-ties, exploitation of short encounters, and energy efficiency, as the interfaces need tobe powered on most of the time. Furthermore, when considering the use of multipleinterfaces either simultaneously or for separate functions, additional challenges arise.The system needs to decide which interface to use and for which purpose, and/orhow to split and schedule traffic on the available communication links.

1.2.3 Network Measurement and Evaluation

Implementing and deploying opportunistic mobile networks, systems and appli-cations is complex and time-consuming. Hence, the research community has mainlyrelied on simple proof-of-concept prototypes to demonstrate the feasibility of thesesystems, and on simulations and analytical modeling for larger-scale evaluation.

Trace Collection

Network evaluation should of course take into account, as much as possible, real-istic conditions including a sensible transmission range and bandwidth, limited bufferspace for the storage of messages, energy constraints, representative data traffic mod-

6 1.3. Contributions

els, and realistic movements of the mobile users. Most of these parameters (and theircombinations) can only be studied experimentally.

Experimental approaches vary from controlled measurements to mobility experi-ments where a varying number of people carry specialized contact loggers or smart-phones with data collection software on them. The main challenges with measure-ment studies, as with a real deployment, are scalability and practical implementationissues related to mobile platforms [99, 51]. Even a simple trace collection campaignrequires considerable amount of implementation work, suitable parameter selection,equipment and motivated participants. Consequently, some projects have looked foralternative sources of mobility information such as access point association logs, sys-logs and other schedule information to gather similar data. These traces are rarelyuseful directly but some assumptions must be made about the connectivity amongdevices.

Evaluation

Simulations and analytical modeling rely typically on some abstract model of hu-man mobility or on the available traces. The traditional abstract movement models,such as Random Walk [32] or Random Waypoint [62], have been found to be inaccu-rate in modeling human mobility [18]. The alternative approach is to design mobilitymodels based on mobility traces. The challenge is to capture and accurately model thekey statistical properties of the mobility traces in order to be able to reproduce and togeneralize them to other contexts [92]. Beyond mobility modeling, the general contactgraph structure and dynamics of opportunistic networks are still an active researcharea. This is a complex topic and overlaps with various other domains such as socialnetworks analysis and complex networks research.

1.3 Contributions

Our research approach relies heavily on real-life experimentation. We perform pre-liminary experiments to guide the design and implementation of an architecture formobile opportunistic social networking. We evaluate the system performance and thenetwork characteristics by conducting several experiments with real users in confer-ence environments. We believe that real-life experimentation is important as opportu-nistic mobile social networking is still a relatively new research area and not much isknown of the realistic conditions. Moreover, the environmental conditions are gener-

Chapter 1. Introduction 7

ally complex and difficult to model or simulate, and the behavior of users, which is akey feature of our system design, has to be observed in situ.

This dissertation makes several contributions addressing many of the researchchallenges outlined above. First, we study Bluetooth based opportunistic commu-nications in detail using ordinary smartphones. We find a great potential for oppor-tunistic networking with Bluetooth despite some of its practical limitations. Second,we design and prototype an architecture for opportunistic mobile social networkingwe call MobiClique. Third, we deploy MobiClique and several example applicationsin a large-scale experiment with 80 people. Finally, we analyze the characteristics ofthe observed opportunistic mobile social network and content propagation over thenetwork. Most of these contributions can be considered pioneering research in theirdomain when they were first presented. Below we give more details on each contri-bution.

1.3.1 Opportunistic Communications

Our first contribution is the characterization of off-the-shelf smartphones for op-portunistic communications using Bluetooth. We perform a set of controlled mea-surements and three real-life experiments to characterize Bluetooth usability and per-formance in discovering and exploiting opportunistic contacts. We select Bluetoothdue to its lower energy footprint (compared to WiFi) and short range that limits theopportunistic encounters to a human social interaction range.

Despite the limitations of Bluetooth device discovery, contact opportunities areabundant, and we observe that the network has a large capacity for opportunisticad hoc networking. We make practical recommendations for efficient utilization ofBluetooth in opportunistic communication systems: the appropriate inquiry durationis at least 7.68s, an inquiry cache of at least one inquiry interval should be used and anefficient device identification can be implemented using Class-of-Device codes insteadof Bluetooth name or service query protocols (applies only to Bluetooth v2.0 or older).Moreover, at a higher level, chatty protocols (i.e. protocols sending a lot of controldata) should be avoided and message buffer management should be considered earlyon in the design. This is because the current communication system bottleneck basedon our measurements turns out to be not the wireless capacity but the available storageon mobile devices in the network.

8 1.3. Contributions

1.3.2 MobiClique

We design and implement an opportunistic mobile social networking middlewarenamed MobiClique. MobiClique forms and exploits opportunistic mobile social net-works to disseminate content using a store-carry-forward technique. MobiClique isdesigned as an open framework with a API to encourage application developmentand to hide the complexities of opportunistic communications and social networkmanagement from the applications. We prototype three example applications includ-ing social networking, asynchronous messaging among friends and interest groupsand distributed voting.

MobiClique distinguishes itself from other mobile social software and opportu-nistic content dissemination systems by (1) removing the need for a central server toconduct exchanges, (2) by leveraging existing social networks to bootstrap the system,(3) and by taking advantage of the social network overlay to provide an incentive forcollaboration and to make efficient forwarding decisions.

1.3.3 Experimental Data Collection and Data Sets

In addition to the three smaller (∼ 20 participants) user experiments mentionedabove, we collect a large-scale data set on opportunistic mobile social networkingwith 80 devices running MobiClique during 4 days in a conference setting. This is,to our knowledge, one of the first large-scale deployments of a real opportunistic net-work and applications. In contrast to previous measurement studies, we collect theFacebook profiles of the participants including the friendship graph as part of our ap-plication data. This allows us to gain more insight in the real social causes of humanmobility. Moreover, we track not only the human mobility (i.e. current neighboringdevices) but also real application traffic generated by spontaneous user actions duringthe experiment. Our traces have been used by other researchers to expand the researchin opportunistic mobile ad hoc networks in new directions [89, 90, 56].

1.3.4 Analysis of Opportunistic Mobile Social Networks

Our last contribution is a detailed analysis of the contact graph structure and epi-demic content dissemination in an opportunistic mobile social network based on ourdata set. Our first observation is that the often used approach that focuses on thepair-wise contacts (e.g. in [50, 89]) has some limitations, in particular in identifyingthe community structures related to human mobility and social interaction. Conse-quently, we propose a methodology based on a temporal graph model [129]. Using

Chapter 1. Introduction 9

this methodology we find that the opportunistic network is surprisingly well con-nected and contains a large connected component most of the time. Moreover, we areable to identify temporal community structures within the network that correspondto the social community structures of the experimentalists. Lastly, we show how thelarge connected component and the temporal communities characterize the epidemiccontent dissemination paths: the majority of the votes are disseminated within thelarge connected component such that the content spreads from a temporal commu-nity to another, or to individual nodes that rejoin the network core.

1.4 Dissertation Outline

The remainder of this dissertation is organized as follows. We start with a reviewof the related literature in Chapter 2. We present our initial experiments on opportu-nistic communications with Bluetooth in Chapter 3. Then we discuss the design andimplementation of MobiClique in Chapter 4. The main experimental data set used inthe remainder of the thesis is presented and validated in Chapter 5. An analysis of thegraph structure and dynamics of an opportunistic mobile social network and contentdissemination are discussed in Chapter 6. We conclude in Chapter 7 with a discussionof various future work directions. We provide also an index of important terms atthe end of the dissertation (page 125), where each entry points to the pages where aconcept is presented and explained.

Chapter 2Related Literature

IN this chapter we survey the literature related to this dissertation. The review isorganized under four categories: (1) mobile social networks and applications, (2)

opportunistic network architectures, protocols and paradigms, (3) mobile computingand communications, and (4) measurement and modeling of opportunistic networks.

2.1 Mobile Social Networking and Applications

Ad hoc mobile social networks as defined in this dissertation are a new researcharea. Only few systems have explored the use of mobile devices and proximity sens-ing capabilities for social networking [30, 97, 72]. One of the first projects was Seren-dipity [30] that used Bluetooth device discovery to find out about devices nearby anda central server to match profiles either for a professional introduction or more per-sonal reasons such as dating. In [97] the authors propose an application that relies onneighboring device discovery to sense and visualize the surrounding social networkon the mobile device. The work in [72] builds on a similar idea but relays the prox-imity information to an online social networking application that displays aggregatedstatistics of the encounters to the users. Similar applications have also been deployedin commercial settings including Nokia Sensor 1 (meeting and dating) or LoveGety 2

(dating) that both use Bluetooth to discover potential mates.Most of the commercial mobile social networking applications available today of-

1. Nokia Sensor, http://www.nokia-asia.com/support/download-software/nokia-sensor

2. LoveGety, http://www.wired.com/culture/lifestyle/news/1998/06/12899

12 2.1. Mobile Social Networking and Applications

fer friend or community finder services (i.e. locate friends or communities or get no-tified if someone is nearby), other location based services such as recommendationsabout “hot” places, things to do or commercial offers like reductions, or data shar-ing services (mostly photos). In contrast to proximity sensing based applications dis-cussed above, these applications build around the concept of “check-in” i.e. usersnotify the system constantly of their current location and what they are up to. The ser-vice data and logic resides on centralized servers in the Internet and the mobile deviceis just a mean to update and consume information provided by the service.

Some examples (the list is far from complete) of such services are brightkite 3 (groupdiscussion, friend finder, photo sharing, commercial offers), Foursquare 4 (friend fin-der, recommendations, commercial offers), Gowalla 5 (friend finder, recommendati-ons), loopt 6 (friend finder, recommendations), Mobiluck 7 (friend finder) and whrrl 8

(friend finder, photo sharing).Another related class of mobile social applications is participatory sensing (see [13]

for a general discussion of the vision and [74] for a recent survey of existing sys-tems and frameworks). In general, in these systems, mobile devices collaborate tocollect sensor data (camera, microphone, GPS, accelerometer, health monitors) typi-cally stored on central servers. The server provides aggregated reports of the datatypically via an web-based interface.

The focus of this dissertation is in completely decentralized ad hoc interactions be-tween mobile devices and the resulting mobile social networks and communities. Inaddition to social networking services, we experiment with opportunistic networkingi.e. multi-hop collaborative forwarding of information over the mobile social network-ing layer.

Some existing works in the literature have taken a similar direction [88, 139, 84].PeopleNet is an architecture for information search in a distributed manner [88]. How-ever, it uses infrastructure to propagate queries to users in specific geographic loca-tions, and only within these locations, the query is further propagated between neigh-boring nodes via opportunistic connectivity until it finds a match. In [139] the authorspropose a socio-aware overlay for an opportunistic pub/sub communication service.The impact of social interactions for opportunistic content routing, worm propagationprevention and peer-to-peer content dissemination are analyzed in [84]. In contrast to

3. brightkite, http://brigthkite.com4. Foursquare, http://foursquare.com5. Gowalla, http://gowalla.com6. loopt, http://www.loopt.com/7. Mobiluck, http://www.mobiluck.com/en/8. whrrl, http://whrrl.com/

Chapter 2. Related Literature 13

these works, we are the first to design, implement and deploy a completely decentral-ized system and applications for opportunistic mobile social networking.

2.2 Opportunistic Network Architectures, Protocols, Paradigms

2.2.1 Architectures

The networking architecture that we propose and study in this dissertation buildson previous work on various wireless mobile ad hoc networking architectures. We or-ganize the related architectural work in three main categories based on the supportednode mobility and network dynamicity: mobile ad hoc networks (MANET), delay ordisruption tolerant networks (DTN) and opportunistic networks.

Mobile Ad Hoc Networks

Wireless networks can be categorized in two main classes: infrastructure basedand (mobile) ad hoc networks. In infrastructure based wireless networks nodes com-municate typically with one or more base stations connected to a network backbone(e.g. Wifi access points or the cellular network). In contrast, Mobile Ad Hoc Networks,or MANETs, are networks where a group of autonomous mobile nodes are connectedby wireless links and communicate between each other without any infrastructure orcentralized control [25].

In MANETs the nodes of the network act as routers relaying packets for othernodes. The paths typically consist of multiple hops as all nodes are not expected tobe within range of each other. The network topology can be dynamic and changefairly rapidly as nodes are free to move. However, the MANET routing protocols seekto maintain end-to-end paths between all the nodes of the network as the topologyevolves. This is the major difference between MANETs and opportunistic networkswhere we assume no end-to-end paths and routing takes advantage of node mobilityto carry the messages onwards.

There are two main approaches to routing in MANETs: proactive and reactive rout-ing. Proactive routing maintains a routing table on each node much like in the tra-ditional Internet by broadcasting route updates in the network and calculating theshortest path routes to each node based on the updates [115]. Optimized Link StateRouting Protocol (OLSR) is the current Internet standard for a proactive routing pro-tocol in MANETs [23].

The second approach, reactive routing, builds routes only on demand. When a

14 2.2. Opportunistic Network Architectures, Protocols, Paradigms

node wants to send a packet, it initiates a route discovery procedure in the networkand can send data only once a path is established. Ad Hoc On Demand DistanceVector Routing (AODV) is an example of a reactive protocol [108].

MANETs research has been mainly conducted through simulations [73] and onlyfew, mainly controlled testbed deployments, have been studied [132].

The MANET research has spun of research on various sub-types of MANETs. Oneof the most extensively studied ones is vehicular ad hoc networks (VANETs). Here themobile nodes are moving vehicles. The main differences to traditional MANETs areconstrained movement (must follow the streets) and very high speeds of the vehi-cles [141].

Delay Tolerant Networks

The Delay and Disruption Tolerant Network (DTN) architecture was designed to pro-vide networking services for challenged networks [36]. Examples of challenged net-works include connectivity for rural areas [28, 120], inter-planetary networks [116],military networks [114], vehicular networks [143], underwater networks [106] andwild-life tracking sensor networks [64]. The common characteristics of these environ-ments are intermittent or scheduled connectivity and possibly higher error rates, longdelays and lower data rates. The TCP/IP protocol suite performs badly under theseconditions as do the above discussed MANET protocols which still assume end-to-endconnectivity and short queuing delays at routers.

The DTN architecture and protocols are being standardized within IETF 9. At thecore of the architecture is an end-to-end message-oriented overlay called the “bun-dle layer” [17]. It exists above the transport layer providing functionality similar tothe original Internet Protocol. The overlay employs persistent storage within the net-work (on gateways or routers) to support store-and-forward multi-hop routing overvarying time-scales to help combat network disruption. The architecture includes ahop-by-hop transfer of reliable delivery responsibility, optional end-to-end acknowl-edgments and basic security options. A message (or a bundle in DTN terminology)is variable length set of data send and delivered to applications in complete units.Bundle sources and destinations are identified by variable-length Endpoint Identifiers(EIDs) that are based on Uniform Resource Identifiers [7] to provide flexibility to ac-commodate different naming schemes. Each node must have at least one EID, but mayregister several for different applications or routing schemes.

9. Delay Tolerant Networking Research Group, http://www.dtnrg.org/wiki

Chapter 2. Related Literature 15

Several real-life DTN deployments exist. Some well-known examples are the Kiosk-Net [120] for rural area connectivity and DieselNet bus DTN network [143]. The DTNreference architecture is also actively developed and maintained by the DTN researchgroup 10. In addition to traditional simulation tools, a DTN specific simulator withmobility model or trace based mobility and DTN routing protocols has been devel-oped and is publicly available [69].

Opportunistic Networks

Opportunistic networks share the idea of delay and disruption tolerance of DTNbut are designed with the assumption of more unpredictable mobility [33]. Thus, theycan be considered as a generalization of DTNs. A typical opportunistic networkingscenario is connecting mobile devices carried by humans from where the sometimesemployed term Pocket Switched Networks (PSN) [49, 128].

Haggle is the first comprehensive architecture for opportunistic networking [128,98]. Haggle employs asynchronous message passing paradigm familiar from DTN,late binding to select the interfaces and protocols upon contact opportunities and data-centric naming and routing. The architecture provides a common framework for theseservices hiding the complexity of opportunistic networking from the applications. Areference implementation of the Haggle architecture is publicly available 11.

Numerous other opportunistic content sharing systems have been discussed in theliterature [68, 81, 82]. [68, 81] introduce and prototype a channel based opportunisticcontent broadcasting system called “podcasting”. The podcasting system includes aBitTorrent like content distribution protocol where chunks of data are exchanged uponopportunistic contacts. In [82] an interest based content sharing application for publictransportation system is proposed with a focus on the efficient content source selectionmethods based on contact regularity.

Another class of existing opportunistic networking architectures and applicationsrely on well-placed access points or servers to inject pieces of content into the system.Users download content from these access points and, in addition, use opportunisticcontacts when available for collaborative forwarding to reduce load on the infrastruc-ture [75, 66, 53, 57]. An interest based city-wide opportunistic content disseminationsystem has been studied in [75]. BlueTorrent is a generic BitTorrent like cooperativecontent dissemination system for Bluetooth enabled mobile devices where the initialseeds are Bluetooth access points [66]. Legacy application support has been studied

10. DTN architecture reference implementation, http://www.dtnrg.org/wiki/Code11. Haggle, http://code.google.com/p/haggle/

16 2.2. Opportunistic Network Architectures, Protocols, Paradigms

in [53] where the authors discuss various architectures for email delivery from In-ternet to and within an opportunistic networking domain. In [57] a scalable contentdissemination system with dynamic content is discussed. The system exploits bothinfrastructure and opportunistic contacts and finds the optimal content distributionschemes based on individual devices contact rates.

In this dissertation we design and implement an opportunistic networking archi-tecture. Our implementation builds on the Haggle framework as discussed later. Ourmajor contribution to the architecture is a social networking layer. We believe this cre-ates an important incentive for participation in opportunistic networking, can be usedas a component in forwarding algorithms and creates possibilities for application in-novation. Moreover, we deploy our system in a large-scale user experiment.

2.2.2 Forwarding in Opportunistic Networks

In this dissertation we do not design nor evaluate new forwarding algorithms foropportunistic networks 12. Nevertheless, our architecture deploys simple forwardingschemes and could be used to experiment with others. In addition, the data tracescollected in our experiments can be (and have already been [89]) used to evaluateforwarding algorithms offline. Consequently, we give a short overview on forwardingin opportunistic networks next.

A seminal work in modeling opportunistic forwarding presented in [44] estab-lished the well-known result that mobility increases the capacity of a wireless network.Since then there has been a flurry of research activity in forwarding algorithms for op-portunistic networks. In the first three sections below we discuss three broad classesof unicast forwarding algorithms that have been studied in the literature. The lastsection overviews multicasting i.e. group communications in opportunistic networks.

Note that many of the forwarding algorithms presented here can be used bothin DTNs and in opportunistic networks. There are also many purely DTN specificforwarding algorithms that will not be discussed more in detail as they are not directlyapplicable in opportunistic networks. These include for example protocols relying onknown contact schedules [61] or controlled node movement [145]. MANET routing isdrastically different from forwarding in delay and disruption tolerant networks, andtherefore we do not discuss it either in this section.

12. We use the term forwarding, but in the literature the word routing is equally common. In our dis-cussion, we consider these two to be interchangeable.

Chapter 2. Related Literature 17

Oblivious Algorithms

The performance of forwarding algorithms in opportunistic networks is often eval-uated against two oblivious corner cases: direct delivery (a message is delivered onlywhen the source meets the destination) and epidemic forwarding (a message is floodedto all encountered nodes) [135]. Direct delivery represents the worst case in termsof delay and success rate but does not consume any network resources. Epidemicforwarding finds always the delay-optimal path if it exists but it wastes a lot of com-munication and storage resources in the network.

Consequently, many related works have looked into ways to reduce the overheadof epidemic forwarding while guaranteeing close to optimal performance [44, 133,126]. In [44] the authors propose a two-hop relaying scheme where nodes give a mes-sage either to the destination directly or at most one randomly selected intermediatenode. Spray and wait protocol allows several replicas per message by “spraying” anumber of messages to a set of random nodes and then “waiting” that one of themencounters the destination [126]. Yet another algorithm is to forward a message to anencountered node with some probability p < 1 [133].

The above discussed forwarding algorithms reduce the cost of epidemic floodingconsiderably. They are also simple to implement as they do not require any knowledgeof the network topology. However, when node mobility is not completely random(which is often the case with human mobility [31]), more sophisticated approachescan be used.

Contact History Based Algorithms

Many forwarding algorithms use the contact history to make the forwarding de-cisions [78, 29, 63]. Each node maintains a forwarding metric for every other node inthe network. Upon an opportunistic encounter the nodes exchange their forwardingtables (or summaries of stored data including the destinations) and determine if theencountered node is a better forwarder (i.e. has a better value of the metric) for someof the stored data messages. Only selected data messages are replicated reducing theoverhead and increasing the probability of rapid, successful delivery.

Examples of contact history based algorithms include PROPHET (ProbabilisticRouting Protocol using History of Encounters and Transitivity) [78] that maintainsa delivery probability metric updated on each encounter, FRESH (FResher EncounterSearcH) [29] that uses the last encounter age as its metric, and MEED (Minimum Es-

18 2.2. Opportunistic Network Architectures, Protocols, Paradigms

timated Expected Delay) that estimates the delay between nodes using a sliding win-dow over the past contacts [63].

Social Network Inspired Algorithms

The last class of routing algorithms gets its inspiration from social network the-ory [26, 50, 89, 90]. These algorithms are particularly suitable for opportunistic net-works as they rely on human mobility, and hence are characterized by human socialinteraction.

In SimBet [26] node centrality in the social network and the similarity with thedestination are used to select the good next hops. Similarly, BubbleRap [50] forwardsdata first to the global hubs of the network in order to reach the destination commu-nity, and then among the members of the community to the locally central nodes untilthe destination is reached. In [89] the authors take more general approach and studya set of forwarding heuristics that rely on the nodes’ social links (e.g. distance in thefriendship graph). They also propose to use an online social network as a basis ofthese routing heuristics. The initially proposed social network based forwarding al-gorithms such as the ones discussed above typically infer the social network structurefrom the contact history. A recently proposed forwarding algorithm called People-Rank [90] takes a similar approach and applies ideas of PageRank web page rankingalgorithm to opportunistic social networks. PeopleRank gives higher weight to nodesif they are socially connected to other important nodes of the network.

A general improvement for all algorithms that maintain some forwarding metric(based on the contact history or the social properties) is proposed in [34]. The authorscall the scheme “delegation forwarding” and the basic idea is to replicate data onlyto nodes whose forwarding metric is better that that of any node on the complete for-warding path so far. This requires of course that the messages carry this informationalong with them adding overhead on the protocol.

Our system exploits social networks for forwarding through a friendship and com-munity based forwarding algorithms (described later). We also characterize the role ofpre-existing social network(s) (affiliations and online social network) on human mobi-lity and content dissemination using real world contact traces. We believe our resultscan help future research on the routing algorithms for opportunistic networks.

Chapter 2. Related Literature 19

Multicasting

All the routing algorithms described above are aimed to route messages from asource to a single destination. The natural extension is multicasting, distribution ofmessages to a group of nodes. Multicasting in MANETs (and in the Internet) is a well-studied topic (see for example [21] and references within). Similarly to unicast routing,multicasting in DTNs and opportunistic networks introduces novel challenges com-pared to multicasting in traditional connected networks [146].

The first challenge arises from the regular disconnections and delays: it is not ob-vious to manage the set of receivers as nodes may join and leave a multicast groupduring the lifetime of a message. In [146] authors discuss three semantic models forgroup membership management: (1) temporal membership model where the inten-ded receivers of a multicast message are a set of nodes that were members of the groupduring a membership interval specified in the message, (2) temporal delivery modelthat in addition to the membership interval defines a delivery-interval (i.e. maximumage) for the message, and (3) current member delivery model where the message con-tains a flag specifying if the target must be a member of the group at the time of recep-tion or no (note that the first two do not enforce this). The authors also propose severalrouting algorithms that extend unicast routing ideas initially introduced in [61].

A completely opposite approach on the multicasting problem is taken in [68]. Theauthors propose a channel based delay-tolerant broadcasting system where the groupof receivers is open (thus the name “broadcasting”) and there is no explicit routingprotocol either. The system is receiver-driven: nodes wishing to receive content on achosen channel solicit it from nodes they encounter as they move around.

The community based routing algorithm that we deploy in our system is similar tothe above discussed broadcasting protocol. Only instead of generic content channels,we use social communities (interest groups) as the multicast destinations.

2.2.3 Application Programming Paradigms and Interfaces

The opportunistic networking paradigm calls for novel approaches to applicationand application programming interfaces (API) design. The host-centric client-servermodel of the Internet using the well known socket interface does not cope well withdisconnections, delays nor node mobility [103, 27].

The main problem with the traditional socket API is that it enforces a tight spatialand temporal coupling between the application and the end host on the other sideof the network. Any delays or disconnections in the underlying network will make

20 2.3. Mobile Computing and Communications

communications using this API impossible (i.e. the connection must be re-establishedevery time). Thus, it is desirable to decouple the applications from the underlyingcommunication mechanisms to allow opportunistic use of any interface at anytime.

The opportunistic networking architectures typically provide temporal couplingthrough the store-carry-forward paradigm (i.e. the application need not to be involvedat the time of data forwarding). Many recent works on data-oriented networking inturn emphasize spatial decoupling (i.e. a piece of named content may reside in any ormany addresses in the network and this is often resolved using late-binding) [71, 59].The Haggle architecture implements both type of coupling as a result of its data-centricdesign [128, 98].

The classical publish/subscribe paradigm supports naturally temporal and spatialdecoupling [35] and it has served as an inspiration for several novel communicationAPIs [27, 98]. In [27] the authors define an asynchronous networking API to replacethe socket API that revolves around the concept of “publications”. A publication is afirst class object such as named data [71]. The API consists of four simple methods:(1) “open” to open a publication for creation, subscription or sending of messages,(2) “get” to receive messages on a publication, (3) “put” to send messages, (4) “close”to terminate. A similar API is provided by the Haggle architecture with methods toexpress interests to receive certain type of data (specified using key-value pairs) andto send data with metadata containing the key-value pairs that describe the data fortarget resolution [98].

In this dissertation we propose a social network oriented API for opportunisticnetworking. It is closely related to the above discussed APIs in that it incorporates apub/sub style API and hides the details of the underlying opportunistic communica-tion network completely from the applications. In contrast to above discussed works,we do not focus on content-centric networking. The pub/sub paradigm is implemen-ted as a type of interest based messaging where users can be part of one or severalinterest groups and receive messages accordingly. In addition, our API supports moretraditional (but still time decoupled) unicast messaging between people.

2.3 Mobile Computing and Communications

2.3.1 Mobile Platforms

The system prototype and real-life experiments presented in this dissertation aredesigned for off-the-shelf consumer devices running Windows Mobile operating sys-

Chapter 2. Related Literature 21

tem. However, the choice of an experimental platform is not an obvious one due toavailability of various mobile hardware and software platforms. In this section weoverview some of the commonly used mobile research platforms and related work onplatform considerations and their performance evaluation.

The iMote Platform

The Intel Mote (iMote) has been a popular platform in opportunistic networksresearch [49, 75, 18, 131]. The iMote is a small ARM based system running TinyOSwith 64kB of SRAM, 512kB of flash storage, a multi-colored LED, and a Bluetooth 1.1radio [93]. As a small single-purpose sensor platform, iMote programming demon-strates well the basic challenges of mobile computing, most notably need to take intoaccount the limited storage and memory, and battery life (and resulting spurious re-sets) as reported in [99]. In addition, due to their simple configuration iMotes cannotbe used for much more than Bluetooth contact logging. This is a limitation for us asone of the major goals of our experiments is to gather real application traffic in anopportunistic setting.

Smartphones in Mobile Systems Research

Mobile systems research is often done using ordinary smartphones. All majorsmartphone platforms, Android 13, BlackBerry 14, iPhone 15, Symbian 16 and WindowsMobile 17, support development of third party applications.

Each platform provides its own approaches to application development and appli-cation level resource management. The solution space varies from application specificstrategies to mobile application development frameworks that hide all the details ofresource management from applications [118]. Borrowing Windows Mobile termi-nology, the two extreme approaches are also known as managed code and native code.Managed applications are typically executed in a separate runtime environment, forexample Java Runtime Environment (JRE) in Android and Blackberry or CommonRuntime Environment (CRL) on Windows Mobile. The runtimes and related SDKstypically hide much of the complexity of mobile computing from the developers by

13. Android developers, http://developer.android.com/index.html14. BlackBerry Developer Zone, http://na.blackberry.com/eng/developers/15. iOS Dev Center, http://developer.apple.com/devcenter/ios/index.action16. Symbian developer community, http://developer.symbian.org/17. Windows Mobile Developer Center, http://msdn.microsoft.com/en-us/

windowsmobile/default.aspx

22 2.3. Mobile Computing and Communications

taking care of task such as memory management, application live cycle, resource shar-ing and security. But as a result the applications are much more restricted in terms ofwhat can be done. For example, as a result in some environments simple backgroundexecution may be impossible. In contrast native applications typically have access tothe full operating system functionality exposing also most of the challenges of mobilecomputing directly to the developer.

A comprehensive survey of the capabilities of currently (as of 2008) available ma-jor mobile platforms for mobile systems research is provided in [101]. The authorsevaluate five popular smartphone platforms including Android (Linux), BlackBerry,iPhone, Symbian and Windows Mobile. As the evaluation criteria they use the avail-ability (at some API level) of a set of common features required by a variety of mobilesystems research prototypes. These features include network scanning (discovery ofa contact opportunity using any interface), interface selection (the ability to use anyavailable interface in ad hoc and/or infrastructure mode), location services (e.g. GPS),energy level monitoring, network interfaces power management (turning on/off theinterfaces or the screen, controlling the power saving mode), background processingand low-level memory management. Our work shares similar requirements for themobile platform.

The majority of the studied platforms provide an application programming inter-face to access most the required features. The main differences are in usability anddevelopment tools support: some platforms provide native but hard to use or badlydocumented interfaces while others incorporate most of the required functionality inthe managed runtimes. We do our own survey on Java ME 18 frameworks for Win-dows Mobile [109] for its portability and ease of use but find that at the time of writingthe supported functionality is inadequate and that the memory footprint of the avail-able runtimes is high. We conclude that programmers should rely on native interfaceswhen implementing advanced mobile systems and applications including opportu-nistic networking on Windows Mobile (versions 5.x and 6.x).

Many authors have analyzed the performance and implementation trade-offs ofvarious mobile applications on specific mobile platforms [102, 39, 79, 85] 19. In [102]the authors evaluate the performance of the DTN reference implementation (DRI) ona resource limited computing platform. The authors show that the DRI performance is

18. Java ME, http://www.oracle.com/technetwork/java/javame/overview/index.html19. Note, the focus here is on the system performance measurements, opportunistic communications

will be discussed more in detail in the next section. Also, we present only few examples mainly fromrecent conferences focusing on mobile systems to give an idea of the wide range of uses of mobile devicesin systems research. This is not meant to be an exhaustive review and we acknowledge that a largenumber of other works using mobile devices are out there.

Chapter 2. Related Literature 23

limited by the slow disk I/O (especially when using Compact Flash storage typical onmobile platforms) and the CPU power. An adaptive location-based micro-bloggingservice and prototype performance on Nokia N95 is analyzed in [39]. More specif-ically, the adaption mechanism trades-off the location accuracy for energy-efficiency.SoundSense [79] is a stand-alone sound profiling application implemented on iPhonesthat offers a good performance by trading-off memory usage for lower CPU process-ing requirements. Darwin [85] is a collaborative sensing system implemented andtested on Nokia N97 devices and iPhones. With the help of collaboration betweenco-located mobile devices and some backend processing support, Darwin achieveshigh energy efficiency in performing complex classification computations on mobiledevices.

The results of these studies are encouraging, and also prone to change rapidly asmobile platforms and application development frameworks evolve. Hence, the maintake-away is that the available open smartphone platforms and developed implemen-tation techniques offer already the required functionality and system performance forimplementing advanced opportunistic mobile social networking systems and appli-cations.

In this dissertation we develop a middleware for opportunistic communicationsthat provides a clean abstraction of the opportunistic networking layer to the applica-tions. The middleware includes a persistent storage component and provides simpleresource management functions related to the networking and energy resources us-age. We prototype and test our system on Windows Mobile (5.X and 6.X) devices.

2.3.2 Opportunistic Wireless Communications

There are two wireless technologies that can be used in practice for direct device-to-device opportunistic communications: Bluetooth[10] and 802.11 (WiFi) [54, 55]. Thecurrently popular 2G and 3G cellular data interfaces and protocols including GPRS,1xRTT, EDGE, UMTS, HSPA, EvDO cannot be used for direct device-to-device com-munications and thus will not be considered further. The 4G technologies such asWiMAX (802.16) and LTE may change the picture but are left to future work as de-vices supporting these technologies are only starting to emerge.

In this dissertation we will focus on the use of Bluetooth for opportunistic com-munications. We experiment with WiFi but can not use it in practice due to its highenergy energy consumption [110]. Below, we present related works that have studiedBluetooth, and to some extend, other wireless networking technologies in the contextof ad hoc and opportunistic networks. As we outlined in the introduction, the main

24 2.3. Mobile Computing and Communications

challenges are how to discover and exploit opportunistic contacts efficiently, how topreserve energy and how to take advantage of multiple network interfaces (NICs).

Contact Discovery

Bluetooth device discovery is known to be somewhat slow (order of seconds), en-ergy consuming and performing bad in dense settings. This has been widely studiedand many improvements have been presented [123, 142, 4, 70, 77, 66]. In [123] theauthors propose appropriate inquiry parameters, a protocol for cooperative devicediscovery and context aware extensions to adjust the discovery parameters based ondevice movement. [142] proposes a radio layer approach to reduce the backoff timesduring the inquiry procedure in order to speed up the discovery. In [4] the overheadof the name queries and service discovery is reduced by using the Class-of-Deviceinquiry response field to provide additional information about the discovered devicemaking separate name and service queries redundant. An analytical model of the in-quiry process is developed in [70] and the authors conclude that the recommended du-ration of 10.24 seconds could be halved without a big loss in accuracy. The use of dualBluetooth radio to provide full-duplex inquiry channel for faster neighbor discovery isanalyzed in [77]. Finally [66] analyzes the impact of various low-lever parameters onBluetooth device discovery latency and propose an optimal configuration. They alsopoint out that fast discovery and energy-efficiency are conflicting goals: the proposedparameters would incur higher energy consumption.

Our work identifies similar problems with Bluetooth and we adopt the solutionproposed by [4] to speed up the discovery and identification. We also do our ownmeasurement study to select the appropriate values for inquiry parameters that canbe modified on off-the-shelf smartphones.

More generic mechanisms for opportunistic (ad hoc and infrastructure) contactdiscovery have been discussed in [136, 96, 2]. The impact of the length of the periodicdiscovery interval on energy consumption is analyzed in [136], and to save energythe authors evaluate a number of dynamic adaption protocols that predict the con-tact density. In [96] a decentralized mechanism to predict connectivity (focus on WiFi)based on past observations is studied. Similarly, Blue-Fi [2] is a system that predictsthe availability of WiFi connectivity (i.e. access points) using both the Bluetooth con-tact patterns and the available cell-tower information.

Chapter 2. Related Literature 25

Data Transmission

The data transmission performance of wireless technologies under mobility havebeen studied extensively in the context of VANETs and other vehicular networkingsystems [104, 40, 14, 45] (to name few most cited examples). The seminal work inmeasuring 802.11b performance from a moving vehicle is [104]. Authors manage totransfer 9MB of data from a vehicle moving at 80km/h by an access point. In [40] theauthors perform a set of controlled data transmission tests at varying speeds using802.11b in an interference free environment. They find that the throughput remainshigh and packet losses are low. However, they observe that chatty application levelprotocols that require many round-trips to complete such as HTTP suffer under oppor-tunistic connectivity. They also observe that the many authentication stages of 802.11slow down the operations. A similar study in an urban setting is presented in [14]. Amedian loss rate of 78% and a throughput of 30KB/s is reported with varying vehiclespeeds. More recently, [45] provides even more details on the different factors thatreduce the opportunistic 802.11 throughput from moving vehicles at various layer ofthe protocol stack and the authors make several recommendations for using vehicularopportunistic networking efficiently.

Similar measurement studies on data transmission performance using human car-ried mobile devices are fewer [81, 66, 124]. In [81] an evaluation of opportunisticnetworking application on PDAs using 802.11 is discussed. In a static scenario themaximum achieved throughputs are reported to be around 100-120 kB/s. Some real-life measurements from opportunistic Bluetooth networking application are givenin [66] but the focus is mainly in optimizing the device discovery parameters. Blue-Monarch [124] proposes a solution to evaluate Bluetooth performance with any nearbyBluetooth enabled and discoverable device by emulating Bluetooth communicationsusing the device inquiry requests only. Using the system the authors measure an ap-proximate 50 to 100 kbit/s median rates for Bluetooth transfers in the wild.

In this dissertation we extend the work in this domain and present both controlledand real-life measurement data on Bluetooth performance for opportunistic network-ing among human carried mobile devices.

Multi-NIC Communications

Several authors have studied the use of so called radio hierarchies for energy ef-ficient wireless communications. The basic idea is to use a low power radio (thathas typically also shorter range and lower capacity) for contact discovery and/or low

26 2.4. Network Measurement, Characterization and Modeling

bandwidth transmissions, and a higher power radio (with better capacity) for heavierdata communications [121, 125, 107, 65, 1]. [121] was one of the first to propose a suchsystem. A low power radio is notified externally of incoming data and is responsibleof waking up the primary radio (802.11) on a mobile device. In [125] a complete systemwide hierarchical power management architecture for a mobile platform is presentedthat takes into account the current application requirements and selects the appro-priate tier in the architecture to be activated that minimizes the power consumptionwhile performing the required actions. CoolSpot [107] is a system to switch auto-matically between multiple wireless interfaces such as WiFi and Bluetooth based onvarious policies that take into account the bandwidth demands. [65] focuses on multi-NIC contact discovery in opportunistic networking context and proposes traffic awarealgorithms for scheduling the wake-ups of low and/or high power radios for optimaltrade-off between energy consumption and efficient contact discovery. Finally, in [1]the cellular network is leveraged to notify a mobile device of an incoming VoIP call sothat it can power on its WiFi interface on demand.

2.4 Network Measurement, Characterization and Modeling

2.4.1 Encounter Traces

Several opportunistic encounter traces have been collected recently. Many of thedata sets can be downloaded from CRAWDAD 20 archives. The available traces can beroughly divided into two categories: derived encounters and direct encounters betweenmobile devices. This dissertation is particularly close to the second category as wecollect and use direct encounter traces in our analysis.

Derived Encounters

Various data sets recording information about encounters with access points existsin the literature [6, 47, 83, 134, 80, 31]. In [6] the authors collect data about accesspoint associations of around 1000 users using SNMP protocol in a large corporatesetting. A similar data set is presented in [47] from a campus environment including7000 users. [134] is yet another SNMP based mobility trace from an university settingwith 3000 users. The SNMP polling is completed with syslogs from the access points.Syslog data is used also in [80] with over 10000 active users in a campus network.

20. Community Resource for Archiving Wireless Data At Dartmouth, http://crawdad.cs.dartmouth.edu/

Chapter 2. Related Literature 27

In [83] WiFi contact trace is collected with close to 300 PDA users in a campus area.Similar trace including WiFi and cellular contacts from 100 mobile devices is reportedin [31].

The access point encounters are used to analyze mobility and opportunistic net-working applications typically by assuming that two devices that are simultaneouslyin the range of the same access point, can communicate with each other [18]. Similarapproach has been utilized also to derive encounter traces from other available con-tact information [127, 82]. The former relies on university class schedules while thelatter exploits a collection of traveler logs from a public transportation system. Theseapproaches will inevitably introduce some inaccuracies depending on the granularityof the data (e.g. the range of a WiFi radio is hundreds of meters and several peoplemay be simultaneously in range but not necessarily in line-of-sight). Consequently,several projects have collected data on direct encounters as described next.

Direct Contacts

The above cited study [31] was in fact one of the pioneering projects on direct en-counter trace collection. A contact logger running on the cellphones collected data ondirect Bluetooth encounters. In addition to contact trace, the participant demograph-ics (e.g. student or faculty, school) are known and a short survey of more detailedsocial relationships was done (not publicly available).

Several projects have used the iMote platform for Bluetooth based encounter tracecollection [49, 75, 18, 99, 19]. [49, 18, 99, 19] distribute 40 to 70 iMotes to a numberof people in conference, campus and city environments. Another city-wide measure-ment campaign with 40 volunteers and a number of static stations is presented in [75].The majority of the initial iMote experiments collect no user profile data. The notableexceptions are the Cambridge city trace [75] where participants are known to belongto two distinct groups of students and the Infocom’06 trace where each user filled in asimple survey asking for nationality, language and affiliations [19].

Another option to find out about direct contacts is to use GPS instead of Bluetoothto record the exact coordinates of the moving device. This method has been mainlyused to measure vehicle mobility such as taxi cabs [112].

The direct encounter traces have varying granularity (from 15 seconds to 5 min-utes) and densities depending on the deployment scenario and radio technology used.Thus the results are not always directly comparable. Our experimental settings dis-cussed in detail later in this dissertation follow closely the iMote experiments per-formed in conference environments [49, 18, 99]. We validate our data against the basic

28 2.4. Network Measurement, Characterization and Modeling

characteristics observed in these experiments. However, our data set is unique in itsscale and in terms of the data collected. We record not only direct encounters but alsoparticipants social network profiles and real epidemic application traffic generated byspontaneous user actions during the experiment.

2.4.2 Network Structure and Dynamics

The key property of opportunistic networks is human mobility. Understandinghuman mobility is crucial to design and evaluate systems that cope with and take ad-vantage of human mobility efficiently. In this section we review first related literatureon understanding and modeling human mobility, and then discuss more general liter-ature about the structure of the contact graph and dynamics of opportunistic networksand content dissemination.

Human Mobility

The first models of human mobility were purely abstract such as Random Walk (orBrownian motion) [32] or the Random Waypoint model [62] (see [16, 92] for relatedsurveys introducing many others). In Random Walk model, nodes are assigned speedsdrawn from a distribution and random destinations. Once the nodes reach their des-tination, they pick a new destination and a new speed and the process repeats itself.Random Waypoint adds a random pause time at each destination. Synthetic groupmobility models have been proposed too, for example [48], where the movement ofnodes is directed by the movement of its cluster head.

The above described synthetic models of mobility are often used in simulationsand analytical models of opportunistic networks for their simplicity. However, in re-ality, human mobility is much more complex than what these models assume [18, 92].Consequently, many authors have used the previously presented traces and other datato understand human mobility and to run more realistic simulations.

The periodic patterns of human mobility and activity in varying time scales (hourly,daily, weekly, monthly or yearly) have been observed and measured by many au-thors [6, 47, 134, 31, 82]. The majority of the cited works also find out that mobi-lity takes most of the time place between few well defined locations such as home,work and hobbies; and that in general the popularity distribution of various placesfollows power-law [134]. These observations have also been used to derive a num-ber of mobility models that are based on the transition probabilities between differentlocations [134, 60, 140, 80].

Chapter 2. Related Literature 29

Beyond these general observations about human mobility, the opportunistic en-counters between mobile devices have gained a lot of attention [49, 18, 67, 15]. Thepower-law nature of contact and inter-contact times was first established in [49] and itsfollow up [18]. The power-law behavior of inter-contact times contradicts the validityof the classical synthetic mobility models such as Random Walk or Random waypointin modeling human mobility. The authors of [18] also show analytically that the shape(i.e. the exponent) of the power-law has (in the case of α < 1 drastic) consequenceson the performance of opportunistic forwarding algorithms. Some of these resultswere contested in [67] where the exponential decay of the tail of the distribution wasfound to be a significant factor, and that the results based on power-laws only may beoverly pessimistic. Some simple models of mobility generating such distributions arediscussed in [15].

Some recent works have also looked into the social motivations of human mobi-lity [31, 89]. In [31] it is shown how a shared context of two users can be used to inferthe nature of their social relationship (e.g. colleagues are mostly met during weekdaysand friends in the evenings). In [89] authors compare the opportunistic contact graphand the social graph of a set of mobile users in a conference setting and conclude thatmany properties of nodes, links and paths correlate between these two networks.

Social network theory has also inspired some synthetic mobility models such as [91,12]. The model presented in [91] groups nodes together based on their social relation-ships. This grouping is then mapped to a physical space where the movements aredriven by the strength of the social ties between nodes. SIMPS (Sociological Inter-action Mobility for Population Simulation) [12] is another mobility model based ontwo recent results in social network research: (i) each human has specific socializationneeds which corresponds to her personal status (e.g., age and social class); (ii) humansmake acquaintances in order to meet their social interaction needs.

Our work bears some similarities with the above mentioned studies in sociallydriven movement and can be considered as an extension of the work started in [89].However, we find that the study of pair-wise contacts only has some limitations, andconsequently, we explore temporal graph model based methods.

Opportunistic Networks

The general properties of forwarding paths in opportunistic networks have beenstudied in [19, 33]. In [19] the diameter of an opportunistic network is defined as thenumber of hops needed to achieve a high proportion (e.g. 99%) of the success rateof flooding, under any time constraint. The authors find out using several available

30 2.4. Network Measurement, Characterization and Modeling

traces that the typical diameter is between four and six hops and establish the exis-tence of the “small-world” phenomenon in these networks previously observed in thecontext of human social networks [137]. In [33] the authors study the “path explo-sion” phenomenon in opportunistic networks. By this they mean that, once the firstpath (from some source) reaches a destination, the number of subsequent paths reach-ing the same destination grows rapidly with time, such that there usually exist manynear-optimal paths. Moreover, the authors show that this phenomena depends cru-cially on the contact rates of the nodes on the path: messages reaching high contactrate nodes fast, exhibit path explosion faster.

Opportunistic networks have been found to share many other characteristics withsocial networks than just the small-world phenomena mentioned above [52, 84, 139,26, 50, 56]. Several authors have found that in a typical opportunistic network, asin the human social networks [38], some nodes are more central than others. Thishas been used to design efficient forwarding schemes [26, 139, 50]. Another distinctfeature of social networks is their high clustering explained by the underlying com-munity structure of the network [94]. A distributed community detection methodfor opportunistic networking applications is presented in [52] and communities havebeen exploited for forwarding [26, 50]. In [84, 56] the importance of weak ties for op-portunistic content dissemination is demonstrated. The classical notion of weak tiesfrom sociology [43] states that human social networks consist of tight clusters of nodeswith strong ties that connected to each other via weak ties that act as bridges betweendifferent communities. The same mechanisms dictate that in opportunistic networksweak ties should not be left un-used for efficient content dissemination.

Most of the social properties mentioned above have been typically studied in staticgraphs by looking for example at the aggregated contact statistics over an experimen-tal trace. The properties of time evolving (or temporal) social (and other) graphs havealso gained interested [76, 130, 119, 20, 129]. In [76] the authors study several types ofnetworks including social graphs over time, and find that the diameter of the graphshrinks and the networks become denser as time goes by. In [130] the authors pro-pose a framework to identify communities in social networks that change over time.A framework to study of dynamic mobility using encounter traces is reported in [119].Some initial ideas to detect time-varying communities in opportunistic networks arealso discussed in [20]. The work in [129] present temporal distance and reachabilitymetrics for time-evolving opportunistic networks.

Finally, some recent related works have observed that opportunistic networks can

Chapter 2. Related Literature 31

be analyzed and modeled through a clustering phenomena taking place in the net-work in contrast to simply focusing on pair-wise contacts [117, 46].

This dissertation is closely related to all of the above mentioned studies, and wemake further contributions towards a better understanding of the network structureand the epidemic forwarding paths in opportunistic mobile social networks. We be-lieve that we are the first to posses and analyze truly unbiased data on mobility andsocial information. We also depart from the node centric models of content dissemi-nation, and show that the network and content dissemination can be understood viagroup interactions. To this end we leverage and extend the related work on analysisof temporal graphs and propose a methodology to detect temporal communities.

Chapter 3Opportunistic Communicationswith Bluetooth

IN this chapter we characterize the performance of opportunistic communicationswith Bluetooth via controlled and real-life experiments using off-the-shelf smart-

phones. We select Bluetooth instead of WiFi for two very practical reasons: (1) wecannot require people to carry test devices that need to be charged every few hours 1,and (2) the shorter range of Bluetooth limits the opportunistic contacts convenientlyto human social interaction range which becomes important in our later experimentswith mobile social networking applications.

Below we give first a short background introduction to Bluetooth technology inSection 3.1. In Section 3.2 we discuss a set of micro-benchmarks we perform to charac-terize the practical Bluetooth performance and parameters. In Section 3.3 we presentthree user experiments that measure the performance and capacity of Bluetooth basedopportunistic communications in real-life. We summarize the lessons learned and ourrecommendations for efficient implementation of Bluetooth based opportunistic com-munications systems and protocols in Section 3.4.

3.1 Short Introduction to Bluetooth

Bluetooth is a low-power short-range wireless communication technology inten-ded to replace the cables connecting electronic devices. Below we give a short over-

1. We do some measurements with WiFi but find the energy consumption to be extremely high onoff-the-shelf smartphones.

34 3.1. Short Introduction to Bluetooth

view on the Bluetooth protocol stack, the device discovery procedure (called inquiryscan in Bluetooth terminology), supported higher layer protocols and application pro-gramming interfaces.

3.1.1 Overview

Bluetooth operates on a license-free ISM band at 2.4GHz (the same as used by802.11). The physical layer is based on frequency hopping spread spectrum (FHSS)and transmits data on up to 79 frequency bands (1 MHz each). Each frequency bandis divided into time slots and full duplex transmission is provided through the use ofa time-division duplex (TDD) scheme.

Bluetooth network has a master-slave structure. A master device can communicatewith up to seven devices forming a so called piconet. In a piconet devices communicateon the same physical channel that is defined by a common clock (set by the master)and a frequency hopping pattern. By definition, the device that initiates a connectionbecomes the master. Once a piconet has been established, master-slave roles may beexchanged. At any given time, data can be transferred between the master and oneother device, but never directly between two slaves. A device can only be synchro-nized to a single channel at a time. Multiple simultaneous operations (e.g. partici-pating in various piconets, being discoverable and connectable) are supported usingtime-division multiplexing between various channels. However, device can only bethe master of a single piconet.

Above the physical layer in the architecture there is a number of logical links forcontrol and data traffic. These are managed by a L2CAP layer that provides a chan-nel based abstraction for applications. One logical (and physical) link can thus carrydata for multiple applications. L2CAP provides reliable transmission performing flowcontrol, CRC checks and retransmissions upon request. The main traffic services pro-vided are asynchronous connection-oriented unicast and isochronous constant ratechannel (e.g. for audio streaming). However, these channels are rarely used directlyby applications, instead several higher layer protocols have been standardized andimplemented in various client libraries (see below).

The most commonly adopted Bluetooth specifications include v1.2 [8], v2.0 [9] andv2.1 [10] all being backwards compatible. The specifications differ mainly in sup-ported bit rates and support for some advanced features. The nominal rate for Blue-tooth v1.2 is 1Mbit/s. Bluetooth v2.0 increases the bit rate up to 2Mbit/s (Basic Rate)and 3Mbit/s (Enhanced Data Rate or EDR). v2.1 extends the inquiry responses (moreon this below) and adds secure pairing among other minor tweaks. The operational

Chapter 3. Opportunistic Communications with Bluetooth 35

ranges of Bluetooth devices vary from approximately 1, 10 to 100 meters (class 3, class2 and class 1 respectively). Smartphones are generally class 2 devices.

3.1.2 Inquiry Scan Procedure

The Bluetooth specification defines two separate physical channels for device dis-covery (inquiry scan channel) and connection setup (page scan channel). Each Blue-tooth devices can be in one of the four states: (1) connectable and discoverable, (2)connectable, (3) discoverable, or (4) neither discoverable nor connectable. A devicecannot be discovered nor connected unless it is configured in the correct state.

A discoverable device listens for inquiry requests periodically (called inquiry scanstate) on its inquiry scan channel that has a reduced number of hop frequencies and aslower rate of hopping. In order to discover neighboring devices, an inquiring devicehops through all possible inquiry scan channel frequencies in a pseudo-random fash-ion, sending an inquiry request on each frequency and listening for responses. This isdone at a faster rate, allowing the inquiring device to cover all inquiry scan frequen-cies in a reasonably short time period. The Bluetooth specification recommends aninquiry duration of 10.24s. Then, with high probability, all neighboring devices willhave entered their inquiry scan state and will hear the inquiry.

An inquiry response consists of an unique 48-bit device address of the discovereddevice and a 24-bit Class-of-Device code (CoD). The CoD consists of a major and mi-nor device codes. The device codes are standardized and provide information aboutthe device type: major code can tell if the device is a computer or a phone for exam-ple while the minor code can specify if the device is a cellular or cordless phone. Inaddition, each device may have a human readable name that can be queried usinga separate control request. The extended inquiry response available in v2.1 can pro-vided the human readable name and additional information about supported servicesdirectly in the inquiry response. Older Bluetooth devices must use the separate controlrequest and a service discovery protocol (see below) instead.

Once a device is discovered, a connection setup can take place. A connectabledevice is listening on its page scan channel for connection requests that are send in asimilar fashion as inquiry scans. The connection setup must be completed before anydata can be transmitted between the devices.

36 3.1. Short Introduction to Bluetooth

3.1.3 Higher Layer Protocols

Each Bluetooth device must support the Service Discovery Protocol (SDP). Theservice discovery mechanism provides the means for client applications to discoverthe existence of services provided by server applications as well as the attributes ofthose services. The attributes of a service include the type or class of the service andthe protocol information needed to access the service. The SDP protocol itself is run bya SDP server on the device that is responsible of maintaining the local service recordsand answering service discovery queries for SDP clients on other Bluetooth devices.

The Bluetooth specifications define various specialized protocols on top of theL2CAP layer for different purposes such as audio streaming, telephony and datatransmissions. The most commonly used serial data stream protocol is RFCOMM.The RFCOMM protocol provides emulation of serial ports (up to 60 ports can be usedsimultaneously depending on the implementation). It provides a simple reliable datastream service, similar to TCP. In order to connect to another Bluetooth device overRFCOMM, the client must know the server channel which can be resolved using SDP.It is also possible to use hard-coded channels, but dynamic channel numbers are rec-ommended since the number of available channels is very limited (30).

3.1.4 Application Programming Interfaces

The main interface between user level applications and the Bluetooth device iscalled Host Controller Interface (HCI) that is standardized in the Bluetooth specifi-cation. However, existing Bluetooth protocol stack implementations typically do notallow direct access to the HCI interface but provide their own abstractions of the mainBluetooth operations. The main stacks in use include BlueZ for Linux based devices 2,Windows Bluetooth stack and WinSock for Windows and Windows CE based devices 3

and Broadcom’s Bluetooth stack for Windows based devices 4.The client APIs let the applications control the device state (discoverable and/or

connectable), the human readable Bluetooth device name and very often the CoDvalue. The device inquiry can be initiated at anytime through the Bluetooth API andthe applications can typically control the duration of the inquiry and/or the number ofresponses to wait for. The applications can also query for the human readable namesof the discovered devices, create local SDP records for the services they provide and

2. BlueZ, http://www.bluez.org/3. WinSock, http://msdn.microsoft.com/en-us/library/ms898947.aspx4. Broadcom Bluetooth, http://www.broadcom.com/support/bluetooth/sdk.php

Chapter 3. Opportunistic Communications with Bluetooth 37

query the records of nearby devices. The data services such as RFCOMM are typicallyaccessed using a special type of socket and the familiar socket API.

3.2 Bluetooth Benchmarks

We implement a simple light-weight measurement software for Windows Mo-bile platform for the initial benchmarks and real-life experiments. In this section wepresent a set of micro-benchmarks from our controlled laboratory experiments. Thegoal of these benchmarks is to understand the practical performance and implementa-tion issues with Bluetooth and to find suitable parameters for real-life experimentationand systems.

Most of our experiments (controlled and real-life) are executed with HTC s620Windows Mobile Smartphones 5. HTC s620 has a 200MHz TI processor, 64MB ofRAM, 128MB of ROM and a MicroSD slot. The radio interfaces include a quad-bandGSM/EDGE cellular radio, Bluetooth v1.2 and 802.11b/g. This device represented atypical advanced smartphone configuration at the time of purchase (mid-2007).

3.2.1 Battery Life

0 20 40 60 80 100 120

Time (h)

0

20

40

60

80

100

Bat

tery

(%)

BT (120s)BT (60s)BT serverBT client

Figure 3.1: Bluetooth battery life benchmark.

We start with simple battery life benchmark under periodic device discovery andcontinuous data transmissions. The measurement software performs periodic Blue-tooth device discovery with discovery interval of 60 and 120 seconds. The Bluetooth

5. www.htc.com/product/03-product s620.htm

38 3.2. Bluetooth Benchmarks

inquiry duration is set to 10.24 seconds. In the data transmission test a device is eithercontinuously sending or receiving data to/from a fixed target PC until the batterydrains out. The data traffic consists of 0.5MB chunks and the socket connection isreestablished between each chunk. The Bluetooth (and the cellular) interface of thedevice are powered on all the time during the experiment to match realistic scenar-ios where the device is in normal use and should be discoverable via Bluetooth foropportunistic communications.

Figure 3.1 plots the evolution of the remaining battery-life as reported by the OSduring different tests. When we perform just the Bluetooth discovery every 120s, thedevice battery lasts over 120 hours 6. When decreasing the scanning interval from 120seconds to 60s, we observe around 40% shorter life-time (80h). The continuous datatransmission drains the battery much faster, in 10 hours in the client mode and in 17hours in the server mode.

In real-life we do not expect opportunistic networking applications to create sucha high load, and thus we conclude that the initial applications we are planning, arefeasible in practice in terms of battery life-time.

3.2.2 Contact Discovery

We perform another set of trials to understand better the Bluetooth device discov-ery performance and appropriate parameters in dense settings. We test three opera-tions: (1) the simple device inquiry, (2) the device inquiry with the device name query,and (2) the device inquiry with the service discovery. We vary the duration of the de-vice inquiry (must be a multiple of 1.28s time slots, standard recommends 10.24s i.e. 8slots), the number of nodes discoverable (1 to 16) and the number of nodes inquiring(one or all). The inquiry interval is set to 120s ± the inquiry duration in each trial(small randomization factor is used to avoid synchronized inquiries). All the mea-surements results are averages over 20 runs with 95-% confidence levels indicated onthe figures.

Figure 3.2(a) plots the expected baseline performance where we have only oneinquiring device and eight discoverable devices in its radio range. All the discov-ery methods reach 100% success starting from the inquiry duration of 7.68 seconds (6slots).

Next we perform the same experiment but set eight node within the radio rangeof each other and let them perform the various discovery operations periodically. In

6. For comparison, the standby time reported by the manufacturer is up to 220 hours ( 9 days) andtalk time up to 5 hours.

Chapter 3. Opportunistic Communications with Bluetooth 39

0 5 10 15 20 25

Inquiry Duration (s)

0

20

40

60

80

100

Suc

cess

(%)

InquiryInquiry + name queryInquiry + service discovery

(a) No interference

0 5 10 15 20 25

Inquiry Duration (s)

0

20

40

60

80

100

Suc

cess

(%)

InquiryInquiry + name queryInquiry + service discovery

(b) Interference

0 5 10 15 20 25

Inquiry Duration (s)

0

5

10

15

20

25

30

35

Del

ay(s

)

InquiryInquiry + name queryInquiry + service discovery

(c) Delays

Figure 3.2: Bluetooth device inquiry duration and delay.

figure 3.2(b) we see that Bluetooth does not reach 100% success rate even with the sim-ple device inquiry in the presence of multiple inquiring devices. The recommendedinquiry duration of 10.24 for example is sufficient to discover 95% of the availabledevices on average.

Enabling the name query and the service discovery decreases the performanceeven more. With the name query enabled, the discovery success rate (i.e. all devicesare found and their names received) is at most 88% (inquiry duration >=15.36s). Theservice discovery shows even lower success staying constantly below 80%. The mainreason for the low performance of name and service discovery is that they need toestablish a L2CAP link connection with the discovered devices which takes more timeand becomes less reliable under interference. For example, we investigate the averagecompletion delays of the various operations in 3.2(c) and we observe that the namequery and service discovery add a constant additional delay (order of 5 seconds) tothe discovery process.

A simple idea to improve the device discovery performance is to maintain a shortcache of discovered devices. With the cache result of an inquiry is an union of the

40 3.2. Bluetooth Benchmarks

0 5 10 15 20 25

Inquiry Duration (s)

0

20

40

60

80

100

Suc

cess

(%)

InquiryInquiry + name queryInquiry + service discovery

(a) Cache: 1 interval

0 5 10 15 20 25

Inquiry Duration (s)

0

20

40

60

80

100

Suc

cess

(%)

InquiryInquiry + name queryInquiry + service discovery

(b) Cache: 2 intervals

Figure 3.3: Bluetooth device inquiry with a cache.

devices that respond to an inquiry at some inquiry time and of the devices that re-sponded in some number of previous rounds. We test the impact of one and twodiscovery interval long caches and plot the results for the case of eight simultane-ously active devices in Figures 3.4(a) and 3.4(b) respectively. The inquiry performancereaches almost the baseline performance with a cache of one interval: for example thebasic inquiry has 99% success at 7.68s and 100% at 15.36s. Caching improves also theother operations: the inquiry with a name query obtains over 90% success rate whenusing one interval cache and the service discovery over 80% with cache of 2 intervals.

2 4 6 8 10 12 14 16

Nodes

0

20

40

60

80

100

Suc

cess

(%)

No CacheCache 1Cache 2

(a) Inquiry duration 5.12s

2 4 6 8 10 12 14 16

Nodes

0

20

40

60

80

100

Suc

cess

(%)

No CacheCache 1Cache 2

(b) Inquiry duration 10.24s

Figure 3.4: Bluetooth device inquiry under varying node density.

Lastly we test the impact of node density on the inquiry process with one scanningnode using inquiry duration of 5.12 and 10.24 seconds and with varying number ofnodes in range (1 to 16). The discovery success with varying inquiry cache is shownin Figure 3.4. We observe that the success rate with no cache decreases in both cases

Chapter 3. Opportunistic Communications with Bluetooth 41

as the number of nodes increase. In contrast with a small cache, we can maintainnearly 100% success even when there are a high number of neighboring devices. 10.24seconds obtains a constant 100% discovery rate with a cache of 2 inquiries.

In conclusion, our results indicate that the inquiry duration should be at least 7.68s.In the presence of multiple inquiring devices, a good performance can be maintainedwith an inquiry cache of at least one inquiry interval (when using relatively short in-tervals compared to the device movement). Moreover, due to the large delays causedby the name query and service discovery protocol, other options for device identifica-tion should be considered such as using the Class-of-Device codes as proposed in [4].With the latest versions of Bluetooth (>v2.0) the extended inquiry response (EIR) canbe used instead.

3.2.3 Data Transmission

0 20 40 60 80 100

Success (%)

10 neighbors

15 neighbors

DiscoveryConnect

(a) Success rate

10 100 1000 10000

Connection Setup Delay (ms)

0.0

0.2

0.4

0.6

0.8

1.0

P[X<

=x]

Success (10)Success (15)Failure (10)Failure (15)

(b) Delay

Figure 3.5: Bluetooth data transmission success and delay.

We test the RFCOMM connection setup and performance by having a single nodeperiodically scanning and connecting to 10 and 15 nodes in range. The target devicesare only listening for incoming connection i.e. there is no interference from them.Bluetooth discovery lasts for 10.24 seconds which means we have 100% discoverysuccess as seen before. The devices are connected sequentially.

In Figure 3.5(a) we plot the discovery and connection setup success rates (averagedover 100 runs with 95-% confidence intervals shown as error bars). The RFCOMMconnection setup is not 100% successful even in this idealistic setting (no interference).This is most likely due to the probabilistic nature of the paging (i.e. link connectionsetup) process. Interestingly the average number of devices connected per round is7.5 in both tests (75% out of 10 and 50% out of 15).

42 3.3. Experimenting with Opportunistic Communications

In addition to less reliable connection setup, Bluetooth suffers occasionally fromlong delays in the process. Figure 3.5(b) we show the connection setup delay distribu-tion (CDF) from the previous experiment for successful and failed connections sepa-rately. The median delay for successful RFCOMM connection establishment is around1000ms. The median failure delay is 120ms. Occasionally the connection setup de-lays go up to 20-30s. The sudden drop in the failure delay distribution is also unclear.These unexpected delays may be partly Bluetooth stack specific problems and othertests should be performed on different platforms to understand this behavior.

On average, we measure 50kB/s (400kbit/s) data transmission rates both at thesender and the receiver side. This performance is sufficient for the initial applicationswe have in mind. Following the benchmarks, we configure the test software to doa device discovery of 10.24s every 120 seconds, and perform several real-life experi-ments presented next.

3.3 Experimenting with Opportunistic Communications

In this section we present three initial real-life experiments on opportunistic com-munications. The original goal of these measurements was to extend the previousiMote experiments [49, 99] on a smartphone platform to collect data on human mobi-lity, opportunistic contacts and ad hoc data communications between mobile devices.These experiments also serve as a basis for our work in designing and implementing acomprehensive opportunistic mobile social networking system presented later in thisdissertation.

We choose conference environment for our experiments for the convenience of dis-tributing and retrieving the mobile devices running our software, and for comparabil-ity between different experiments and previous work. The movement of conferencemembers is also geographically constrained which creates contact opportunities weaim to exploit and measure.

Below we describe first in detail the various experimental setups. Then we presentthe results focusing on the contact discovery and the data transmission performancein the wild. Finally, we estimate the potential capacity of an opportunistic networkbased on our measurements.

3.3.1 Experimental Setup

The details of the experiment configurations are summarized in Table 3.1. Belowwe discuss the configuration of each experiment in detail.

Chapter 3. Opportunistic Communications with Bluetooth 43

MASS’07 CoNEXT’07 CoNEXT’08Duration 3.5 days 3.5 days 3.5 daysParticipants 28 28 22Bluetooth inquiry duration 10.24s 10.24s 10.24sBluetooth inquiry interval 120s 120s 120±45sDevice identification hard-coded trial service discoveryData 50KB/1MB 50KB variableMethod all/single variable variableTotal logs (h) 1085 725 757Mean per device (h) 38.76 25.89 34.40

Table 3.1: The user trials setup and collected logs.

MASS’07: We deploy a measurement software that performs periodic Bluetoothdevice discovery every two minutes for 10.24s. The software tries also form Blue-tooth RFCOMM connections to the discovered participating devices and send datauntil the next inquiry period. The list of participating devices is hard-coded into themeasurement software, and thus device discovery is enough to identify the targets.The data transmissions consist of two types of data transfers: 50KB chunk of data toeach neighboring experimental device (fragment test), or 1MB to a single neighboringdevice selected at random (bulk test). The fragment test connects to each neighbor oneafter another and the system alters between the two tests hourly.

CoNEXT’07: The neighborhood discovery is performed using the same parame-ters as in the MASS’07 experiment. In contrast, we do not hard-code the experimentaldevices MAC addresses in the software. Instead, the measurement software tries toconnect to all discovered devices one after another to identify devices participatingto the experiment that are listening on incoming connections on a well-known RF-COMM channel. The identification is followed by a data transmission phase wherethe devices exchange 50KB random data messages generated periodically. The dataexchange phase is executed sequentially with all the devices in the neighborhood.Each message has an unique identifier to avoid receiving multiple copies of the samemessage (the software executes a short handshake to determine the available data).

CoNEXT’08: The third experiment makes several modifications to the Bluetoothcommunication implementation in the measurement software: (1) Bluetooth deviceinquiries are randomized and performed every 120 s +/- 45 s (chosen uniformly atrandom); (2) we use Bluetooth service discovery to identify devices running our soft-ware prior to a connection setup; (3) we keep a small cache of two scan periods ofdiscovered devices to be more resistant to device inquiry failures; (4) we increase themaximum number of simultaneous out-going RFCOMM links to three; and (5) when

44 3.3. Experimenting with Opportunistic Communications

sending data over RFCOMM, we repeat each connection attempt three times in caseof a failure before abandoning the operation. We test data transmissions with variablecontent: empty (includes just a simple header); 58B (text file); 63,847B (pdf); 589,723B(jpg image); 1,023,380B (binary file) and 7,327,436B (mp3). As in the previous experi-ment, each message has an unique identifier to avoid receiving multiple copies of thesame message.

We distribute the devices to volunteers during the first day of each conference andcollect them back with the log files on the last day of the conference. The experimen-talists can use the device as their personal mobile phone during the experiment (i.e.,they can choose to put their SIM card in the device) but this is not required. The ex-perimentalists are instructed to keep the device charged and with them at all times.With this setup, the experimental devices run approximately for 8 to 12 hours on eachrecharge depending on the user.

3.3.2 Contact Discovery

1 10 100

Devices Per Inquiry

0.0

0.2

0.4

0.6

0.8

1.0

P[X<

=x]

MASS 07CoNEXT 07CoNEXT 08

(a) All devices

1 10 100

Devices Per Inquiry

0.0

0.2

0.4

0.6

0.8

1.0

P[X<

=x]

MASS 07CoNEXT 07CoNEXT 08

(b) Internal

Figure 3.6: Distribution of discovered devices per scan in the real-life experiments(excluding night hours 12am - 8am).

We start by comparing the Bluetooth device discovery rates of each experiment inFigure 3.6 which plots the distribution of the number of Bluetooth devices detected perinquiry (any and participating i.e. internal devices only). We list some basic statisticsin Table 3.2. Basically we see that there are no differences between the experiments interms of device density. The median number of devices found is three in each exper-iment with the maximum of 25, 24 and 62 for MASS’07, CoNEXT’07 and CoNEXT’08respectively. The average discovery rate is close to four. Due to a limited number of

Chapter 3. Opportunistic Communications with Bluetooth 45

MASS’07 CoNEXT’07 CoNEXT’08Median devices per scan 3.0 3.0 3.0Mean devices per scan 4.64 3.77 4.25Max devices per scan 25 24 62Median internal devices per scan 1.0 1.0 1.0Mean internal devices per scan 2.27 2.38 2.07Max internal devices per scan 14 16 13Internal contacts (no cache) 12871 14539 10783Internal contacts (cache 1) 8050 8750 6422Internal contacts (cache 2) 6258 6283 4604All contacts (no cache) 23384 21281 18516All contacts (cache 1) 15736 13706 11501All contacts (cache 2) 12815 10538 8682

Table 3.2: Number devices discovered per scan and total number of contacts in eachexperiment.

participants, the discovery rate of participating (internal) devices is lower, median isonly one and the averages slightly over two internal devices per inquiry.

We define a contact as a time interval between a first inquiry a device is found untilthe time it is no more responding to inquiries. A minimum contact duration is equalto the discovery interval (i.e. the granularity of our data). Inter-contact duration isanother frequently studied metric and it is simply the time between two consequentcontacts either between the same devices or between any contact. We will concentrateon the former as our data sets are relatively dense and any inter-contact times mainlyoccur once the device leaves the conference site.

We measure the contact and inter-contact times for varying cache sizes in orderto understand its impact on the data. The total number of recorded contacts for eachcaching scheme are reported in Table 3.2 counting any or internal contacts only. Withcaching the total number of contacts decrease as close in time inquiries are groupedtogether. The external contacts represent close to 50% of the encounters recorded inthe logs.

We start with the contact time distributions in Figure 3.7. We plot the distributionsfor varying cache size for internal contacts (external have very similar behavior andare excluded). The results are comparable with previous studies [49]. At MASS’07experiment we record the most longest contacts in general while at CoNEXT’07 wesee many shorter contacts. This may indicate that devices at CoNEXT’07 are in generalmore mobile. Also the average internal device density is slightly higher at CoNEXT’07and may cause more Bluetooth inquiry misses, and consequently shorter contacts. Theany contact distributions show also a larger number of very long contacts which may

46 3.3. Experimenting with Opportunistic Communications

2min 10min 1hour 3h 12h 1day 3d

Time

10−5

10−4

10−3

10−2

10−1

100

P[X>

x]

MASS 07CoNEXT 07CoNEXT 08

(a) No cache

2min 10min 1hour 3h 12h 1day 3d

Time

10−4

10−3

10−2

10−1

100

P[X>

x]

MASS 07CoNEXT 07CoNEXT 08

(b) Cache 1

2min 10min 1hour 3h 12h 1day 3d

Time

10−4

10−3

10−2

10−1

100

P[X>

x]

MASS 07CoNEXT 07CoNEXT 08

(c) Cache 2

Figure 3.7: Contact time distributions (complementary CDF) with varying cache size.

be due to a participant carrying a second Bluetooth device such as a cellular phonewith him.

In each experiment longer caches result in longer contacts which lets us believethat a short cache is helping us to combat Bluetooth inaccuracies (the inquiry interval,thus age of cached contacts, is short compared to how fast we expect people to movein a conference). The median contact duration matches closely the length of the cache:with no cache contacts last from two to three minutes, with a cache of one inquirybetween three and six minutes, and finally with cache of two, six to eight minutes.The contact durations are important in understanding the potential capacity of theopportunistic network. We will come back to the capacity question in the last section.

2min 10min 1hour 3h 12h 1day 3d

Time

10−5

10−4

10−3

10−2

10−1

100

P[X>

x]

MASS 07 (0.73)CoNEXT 07 (0.85)CoNEXT 08 (0.94)

(a) No cache

2min 10min 1hour 3h 12h 1day 3d

Time

10−5

10−4

10−3

10−2

10−1

100

P[X>

x]

MASS 07 (0.72)CoNEXT 07 (0.85)CoNEXT 08 (0.95)

(b) Cache 1

2min 10min 1hour 3h 12h 1day 3d

Time

10−5

10−4

10−3

10−2

10−1

100

P[X>

x]

MASS 07 (0.71)CoNEXT 07 (0.85)CoNEXT 08 (0.95)

(c) Cache 2

Figure 3.8: Inter-contact time distributions (complementary CDF) for varying cachesize. The estimated power-law exponent for each experiment is mentioned in the leg-end.

We plot the corresponding pair-wise inter-contact time distributions in Figure 3.8.The distributions of varying experiments are nearly similar except that in the twoCoNEXT experiments the devices seem to meet more frequently and the longest inter-contacts are in the order of one day compared to three days at MASS’07. The impactof caching can be seen as fewer shorter inter-contacts and the initial flat region of thedistribution curves corresponds more or less to the length of the cache in time.

Chapter 3. Opportunistic Communications with Bluetooth 47

The inter-contact time distributions follow an approximate power-law on the rangeof 2,3,4 minutes (depending on the cache size) to 12 hours. We plot the approximatedpower-laws along with the distributions and the exponents are indicated in the leg-ends. Our results follow closely the observations made before [49, 18, 67]. Previousstudies [49, 18] have typically considered the power-law region to be up to 1 day, buton closer look of the reported distributions, we find out that our results are in accor-dance with data from similar settings (i.e. conferences). Also in [67] 12 hours is used.The longer power-law regions seem to appear better in campus wide data sets for ex-ample [18]. The estimated power-law exponents range between 0.62 and 0.79 for anycontact, and between 0.73 and 0.94 for internal contacts in our data. These seem to behigher than what has been reported before for similar data (0.4 [49] and 0.35 [18]).

3.3.3 Data Transmission

0 20 40 60 80 100 120

Delay (s)

0.0

0.2

0.4

0.6

0.8

1.0

P[X<

=x]

MASS 07: success 49.42%MASS 07: failed 50.58%CoNEXT 08: success 30.71%CoNEXT 08: failed 69.29%

(a) Connection setup

0 100 200 300 400 500 600 700 800

Rate (kbit/s)

0.0

0.2

0.4

0.6

0.8

1.0

P[X<

=x]

MASS 07CoNEXT 08Bluetooth max. (723)

(b) Data rates

Figure 3.9: Bluetooth data transmission performance.

We study several data transmission performance metrics including connection setupsuccess, delay and obtained data transmission rate using the MASS’07 and CoNEXT’08traces 7. Figure 3.9(a) plots the distribution (CDF) of connection setup delays for allthe successful and failed RFCOMM connection attempts during the experiment. 49%of the connections succeed in the MASS’07 experiment which is less than what weobserved in a controlled setting with a high number of devices. The success rate ofCoNEXT’08 is even lower, only 31% despite the increased number of connection at-tempts (3 against 1). We believe that the lower success rate is a result of increasedBluetooth activity as CoNEXT’08 relied on the SDP protocol for device identification.

7. The CoNEXT’07 trace has some problems in its data logs and is excluded.

48 3.3. Experimenting with Opportunistic Communications

The average connection delay is 27.8 seconds at MASS’07 and 9.4 seconds at Co-NEXT’08. The large difference can be explained by the fact that the service discoveryprotocol used at CoNEXT’08 requires a L2CAP link to be setup which speeds up theRFCOMM protocol that will be multiplexed on the same link. The average delay tofailure is 26.5 seconds at MASS’07 and 15.2 seconds at CoNEXT’08. Note that in bothcases we observe a high number of extremely large delays. In controlled experimentsthe median delay for a RFCOMM link setup is in order of 1000ms, thus the valuesmeasured in practice are an order of magnitude higher.

Lastly, we examine the data rates achieved in practice in Figure 3.9(b). The averagerate at MASS’07 is 265.5 kbit/s and 32.8 kbit/s at CoNEXT’08 (remember that in thecontrolled experiment we measured an average bit rate of 400 kbit/s). In the MASS’07experiment we observe data rates varying from close to zero up to the maximum ef-fective bit rate of Bluetooth v1.2 (723 kbit/s). At CoNEXT’08 the highest recorded rateis only 255.8 kbit/s. This difference can be explained by the varying number of al-lowed links: at MASS’07 a device never initiated more than one RFCOMM connectionat the time whereas at CoNEXT’08 we allowed three simultaneous connections. Blue-tooth shares the available bandwidth among the various links, and we observe thatour maximum rate is very close to 1/3 of the maximum rate.

The long delays together with a low bandwidth underline the need for well-thoughtopportunistic networking protocols that have compact message formats and do notwaste time nor bandwidth in the protocol control operations. Fewer connection at-tempts can also reduce interference, and consequently, increase the success rates anddecrease the delays.

3.3.4 Opportunistic Network Capacity

Having understood the available contact opportunities and their durations, andthe practical data rates with Bluetooth, we can ask ourselves what would be the po-tential capacity of the network if all the contact opportunities were used i.e. how muchdata could we send during the available contacts?

Figure 3.10 (top) plots the evolution of the average cumulative total contact time(using a cache of one inquiry) between any device and internal devices only in eachexperiment. This is simply the sum of all the contacts up to a time t averaged over theparticipating devices. The error bars show the standard deviation.

At MASS’07 and CoNEXT’08 each device spends on average 60h in contact withparticipating devices and over 100h with any device during the four days. Respectivetotals for CoNEXT’07 are lower, 40h and 60h, due to shorter contacts as we saw above.

Chapter 3. Opportunistic Communications with Bluetooth 49

00Mon

00Tue

00Wed

00Thu

06 12 18 06 12 18 06 12 18 06 12 18

Time

0

20

40

60

80

100

120

140

160

180

Cum

ulat

ive

Con

tact

Tim

e(h

) AnyInternal

(a) MASS’07

00Mon

00Tue

00Wed

00Thu

06 12 18 06 12 18 06 12 18 06 12 18

Time

0

20

40

60

80

100

120

140

160

180

Cum

ulat

ive

Con

tact

Tim

e(h

) AnyInternal

(b) CoNEXT’07

00Wed

00Thu

00Fri

06 12 18 06 12 18 06 12 18 06 12 18

Time

0

20

40

60

80

100

120

140

160

180

Cum

ulat

ive

Con

tact

Tim

e(h

) AnyInternal

(c) CoNEXT’08

00Mon

00Tue

00Wed

00Thu

06 12 18 06 12 18 06 12 18 06 12 18

Time

0

1

2

3

4

5

6

Cum

ulat

ive

Byt

es(G

B)

Experimental (265.5kbit/s)Lab (400kbit/s)

(d) MASS’07

00Mon

00Tue

00Wed

00Thu

06 12 18 06 12 18 06 12 18 06 12 18

Time

0.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

4.0

Cum

ulat

ive

Byt

es(G

B)

(e) CoNEXT’07

00Wed

00Thu

00Fri

06 12 18 06 12 18 06 12 18 06 12 18

Time

0

1

2

3

4

5

Cum

ulat

ive

Byt

es(G

B)

Experimental (32.8kbit/s)Lab (400kbit/s)

(f) CoNEXT’08

Figure 3.10: Mean cumulative contact time (top) and potential capacity (bottom).

In order to get an idea of the potential capacity, we consider half duplex trans-mission (as in Bluetooth) i.e. half of the duration of each contact is used to receiveand another half to send data. We multiply the cumulative average contact times bythe measured average data rates in the real-life (265.5 kbit/s MASS’07 and 32.8 kbit/sCoNEXT’08) and controlled experiments (400kbit/s). Figure 3.10 (bottom) illustratesthe resulting cumulative number of bytes that could have been send or received onaverage by each participating device (using only the internal contacts).

At MASS’07 the experimental rate allows each device to send and receive on av-erage nearly 1GB of data each day or 4GB during the full experiment. This is a lotcompared to the capacity of the internal storage on the phones (128MB on our experi-mental platform) or even a typical MicroSD card used today (2 to 4 GB). The averagedata rate at CoNEXT’08 is low, and consequently, the potential capacity is much lower,only around 500MB during the full experiment. Nevertheless, these results indicatethat the opportunistic network has in fact much more capacity than what might berequested by any application. The internal storage on the mobile device will becomethe bottleneck well before the opportunistic network capacity even when consideringonly Bluetooth and its low data rates in practice.

The above observation leads to a second important consideration for opportunis-tic networking protocols: as the storage may become the bottleneck, protocols sendingfewer replicas of data are preferable. Moreover, storage management including mes-

50 3.4. Summary

sage life times, order of removal and proactive congestion control should be investi-gated and included in the protocols.

3.4 Summary

In this section we have discussed a set of controlled and real-life experiments tounderstand the practical performance and capacity of opportunistic communicationsusing Bluetooth and off-the-shelf smartphones.

Based on our results we give the following practical recommendations: (1) the in-quiry duration should be at least 7.68s, (2) an inquiry cache of at least one inquiryinterval should be used and (3) the device identification could be implemented usingthe Class-of-Device codes instead of Bluetooth name or service query protocols (ap-plies only to Bluetooth v2.0 or older). With newer versions of Bluetooth the extendedinquiry response (EIR) can be used instead. The efficient use of Bluetooth requiresalso avoiding unnecessary connection setups and chatty protocols as they consumethe available radio bandwidth, and add delays and interference lowering the overallperformance of the system.

Despite the missed contacts and low data rates of Bluetooth, we show that theobserved real-life networks have a considerable potential capacity as the contact op-portunities are abundant. Due to the limitations of Bluetooth mentioned above, ourcurrent prototype system is far from fully exploiting this potential capacity. With acareful implementation and the proposed improvements, we believe a better utiliza-tion can be achieved. Furthermore, our data gives some indication that the real bottle-neck may not be in the end the network capacity but the internal storage of the mobiledevices. This underlines the importance of congestion control and buffer managementin real systems.

Chapter 4MobiClique

IN this chapter we present the design of MobiClique, a middleware for opportunisticmobile social networking 1. We start by giving a high level overview of the system

and its design principles in 4.1. Then we present the actual design and implementationin 4.2. We describe a set of initial mobile social applications that we implement on topof MobiClique in 4.3. We conclude the chapter with a discussion of the open issues inSection 4.4 and a summary in Section 4.5.

4.1 Design Principles and System Overview

MobiClique system architecture aims to satisfy four general design principles thatstem from various limitations we observe with the existing online and mobile socialnetworks and applications. These principles are: (1) leveraging existing social net-works, (2) decentralized operation, (3) community based interaction, and (4) creationof a development platform. Below we discuss these principles and then combine theminto a high level design of the system.

1. Initial brainstorming and the first prototype of MobiClique (different from the software architec-ture described in this section) was a result of collaboration with between the co-authors of the originalworkshop paper describing MobiClique [111].

52 4.1. Design Principles and System Overview

4.1.1 Leveraging Existing Social Network(s)

Most people today belong to one or several online social networks (OSN). The topfive most popular OSNs are 2 Facebook, MySpace, Twitter, LinkedIn and Classmates.These networks are well established with tens of millions of unique visitors per month(based on the same source). Similarly, the popular mobile social applications such asFoursquare, Gowalla, whrrl, brigthkite or loopt (just to name a few) all are creatingtheir own closed ecosystems of users. Some services allow users to aggregate infor-mation from several networks for example by propagating updates (e.g. location up-dates or tweets) to other existing services that provide an open API to do so. Yet mostof the time, to use any of these services, a new user profile and new connections mustbe created and found.

This is sometimes a good thing. People often use different networks to connectwith different communities they belong to (e.g. LinkedIn for professional contactsor Facebook for friends and close colleagues). However, in our personal experience,people are getting more and more reluctant to join and maintain yet another socialnetwork just for some new feature. Furthermore, existing social networks that arewell established in the virtual world can actually provide a good reference point fromwhich to classify interactions in the physical world that our system builds on.

For these reasons our system leverages existing social network(s) to bootstrap itssocial network. Note that while the system mainly uses ad hoc networking, we ex-ploit the fact that users will connect periodically to the virtual network(s) to importrelevant aspects of their social network(s) to the mobile device to enable disconnectedoperation. Furthermore, we envision that the framework can also be used to exportinformation back to the OSN. This could include information about the opportunis-tic contacts, newly made friends and content exchanges. We believe this would alsobenefit the existing OSNs by making them richer and context aware.

4.1.2 Decentralized Operation

Majority of the existing mobile social software rely on central servers and requireinfrastructure connectivity to operate (the notable exceptions include mainly mobilead hoc applications developed in the research community discussed in the literaturereview). In the existing commercial systems such as the ones mentioned above, themobile terminal is a simple client that sends location information, messages or other

2. According to a recent web source: http://webtrends.about.com/b/2010/03/15/the-top-10-most-popular-social-networks.htm. Accessed September 28th 2010.

Chapter 4. MobiClique 53

info to the cloud where the information is processed and stored. The cloud is also re-sponsible of sending possible notifications (recommendations, nearby friends, prizes,information about “hot” places, ...) back to the devices either when requested or as aresponse to the events created by other mobile terminals.

In our design we do not want to rely on centralized servers for the continuous op-eration. As we argued in the introduction, device-to-device ad hoc interactions havepotentially higher capacity and lower cost, are fully decentralized, independent of anyinfrastructure or communications technology, truly localized and more private. More-over, we believe that decentralized operation encourages spontaneous and unforeseeninteractions that can be exploited by innovative applications.

4.1.3 Community Based Interaction

There are a number of existing mobile social applications that offer dating (NokiaSensor, MIT Serendipity [30], meetMoi) or friend finding features (Foursquare, Go-walla, whrrl, brigthkite, loopt, ...). The net result of the mediated introduction or otherinteraction is that two users are enabled to begin a physical two-way communication.While this is of course useful, we believe it does not go far enough to build what wecall an ad hoc community. A community, as in any social network, involves not justconversing or exchanging music between pairs of friends but leveraging all contribu-tions to create something more as has happened with Wikipedia, last.fm, Couchsurf-ing, Yelp and others.

The goal of MobiClique is to be a platform not just for social networking and com-munity building, but also for collaborative forwarding of messages among the mobileusers. While message relaying has been proposed before for opportunistic networks,there has been the unsolved problem of incentive, why should I forward messageson behalf of a perfect stranger for another stranger who I meet. This is particularlyproblematic when the message ferrying requires the use of the limited resources onthe mobile device such as the persistent storage, and Bluetooth or WiFi interfaces forscanning and transfer which can drain the battery. However, if the users have estab-lished a community, then the incentive comes from belonging to and maintaining acommunity.

4.1.4 Platform for Development

Majority of the existing OSNs attempt to lock up their valuable relationship data.While APIs are getting more and more popular, they still often come with reduced

54 4.1. Design Principles and System Overview

functionality and lengthy terms of service making it hard for a programmer with aradically different idea to build on top of the existing online social network and itsconnections.

We believe that the notion of an ad hoc community presented above provides aninteresting and novel substrate for further development of mobile ad hoc applica-tions. For example, if an ad hoc group emerges in a conference based on say InstituteEurecom Alumni, then the ad hoc community could be used as a basis for other ap-plications such as ad hoc news groups or ad hoc messaging. Then an invitation toan alumni meeting could be broadcasted on the ad hoc network formed by alumniin the area. We will present later some applications we have implemented on top ofthis community substrate, and we hope that the open API we provide will be basis forother unforeseen applications written by other programmers.

4.1.5 System Overview

Figure 4.1: MobiClique system overview.

Putting together all the principles outlines above, we design MobiClique. A highlevel overview of the MobiClique system is illustrated in Figure 4.1.

The system architecture is designed around users carrying mobile devices calledMobiClique nodes. Each node runs the MobiClique software and is identified with therespective user social profile. The social profile is kept synchronized with an existingOSN as illustrated in the upper left corner of the figure.

In the ad hoc mode (in the middle) users move and encounter each other oppor-tunistically. Upon an encounter, the MobiClique software initiates a communication

Chapter 4. MobiClique 55

link to exchange user identification information and any new messages the devicesmay have available. The message forwarding relies on the social profiles learned dur-ing the identification phase.

This communication framework runs as a stand-alone service on each device andan API is provided for application developers to take advantage of the ad hoc socialnetwork, encounters and an asynchronous messaging service build on top.

4.2 Detailed Design

This section details the design and implementation of MobiClique.

4.2.1 Networking Architecture

Social Profile

Each node in the network is identified by a social profile that consists of an uniqueidentifier (UID), the connections to the other nodes in the social network (i.e. friends)and a list of interests. We assume that the uniqueness of the UID is guaranteed by theOSN service used to initialize the profile. The friends are stored as a list of (UID,name)tuples. The name is provided mainly for usability, UID is used for identification inter-nally. The interest list is defined for flexibility to be a set of string attributes. Examplesof possible attributes are home country (“France”), city (“Paris”), institution (“LIP6”)or other social groups (“Finnish speaking people in Paris”). Similarly to the friend list,internally the system maintains an unique group identifier (GUID) for each interestobtained either from the OSN or by calculating a unique hash value from the nameof the group. Additionally, the profile may contain other details such as a name, achanging status message or a profile picture.

Neighborhood Discovery

Each node executes a periodic neighborhood discovery loop followed by a dataexchange phase (discussed in the next section). The neighborhood discovery includestwo phases: (1) device discovery using the available network interfaces and (2) useridentification. We described the available techniques for device discovery in detail inChapter 3 and concentrate here on the user identification.

When a new device is discovered, the nodes exchange their social profiles for iden-tification. Upon a first encounter between two nodes they exchange their full socialprofiles. MobiClique stores the profiles persistently along with other contact statistics

56 4.2. Detailed Design

to avoid unnecessary profile updates. During subsequent encounters the full profilesare exchanged only if the profile has been updated since the previous encounter, oth-erwise the nodes only exchange their user identifiers.

The profile and the contact statistics are used for the forwarding decisions. Thesemaybe be delayed and depend on later encounters, so the social profile informationmust be stored even if the nodes are no more in contact.

Messaging

Each node in the network participates to the collaborative forwarding i.e. theystore, carry and forward data over multiple hops between source and destinationnodes. The data exchange phase of the networking protocol takes place after theneighborhood discovery.

In MobiClique messages can be addressed directly to other MobiClique nodes(unicast) or groups of nodes based on shared interest (multicast). The forwardingis performed using two simple rules: (1) unicast messages are sent either upon a di-rect contact with the destination or relayed to the friends of the destination, and (2)multicast messages are flooded within the corresponding interest group. These rulesensure that no node receives content unless it belongs to the target group of interestor is a friend of the destination.

Messages are removed from the nodes after its time-to-live (TTL) has expired. InMobiClique TTL is a combination of an absolute timestamp and a maximum numberof hops. Messages are deleted either when the timestamp has expired or the messagehas taken the maximum number of hops in the network. The TTL value is also usedfor message scheduling such that the messages are transmitted in increasing order ofremaining life-time prioritizing old, near-expiration data. To avoid message loops,a bloom filter is exchanged always during the identification phase that details thecurrently stored messages on each node.

4.2.2 Software Architecture and Implementation

Haggle Architecture

The software architecture and implementation of MobiClique builds on the Hagglearchitecture reference implementation [98] 3. Haggle is a search-based data dissemina-tion framework for mobile opportunistic networks. Similarly to MobiClique, Haggle

3. This work is partly supported by the FET-SAC Haggle project and we have collaborated with theproject partners in the design and implementation of the reference architecture.

Chapter 4. MobiClique 57

Figure 6: The Haggle architecture comprises a kerneland a set of managers.

instead focus on the core system and the interfaces pro-vided to managers.

The event-driven design is essential for a search-based architecture; searching usually involves costly andlengthy I/O, and therefore requires asynchronous oper-ation through event callbacks. Managers may registerfilters with the data store that generate events everytime a data object matches. Similarly, they may alsodo search queries that return results through callbackevents, such that the queries do not block the systemwhile processed. The event-driven approach was alsochosen because it fits nicely with opportunistic com-munication. Node encounters are external events thatdrive the system and this triggers disseminations to oc-cur. If the neighborhood is static and no applicationsgenerate new data, the system sits idle, thus preservingresources.

5.1.1 Data Types

To achieve e!cient dissemination of data objects, Hag-gle is concerned with (1) matching and ranking of dataobjects, and (2) deciding to which nodes it should dis-seminate, and (3) how it can interface with nodes oncethey are encountered. Three data types help with thesetasks internally: Attributes are part of the metadata ofnodes and data objects. Nodes represent communica-tion peers, and when a binding between a data objectand a node is made, the node can be attached to thedata object as a means to address the peer. Interfacesrepresent a way to interface with the peer – it can bea physical interface, for instance an Ethernet or WiFi

<?xml version="1.0"?>

<Attr name="DeviceName">Haggle!1</Attr>

<Haggle>

<Attr name="Music">Beatles</Attr>

...

gen

eric

<Attr name="Email" weight="10">[email protected]</Attr>

<Attr name="Haggle">NodeDescription</Attr>

<Node id="046d57ed06a0d6b78e351e6aaf38d313e5648f6b">

<Interface type="Bluetooth">00:1b:98:9c:3b:a8</Interface>

<Interface type="WiFi">00:1b:fb:05:c5:db</Interface>

spec

ific

</Haggle>

</Node>

...

<Bloomfilter >AAAABwAAJYAAAA ... </Bloomfilter>

Figure 7: The metadata header of a data object, in thiscase a node description.

card, or a logical interface provided by an IPC mecha-nism, such as a local socket or a pipe.

The metadata of data objects is expressed in XML.The managers may add any valid XML structure to themetadata of data objects, but only attributes can besearched and filtered. The metadata hence has a genericpart consisting of attributes, and a specific part consist-ing of other XML structures. In order to receive dataobjects with a specific type of metadata, a manager alsoneeds to add an attribute that signals the presence ofspecific metadata, such that the same manager on an-other node can filter with that attribute.

Figure 7 shows the structure of a node description,in which the attributes are interests and the specificmetadata within the node tag has been added by thenode manager. The node manager on the device thatreceives the node description can demultiplex it basedon the Haggle=NodeDescription attribute. The presenceof this attribute signals to the manager that there ismanager-specific metadata in the data object that itcan use to create a node object representing the peernode.

5.1.2 The Data Store

The data store holds data objects and implements therelation graph and search primitives. The backend ispluggable but is typically based on a relational databasethat is stored on disk.

Every data object is timestamped and may age, whichis useful on devices with limited storage. A user can setan age threshold, after which data objects are deleted(their data may still be on disk). This limits the amountof information disseminated. Generally, only delegatedata objects are deleted due to age as other data ob-jects represent data that belong to local applications.A popularity counter also measures how often data ob-jects match queries. Popular data objects in this wayage slower. The architecture can accommodate several

8

Figure 4.2: Haggle node architecture [98].

58 4.2. Detailed Design

takes advantage of opportunistic encounters between mobile devices for multi-hop adhoc networking.

The Haggle architecture is purely data-centric. Each message, called data objectin Haggle terminology, is a piece of data together with some metadata attributes pre-sented as key-value pairs. There are no destinations, but instead, the target resolutionis done at each hop by matching the attributes of the data against the attributes ofencountered nodes. Each node in Haggle has an associated node profile that definesthese attributes that the node is interested in.

In order to support multi-hop forwarding over the network, Haggle treats the nodeprofiles as ordinary data objects that everybody is interested in i.e. they are effectivelyflooded in the whole network. Using the metadata in the stored profiles and data ob-jects, each node can then determine a specific target node for its data. Haggle alsoimplements a forwarding algorithm that maintains a forwarding metric for each nodeit knows about. The algorithm uses the forwarding metric to decide if an encoun-tered node is a good forwarder for any of the stored data object(s) who’s destinationis known.

The node software architecture is presented in Figure 4.2. The core system consistsof a single event queue and a set of managers that create and act on various systemevents. New events are raised upon new neighbor discovery or when there is incom-ing data from the local applications or the network. Each manager has some uniqueresponsibility including application API, node profile management, data object man-agement, security, forwarding, network communications or resources. The managerscan be extended with various modules as shown in the picture. For example the net-working modules implement Bluetooth, WiFi and Ethernet based connectivity andprotocols for communications. The system also has a single central data store for stor-ing persistently the configuration data, node profiles and data objects.

Haggle core is implemented in standard C++ and is highly portable. The system isknown to run on various platforms including Linux, Windows, OS X, iPhone, Androidand Windows Mobile 4. The core system runs in a single thread on the background.If needed it spans other threads for example when receiving data. The data store isbacked up by a SQLite database 5. In addition to the core system, the project includesan API library written in C with wrappers for Java.

4. Haggle, http://code.google.com/p/haggle/5. SQLite, http://www.sqlite.org/

Chapter 4. MobiClique 59

Our Modifications to Haggle

We implement our social network layer and communications protocol on top ofthe Haggle reference implementation. Our implementation is mostly developed andtested on Windows Mobile and Linux platforms.

We reuse directly most of the core and communications framework but removethe data-centric communication features and security options as they do not fit wellour goals or add unnecessary overhead. The node profile is replaced by the socialprofile which is communicated only upon direct encounters (never forwarded). Weimplement our own forwarding manager that makes the forwarding decisions basedon the application defined destination field of the messages (another user or an interestgroup). We also add message life-time management to the system as described before.Expired data is never send or received and the storage is cleaned up periodically.

We configure and use only the Bluetooth interface based on the initial network-ing experiments presented in Chapter 3. We use the following configuration of theBluetooth module: the device discovery is executed every 120 +/- 10 seconds for aduration of 10.24s, the cache size is one inquiry interval and the maximum numberof simultaneous RFCOMM links is limited to two simultaneous out-going links to re-duce interference. We also implement a faster device identification by modifying theClass-of-Device code on the participating devices allowing us to identify them directlyfrom the Bluetooth inquiry response. Both name query and service discovery are thusdisabled.

OSN Synchronization

The MobiClique node profile initialization is implemented using a simple Face-book desktop client application using the public Facebook API 6. Facebook is selectedsimply for its popularity and for the availability of a comprehensive API. The desk-top client connects to Facebook, prompts for user login and retrieves the user profileincluding user identifier, user name, hometown, list of groups and networks and listof friends. The application displays the profile to the user and she can edit, add orremove any sensitive details before the profile is uploaded to the device. The editedprofile is written in a SQLite database which is copied to the connected user device.

The prototype implementation of MobiClique does not support re-synchronizationwith Facebook (or other OSN). This feature would be straightforward to implement.One can create new events, upload pictures, and change the user’s status through

6. Facebook developer, http://developer.facebook.com

60 4.2. Detailed Design

[de]register_application(name)register_event_interest(event)[get|set]_social_profile(profile)send_message(destination, ttl-timestamp, ttl-hops, message)

Figure 4.3: MobiClique API.

the Facebook API. In the future MobiClique could provide for example status andlocation updates, add new contacts (friends or interest groups) and upload contentsuch as photos or other messages exchanged over the opportunistic network.

4.2.3 Application Programming Interface

The MobiClique API is detailed in Figure 4.3. Applications wanting to use the Mo-biClique opportunistic mobile social networking service must first register with thecore system to obtain a handle for further interaction. The API provides methods tomanage the local node social profile and to add and remove friends and interests. Inaddition it offers an asynchronous messaging interface. A message is an autonomouspiece of data consisting of a file attachment (optional) and textual data formatted asa list of name-value pairs. The send method takes as parameters the destination (ei-ther a friend UID or an interest group GUID) and a TTL value (timestamp and/orhop count). By default TTL is set to 24 hours with unlimited number of hops. Newmessages can be inserted to the system at any time no matter of the state of the con-nectivity.

Applications can also register for notifications about the system events. Theseevents include contact events (contact start and contact end) and incoming messagenotifications. Each contact event contains the encountered node’s social profile to en-able application level functions based on the type of contact (friend, friend of a friend,stranger) and contact statistics. The message events contain the message contents to-gether with a pointer to the received file if any.

In the next section we describe in detail a set of initial example applications wedesign and implement using the functionality provided by the API.

Chapter 4. MobiClique 61

4.3 Applications

We develop several example applications on top of the MobiClique middleware.In this section we present these applications together with some screen captures of theuser interface.

Figure 4.4: Main screen of the MobiClique user interface.

Technically, the user interface is architected as a single application as shown by thescreen capture of the main screen in Figure 4.4. The various functionalities reside ontheir own pages, thus maintaining the logical division to distinct functions or “appli-cations”.

The user interface is implemented in C# using the .NET libraries and runs on topof the Common Language Runtime (CRL) on Windows Mobile based devices. Weuse the native library call capabilities of .NET (called Platform Invoke) to access theMobiClique API library that is compiled as a native dynamic link library (DLL).

4.3.1 Mobile Social Networking

The social networking application is used for visualizing and managing the socialprofile, friends and interests of the user. The application contains a separate view forthe user’s personal details and the user can add and change her photo and a statusmessage. In addition, user can visualize the list of current nearby nodes and friendsand the list of current ad hoc interest groups and the groups where the user belongs.

The list of nearby nodes and friends is called the Contact list and shown in 4.5(a).Green color indicates that the user is “online” i.e. within the Bluetooth range. Aquestion mark next to a user name means that the person is currently a stranger. Theuser has the opportunity to add this person in his friends (as well as remove existing

62 4.3. Applications

(a) Contact list (b) Friend profile (c) Interest group list

Figure 4.5: Screen captures of the social networking functions.

friends). The user can visualize the profiles of the nearby people and friends as shownin Figure 4.5(b).

Figure 4.5(c) shows a similar list of user interests. The management functions in-clude visualization of the group information, creation a new group and joining orleaving a group. Similarly to the friends list, green indicates that a group member isnearby and a question mark that the user has not yet joined the specific group.

The user can also enable distinct alerts to be notified when friends, friends offriends, or members of the interest groups are in the neighborhood.

4.3.2 Ad Hoc Messaging

(a) Message inbox (b) Message editor

Figure 4.6: Screen captures of the messaging application.

The messaging application can be used to send messages between a pair of users(analogue to existing Internet based instant messaging applications) or to the membersof an interest group (equivalent of the traditional Usenet messaging service). All thesent and received messages are displayed in a single threaded Inbox (Figure 4.6(a))with distinct icons for read and unread messages. New messages can be created atany time no matter if the destination is nearby or not. The destination user or inter-

Chapter 4. MobiClique 63

est group is selected from the drop down list and each message consists of a textualmessage body and an optional file attachment (Figure 4.6(a)). Note that user mustbe friends with the target user or a member of the group in order to be able to sendmessages to them.

4.3.3 Epidemic Voting

(a) Vote topic list (b) Vote form (c) Vote results

Figure 4.7: Screen captures of the voting application.

The epidemic voting application is a simple distributed voting application. Themain screen contains a list of topics for voting such as shown in Figure 4.7(a). Inour prototype, vote topics are conference paper presentations and social events of theconference.

A vote is the user’s opinion on a topic expressed simply as ’liked’ or ’did not like’.The voting screen in shown in Figure 4.7(b). The user is allowed to vote once for eachtopic during a limited voting period. This voting period starts 10 minutes after thebeginning of the event and ends 2 hours after the event. These limits were applied toforce the users to be active all the time in our experiments, and to avoid large burst ofvotes to appear in the network simultaneously.

The votes are disseminated epidemically to all MobiClique devices by disseminat-ing the votes within a pre-configured multicast group. In order to avoid burdening theunderlying communications middleware with many small messages, we aggregate allthe votes at the application layer to a single multicast message sent using MobiClique.Upon reception of a new vote message from another user, the votes are updated andthe old messages deleted and replaced by a new aggregate.

Users can display the currently available snapshot of the collected results for eachtopic only after having given their vote (results may be available before of course).An example result screen is displayed in Figure 4.7(c). The results are refined upon

64 4.4. Open Issues

reception of new votes from other devices until the application has all the votes fromother users.

4.4 Open Issues

One of the goals of the initial design of MobiClique is to provide a simple and easyto use prototype for experimental data collection in controlled environments. Thus,many design issues are solved in a rather obvious way or left unaddressed for simplic-ity and limited time. These include handling of multiple OSN identities, use of multi-ple network interfaces, message format, efficient forwarding algorithm(s), scheduling,security, flow control, congestion control, reliability and scalability. Below we discussthese issues in more detail and give some avenues for future work.

In principle, the architecture could support multiple identities per user withoutmajor consequences on other functions. One big open issue is context sensitivity andprivacy: it might be desirable to announce and rely on one profile in certain places orfor certain messages, and on another profile in other contexts (e.g. LinkedIn at workor work related messaging or Facebook on the free time). Even within a single socialnetwork it can be useful to be able to control the visibility. For example Facebookallows the definition of groups of friends and lets you set different access rights foreach group.

We use Bluetooth interface for practical reasons. However, Haggle prototype sup-ports readily many other interfaces and it would be easy to test and implement moreadvanced features such as using a low power radio for discovery and to power upa higher power radio when required. In addition, to save energy adaptive contactprobing schemes should be investigated. We discussed many other related ideas forimproved mobile ad hoc communications in the literature review in Chapter 2.3.2.

The communication protocol of Haggle, and thus of MobiClique, is formatted inXML 7. XML is flexible and practical data format. Its human readable which helps alot debugging and development. But for the same reasons it adds a lot of overheadon the messaging protocol and data processing. This is particularly problematic formobile devices with limited resources and highly dynamic opportunistic networkswhere communication opportunities can be extremely short. XML was originally de-veloped for Internet and desktop applications. Recently other, more compact dataformats have started to gain success such as JSON 8 or Protocol Buffers 9. These were

7. XML, http://www.w3.org/XML/8. JSON, http://www.json.org/9. Protocol Buffers, http://code.google.com/p/protobuf/

Chapter 4. MobiClique 65

considered for our implementation but due to lack of time, we did not have time totest and integrate them properly. Another option would be to design a custom binaryprotocol, an approach taken by the DTN architecture [17]. The advantages includeeven smaller message size and possibility for efficient hardware processing. And ofcourse, we could consider adopting the DTN protocol directly as it is designed forvery similar purposes.

The initial design applies very simple forwarding rules. This is done mainly forsimplicity and to ease the data collection and interpretation from the real-life experi-ments. However, the modularity of the software architecture allows new algorithms tobe added easily. The social network layer we add is particularly interesting for socialnetwork inspired forwarding schemes such as [50, 89, 90]. Similarly, we apply a verysimple TTL based scheduling of messages, more refined schemes have been studiedin the literature (see [5] and references within).

The user privacy and data security are two important functions not considered inthe current work. The social network based forwarding provides a minimum guaran-tee on privacy, however, a stronger user identification and authentication is needed.These could be implemented using public keys for example as proposed in the HostIdentity Protocol (HIP) [87] and in [3]. The Haggle prototype implements an attributebased security model [122], however, it may not work well in our people centric sys-tem. Traditional methods for securing message privacy may be more suitable. Forexample, the DTN architecture adopts both hop-by-hop and end-to-end authentica-tion and integrity mechanisms [17].

The remaining issues, flow control, congestion control, reliability and scalability inopportunistic networks are still largely unsolved research issues. Congestion controlshould manage the aggregated network traffic in order to not overload the buffersat any intermediate node. Flow control on the other hand, is a little ill-defined inopportunistic networks as end-to-end paths do not exist. Reliability is challengingfor the same reason. The DTN architecture proposes custody transfer to address thereliability issue by relaying the responsibility of a message from node to node and bysending an optional acknowledgment either to the source or some other node [17].The use of the Short Message Service (SMS) for end-to-end acknowledgments has alsobeen investigated [100]. Finally, practical scalability (with respect to number of nodesand messages) has not yet been studied widely to our knowledge.

66 4.5. Summary

4.5 Summary

In this chapter we have presented the design rationale, detailed design and im-plementation of MobiClique. MobiClique leverages existing social networks and op-portunistic contacts between smartphones to form ad hoc communities for social net-working and opportunistic communications. We have implemented MobiClique ontop of the Haggle reference architecture. We have also prototyped several applica-tions using the MobiClique API including messaging and voting applications. Weidentify several open issues and possible directions of future work related to the cur-rent architecture and design. Nevertheless, as presented in the following chapter, theprototype has been deployed successfully in a large-scale user experiment with 80devices running MobiClique during 4 days of a conference.

Chapter 5Experimental Data Collectionand Data Sets

IN this chapter we present a large-scale real-life experiment where we deploy 80smartphones running MobiClique during 4 days in a major networking confer-

ence. We start with the details of the experimental setup in Section 5.1. Then, inSection 5.2 we detail the collected data sets and their basic characteristics. We alsodiscuss the validity of our data in the light of prior work.

5.1 Data Collection

We distribute 100 smartphones 1 running the previously described MobiCliquesoftware and applications at an international networking conference 2. We choose aconference environment for our experiment to be able to compare the collected datato previous experiments and for the ease of organization and logistics.

The participants of the experiment are chosen randomly by recruiting them on theconference site in conjunction with the main conference registration. The MobiCliquesocial profile is initialized using the Facebook application when the device is handedout. At this point the participants have a possibility to edit the information containedin the social profile before it is uploaded to the device to avoid revealing any sensi-tive data to other participants. During the experiment participants can use the deviceas their mobile phone (i.e. put their existing SIM card on it). Each participant is in-

1. Majority of the experimental devices are the same HTC s620 devices used in the initial experiments.2. ACM SIGCOMM, Barcelona, Spain, 17. - 21. August 2009

68 5.1. Data Collection

00Mon

00Tue

00Wed

00Thu

06 12 18 06 12 18 06 12 18 06 12 18

Time

0

10

20

30

40

50

60

70

80

Dev

ices

PresentActive

Figure 5.1: User participation in the MobiClique experiment.

structed to keep the device with them, charged at all times, and to try out the providedapplications.

Useful logs are collected from 80 devices in the end of the experiment 3. The deviceactivity is summarized in Figure 5.1. A user is said present in the experiment startingfrom the time the device is initialized and handed to the participant until the lastrecorded activity on the device. The participants join the experiment during the firsttwo days of the conference and carry the device on average for 42.5 hours (1.8 days).Most devices are returned by the end of the last conference day (Thursday), and hencewe exclude the last workshop day (Friday) from the data.

A device is considered active if the device is turned on and visible to other devices.Each device is inactive for some period of time, on average 22.5% of the participationtime. The inactivity is mostly due to depleted batteries or devices being turned off atnight.

Due to varying participation times and inactivity, all 80 devices are never presentnor active in the network at the same time. Tuesday and Wednesday (2nd and 3rdexperiment days) are the most active days in terms of devices present and active. Onaverage the number of simultaneously active devices varies between 40 and 50 onthese days.

3. Data from the missing devices is discarded mainly due to extremely short participation time.

Chapter 5. Experimental Data Collection and Data Sets 69

5.2 Data Sets and Basic Properties

This section overviews and validates the basic properties of the collected dataagainst prior work. We collect data on the existing online social network and affili-ations of the participants, opportunistic contacts, application usage and content dis-semination in a real opportunistic network. Note that the last two data sets are uniqueand no comparable prior work is available to our knowledge.

Before going into the details, we would like to point out two general challengesthat arise when working with the real system data: (1) variable log coverage, (2) clocksynchronization.

We tackle the first challenge by using mostly the data covering the conference andevening hours (8am to 24pm). In addition, some of the analysis is done on a lim-ited trace containing only the two most active days, Tuesday and Wednesday, whenmajority of the participants are present in the experiment.

We observe in some cases a considerable drift in the logged timestamps betweendevices despite a manual clock synchronization to a common reference time beforethe experiment. This may occur if a participant adds a SIM card on the device whichcauses it to re-synchronize with the operator time, or as a result of power off/on cyclesand batteries running out. We obtain a rough synchronization of the logs by fixing thelarge offsets using one device as a reference, and then for each device pair separatelyby matching the mutual data message events based on the unique message identifiers.The synchronization we obtain in this way is still coarse (in order of seconds) dueto asymmetric logs and variable (and unknown) communication and system delayscaused by the mobile operating system and the communications middleware.

5.2.1 Online Social Network

The recorded Facebook profile of each participant contains name, city country, listof friends and list of Facebook networks and groups 4. In addition, we add to the datathe name of the participant’s current affiliation (i.e. company, institution or university)to each profile. The 80 participants represent 50 entities in 42 cities and in 16 differentcountries.

We call the Facebook friendship graph the social graph and denote it as Gs(V,Es).V is the set of participating users 5 and there is an edge between two users if they are

4. Remember due to the possibility of editing the profile during the bootstrapping phase, our datamay lack occasionally some existing Facebook friend links and/or groups.

5. We use words user, device and node interchangeably to refer to each unique participant of the ex-periment.

70 5.2. Data Sets and Basic Properties

(a) Full graph

1 10

Degree

10−2

10−1

100

P[X>

x]

(b) Degree distribution

Figure 5.2: The social graph.

friends in Facebook. The social graph is visualized in Figure 5.2(a). The total numberof friends is 173 (that is 5.47% of all the possible node pairs). The average degree is 4.33and the majority of the participants, i.e. 70 out of 80, have at least one friend. The mostpopular person has 18 friends. We plot the full degree distribution in Figure 5.2(b).

A subgroup of 62 people forms a giant connected component (GCC) where eachnode is connected to everybody else directly or via intermediate nodes. The averagedistance between any pair of nodes in the GCC is 3.15 hops and the diameter is seven.The graph shows also high clustering (0.26 globally and 0.29 in GCC) which togetherwith the short average distance indicates that the participants’ Facebook friendshipgraph is a so called “small-world” network [137]. Similar characteristics have beenobserved in other larger-scale online social networks studies (see for example [86] andreferences within) which lets us assume that our user sample is a representative andexhibits common properties of social networks.

5.2.2 Opportunistic Contacts

The MobiClique prototype discovers and logs periodically all the Bluetooth de-vices nearby recording the mac address and the device type of each Bluetooth device.We limit our study to the experimental devices and define a contact as an event oftwo experimental devices being in the Bluetooth range (10-20 meters) of each other.Bluetooth device discovery is asymmetric i.e. if a device A discovers a device B, thedevice B might not discover A. We do an additional post-processing step with the con-tact trace and treat each Bluetooth device discovery symmetric and add the missingcontacts.

Chapter 5. Experimental Data Collection and Data Sets 71

We define a contact graph as a graph Ga(V,Ea), where V is the set of participatingdevices and Ea is the set of edges representing the contacts that occur between thenodes over time [89]. Each edge can be characterized with a duration tcontactij and aninter-contact time tinter−contactij . We measure a contact duration as the time between thefirst response to a Bluetooth device inquiry until the time there are no more responsesfrom that specific device during two consecutive inquiries. The actual duration of thecontact is the time between the initial discovery until the last discovery plus the dis-covery interval such that minimum contact length is equal to the interval i.e. around2 minutes. One missed response is allowed as it occurs frequently due to interferenceand simultaneous device discoveries. A pair-wise inter-contact time is defined as thetime between two contacts. Similar definitions of a contact and an inter-contact timeare adopted in the previous studies [49, 18, 99].

2min 10min 1hour 3h 12h

Time

10−5

10−4

10−3

10−2

10−1

100

P[X>

x]

DistributionPower law (1.66)

(a) Contact time

2min 10min 1hour 3h 12h 1day

Time

10−5

10−4

10−3

10−2

10−1

100

P[X>

x]

DistributionPower law (0.50)

(b) Inter-contact time

Figure 5.3: Pair-wise contact and inter-contact times.

We record 38 308 contacts between the participants. The distributions of pair-wisecontact durations and inter-contact times are shown in Figure 5.3. The median contacttime is 2.34 minutes. The distribution follows an approximate power law (P [X >

x] ≈ x−α) with an exponent α = 1.66 (in the range of [10min, 3h]). Similarly, the inter-contact time distribution follows a power law on the range of 2 minutes until around12 hours with an estimated exponent of α = 0.50. After 12 hours the tail drops rapidlydue to limited experiment duration and dense contacts. The median inter-contact timeis 11.37 minutes. These results are comparable our own measurements presented inChapter 3 and with other studies performed in similar environments [49, 18].

72 5.2. Data Sets and Basic Properties

Messages Unique dst Unique src Avg. per src Max. per srcUnicast messages 370 73 58 6.4 56Group messages 93 16 23 4.0 21Votes 604 45 65 9.3 39

Table 5.1: MobiClique application usage statistics.

5.2.3 User-generated Application Traffic

We record all the user-generated messages during the experiment from each of thethree applications. Summary statistics are collected in Table 5.1. Each application istried by many users the vote application being the most popular. During the exper-iment we record a total of 604 unique votes on 45 different vote topics by 65 uniquevoters. The most active user gives 39 votes the average being 9.3 (among the activeusers). The unicast messaging is also popular, but many messages are simply usedto “test” the system between two users next to each other, hence this data is not sointeresting for our analysis.

00Mon

00Tue

00Wed

00Thu

06 12 18 06 12 18 06 12 18 06 12 18

Time

0

5

10

15

20

25

30

35

Act

ivity

(1/h

)

VotesMessages

Figure 5.4: Application usage in the MobiClique experiment.

The application usage over time is summarized in 5.4 where we show the numberof new messages per hour as a function of time. The conference session breaks andthe social events are the most popular times for application usage. We observe similarlevel of user activity each day once all the participants have joined the experiment(Tuesday onwards).

In addition to the high user activity, the voting application is interesting as eachmessage is targeted to all users and the propagation of the messages is not constrained

Chapter 5. Experimental Data Collection and Data Sets 73

by any forwarding rule. Consequently, our analysis of opportunistic content dissemi-nation discussed later in this dissertation focuses on the vote messages as an exampleof user-generated traffic.

5.2.4 Content Dissemination

Figure 5.5: Bluetooth performance.

When two MobiClique devices come into contact they try to establish a RFCOMMlink to exchange their social profiles for identification followed by a data message ex-change if new application data is available. Figure 5.5 summarizes how well thesesteps succeed in practice. A RFCOMM link is successfully created 41% of the time.The sending of the social profile is initiated nearly every time after an successful linksetup, but finally 30% of the time the profile is received, and only 23% of the time anacknowledgment is received on the sender side informing of the successful transmis-sion. The bottom of the figure shows similar numbers for the actual data messages(note success is normalized to the number of initiated data transmissions as we do notsend data on each contact opportunity). This low performance results mainly fromthe high device density causing Bluetooth to fail due to interference between nearbydevices. In addition, failures occur due to user mobility (i.e. one of the nodes mighthave moved elsewhere before a connection is made).

As a result, the voting application has a poor performance in practice. Figure 5.6indicates the number of votes received per device (out of 604) during the experiment.Each bar represents a device and the darker bars show the received votes during theexperiment. None of the devices receive all the votes and many devices receive few orno votes at all. Some of the problems are due to a configuration bug; however, the poor

74 5.3. Summary

Figure 5.6: Real vs. simulated dissemination performance.

performance is mainly due to above mentioned Bluetooth limitations and participantpresence in the experiment.

Therefore, we create also a simulated content dissemination trace to overcomesome of the Bluetooth limitations. In this trace we simulate the dissemination of theuser-generated votes using the recorded opportunistic contacts. In the simulation weadd a nominal one second delay on each hop to avoid zero delay hops. Figure 5.6highlights the performance difference between the real and the simulated dissemina-tion. In the contact simulation 50% of the devices receive 406 or more votes (that is67% of the votes) compared against 30 (5%) in the real trace. In the following analysiswe will only use this simulated content dissemination trace for its completeness.

5.3 Summary

In this chapter we have presented a large-scale experiment with 80 devices runningMobiClique during 4 days in a conference setting. This is, to our knowledge, one ofthe first large-scale deployments of a real opportunistic network and applications. Incontrast to many previous measurement studies, our data makes also the followingcontributions: (1) we collect the Facebook profiles of the participants including thefriendship graph as part of our application data allowing us to gain more insight inthe real social causes of human mobility, and (2) we track not only the human mobility(i.e. current neighboring devices) but also real epidemic application traffic generatedby spontaneous user actions during the experiment. We use these data sets in the

Chapter 5. Experimental Data Collection and Data Sets 75

next chapter to analyze the structure and dynamics of the opportunistic mobile socialnetwork created by our experimentalists.

Chapter 6Epidemic ContentDissemination

THE objective of this chapter is to understand how epidemic content disseminationproceeds over the opportunistic network with a special focus on the role of the

social relationships among the nodes. This analysis builds on the data collected in theMobiClique experiment which includes the contact graph, the online social graph andsocial profiles, and the simulated epidemic voting application content disseminationtrace introduced in the previous chapter.

Our approach consists of two steps: (1) understand the structure of the contactgraph; and (2) analyze the properties of the content dissemination paths with respectto the contact graph structure.

Previous attempts to analyze the contact graph have focused on the pair-wise con-tact opportunities to identify the role of the social relationships on the disseminationprocess [26, 89, 50]. However, we believe, similarly to other recent work [46], thatthis approach leads to partial and possibly misleading understanding of the contentdissemination process.

In a dense setting such as a conference, we observe both social encounters amongpairs and groups of nodes, and contacts due to the density of people in a small area.The analysis of the pair-wise interactions is unable to differentiate these two types ofcontacts. Therefore, we propose a new methodology that identifies temporal commu-nities in the contact graph. We use this methodology to take a different approach toanalyze the role of social relationships in the epidemic dissemination process.

This chapter is structured as follows. We use first the traditional approach to com-

78 6.1. Pair-wise Interactions

pare our observations about the structure of the contact graph to those made in theliterature in Section 6.1. Next, we propose and evaluate the new methodology in Sec-tion 6.2. Finally, we dissect the structure of the content dissemination paths Section 6.3.We summarize our findings in Section 6.4.

6.1 Pair-wise Interactions

We analyze first the contact graph structure using the traditional approach. Thegoal is to confront our results to previous observations [26, 89, 50]. These includethe fact that socially connected people (e.g. friends or communities) meet more oftenand/or for longer time, and that the centrality of the nodes in the contact graph iscorrelated to the structure of the social network.

61.5% of all the node pairs meet at least once during the experiment (Table 6.1).We use the term any contact to refer to these contacts between all possible pairs ofnodes [18]. We analyze the correlation between the social relationships and humanmobility using the following social links: pairs of friends, friends-of-friends (FoF) 1,users with the same affiliation, home city and home country.

# Pairs # Pairs Meeting # ContactsAny 3160 1942 (61.5%) 38308Friends 173 (5.47% of all) 132 (76.3%) 3614 (9.43% of all)FoF 916 (28.99% of all) 300 (32.8%) 6418 (16.75% of all)Affiliation 61 (1.93% of all) / Friends 28 (46%) 51 (83.6%) 1444 (3.77% of all)City 120 (3.80% of all) / Friends 35 (29%) 94 (78.3%) 2216 (5.78% of all)Country 564 (17.85% of all) / Friends 67 (12%) 332 (58.9%) 6490 (16.94% of all)

Table 6.1: Contact graph node pair statistics.

Table 6.1 summarizes contact statistics per social connection. The number of so-cially connected nodes is low compared to the number of all possible pairs. Despitethe low number of socially connected nodes, we observe that people who are friends,share an affiliation or come from the same city meet more often (up to 2 times more)than what we would expect based on the number of such pairs. In contrast, nodes thathave a FoF relationship or come from the same country, are not in general more likelyto meet than any node pair. Consequently, we will not discuss these categories furtherin our analysis.

1. Friends-of-friends are nodes connected via a common friend in the social graph.

Chapter 6. Epidemic Content Dissemination 79

The distribution of pair-wise contact durations is shown in Figure 6.1(a). We ob-serve that all social encounters last longer. The median duration of all contacts is 6.6minutes. In contrast, the median between participants from the same institution is17.6 minutes, 13.4 minutes for users from the same city and 12.5 minutes betweenFacebook friends. These results match previous results about long contacts betweenfriends [89]. Furthermore, we show that in addition to friendship, a shared affiliationand home city explain the social motivation of many long contacts.

2min 10min 1hour 3h 12h

Time

10−5

10−4

10−3

10−2

10−1

100

P[X>

x]

AnyFriendsCityInst.

(a) Contact duration

2min 10min 1hour 3h 12h 1day

Time

10−5

10−4

10−3

10−2

10−1

100

P[X>

x]

AnyFriendsCityInst.

(b) Inter-contact time

Figure 6.1: Social contacts duration and inter-contact time distributions.

We use the inter-contact time as a measure of the contact frequency [18]. In contrastto previous observations [89], the inter-contact time does not show any clear correla-tion with the social graph (Figure 6.1(b)). We have identified two reasons for this: (1)the contact graph is dense: 61.5% of the possible pairs of nodes meet at least once,typically several times, during the experiment as a result of social interaction and lim-ited geographical area; and (2) the inter-contact time is mainly driven by the hourlyand daily mobility patterns of people (i.e. conference session breaks, social events andnight time) independent of social behavior.

To eliminate the dependencies of the time of day, we define a second contact fre-quency metric, contact rate

ContactRate(i, j) =cij

overlap(presencei, presencej)(6.1)

where cij is the number of contacts between i and j, and overlap is the time intervalboth node i and j are present in the experiment.

Figure 6.2(a) plots the contact rate distributions. This time we observe, as expected,that friends and people from the same institution or city meet more frequently thanany node pair. The median any contact rate is 1.34 contacts per day. It reaches 3.54

80 6.1. Pair-wise Interactions

10−1 100 101 102

Contact Rate (contacts/day)

10−4

10−3

10−2

10−1

100

P[X>

x]

AnyFriendsCityInst.

(a) Pair-wise contacts

0 200 400 600 800 1000 1200 1400 1600

Total Contact Rate (contacts/day)

0.0

0.2

0.4

0.6

0.8

1.0

P[X<

=x]

(b) Total contact rate

Figure 6.2: Pair-wise and total contact rate distributions.

between friends, 3.62 for nodes from the same city and as high as 5.14 for nodes witha shared affiliation.

Lastly, we study the similarities between the node centrality in the social graphand in the contact graph. We measure the node centrality using the total contact ratethat we define simply as the sum of the contact rates with each unique node met dur-ing the experiment. We observe in Figure 6.2(b) that the total contact rate has a fairlyuniform distribution with few nodes having very high contact rate. We measure thenode centrality in the social graph using the node degree (i.e. the number of friendsof each person). However, the centrality in the social graph does not exhibit any cor-relation with the contact rate (rank correlation coefficient 0.12). Our results agree withprevious studies in that we observe highly varying centrality of nodes in the contactgraph [26, 89, 50]. However, in contrast to [89], we do not find any correlation betweencentral nodes in the social graph and in the contact graph. We explain this differencein two ways: (1) we compare the contact graph against the pre-existing (not applica-tion generated) social links in contrast to the previous work, and (2) our contact graphis denser than what has been studied before.

In summary, our observations confirm that the opportunistic contacts can be ex-plained often by the existing social relationships between the nodes. In particular,friends and nodes with a shared affiliation and/or city exhibit a high correlation withthe contact graph in terms of contact durations and contact frequency. Both the prop-erties of pair-wise contacts and the varying centrality of nodes have an impact onthe available content dissemination paths in the network [26, 89, 50]. Some nodeshave more opportunities to exchange content with each other, or with the more cen-tral nodes in general. We will return to the properties of content dissemination paths

Chapter 6. Epidemic Content Dissemination 81

in the last section of this chapter. Before that, we extend our understanding of thecontact process in the next section by analyzing the structure of the contact graph overtime.

6.2 Temporal Contact Graph and Communities

In this section we present a novel methodology to analyze the contact graph basedon a temporal graph model [129]. The temporal graph model allows us to discoverthat the opportunistic network is in fact well connected most of the time. Further-more, we identify, within the network, groups of nodes that meet once or more forlonger periods of time. We name these groups temporal communities. Intuitively, thesetemporal communities may arise when a group of people are seated together at con-ference talks, discuss during the breaks, have lunch/dinner together etc. Our resultsshow that the temporal communities are indeed similar to some of the existing socialcommunities confirming this intuition.

6.2.1 Temporal Contact Graph

We sample the contact trace every t seconds and create a snapshot graph Gt(Vt, Et)from each sample. A snapshot graph at a sample time t contains all the active nodes(i.e. those devices running the data collection software) in the experiment at that time(denoted Vt). Two nodes are connected in the snapshot graph if they are in contact,i.e., in Bluetooth range at the time t. The series of snapshots over the duration of thecontact trace is called the temporal contact graph [129]. We set the snapshot samplinginterval to 120 seconds matching the granularity of our data (i.e. the device discoveryinterval).

Global Connectivity

The first observation we can make is that the temporal contact graph is well con-nected. This aspect is mostly invisible when looking at the traditional contact graphrepresentation. We plot the size of the temporal graph, the size of the largest connectedcomponent and the number of isolated nodes per time slot in Figure 6.3.

The total number of nodes varies as a result of people joining and leaving the ex-periment at different times. The additional variation results mainly from batteriesrunning out or people turning their device off at the night time. The number of iso-

82 6.2. Temporal Contact Graph and Communities

00Mon

00Tue

00Wed

00Thu

06 12 18 06 12 18 06 12 18 06 12 18

Time

0

20

40

60

80

100

Cou

ntAll nodesIsolated nodesNodes in GCC

Figure 6.3: Connectivity of the temporal contact graph.

lated nodes (i.e. nodes not in contact with anyone else) follows the diurnal humanmobility.

A connected component of a graph is defined as a maximal sub-graph such that thereexists a path between each pair of nodes. Due to the dense experimental setting, weobserve a single large connected component (often called giant connected componentor GCC) in the temporal graph during most of the conference hours. The GCC com-prises of 10 to 30 nodes during the peak hours. The other smaller connected compo-nents (not shown in the figure) are few and consistently much smaller (five nodes orless). The majority of the nodes outside of the GCC are isolated nodes.

Properties of the GCC

00Mon

00Tue

00Wed

00Thu

06 12 18 06 12 18 06 12 18 06 12 18

Time

0.0

0.2

0.4

0.6

0.8

1.0

Jacc

ard

Inde

x

(a) Stability

00Mon

00Tue

00Wed

00Thu

06 12 18 06 12 18 06 12 18 06 12 18

Time

0

5

10

15

20

25

30

Deg

ree

MeanMax.

(b) Node degree

Figure 6.4: Structure of the largest connected component (GCC).

Chapter 6. Epidemic Content Dissemination 83

In order to understand how the nodes within the GCC vary over time, we measurethe stability of the GCC from a timestep to the next using the Jaccard Index 2. In Fig-ure 6.4(a) we see that the Jaccard Index is high overall indicating that the core of theGCC does not change much from a time slot to the next. However, we observe thatthe stability score varies much faster than the size of the GCC. This means that thereare some nodes constantly lingering on the edge of the GCC such that the size remainsstable but the composition of the GCC changes.

Finally, the GCC is not fully connected. We plot the mean and maximum degreevariations within the GCC in Figure 6.4(b). The average node degree is well belowseven and even the most connected node sees typically only a fraction of the nodesin the GCC as shown by the maximum degree. Hence, the GCC may in fact containseveral clusters of nodes that have more connections between each other than withother nodes in the GCC.

6.2.2 Communities in Snapshot Graphs

We start the identification of community structures in the temporal contact graphby looking at the communities in each snapshot graph. The problem of communitydetection in graphs is widely studied and various approaches exits [37]. We select oneof the most popular algorithms that is shown to perform well in many different con-texts including biological and social networks [24] and opportunistic networks [52].

Modularity

A community in a graph is defined as a group of nodes that has more links amongeach other than with other nodes of the graph. In order to measure how “good” a cer-tain community division of a graph is, a quality metric called modularity has been pro-posed [41]. Following the above given community definition, modularity measuresthe fraction of the edges in the network that connect vertices within communities mi-nus the expected value of the same quantity in a network with the same communitydivisions but random connections between the vertices [95]. It is calculated as follows:

Q =1

2m

∑ij

[Aij −

kikj2m

]δ(ci, cj) (6.2)

where m is the number of edges of the network, A is the adjacency matrix (Aij = 1

2. Jac(A,B) = A∩BA∪B

where A and B are the two sets of nodes [58].

84 6.2. Temporal Contact Graph and Communities

if there is an edge (i, j), else 0), k is the node degree and δ(ci, cj) is 1 if ci == cj i.e. iand j belong to the same community, else 0.

The values of the modularity score are always below 1. If the fraction of within-community edges is no different from random, the modularity score is zero. In prac-tice, it is found that a modularity score above 0.3 is a good indicator of significantcommunity structure in the network [95].

Community Detection Using Modularity

Community detection based on modularity tries to find a community division thatmaximizes the global modularity [95]. The proposed method uses a greedy heuristicto approximate the optimal solution by iteratively combining clusters of nodes: ini-tially all nodes belong to their own clusters; then step by step, the algorithm clusterstogether nodes such that the modularity increase is maximized. The iteration produc-ing the highest global modularity score is selected as the final partition of the graph.

00Mon

00Tue

00Wed

00Thu

06 12 18 06 12 18 06 12 18 06 12 18

Time

−0.2

0.0

0.2

0.4

0.6

0.8

1.0

Mod

ular

ity

(a) Modularity

00Mon

00Tue

00Wed

00Thu

06 12 18 06 12 18 06 12 18 06 12 18

Time

0

10

20

30

40

50

Nod

es

Average communityGCC

(b) Size

Figure 6.5: Snapshot communities in the temporal contact graph.

We apply this algorithm to discover the communities within the GCC at each timeslot. In addition to the discovered communities, we consider the other connectedcomponents of the snapshot graph directly as communities as they are typically small.We find a significant community structure in the temporal graph (i.e. modularity isabove 0.3) most of the time as shown in Figure 6.5(a). At each time slot we find onaverage 5 communities that have more than one member. In Figure 6.5(b) we plot theaverage size of these snapshot communities. The sizes of the individual communitiesvary from 2 to 12 the average varying between 3 and 8.

Chapter 6. Epidemic Content Dissemination 85

6.2.3 Discovering Temporal Communities

In the beginning of this section we defined temporal communities as groups of nodesthat meet once or more often for longer periods of time. In order to discover thesetemporal communities, we aggregate together communities of the snapshot graphspresented in the previous section.

This aggregation problem is known to be NP-complete [130]. The authors of [130]propose a greedy heuristic that essentially follows the traditional hierarchical cluster-ing algorithm [37]. We adopt this approach with some modifications to better take intoaccount the “noisy” nature of our data. First, it is very likely that each snapshot com-munity may contain nodes that are just accidentally close by during some time slotsdue to density and user mobility. Secondly, nodes may appear and disappear in con-secutive snapshot communities because of Bluetooth. As a consequence, we proposethe following aggregation method:

1. Calculate a pair-wise similarity matrix for all the snapshot communities consist-ing of more than α nodes and place each of them in its own temporal community.

2. Find the two most similar temporal communities and merge them unless theycontain snapshot communities with identical snapshot timestamp or the numberof core members drops below α. The core members are the nodes present in β %of the merged snapshots communities.

3. Re-calculate the similarity scores for the remaining temporal communities.

4. Repeat from step 2 until no new communities can be merged.

We measure the similarity of two snapshot communities using the previously in-troduced Jaccard Index. The similarity between two temporal communities is thencalculated as the average pair-wise similarity of each snapshot community in the twotemporal communities.

At each round, the method maintains a decreasing number of potential temporalcommunities and the algorithm terminates when no more temporal communities canbe merged. The final temporal communities must contain at least two snapshots com-munities and the members are the above defined core members. Each community maymeet once (only consecutive snapshots) or several times (several series of consecutivesnapshots). The duration of each contact among the nodes of the community is thetime between the first and the last time slot of the consecutive snapshots.

86 6.2. Temporal Contact Graph and Communities

2min 10min 1h 3h 12h

Contact Time

10−3

10−2

10−1

100

P[X>

x]

60.0%70.0%80.0%90.0%100.0%

Figure 6.6: Distribution of contact durations for temporal communities.

6.2.4 Properties of Temporal Communities

As the number of devices in our trace is relatively small, we use α = 3 (i.e. eachtemporal community must have at least three core members). We test various β ∈[60, 70, 80, 90, 100]. The value of β controls the level of aggregation and has an impacton the total number of unique final temporal communities. The number of uniquetemporal communities varies between 100 (β = 60) and 492 (β = 100). However, thetemporal communities obtained with higher values of β meet only once or few timeswhile the lower values of β result in many more contacts between the unique tempo-ral communities. Consequently, the total number of encounters between the temporalcommunities is between 400 and 500 independent of β. We plot the distribution of thedurations of these contacts in Figure 6.6. As expected, the distributions for varying βare nearly identical the median varying between 14-17 minutes. We conclude that theidentified temporal community contacts with varying β are similar; only the compo-sition of core members changes depending on the aggregation level. As the analysisof content dissemination requires the most accurate information about the temporalcommunities, we use β = 100 in the reminder of the analysis.

We compare the temporal communities to the social community structures. Weconsider the communities of nodes that share an affiliation or a city. In addition, weform communities of friends by applying the modularity based community detectionalgorithm to the social graph. We use the Jaccard Index as a similarity metric to findthe best matching social community for each temporal community. For comparison,we also calculate the Jaccard Index between each temporal community and a similarrandom set of nodes (drawn uniformly at random from the participating nodes).

Chapter 6. Epidemic Content Dissemination 87

0.1 0.5 1.0

Similarity

0.0

0.2

0.4

0.6

0.8

1.0

P[X

<=x

]

RandomFriendCityInstitution

Figure 6.7: Validation of temporal communities (β = 100%).

Figure 6.7 shows the distribution of the similarity scores between the temporal andthe social communities for β = 100 (it provides the best match but the results for theother values follow closely). We observe a very good match between the temporalcommunities and the communities of people with a shared affiliation or a home city.Surprisingly, communities of friends do not correspond to the temporal communities(the similarity scores are as good as random). This may be because the friends thathave more frequent and/or longer (pair-wise) contacts meet individually or that thedetected communities of the social graph, that we are comparing against, do not rep-resent well the real-life social relationships.

Using the traditional method, we already established that users that are connectedin the social graph or who have a shared affiliation or home city meet more often andfor longer time. This section provides new insight into these encounters. In particular,we show that the encounters between colleagues or people from the same city takeoften place in groups instead of pairs meeting individually. These temporal structuresturn out to have a role in understanding the epidemic content dissemination processas will we see in the next section.

6.3 Epidemic Content Dissemination

In this section we study epidemic content dissemination in the opportunistic mo-bile social network. We use the voting application content dissemination trace de-scribed in Chapter 5.2. We limit the study to the second and the third days of the

88 6.3. Epidemic Content Dissemination

experiment as those days have the largest number of active participants and votes(64%).

0 20 40 60 80 100

Success rate (%)

0.0

0.2

0.4

0.6

0.8

1.0

P[X<

=x]

(a) Success rate

0 3 6 9 12 15 18 21 24 27 30

Average Delay (h)

0.0

0.2

0.4

0.6

0.8

1.0

P[X<

=x]

(b) Delay

0 3 6 9 12 15 18 21 24 27 30

Average Delay (h)

50

60

70

80

90

Suc

cess

Rat

e(%

)

(c) Correlation

Figure 6.8: Dissemination performance.

The standard performance metrics for epidemic content dissemination are successrate and delay. We calculate the success rate relative to the number of nodes presentin the experiment at the time of the vote creation for fair comparison of votes createdat various times. The messages have no TTL, thus the success rate should be 100% inperfect experimental conditions.

We plot the distribution of success rates in Figure 6.8(a). 90% of the votes reach 92%of the users. We do not obtain 100% success rate because some devices are returnedbefore they have an occasion to receive the vote. Figure 6.8(b) plots the distributionof average delay per vote. The median delay is 3.0h and 90% of the votes have anaverage delay of 6.3h or less. Moreover, we find that the average delay and successrate are correlated (Figure 6.8(c)). This is because the long average delays occur whena vote is being disseminated only the day after the creation, and hence it may missdevices that were present at the time of creation.

Consequently, we consider the votes with clearly lower success rate (less than 80%)

Chapter 6. Epidemic Content Dissemination 89

to be outliers, and in the reminder of this section we study the dissemination paths ofthe votes that reach more than 80% of the users. Additionally, we filter away votescreated by the same source within a short time interval (120 seconds matching thedevice discovery interval) to avoid observing multiple times identical disseminationpaths. In the reminder of the section we study in detail the role of the GCC in contentdissemination (Section 6.3.1), the role of central nodes (Section 6.3.2), and finally, therole of the temporal communities (Section 6.3.3).

6.3.1 Role of GCC

Src 1s 10s 1min 10min 1h 1day

Delay

0

10

20

30

40

50

60

70

80

90

Nod

esR

each

ed(%

)

Top 10th percentileMedianLower 10th percentile

(a) Speed

Src 1s 10s 1min 10min 1h

Delay to GCC

1s

10s

1min

10min

1h

1dayD

elay

toR

each

50%

(b) Delay to GCC

Figure 6.9: Speed of content dissemination.

In Figure 6.9(a) we illustrate how fast the votes are disseminated over the networkby plotting the success rate as a function of the delay from the vote creation time. Weindicate the median, the upper and lower 10th percentiles. In general, we observefive distinct phases of dissemination (best visible in the median curve): (1) initial fastdissemination from the creation up to 10 seconds, (2) a slower phase from 10 secondsto 2 minutes, (3) steady dissemination from 2 minutes up to 6 hours, (4) another slowerphase from 6 to 12 hours, and (5) the tail from 12 hours up to one day or more.

We observe high variations in the initial speed of dissemination. Half of the votesreach 30% of the population within the first 10 seconds. The top 10th percentile isdisseminated to 50% of the users while the lower 10th percentile of votes reaches no-one during the first 10 seconds. These large differences result from two main factors:(1) where the vote is created (within or outside of the GCC), and (2) when. The initiallysuccessful votes are all created within the GCC the success rate correlating with thesize of the GCC. The votes experiencing more delay until the dissemination speeds up,

90 6.3. Epidemic Content Dissemination

are created mostly outside of the GCC or when the GCC is small (during the sessionbreaks and at evening/night time) lowering the initial success.

The second phase comes from the contact discovery interval: the fast dissemina-tion takes place within the connected component of the graph where the vote is cre-ated and new nodes can be reached only as some node carrying the vote performs adevice discovery. Thus, there is a variable delay up to at most two minutes until thishappens.

During the third phase of steady dissemination, at 1h, the top 10% of the voteshave already reached the majority of the nodes, i.e., close to 80% of the users. Theslower 10% of the votes reach the network approximately 20-30 minutes after the votecreation, and catch up rapidly reaching as much as 40% of the population within onehour from the creation. The rapid catch up occurs when the vote reaches the GCC.This is demonstrated in Figure 6.9(a) where we compare the delay to reach the GCCfor the first time and the delay to reach at least 50% of the population for each vote.The votes that are not created within the GCC, show high correlation between the twovalues.

The fourth phase between 6 and 12 hours corresponds to night time slow dissem-ination, and the tail of the curve contains the few remaining nodes that receive votesonly the day after the creation. Overall, we find that majority of the votes (> 90%) atany time are delivered within the GCC. Thus, even the nodes that receive data late doso when coming into contact with the network core.

6.3.2 Role of Central Nodes

0.000 0.002 0.004 0.006 0.008 0.010 0.012 0.014 0.016 0.018

Total Contact Frequency (1/s)

1s

10s

1min

10min

1h

1day

Med

ian

Del

ayto

Rec

eive

Rank corr. -0.73

(a) Median delay

0.000 0.002 0.004 0.006 0.008 0.010 0.012 0.014 0.016 0.018

Total Contact Frequency

0

1

2

3

4

5

Ave

rage

Out

Deg

ree Rank corr. 0.86

(b) Popular source nodes

Figure 6.10: Role of central nodes in content dissemination.

Many previous works have already demonstrated the central role of high contact

Chapter 6. Epidemic Content Dissemination 91

rate nodes in content dissemination [33, 50, 89]. Thus, we only quickly show that this isthe case in our trace. The high contact rate nodes appear in general early on the contentdissemination paths. We compare the median vote reception delay to the total contactrate of each node in Figure 6.10(a) and observe high correlation (rank correlation scoreis 0.73). High contact rate nodes are also involved in the delivery of most of the votes.We measure the centrality of of a node on the vote dissemination paths by the averageout degree. It is defined as the average number of replicas a node creates of each voteit receives. We see, as expected, that the average out degree correlates well (rankcorrelation score 0.86) with the total contact rate in Figure 6.10(a). In the light of theresults of the previous section, the high contact rate nodes are the nodes forming thecore of the GCC as most of the votes are delivered inside it.

6.3.3 Role of Temporal Communities

0 20 40 60 80 100

Vote Exchanges (%)

Destination

Community

Src-DstUp to 1minAfter 1minAll

Figure 6.11: Role of temporal communities in content dissemination.

Last, we look into the role of temporal communities on the content dissemination.Figure 6.11 plots the fraction of votes forwarded while nodes belong to a temporalcommunity. We distinguish three cases: (1) both source and destination belong tothe same temporal community at the time of vote exchange (labeled “Src-Dst”, (2)a group of nodes in the same temporal community receive a vote at the same timefrom an external source (labeled “Community”), and (3) the destination is a part ofa temporal community at the time it receives the vote (label “Destination”). The firsttwo categories do not overlap, but are included within the third. We indicate thetotal fraction of exchanges for each case;and the exchanges that take place within oneminute from the creation corresponding to the initial fast delivery within the GCC

92 6.4. Summary

before any mobility takes place, and after one minute when node mobility becomes amore important factor.

The first case is rare. Only 10% of the vote exchanges take place between two nodesthat belong to the same temporal community at the time of the exchange. In 90% ofthe exchanges, the votes come either from outside of the temporal communities or areexchanged when both the source and the destination do not belong to any temporalcommunity.

When a vote reaches is delivered to a temporal community, it can be delivered tothe whole community (2nd case from above) or a part of the community (3rd case fromabove) simultaneously depending on how many nodes of the community the externalsource is connected to. 23% of all the vote exchanges occur when an external nodereplicates a vote to all the nodes of the same temporal community simultaneously.The fraction increases to 39% if we include any number of destinations in a temporalcommunity . The impact of temporal communities is especially visible during theinitial fast delivery phase (delay up to 1 minute): 48% of the exchanges that happenbefore one minute, reach a full temporal community at the same time, and as many as52% occur such that the destination is part of some temporal community.

The initially successful votes are less likely to reach completely new temporal com-munities after the fast dissemination. Indeed, only 10% of the exchanges taking placeafter one minute from the creation, reach a full temporal community simultaneously.This 10% corresponds to the initially slow votes that are created outside of the GCCand that reach the GCC (and hence the temporal communities) at a later time.

In conclusion, the temporal communities become visible on the content dissem-ination paths within the dense core of the network where data is delivered from acommunity to another.

6.4 Summary

In this section we have presented a detailed analysis of epidemic content dissem-ination in an opportunistic mobile social network. We show first that the traditionalapproach based on the analysis of pair-wise contact opportunities has some limitationsin particular in terms of identifying the temporal structures and communities of thecontact graph. We propose and evaluate a methodology based on a temporal graphmodel that allows us to make two new findings: (1) the opportunistic network con-tains a large connected component most of the time, and (2) we can identify temporalcommunities that are formed between socially acquainted groups of people. Finally,

Chapter 6. Epidemic Content Dissemination 93

we provide new insight into how epidemic content dissemination proceeds in an op-portunistic mobile social network. We find that the GCC plays a major role in enablingfast delivery of content to many nodes within short time intervals. Within the GCC,the votes advance very often from a temporal community to another.

Chapter 7Conclusions and Future Work

OPPORTUNISTIC mobile social networks is a novel communication paradigm thatexploits opportunistic encounters between human carried devices and social

networks for mobile social networking and collaborative content dissemination. Inthis dissertation we take an experimental approach to understand the real-life humanmobility and social interactions that are the basic building blocks of these networks.

We present a study of Bluetooth based opportunistic communications using smart-phones in controlled and real-life settings. Despite the limitations of Bluetooth, wefind that the network has a great potential capacity. We give several practical recom-mendations for efficient opportunistic communications with Bluetooth. Based on theinitial experiments, we design and prototype an architecture for opportunistic mo-bile social networking we call MobiClique. The MobiClique architecture implementsour vision of leveraging existing social networks for ad hoc mobile social network-ing through a completely decentralized, open mobile ad hoc communications mid-dleware. We deploy MobiClique and several example applications successfully in alarge-scale real-life experiment with 80 people. We use the data sets to analyze thecharacteristics of the opportunistic mobile social network and content propagationover the network. First, we propose an analysis methodology based on a temporalgraph model. We discover that the network contains a large connected componentmost of the time. Moreover, we identify temporal communities that are formed be-tween socially acquainted groups of people. Finally, we show how these findingsshape the epidemic content dissemination process in the network: most of the contentis delivered within the large connected component such that the content spreads froma temporal community to another, or to individual nodes that rejoin the network core.

96 7.1. Future Work Directions

Our work pioneered the domain of experimental opportunistic mobile ad hoc net-works and mobile social networking. Our experimental traces are used by other re-searchers to expand the research in opportunistic mobile ad hoc networks in new di-rections [89, 90, 56].

7.1 Future Work Directions

We identify several directions of future work: (1) the use of other existing (or fu-ture) radio technologies either to replace or in combination with Bluetooth; (2) archi-tectural improvements and novel applications; (3) extending the presented architec-ture and analysis methodology to evaluate opportunistic mobile social networks inother social contexts; and (4) time-evolving contact graphs and their dynamics are arelatively new research topic and more work remains to be done in developing appro-priate methods and models to better understand the network structure and its impacton opportunistic networking.

7.1.1 Opportunistic Wireless Communications

We use Bluetooth for a very practical reason of battery life-time, however, severalextensions are possible even with currently available technologies. We see “radio hi-erarchies” as a promising near-term improvement for opportunistic communicationsperformance [125, 107, 65]. The basic idea is to rely on a lower power radio (e.g. Blue-tooth) for contact discovery and power on the higher power radio (e.g. WiFi) onlyon demand when more capacity or faster transmission is required. This approachraises multiple policy questions, e.g. when exactly should different radios be usedand should the traffic be spliced or sent using only one of the interfaces. A relatedopen question is the support for message fragmentation [113].

Another interesting research direction not explored in this dissertation is adaptivecontact discovery and contact prediction [136, 96, 2]. The goal is to save energy byadapting the discovery interval using context and/or historical information.

The up-coming wireless technologies such as Bluetooth v3.0 [11], advances in lowpower WiFi technologies and WiFi Direct 1 may support more efficiently opportunisticcommunications. For example, Bluetooth v3.0 includes a native support for alterna-tive physical layers (in practice 802.11). The underlying idea is exactly the same aswith radio hierarchies: to increase capacity while achieving low power consumption.

1. WiFi Direct, http://www.wi-fi.org/Wi-Fi_Direct.php

Chapter 7. Conclusions and Future Work 97

WiFi Direct on its side promises to make ad hoc device-to-device communications us-ing 802.11 seamless and automated. Both technologies can lower the barrier to adoptand develop mobile ad hoc applications.

Finally, the cellular connectivity (3G or future 4G technologies) can also be lever-aged in the ad hoc network design. Few examples exists already including feeding thecontent into the network [57]; or the use of the cellular network as a backup or controlchannel [100].

7.1.2 Architecture and Applications

MobiClique is a prototype architecture where one of the design goals was exper-imental data collection. Hence, some design issues are left open. We outlined theseissues in Section 4.4. In summary, more work is needed in the areas of managingmultiple OSN identities in different contexts, message format, efficient forwarding al-gorithm(s), scheduling, security, flow control, congestion control, reliability and scal-ability.

Incorporating social networks more tightly on the mobile devices is already be-coming reality. The rumor is that even Facebook is planning its own mobile platformin order to be able to integrate their service deeply into the functions of the mobileOS 2. True or not, this shows that there is also commercial interest in building socialcontext on mobile devices. We hope that MobiClique will foster the vision of ad hocnetworking beyond dyadic interaction to build new type of communities based onphysical proximity, and that these communities will provide the basis for a new gen-eration of mobile social networking applications.

7.1.3 Experimental Data Collection

We choose conference environments for our experiments for the convenience ofdistributing and retrieving the mobile devices running our software, and for compa-rability between different experiments and previous work. The movement of confer-ence members is also geographically constrained which creates contact opportunitieswe aim to exploit and measure. However, we do not claim that our traces and resultsare directly generalizable to any other context. More experimental work in varyingconditions is certainly needed and we hope our work will encourage more research in

2. Facebook is secretly building a phone, http://techcrunch.com/2010/09/19/facebook-is-secretly-building-a-phone/, accessed 21st Oct 2010.

98 7.1. Future Work Directions

this direction. A good and continuously evolving source of variable mobility data isCRAWDAD 3 where we also plan to publish our traces.

In addition to implementing and deploying real systems, other sources of large-scale human mobility data are becoming available and may offer a viable option forlarger-scale measurements. An interesting direction is taken in [42] where authorsanalyze an extremely large-scale data set of call logs (100 000 individuals) and extracthuman mobility information. Unfortunately, this data set is not (yet) publicly availableand cannot be exploited by other researchers. Other, more open options are appearingas a result of emerging location features in popular online social networks (FacebookPlaces, geotagged tweets or pictures such as in Flickr, Google Latitude, Foursquare,Gowalla, and so forth). The use of these type of sources for planet-scale human mobi-lity measurements has been discussed in [51].

7.1.4 Network Structure and Dynamics

The evaluation and validation of the temporal community detection method pre-sented in this dissertation is based on a single trace. Thus, as future work we plan toperform a systematic validation using a synthetic group mobility model such as [48,91] to generate an encounter trace with a well-known community structure. We alsoplan to explore other mobility traces and their temporal community structures.

In addition, we are currently exploring alternative aggregation schemes to im-prove the temporal community detection algorithms. In addition, we are develop-ing an opposite and more decentralized approach to temporal community detectionwhere we would cluster the time series of samples of neighboring nodes of each userindividually and then perform the aggregation. This approach would tackle the prob-lem of temporal communities first in the temporal dimension and then looks for thespatial matches. In contrast, the method described in this dissertation finds first thespatial groups and then does the aggregation over time. We believe this second ap-proach may provide more accurate view of the temporal communities for each indi-vidual node and would be amenable for a distributed implementation.

Other recent works have also studied the clustering phenomena occurring in op-portunistic ad hoc network [117, 46]. Similarly to them, we believe this is an importantresearch direction as it has many consequences on the mechanics and performance ofcontent dissemination in opportunistic networks. In this dissertation we have focusedon epidemic (i.e. broadcast style) communications but the clustering phenomena has

3. Community Resource for Archiving Wireless Data At Dartmouth, http://crawdad.cs.dartmouth.edu/

Chapter 7. Conclusions and Future Work 99

even greater impact on unicast and multicast forwarding. More specifically, forward-ing schemes that combine ideas from both MANET and opportunistic forwarding lit-erature should be investigated. Some initial thoughts and results to this directionhave been presented in [105, 138]. In addition to forwarding, the existence and identi-fication of connected components and temporal communities can provide a basis fornovel load balancing (or bandwidth saving) techniques in opportunistic networks.

Appendix AIntroduction

CETTE these presente l’une des premieres etudes experimentales portant sur lescommunications opportunistes dans les reseaux sociaux ad-hoc. Dans ce chapitre, nous

commencerons par presenter les motivations sous-jacentes de notre recherche et preciserla definition des communications opportunistes dans les reseaux sociaux ad-hoc quenous adopterons ici. Nous proposerons ensuite une revue des problemes auxquelsnotre objet d’etude confronte la recherche avant de presenter nos propres contribu-tions en la matiere. Cette introduction s’achevera par un bref apercu de l’ensemble denotre these.

A.1 Les Communications Opportunistes dans les Reseaux So-ciaux Ad-Hoc

Les telephones portables sont desormais omnipresents et constituent des objetsinseparables de notre vie quotidienne. Ces appareils ont connu une evolution rapide,partant de la simple capacite d’emettre et de recevoir appels et SMS pour devenir au-jourd’hui les smartphones que nous utilisons pour communiquer, interagir et partagerdes informations avec nos cercles sociaux. L’heure n’est plus seulement aux tradition-nels echanges de messages vocaux, textes, multimedia, instantanes ou electroniques.Les progres recents des plates-formes de developpement d’applications mobiles et desmagasins d’applications en ligne ont en effet encourage de nombreux developpeurstiers a creer des applications mobiles qui permettent aux utilisateurs d’interagir et departager des informations de facon nouvelle. Les jeux en reseau, les services bases sur

102 A.1. Les Communications Opportunistes dans les Reseaux Sociaux Ad-Hoc

la geolocalisation et autres reseaux sociaux en ligne (mise a jour des statuts ou de lalocalisation, commentaires, recommandations, partage de photos et ainsi de suite) ensont quelques exemples.

La popularite des smartphones et des applications mobiles n’aurait pas ete tellesans la possibilite d’acceder a Internet. Typiquement, un smartphone est equipe demultiples interfaces radio, a savoir les interfaces cellulaires (2G, 3G ou les nouvellestechnologies 4G), 802.11 (WiFi), Bluetooth et/ou infrarouge. Ainsi - et c’est la pierreangulaire de cette these - la connectivite Internet n’est pas la seule utilisation pos-sible de ces interfaces. Les interfaces telles que le Bluetooth et le WIFI peuvent etreegalement utilisee pour la detection d’appareils voisins et la communication localed’appareil a appareil. Or, en depit de leurs fonctionnalites, leur usage - lorsqu’il n’estpas inexistant - est limite a la synchronisation des donnees avec un PC ou au transfertmanuel de fichiers (par exemple, OBEX 1 pour le Bluetooth). Les applications mobiles,ainsi alignees sur le paradigme de developpement traditionnel des applications In-ternet, sont alors dependantes de l’acces a ce reseau et, in fine, d’infrastructures. Lecontexte local, la mobilite ou les contacts opportunistes entre les appareils mobiles nesont pratiquement jamais pris en compte.

Au sein de la communaute de recherche, l’adoption massive de ces mobiles, l’aug-mentation de leur puissance de calcul, de stockage et de communication ont inspiredivers paradigmes de communications mobiles, systemes et applications mobiles quiutilisent ces ressources inexploitees. Une de ces idees, qui est devenu un domainede recherche populaire en lui-meme, est celui des reseaux opportunistes ad-hoc. Cesreseaux s’appuient sur le paradigme ”store-carry-forward” : les donnees sont stockees,transportees et livrees par les appareils mobiles en utilisant les contacts ad-hoc avecd’autres appareils. Les donnees peuvent passer par plusieurs points du reseau avantde parvenir a destination.

Parmi les avantages des communications opportunistes se trouvent leur capacitepotentiel eleve, leur faible cout, la communication locale, le fonctionnement entierementdecentralise et l’independance a l’egard de toute infrastructure. Ces avantages sontdirectement liees aux capacites variables des technologies de communication. La con-nexion cellulaire est encore souvent lente, couteuse (notamment en cas d’itinerance) etpas toujours disponible (dans les zones rurales, les transports souterrains, les manifes-tations de masse populaire, les situations de catastrophe pour n’en citer que quelquesexemples). Le Bluetooth comme le WiFi peuvent offrir une connectivite locale toujours

1. IrDA Bibliotheque du cahier des charges, http://www.irda.org/displaycommon.cfm?an=1&subarticlenbr=7

Appendix A. Introduction 103

disponible et essentiellement libre. En outre, le WiFi offre une meilleure bande pas-sante par rapport aux technologies cellulaires disponibles aujourd’hui. C’est pourquoinous soutenons que les rencontres opportunistes constituent une enorme opportunitede developper une capacite de communication considerable bien qu’aujourd’hui peuvalorisee. Dans cette these, nous nous interesserons a quelques facons de tirer partiefficacement de cette opportunite.

La critique communement adressee a l’encontre de l’idee de reseaux opportunistesest le manque d’attrait que represente la participation a un tel systeme car il necessitele partage des ressources avec des inconnus pour fonctionner. A cet egard, il nous sem-ble que les reseaux sociaux peuvent apporter une aide. Sur Internet, les applicationstelles que les reseaux sociaux en ligne et autres outils de collaboration sont devenustres populaires parmi les utilisateurs de l’Internet fixe et mobile. Ces applications ontcree des communautes d’utilisateurs reunis autour d’interets varies, allant des jeuxen reseau a l’edition de pages Wikipedia. Dans le cadre des reseaux opportunistes, lereseaux sociaux et les communautes peuvent agir comme une incitation a partager lesressources limitees d’un appareil mobile : on est plus disposes a partager ou a trans-porter des donnees pour un ami ou quelqu’un appartenant a la meme communauteque pour un parfait inconnu.

Nous croyons que les reseaux sociaux peuvent egalement profiter aux applica-tions destinees aux reseaux opportunistes sous d’autres aspects. D’une part les appli-cations sociales ont prouve leur popularite sur Internet de meme. Or, les applicationsenvisageables pour les reseaux opportunistes ont naturellement partie liee avec lesreseaux sociaux (services de rencontre, localisation d’amis, recommandations, partagede contenu, jeux). D’autre part, la mobilite des personnes sur lequel les reseaux oppor-tunistes comptent pour la transmission des donnees, est directement liee au comporte-ment social des personnes : nous sommes plus susceptibles de nous reunir regulierementavec nos amis, notre famille ou nos collegues de travail qu’avec des inconnus. C’estpourquoi de nombreux algorithmes de routage pour reseaux opportunistes sont baseessur les relations sociales.

Dans cette these, nous etudions et analysons experimentalement les communicationsopportunistes dans les reseaux sociaux ad-hoc. Nous definissons ces reseaux comme etantdes reseaux decentralises formes entre des appareils mobiles transportes par des per-sonnes mobiles. Ces reseaux profitent de la mobilite des individus et de leurs relationssociales pour creer de nouvelles possibilites de transfert de contenu et d’applicationssociales mobiles.

104 A.2. Directions de recherche

A.2 Directions de recherche

Les reseaux opportunistes et les reseaux sociaux mobiles soulevent de nombreusesquestions de recherche, situees au carrefour de multiples domaines. Nous les presentonsci-dessous.

A.2.1 Architectures, Protocoles et Paradigmes

L’architecture Internet traditionnelle suppose la disponibilite momentanee d’unchemin reliant deux noeuds de communication avec un delai de propagation rela-tivement court et un faible taux de perte des paquets [22]. La mise en cause de cesprincipes de base suppose de tout repenser, du principe de la commutation des pa-quets jusqu’a la maniere dont le routage est effectue. [36, 49].

Architecture du Reseau

Dans les reseaux opportunistes les deconnexions et la variabilite accrue des delaisconstituent la norme. En regle generale les architectures etudiees adoptent le principede la commutation asynchrone des messages comme paradigme de communicationsous-jacent pour faire face a ces difficultes [36, 128]. Un certain nombre d’autres ques-tions de conception d’architecture comme le ”nommage”, l’”adressage”, le controlede flux, le controle de congestion ou encore la fiabilite et la securite end-to-end doiventegalement etre reexamines [36].

Routage

La topologie sous-jacente des reseaux opportunistes est extremement dynamique.C’est pourquoi l’etablissement et le maintien de chemins reliant momentanement deuxnoeuds de communication sont generalement impossibles. En outre, la mobilite desnoeuds, exploitee pour la transmission des messages, est souvent imprevisible. Enconsequence, de nouveaux protocoles de routage sont necessaires. Le principe debase sur lequel s’appuient la plupart des solutions proposees est de se fonder surdes mecanismes totalement decentralises ou les decisions de transmission sont prisindependamment a chaque saut [144].

Paradigmes du Developpement des Applications et des Interfaces

Les communications opportunistes ont egalement des consequences sur la con-ception des interfaces et des paradigmes de communication. Le modele client-serveur

Appendix A. Introduction 105

de l’Internet utilisant l’interface socket doit etre repense car celle-ci ne supporte pasbien les deconnexions, les retards ni la mobilite des noeuds. De nouvelles interfacespour la programmation d’applications sont doivent permettre le decouplage spatial ettemporel entre les applications et le reseau sur lequel elles s’appuient. Autrement dit,les applications ne devraient avoir besoin ni de connaıtre l’adresse exacte ou le lieuprecis de destination (couplage spatial), ni d’etre impliquees au moment du transfert(couplage temporel) [27].

A.2.2 Systemes et Communications Mobiles

Le deuxieme axe majeur de la recherche se concentre sur la conception et la miseen oeuvre des systemes de communication mobile et des applications mobiles.

Plates-formes Mobiles

Meme si les smartphones deviennent de plus en plus puissants, la taille reduite deces appareils posera toujours un probleme de limitation des ressources par rapport ala capacite des systemes informatiques statiques. Ces limitations comprennent notam-ment la faible puissance de calcul, une moindre capacite de memoire et de stockagefixe, Entrees-Sorties lentes, et avant tout la duree limitee des batteries. Ces contraintesdoivent etre prises en compte lors de la conception des systemes et applications pourles appareils mobiles.

Les plates-formes mobiles couramment utilisees dans la recherche sont soit baseessur les plates-formes de capteurs tels que Intel Mote (IMote) [99] ou sur les plate-formes mobiles commerciales. Un certain nombre de plates-formes mobiles sont actuelle-ment disponibles, comme (mais pas seulement) Android, BlackBerry, iPhone, Maemo,Symbian et Windows Mobile. Toutes ces plates-formes offrent la possibilite de developperet d’installer des applications et fournissent differents types d’abstractions pour mieuxgerer les limitations des systemes mobiles discuteq ci-dessus. Le choix d’une plate-forme a egalement des consequences sur ce qui peut etre fait dans le domaine de larecherche, selon les capacites et les interfaces disponibles [101].

Communications Sans Fil

Le deuxieme defi majeur dans la conception des systemes mobiles est liee a la na-ture variable des communications sans fil. Un smartphone typique contient plusieursinterfaces radio. Leurs caracteristiques en termes de bande-passante, de distance detransmission, de fiabilite et de consommation d’energie sont toutes uniques. En outre,

106 A.2. Directions de recherche

aucune des ces interfaces n’a veritablement ete concue pour les communications op-portunistes ad-hoc. Sous cet aspect, les defis inherents a ce type de communicationsont la mobilite des appareils, la detection des opportunites de contact, l’exploitationde rencontres par nature breves, et l’efficacite energetique dans la mesure ou les in-terfaces doivent etre en marche la plupart du temps. De surcroıt, de nouveaux defissurviennent lorsque l’on considere l’utilisation de plusieurs interfaces ou pour pourdes fonctions distinctes. Il faut en effet decider de l’interface a utiliser, a quelle(s) fin(s),de la repartition du trafic et de l’ordonnancement des communications.

A.2.3 Experimentation et Evaluation des Reseaux

La mise en oeuvre et le deploiement de reseaux mobiles opportunistes, des systemeset applications est complexe et couteux en temps. Par consequent, la communautede recherche s’est principalement reposee sur des prototypes simples pour la valida-tion du concept et pour demontrer la faisabilite de ces systemes. Les simulations et lamodelisation analytique sont utilises pour l’evaluation a plus grande echelle.

Collection des Donnees

L’evaluation des systemes de communications mobiles doit evidemment tenir compte,autant que possible, des conditions realistes, y compris de la distance de transmission,de la sensibilite de la bande passante sensible, de l’espace de memoire limite pour lestockage des messages, des contraintes energetiques, et des modeles realistes de la cir-culation et des mouvements des utilisateurs mobiles. La plupart de ces parametres (etleurs combinaisons) ne peuvent etre etudiees qu’experimentalement.

Les approches experimentales varient de l’experimentation controlee aux experiencesutilisant des personnes reelles portant des appareils specialises ou des telephone porta-bles sur eux qui collectent des informations sur les opportunites de contacts. Les prin-cipaux defis que pose ce type d’etudes experimentales - comme le deploiement reelpar ailleurs - sont l’echelle de l’experimentation ainsi que les questions pratiques lieesau developpement des systemes mobiles [99, 51]. Meme une simple campagne de col-lecte de donnees exige beaucoup de travail de mise en oeuvre : choix des parametresappropries, equipement et participants motives. Par consequent, certains projets ontcherche des sources d’information alternatives sur la mobilite, tels que des journauxdes points d’acces, des syslog et autres donnees d’horaires afin de deduire la mobilitedes personnes. Ces traces sont rarement utiles directement mais permettent de for-muler des hypotheses au sujet de la connectivite entre les appareils.

Appendix A. Introduction 107

Evaluation

Les simulations et la modelisation analytique sont generalement fondes sur lestraces disponibles ou sur des modeles de mobilite humaine. Les modeles traditionnelsde deplacement, tels que le ”Random Walk” [32] ou le ”Random Waypoint” [62], ontete jugees inexacts pour la modelisation de la mobilite humaine [18]. L’autre approcheconsiste a concevoir des modeles de mobilite a partir de traces de mobilite obtenues enconditions experimentales. Le defi consiste a capturer et de modeliser avec precisionles principales proprietes statistiques des traces de mobilite de maniere a pouvoir lesreproduire et les generaliser a d’autres contextes [92]. Au-dela de la modelisation dela mobilite, la structure du graphe des contacts et la dynamique des reseaux oppor-tunistes constituent encore des domaines de recherche actifs. Le sujet est d’autant pluscomplexe qu’il vient se superposer a d’autres domaines scientifiques tels que l’analysedes reseaux sociaux et les reseaux complexes.

A.3 Contributions

Notre approche de recherche s’appuie en grande partie sur l’experimentation pra-tique : nous realisons des experiences preliminaires pour guider la conception et lamise en oeuvre d’une architecture pour les reseaux opportunistes et les applicationssociales. Nous evaluons les performances du systeme et les caracteristiques du reseaua travers plusieurs experiences avec des utilisateurs reels dans les environnements desconferences. Il nous semble qu’une approche experimentale est d’autant plus impor-tante que les reseaux opportunistes sont encore un domaine de recherche relativementnouveau et que les conditions realistes de deploiement sont encore peu connues. Enoutre, ces conditions sont generalement complexes et difficiles a modeliser ou simuler,et le comportement des utilisateurs, qui est un element cle de notre systeme, doit etreobservee en situation.

Cette these fait plusieurs contributions relatives a la majorite des questions derecherche decrites ci-dessus. La premiere de ces contributions consiste en une etudedes communications opportunistes via Bluetooth en utilisant des smartphones disponiblesa la vente. Les reseaux opportunistes fondes sur la technologie Bluetooth nous sem-blent revetir un fort potentiel malgre certaines limitations pratiques. Dans un deuxiemetemps, nous concevons un prototype d’architecture destinee aux communications op-portunistes dans les reseaux sociaux ad-hoc, appelle MobiClique. Troisiemement, nousdeployons MobiClique ainsi que plusieurs applications dans le cadre d’une experiencea grande echelle (80 personnes). Enfin, nous analysons en detail les caracteristiques du

108 A.3. Contributions

reseau opportuniste et la propagation du contenu sur le reseau. La plupart de ces con-tributions ont pu etre considerees comme pionnieres dans leur domaine lorsqu’ellesont ete presentees pour la premiere fois. Nous donnons ci-dessous davantage de detailssur chacune des contributions.

A.3.1 Communications Opportunistes

Dans notre premiere contribution nous faisons etat des possibilites offertes par latechnologie Bluetooth en matiere de reseaux mobiles opportunistes en utilisant dessmartphones disponibles dans le commerce. Nous effectuons une serie d’experiencescontrolees et trois experiences en situation reelle afin de caracteriser la maniabilite et leniveau de performance offerts par le Bluetooth pour detecter et exploiter les contactsopportunistes. Nous avons retenu la technologie Bluetooth en raison de sa faible em-preinte energetique (par rapport au WiFi) et de sa courte portee qui limite les rencon-tres opportunistes a une distance coherente avec celle des interactions sociales reelles.

Malgre les limitations de Bluetooth quant a la detection d’appareils mobiles, lesopportunites de contacts opportunistes sont nombreuses, et nous constatons que lereseau offre une grande capacite de communication. Nous faisons egalement plusieursrecommandations pratiques concernant l’utilisation efficace de la technologie Blue-tooth dans les systemes de communications opportunistes : la duree de detectiondes appareils mobiles voisins devrait etre d’au moins 7.68s, un cache de detectiondes resultats des quelques dernieres minutes devrait etre utilise et l’implementationde l’identification, pour etre efficace, pourrait s’appuyer sur la codification Class-of-device a la place des protocoles de requete Bluetooth de noms ou de services (ne s’ap-plique qu’aux Bluetooth v2.0 ou aux versions plus anciennes). En outre, les protocolesde communication doivent eviter l’envoi excessif de donnees de controle pour min-imiser l’interference. Finalement, la gestion du stockage des messages doit etre priseen compte des le debut dans la conception des systemes car leur limite, selon nosmesures, n’est pas la capacite de communication sans fil, mais la memoire disponiblesur les appareils mobiles dans le reseau.

A.3.2 MobiClique

Nous concevons et mettons en oeuvre un middleware de communication oppor-tuniste nomme MobiClique. MobiClique forme les reseaux opportunistes et exploiteles reseaux sociaux pour diffuser des contenus en utilisant le paradigme store-carry-forward. Mobiclique est concu comme une structure ouverte dotee d’une interface de

Appendix A. Introduction 109

developpement d’application pour masquer la complexite des communications op-portunistes. Nous construisons les prototypes de trois exemples d’applications com-prenant les reseaux sociaux, l’envoi asynchrone de messages entre amis et groupesd’interet et le vote decentralise.

Notre approche se distingue des autres applications mobiles sociales en eliminantla necessite d’un serveur central (1), en exploitant les reseaux sociaux existants pourl’initialisation du systeme (2), et en profitant des reseaux sociaux pour diffuser ducontenu et encourager la collaboration entre utilisateurs (3).

A.3.3 Collection des Donnees

En plus des trois experience a echelle reduite (∼ 20 participants) mentionnes ci-dessus, nous recueillons un ensemble de donnees a grande echelle avec 80 appareilsexecutant MobiClique pendant 4 jours dans une conference internationale. Cette experienceconstitue, a notre connaissance, l’un des premiers deploiements a grande echelle deveritables reseau et applications opportunistes. Contrairement aux etudes precedentes,nous collectons les profils Facebook des participants, y compris le graphe d’amitie.Cela nous permet de mieux comprendre les causes sociales de la mobilite individuelledans le cadre de l’experience. Outre, les traces de mobilite, nous collectons aussi letrafic reel genere par les applications utilisees spontanement au cours de l’experience.Nos donnees ont ete utilises par d’autres chercheurs pour mener des recherches con-cernant les reseaux opportunistes dans de nouvelles directions [89, 90, 56].

A.3.4 Analyse des Reseaux Opportunistes

Notre derniere contribution est une analyse detaillee de la structure du graphede contacts et de la diffusion epidemique du contenu dans un reseau opportunistebase sur notre ensemble de donnees. Notre premiere observation est que l’approcheactuellement en vogue, s’appuyant sur l’analyse des contacts pair-a-pair (par exem-ple [50, 89]) a certaines limitations, en particulier par rapport a l’identification desstructures communautaires liees a la mobilite et a l’interaction sociale. Par consequent,nous proposons une methodologie basee sur un modele de graphe temporel [129].En utilisant cette methodologie, nous constatons que le reseau opportuniste est pourla plupart du temps bien connecte et contient un grande composante connectee. Enoutre, nous sommes en mesure d’identifier les structures communautaires temporelleau sein du reseau qui correspondent aux structures sociales des experimentateurs.Enfin, nous montrons comment la grande composante connectee et les communautes

110 A.4. Apercu et Organisation de la These

temporelle caracterisent le chemin de diffusion epidemique du contenu : la majoritedes votes sont diffusees dans la composante connectee soit lorsque le contenu serepand d’une communaute temporelle a l’autre, soit lorsque les noeuds individuelsrejoignent le coeur du reseau.

A.4 Apercu et Organisation de la These

Une revue de la litterature liee a cette these est presentee au Chapitre 2. Nouspresenterons nos premieres experiences sur les communications opportunistes avecBluetooth au Chapitre 3. Ensuite, nous discuterons la conception et la mise en oeu-vre de MobiClique au Chapitre 4. L’experience principale et l’ensemble des donneesutilisees dans notre analyse est presentee et validee au Chapitre 5. Une analyse de lastructure et de la dynamique d’un reseau opportuniste et la diffusion du contenu dansce reseau sont discutes au Chapitre 6. Nous concluerons la these au Chapitre 7 par unediscussion des differentes perspectives de recherche envisageables.

Bibliography

[1] Y. Agarwal, R. Chandra, A. Wolman, P. Bahl, K. Chin, and R. Gupta. Wirelesswakeups revisited: energy management for voip over wi-fi smartphones. InMobiSys’07: Proceedings of the 5th international conference on Mobile systems, appli-cations and services, 2007. Cited on page 26.

[2] G. Ananthanarayanan and I. Stoica. Blue-fi: enhancing wi-fi performance usingbluetooth signals. In MobiSys’09: Proceedings of the 7th international conference onMobile systems, applications, and services, 2009. Cited on pages 24 and 96.

[3] N. Asokan, K. Kostiainen, P. Ginzboorg, J. Ott, and C. Luo. Applicabilityof identity-based cryptography for disruption-tolerant networking. In Mo-biOpp’07: Proceedings of the 1st international MobiSys workshop on Mobile oppor-tunistic networking, 2007. Cited on page 65.

[4] S. Asthana and D. N. Kalofonos. The problem of bluetooth pollution and accel-erating connectivity in bluetooth ad-hoc networks. In PERCOM’05: Proceedingsof the Third IEEE International Conference on Pervasive Computing and Communica-tions, 2005. Cited on pages 24 and 41.

[5] A. Balasubramanian, B. Levine, and A. Venkataramani. Dtn routing as a re-source allocation problem. SIGCOMM Comput. Commun. Rev., 37(4):373–384,2007. Cited on page 65.

[6] M. Balazinska and P. Castro. Characterizing mobility and network usage ina corporate wireless local-area network. In MobiSys’03: Proceedings of the 1stinternational conference on Mobile systems, applications and services, 2003. Cited onpages 26 and 28.

[7] T. Berners-Lee, R. Fielding, and L. Masinter. Uniform Resource Identifier (URI):Generic Syntax. RFC 3986 (Standard), January 2005. Cited on page 14.

112 Bibliography

[8] Bluetooth Special Interest Group (SIG). Specification of the Bluetooth System. CorePackage version: 1.2, November 2003. Cited on page 34.

[9] Bluetooth Special Interest Group (SIG). Specification of the Bluetooth System. CorePackage version: 2.0, November 2004. Cited on page 34.

[10] Bluetooth Special Interest Group (SIG). Bluetooth specification Version 2.1 + EDR,July 2007. Cited on pages 23 and 34.

[11] Bluetooth Special Interest Group (SIG). Bluetooth specification Version 3.0 + HS,April 2009. Cited on page 96.

[12] V. Borrel, F. Legendre, M. D. De Amorim, and S. Fdida. Simps: using sociologyfor personal mobility. IEEE/ACM Trans. Netw., 17(3):831–842, 2009. Cited onpage 29.

[13] J. Burke, D. Estrin, M. Hansen, A. Parker, N. Ramanathan, S. Reddy, and M. B.Srivastava. Participatory sensing. In WSW’06: Workshop on World-Sensor-Web(Mobile Device Centric Sensor Networks and Applications), pages 117–134, 2006.Cited on page 12.

[14] V. Bychkovsky, B. Hull, A. Miu, H. Balakrishnan, and S. Madden. A measure-ment study of vehicular internet access using in situ wi-fi networks. In Mobi-Com’06: Proceedings of the 12th annual international conference on Mobile computingand networking, 2006. Cited on page 25.

[15] H. Cai and D. Y. Eun. Crossing over the bounded domain: from exponential topower-law inter-meeting time in manet. In MobiCom’07: Proceedings of the 13thannual ACM international conference on Mobile computing and networking, 2007.Cited on page 29.

[16] T. Camp, J. Boleng, and V. Davies. A survey of mobility models for ad hocnetwork research. Wireless communications and mobile computing, 2:483–502, 2002.Cited on page 28.

[17] V. Cerf, S. Burleigh, A. Hooke, L. Torgerson, R. Durst, K. Scott, K. Fall, andH. Weiss. Delay-Tolerant Networking Architecture. RFC 4838 (Informational),April 2007. Cited on pages 14 and 65.

[18] A. Chaintreau, P. Hui, J. Scott, R. Gass, J. Crowcroft, and C. Diot. Impact ofhuman mobility on opportunistic forwarding algorithms. IEEE Transactions onMobile Computing, 6(6), June 2007. Cited on pages 6, 21, 27, 28, 29, 47, 71, 78, 79,and 107.

Bibliography 113

[19] A. Chaintreau, A. Mtibaa, L. Massoulie, and C. Diot. Diameter of opportunisticmobile networks. In CoNext’07: Proceedings of ACM Sigcomm CoNext, 2007. Citedon pages 27 and 29.

[20] S.-Y. Chan, P. Hui, and K. Xu. Community detection of time-varying mobilesocial networks. In In Proc. of the First Int. Conf. on Complex Sciences: Theory andApplications, 2009. Cited on page 30.

[21] X. Chen and J. Wu. Multicasting techniques in mobile ad hoc networks. pages25–40, 2003. Cited on page 19.

[22] D. Clark. The design philosophy of the darpa internet protocols. In SIGCOMM’88: Symposium proceedings on Communications architectures and protocols, 1988.Cited on pages 3 and 104.

[23] T. Clausen and P. Jacquet. Optimized Link State Routing Protocol (OLSR). RFC3626 (Experimental), October 2003. Cited on page 13.

[24] A. Clauset, M.E.J. Newman, and C. Moore. Finding community structure invery large networks. Phys. Rev. E, 70:066111, 2004. Cited on page 83.

[25] S. Corson and J. Macker. Mobile Ad hoc Networking (MANET): Routing Pro-tocol Performance Issues and Evaluation Considerations. RFC 2501 (Informa-tional), January 1999. Cited on page 13.

[26] E. M. Daly and M. Haahr. Social network analysis for routing in disconnecteddelay-tolerant manets. In MobiHoc’07: Proceedings of the 8th ACM internationalsymposium on Mobile ad hoc networking and computing, 2007. Cited on pages 18,30, 77, 78, and 80.

[27] M. Demmer, K. Fall, T. Koponen, and S. Shenker. Towards a modern commu-nications api. In HotNets’VI: In Proceedings of the 6th Workshop on Hot Topics inNetworks, 2007. Cited on pages 4, 19, 20, and 105.

[28] A. Doria, M. Uden, and P. Pandey. Providing connectivity to the saami nomadiccommunity. In Proceedings of 2nd International Conference on Open CollaborativeDesign for Sustainable Innovation, 2002. Cited on page 14.

[29] H. Dubois-Ferriere, M. Grossglauser, and M. Vetterli. Age matters: efficientroute discovery in mobile ad hoc networks using encounter ages. In MobiHoc’03:Proceedings of the 4th ACM international symposium on Mobile ad hoc networking &computing, 2003. Cited on page 17.

[30] N. Eagle and A. Pentland. Social serendipity: Mobilizing social software. IEEEPervasive Computing, 4(2), 2005. Cited on pages 11 and 53.

114 Bibliography

[31] N. Eagle and A. Pentland. Reality mining: sensing complex social systems.Personal Ubiquitous Comput., 10(4):255–268, 2006. Cited on pages 17, 26, 27, 28,and 29.

[32] A. Einstein. Investigations on the Theory of the Brownian Movement. Dover Publi-cations, 1956. Cited on pages 6, 28, and 107.

[33] V. Erramilli, A. Chaintreau, M. Crovella, and C. Diot. Diversity of forward-ing paths in pocket switched networks. In IMC’07: Proceedings of the 7th ACMSIGCOMM conference on Internet measurement, 2007. Cited on pages 15, 29, 30,and 91.

[34] V. Erramilli, M. Crovella, A. Chaintreau, and C. Diot. Delegation forwarding. InMobiHoc’08: Proceedings of the 9th ACM international symposium on Mobile ad hocnetworking and computing, 2008. Cited on page 18.

[35] P. Eugster, P. Felber, R. Guerraoui, and A-M. Kermarrec. The many faces ofpublish/subscribe. ACM Comput. Surv., 35(2):114–131, 2003. Cited on page 20.

[36] K. Fall. A delay-tolerant network architecture for challenged internets. In SIG-COMM’03: Proceedings of the 2003 conference on Applications, technologies, archi-tectures, and protocols for computer communications, 2003. Cited on pages 3, 4, 14,and 104.

[37] S. Fortunato. Community detection in graphs. Physics Reports, 486:75–174, 2010.Cited on pages 83 and 85.

[38] L. C. A. Freeman. Centrality in social networks: Conceptual clarification. SocialNetworks, 1(3):215–239, 1979. Cited on page 30.

[39] S. Gaonkar, J. Li, R. Choudhury, L. Cox, and A. Schmidt. Micro-blog: shar-ing and querying content through mobile phones and social participation. InMobiSys’08: Proceeding of the 6th international conference on Mobile systems, appli-cations, and services, 2008. Cited on pages 22 and 23.

[40] R. Gass, J. Scott, and C. Diot. Measurements of in-motion 802.11 networking.In WMCSA’06: Proceedings of the Seventh IEEE Workshop on Mobile ComputingSystems & Applications, 2006. Cited on page 25.

[41] M. Girvan and M.E.J. Newman. Community structure in social and biologicalnetworks. Proc.Natl.Acad.Sci.USA, 99:7821–7821, 2002. Cited on page 83.

[42] M.C. Gonzalez, C.A. Hidalgo, and A.-L. Barabasi. Understanding individualhuman mobility patterns. Nature, 453:479–482, 2008. Cited on page 98.

Bibliography 115

[43] M. Granovetter. The strength of weak ties. Americal Journal of Sociology,78(6):1360–1380, 1973. Cited on page 30.

[44] M. Grossglauser and D. N. C. Tse. Mobility increases the capacity of ad hocwireless networks. IEEE/ACM Trans. Netw., 10(4):477–486, 2002. Cited on pages16 and 17.

[45] D. Hadaller, S. Keshav, T. Brecht, and S. Agarwal. Vehicular opportunistic com-munication under the microscope. In MobiSys’07: Proceedings of the 5th interna-tional conference on Mobile systems, applications and services, 2007. Cited on page25.

[46] S. Heimlicher and K. Salamatian. Globs in the primordial soup: the emergenceof connected crowds in mobile wireless networks. In MobiHoc’10: Proceedings ofthe eleventh ACM international symposium on Mobile ad hoc networking and comput-ing, 2010. Cited on pages 31, 77, and 98.

[47] T. Henderson, D. Kotz, and I. Abyzov. The changing usage of a mature campus-wide wireless network. In MobiCom’04: Proceedings of the 10th annual internationalconfer ence on Mobile computing and networking, 2004. Cited on pages 26 and 28.

[48] X. Hong, M. Gerla, G. Pei, and C.-C. Chiang. A group mobility model for adhoc wireless networks. In MSWiM’99: Proceedings of the 2nd ACM internationalworkshop on Modeling, analysis and simulation of wireless and mobile systems, 1999.Cited on pages 28 and 98.

[49] P. Hui, A. Chaintreau, J. Scott, R. Gass, J. Crowcroft, and C. Diot. Pocketswitched networks and the consequences of human mobility in conference en-vironments. In Proceedings of ACM SIGCOMM first workshop on delay tolerantnetworking and related topics, 2005. Cited on pages 3, 15, 21, 27, 29, 42, 45, 47, 71,and 104.

[50] P. Hui, J. Crowcroft, and E. Yoneki. BUBBLE Rap: Social Based Forwarding inDelay Tolerant Networks. In MobiHoc’08: Proceedings of the 9th ACM internationalsymposium on Mobile ad hoc networking and computing, 2008. Cited on pages 8, 18,30, 65, 77, 78, 80, 91, and 109.

[51] P. Hui, R. Mortier, M. Piorkowski, T. Henderson, and J. Crowcroft. Planet-scalehuman mobility measurement. In HotPlanet’10: Proceedings of the 2nd ACM Inter-national Workshop on Hot Topics in Planet-scale Measurement, 2010. Cited on pages6, 98, and 106.

[52] P/ Hui, E. Yoneki, S. Chan, and J. Crowcroft. Distributed community detectionin delay tolerant networks. In MobiArch’07: Proceedings of 2nd ACM/IEEE inter-

116 Bibliography

national workshop on Mobility in the evolving internet architecture, 2007. Cited onpages 30 and 83.

[53] T. Hyyrylainen, T. Karkkainen, C. Luo, V. Jaspertas, J. Karvo, and J. Ott. Op-portunistic email distribution and access in challenged heterogeneous environ-ments. In CHANTS’07: Proceedings of the second ACM workshop on Challengednetworks, 2007. Cited on pages 15 and 16.

[54] IEEE Standards Board. IEEE Std 802.11b-1999 (R2003), Part 11: Wireless LANMedium Access Control (MAC) and Physical Layer (PHY) specifications: Higher-Speed Physical Layer Extension in the 2.4 GHz Band, June 2003. Cited on page23.

[55] IEEE Standards Board. IEEE Std 802.11g-2003, Part 11: Wireless LAN MediumAccess Control (MAC) and Physical Layer (PHY) Specification. Amendment 4: FurtherHigher Data Rate Extension in the 2.4 GHz Band, June 2003. Cited on page 23.

[56] S. Ioannidis and A. Chaintreau. On the strength of weak ties in mobile socialnetworks. In SNS’09: Proceedings of the Second ACM EuroSys Workshop on SocialNetwork Systems, 2009. Cited on pages 8, 30, 96, and 109.

[57] S. Ioannidis, A. Chaintreau, and L. Massoulie. Optimal and scalable distribu-tion of content updates over a mobile social network. In Proceedings of IEEEINFOCOM, 2009. Cited on pages 15, 16, and 97.

[58] P. Jaccard. Distribution de la flore alpine dans le bassin des dranses et dansquelques regions voisines. Le Bulletin de la Societe Vaudoise des Sciences Naturelles,37:241–272, 1901. Cited on page 83.

[59] V. Jacobson, D. K. Smetters, J. D. Thornton, M. F. Plass, N. H. Briggs, and R. L.Braynard. Networking named content. In CoNEXT’09: Proceedings of the 5thinternational conference on Emerging networking experiments and technologies, 2009.Cited on page 20.

[60] R .Jain, D. Lelescu, and M. Balakrishnan. Model t: an empirical model for userregistration patterns in a campus wireless lan. In MobiCom’05: Proceedings ofthe 11th annual international conference on Mobile computing and networking, 2005.Cited on page 28.

[61] S. Jain, K. Fall, and R. Patra. Routing in a delay tolerant network. SIGCOMMComput. Commun. Rev., 34, August 2004. Cited on pages 16 and 19.

[62] D. B. Johnson and D. A. Maltz. Dynamic source routing in ad hoc wirelessnetworks. Mobile Computing, pages 153–181, 1996. Cited on pages 6, 28, and 107.

Bibliography 117

[63] E. P. C. Jones, L. Li, J. K. Schmidtke, and P. A. S. Ward. Practical routing indelay-tolerant networks. IEEE Transactions on Mobile Computing, 6(8):943–959,2007. Cited on pages 17 and 18.

[64] P. Juang, H. Oki, Y. Wang, M. Martonosi, L. S. Peh, and D. Rubenstein. Energy-efficient computing for wildlife tracking: design tradeoffs and early experienceswith zebranet. SIGOPS Oper. Syst. Rev., 36(5), 2002. Cited on page 14.

[65] H. Jun, M. H. Ammar, M. D. Corner, and E. W. Zegura. Hierarchical powermanagement in disruption tolerant networks with traffic-aware optimization. InCHANTS’06: Proceedings of the 2006 SIGCOMM workshop on Challenged networks,2006. Cited on pages 26 and 96.

[66] S. Jung, U. Lee, A. Chang, D-K Cho, and M. Gerla. Bluetorrent: Cooperativecontent sharing for bluetooth users. In PERCOM’07: Proceedings of the Fifth IEEEInternational Conferen ce on Pervasive Computing and Communications, 2007. Citedon pages 15, 24, and 25.

[67] T. Karagiannis, J.Y. Le Boudec, and M. Vojnovic. Power law and exponentialdecay of inter contact times between mobile devices. In MobiCom’07: Proceedingsof the 13th annual ACM international conference on Mobile computing and networking,2007. Cited on pages 29 and 47.

[68] G. Karlsson, V. Lenders, and M. May. Delay-tolerant broadcasting. InCHANTS’06: Proceedings of the 2006 SIGCOMM workshop on Challenged networks,2006. Cited on pages 15 and 19.

[69] A. Keranen, J. Ott, and T. Karkkainen. The one simulator for dtn protocol evalu-ation. In Simutools’09: Proceedings of the 2nd International Conference on SimulationTools and Techniques, 2009. Cited on page 15.

[70] J. Kharoufeh, B. Peterson, and R. Baldwin. Bluetooth inquiry time characteriza-tion and selection. IEEE Transactions on Mobile Computing, 5(9), 2006. Cited onpage 24.

[71] T. Koponen, M. Chawla, B.-G. Chun, A. Ermolinskiy, K. H. Kim, S. Shenker,and I. Stoica. A data-oriented (and beyond) network architecture. SIGCOMMComput. Commun. Rev., 37(4):181–192, 2007. Cited on page 20.

[72] V. Kostakos and E. O Neill. Cityware: Urban computing to bridge online andreal-world social networ ks. 2008. Cited on page 11.

[73] S. Kurkowski, T. Camp, and M. Colagrosso. Manet simulation studies: the in-credibles. SIGMOBILE Mob. Comput. Commun. Rev., 9(4):50–61, 2005. Cited onpage 14.

118 Bibliography

[74] N.D. Lane, E. Miluzzo, L. Hong, D. Peebles, T. Choudhury, and A.T. Campbell.A survey of mobile phone sensing. 48(9):140–150. Cited on page 12.

[75] J. Leguay, A. Lindgren, J. Scott, T. Friedman, and J. Crowcroft. Opportunisticcontent distribution in an urban setting. In CHANTS’06: Proceedings of the 2006SIGCOMM workshop on Challenged networks, 2006. Cited on pages 15, 21, and 27.

[76] J. Leskovec, J. Kleinberg, and C. Faloutsos. Graphs over time: densificationlaws, shrinking diameters and possible explanations. In KDD’05: Proceedings ofthe eleventh ACM SIGKDD international conference on Knowledge discovery in datamining, 2005. Cited on page 30.

[77] M. Liberatore, B. Levine, and C. Barakat. Maximizing transfer opportunities inbluetooth dtns. In CoNEXT’06: Proceedings of the 2006 ACM CoNEXT conference,2006. Cited on page 24.

[78] A. Lindgren, A. Doria, and O. Schelen. Probabilistic routing in intermittentlyconnected networks. SIGMOBILE Mob. Comput. Commun. Rev., 7(3), 2003. Citedon page 17.

[79] H. Lu, W. Pan, N. Lane, T. Choudhury, and A. Campbell. Soundsense: scalablesound sensing for people-centric applications on mobile phones. In MobiSys’09:Proceedings of the 7th international conference on Mobile systems, applications, andservices, 2009. Cited on pages 22 and 23.

[80] S. Kim M. Kim, D. Kotz. Extracting a mobility model from real user traces. InINFOCOM’06: Proceedings of the 25th Annual Joint Conference of the IEEE Computerand Communications Societies, 2006. Cited on pages 26 and 28.

[81] M. May, V. Lenders, G. Karlsson, and C. Wacha. Wireless opportunistic pod-casting: implementation and design tradeoffs. In CHANTS’07: Proceedings of thesecond workshop on Challenged net works CHANTS, 2007. Cited on pages 15 and 25.

[82] L. McNamara, C. Mascolo, and L. Capra. Media sharing based on colocationprediction in urban transport. In MobiCom’08: Proceedings of the 14th ACM inter-national conference on Mobile computing and networking, 2008. Cited on pages 15,27, and 28.

[83] M. McNett and G. M. Voelker. Access and mobility of wireless pda users. SIG-MOBILE Mobile Computer Communications Review, 9(2), 2005. Cited on pages 26and 27.

[84] A. Miklas, K. Gollu, K. Chan, S. Saroiu, K. Gummadi, and E. de Lara. Exploitingsocial interactions in mobile systems. In Proceedings of UbiComp 2007, 2007. Citedon pages 12 and 30.

Bibliography 119

[85] E. Miluzzo, C. Cornelius, A. Ramaswamy, T. Choudhury, Z. Liu, and A. Camp-bell. Darwin phones: the evolution of sensing and inference on mobile phones.In MobiSys’10: Proceedings of the 8th international conference on Mobile systems, ap-plications, and services, 2010. Cited on pages 22 and 23.

[86] A. Mislove, M. Marcon, K. P. Gummadi, P. Druschel, and B. Bhattacharjee. Mea-surement and analysis of online social networks. In IMC’07: Proceedings of the7th ACM SIGCOMM conference on Internet measurement, 2007. Cited on page 70.

[87] R. Moskowitz and P. Nikander. Host Identity Protocol (HIP) Architecture. RFC4423 (Informational), May 2006. Cited on page 65.

[88] M. Motani, V. Srinivasan, and P. S. Nuggehalli. Peoplenet: engineering a wire-less virtual social network. In MobiCom’05: Proceedings of the 11th annual interna-tional confere nce on Mobile computing and networking, 2005. Cited on page 12.

[89] A. Mtibaa, A. Chaintreau, J. LeBrun, E. Oliver, A-K. Pietilainen, and C. Diot. Areyou moved by your social networks application? In WOSN’08: Proceedings of the1st ACM SIGCOMM Workshop on Online Social Network, 2008. Cited on pages 8,16, 18, 29, 65, 71, 77, 78, 79, 80, 91, 96, and 109.

[90] A. Mtibaa, M. May, C. Diot, and M. Ammar. Peoplerank: social opportunisticforwarding. In INFOCOM’10: Proceedings of the 29th conference on Informationcommunications, 2010. Cited on pages 8, 18, 65, 96, and 109.

[91] M. Musolesi and C. Mascolo. A community based mobility model for ad hocnetwork research. In REALMAN’06: Proceedings of the 2nd international workshopon Multi-hop ad hoc networks: from theory to reality, 2006. Cited on pages 29 and 98.

[92] M. Musolesi and C. Mascolo. Mobility Models for Systems Evaluation. Springer,2009. Cited on pages 6, 28, and 107.

[93] L. Nachman, R. Kling, R. Adler, J. Huang, and V. Hummel. The intel R©mote plat-form: a bluetooth-based sensor network for industrial monitoring. In IPSN’05:Proceedings of the 4th international symposium on Information processing in sensornetworks, 2005. Cited on page 21.

[94] M. E. J. Newman and J. Park. Why social networks are different from other typesof networks. Physical Review E, 68(3):36122, 2003. Cited on page 30.

[95] M.E.J. Newman and M. Girvan. Finding and evaluating community structurein networks. Phys. Rev. E, 69:026113, 2004. Cited on pages 83 and 84.

[96] A. Nicholson and B. Noble. Breadcrumbs: forecasting mobile connectivity. InMobiCom’08: Proceedings of the 14th ACM international conference on Mobile com-puting and networking, 2008. Cited on pages 24 and 96.

120 Bibliography

[97] T. Nicolai, E. Yoneki, N. Behrens, and H. Kenn. Exploring social context withthe wireless rope. In Proceedings of the OTM Workshop MONET, 2006. Cited onpage 11.

[98] E. Nordstrom, P. Gunningberg, and C. Rohner. A search-based network architec-ture for mobile devices. Technical Report 2009-003, Uppsala University, January2009. Cited on pages 15, 20, 56, 57, and 127.

[99] Eric Nordstrom, C. Diot, R. Grass, and P. Gunningberg. Experiences from mea-suring human mobility using bluetooth inquiring d evices. In MobiEval’07: Sys-tem Evaluation for Mobile Platforms, 2007. Cited on pages 5, 6, 21, 27, 42, 71, 105,and 106.

[100] E. Oliver. Exploiting the short message service as a control channel in challengednetwork environments. In CHANTS’08: Proceedings of the third ACM workshop onChallenged networks, 2008. Cited on pages 65 and 97.

[101] E. Oliver. A survey of platforms for mobile networks research. SIGMOBILEMob. Comput. Commun. Rev., 12(4):56–63, 2008. Cited on pages 5, 22, and 105.

[102] E. Oliver and H. Falaki. Performance evaluation and analysis of delay tolerantnetworking. In MobiEval’07: Proceedings of the 1st international workshop on Systemevaluation for mobile platforms, 2007. Cited on page 22.

[103] J. Ott. Application protocol design considerations for a mobile internet. In Mo-biArch’06: Proceedings of first ACM/IEEE international workshop on Mobility in theevolving internet architecture, 2006. Cited on page 19.

[104] J. Ott and D. Kutscher. Drive-thru internet: Ieee 802.1 1b for ”automobile” users.In INFOCOM’04: Proceedings of the 23rd Annual Joint Conference of the IEEE Com-puter and Communications Societies, 2004. Cited on page 25.

[105] J. Ott, D. Kutscher, and C. Dwertmann. Integrating dtn and manet routing. InCHANTS’06: Proceedings of the 2006 SIGCOMM workshop on Challenged networks,2006. Cited on page 99.

[106] J. Partan, J. Kurose, and B. N. Levine. A survey of practical issues in underwaternetworks. In WUWNet’06: Proceedings of the 1st ACM international workshop onUnderwater networks, 2006. Cited on page 14.

[107] T. Pering, Y. Agarwal, R. Gupta, and R. Want. Coolspots: reducing the powerconsumption of wireless mobile devices with multiple radio interfaces. In Mo-biSys’06: Proceedings of the 4th international conference on Mobile systems, applica-tions and services, 2006. Cited on pages 26 and 96.

Bibliography 121

[108] C. Perkins, E. Belding-Royer, and S. Das. Ad hoc On-Demand Distance Vector(AODV) Routing. RFC 3561 (Experimental), July 2003. Cited on page 14.

[109] A-K Pietilainen. Master’s thesis: Measuring human mobility. Technical report,Department of Computer Science, Helsinki University of Technology, October2007. Cited on page 22.

[110] A-K Pietilainen and C. Diot. Experimenting with opportunistic networking.In MobiArch’09: Proceedings of International Workshop on Mobility in the EvolvingInternet Architecture, June 2009. Cited on page 23.

[111] A-K Pietilainen, E. Oliver, J. LeBrun, G. Varghese, and C. Diot. Mobiclique:Middleware for mobile social networking. In WOSN’09: Proceedings of the 2ndACM SIGCOMM Workshop on Online Social Networks, August 2009. Cited onpage 51.

[112] M. Piorkowski, N. Sarafijanovoc-Djukic, and M. Grossglauser. A parsimoniousmodel of mobile partitioned networks with clustering. In The First InternationalConference on COMmunication Systems and NETworkS (COMSNETS), 2009. Citedon page 27.

[113] M. Pitkanen, A. Keranen, and J. Ott. Message fragmentation in opportunis-tic dtns. In WOWMOM’08: Proceedings of the 2008 International Symposium on aWorld of Wireless, Mobile and Multimedia Networks, 2008. Cited on page 96.

[114] C. Rigano, K. Scott, J. Bush, R. Edell, S. Parikh, R. Wade, and B. Adamson. Miti-gating naval network instabilities with disruption tolerant networking. In MIL-COM’08: IEEE Military Communications Conference, 2008. Cited on page 14.

[115] E. M. Royer and C.-K. Toh. A review of current routing protocols for ad-hocmobile wireless networks. IEEE Personal Communications, 6:46–55, 1999. Citedon page 13.

[116] L. Torgerson K. Fall V. Cerf B. Durst K. Scott H. Weiss S. Burleigh, A. Hooke.Delay-tolerant networking: an approach to interplanetary internet. IEEE Com-munications Magazine, 41(6):128–136, 2003. Cited on page 14.

[117] N. Sarafijanovic-djukic, M. Piorkowski, and M. Grossglauser. Island hopping:Efficient mobility-assisted forwarding in partitioned networks. In in Proc. IEEESECON, 2006. Cited on pages 31 and 98.

[118] M. Satyanarayanan. Fundamental challenges in mobile computing. In PODC’96:Proceedings of the fifteenth annual ACM symposium on Principles of distributed com-puting, 1996. Cited on pages 4 and 21.

122 Bibliography

[119] A. Scherrer, P. Borgnat, E. Fleury, J. L. Guillaume, and C. Robardet. Descriptionand simulation of dynamic mobility networks. Comput. Netw., 52(15):2842–2858,2008. Cited on page 30.

[120] A. Seth, D. Kroeker, M. Zaharia, S. Guo, and S. Keshav. Low-cost communicationfor rural internet kiosks using mechanical backhaul. In MobiCom’06: Proceedingsof the 12th annual international conference on Mobile computing and networking, 2006.Cited on pages 14 and 15.

[121] E. Shih, P. Bahl, and M. J. Sinclair. Wake on wireless: an event driven energysaving strategy for battery operated devices. In MobiCom’02: Proceedings of the8th annual international conference on Mobile computing and networking, 2002. Citedon page 26.

[122] A. Shikfa, M. Onen, and R. Molva. Privacy-preserving content-based pub-lish/subscribe networks. In IFIP SEC 2009, 24th International Information SecurityConference, 2009. Cited on page 65.

[123] F. Siegemund and M. Rohs. Rendezvous layer protocols for bluetooth-enabledsmart devices. Personal Ubiquitous Computing, 7(2):256–273, 2002. Cited on page24.

[124] T. Smith, S. Saroiu, and A. Wolman. Bluemonarch: a system for evaluating blue-tooth applications in the wild. In MobiSys’09: Proceedings of the 7th internationalconference on Mobile systems, applications, and services, 2009. Cited on page 25.

[125] J. Sorber, N. Banerjee, M. D. Corner, and S. Rollins. Turducken: hierarchicalpower management for mobile devices. In MobiSys’05: Proceedings of the 3rdinternational conference on Mobile systems, applications, and services, 2005. Cited onpages 26 and 96.

[126] T. Spyropoulos, K. Psounis, and C. S. Raghavendra. Spray and wait: an efficientrouting scheme for intermittently connected mobile networks. In WDTN’05:Proceedings of the 2005 ACM SIGCOMM workshop on Delay-tolerant networking,2005. Cited on page 17.

[127] V. Srinivasan, M. Motani, and W. T. Ooi. Analysis and implications of studentcontact patterns derived from campus schedules. In MobiCom’06: Proceedings ofthe 12th annual international conference on Mobile computing and networking, 2006.Cited on page 27.

[128] J. Su, J. Scott, P. Hui, J. Crowcroft, C. Diot, A. Goel, E. de Lara, M. How Lim, andE. Upton. Haggle: Seamless networking for mobile applications. In UbiComp’07:

Bibliography 123

Proceedings of the 9th international conference on Ubiquitous computing, 2007. Citedon pages 4, 15, 20, and 104.

[129] J. Tang, M. Musolesi, C. Mascolo, and V. Latora. Characterising temporal dis-tance and reachability in mobile and online social networks. SIGCOMM Comput.Commun. Rev., 40:118–124, January 2010. Cited on pages 8, 30, 81, and 109.

[130] C. Tantipathananandht, T. Berger-Wolf, and D. Kempe. A framework for com-munity identification in dynamic social networks. In KDD’07: Proceedings of the13th ACM SIGKDD international conference on Knowledge discovery and data min-ing, 2007. Cited on pages 30 and 85.

[131] P.-U. Tournoux, J. Leguay, F. Benbadis, V. Conan, M. Dias De Amorim, andJ. Whitbeck. The accordion phenomenon: Analysis, characterization, and im-pact on dtn routing. In Proceedings of IEEE Infocom, 2009. Cited on page 21.

[132] C. Tschudin, P. Gunningberg, H. Lundgren, and E. Nordstrom. Lessons fromexperimental manet research. Ad Hoc Netw., 3(2):221–233, 2005. Cited on page14.

[133] Y-C. Tseng, S-Y. Ni, Y-S. Chen, and J-P. Sheu. The broadcast storm problem in amobile ad hoc network. Wireless Networks, 8(2/3):153–167, 2002. Cited on page17.

[134] C. Tuduce and T. Gross. A mobility model based on wlan traces and its valida-tion. In INFOCOM’05: Proceedings of the 24th Annual Joint Conference of the IEEEComputer and Communications Societies, 2005. Cited on pages 26 and 28.

[135] A. Vahdat and D. Becker. Epidemic routing for partially connected ad hoc net-works. Technical Report CS-200006, Duke University, 2000. Cited on page 17.

[136] W. Wang, V. Srinivasan, and M. Motani. Adaptive contact probing mechanismsfor delay tolerant applications. In MobiCom’07: Proceedings of the 13th annualACM international co nference on Mobile computing and networking, 2007. Cited onpages 24 and 96.

[137] D. J. Watts and S. H. Strogatz. Collective dynamics of ’small-world’ networks.Nature, 393:440–442, June 1998. Cited on pages 30 and 70.

[138] J. Whitbeck and V. Conan. Hymad: Hybrid dtn-manet routing for dense andhighly dynamic wireless networks. Comput. Commun., 33(13):1483–1492, 2010.Cited on page 99.

[139] E. Yoneki, P. Hui, S. Chan, and J. Crowcroft. A socio-aware overlay for pub-lish/subscribe communication in delay tolerant networks. In MSWiM’07: Pro-

124 Bibliography

ceedings of the 10th ACM Symposium on Modeling, analysis, and simulation of wire-less and mobile systems, 2007. Cited on pages 12 and 30.

[140] J. Yoon, B.D. Noble, M. Liu, and M. Kim. Building realistic mobility models fromcoarse-grained traces. In MobiSys’06: Proceedings of the 4th international conferenceon Mobile systems, applications and services, 2006. Cited on page 28.

[141] S. Yousefi, M. S. Mousavi, and M. Fathy. Vehicular ad hoc networks (vanets):Challenges and perspectives. In ITS Telecommunications Proceedings, 2006 6thInternational Conference on, 2006. Cited on page 14.

[142] G. Zaruba and I. Chlamtac. Accelerating bluetooth inquiry for personal areanetworks. In PDPTA’02: Proceedings of the International Conference on Parallel andDistributed Processing Techniques and Applications, 2002. Cited on page 24.

[143] X. Zhang, J. Kurose, B. Levine, D. Towsley, and H. Zhang. Study of a Bus-BasedDisruption Tolerant Network: Mobility Modeling and Impact on Routing. InMobicom’07: Proceedings of ACM International Conference on Mobile Computing andNetworking, 2007. Cited on pages 14 and 15.

[144] Z. Zhang. Routing in intermittently connected mobile ad hoc networks anddelay tolerant networks: overview and challenges. IEEE Communications SurveysTutorials, 8(1):24–37, 2006. Cited on pages 4 and 104.

[145] W. Zhao, M. Ammar, and E. Zegura. A message ferrying approach for datadelivery in sparse mobile ad hoc networks. In MobiHoc’04: Proceedings of the 5thACM international symposium on Mobile ad hoc networking and computing, 2004.Cited on page 16.

[146] W. Zhao, M. Ammar, and E. Zegura. Multicasting in delay tolerant networks:semantic models and routing algorithms. In WDTN’05: Proceedings of the 2005ACM SIGCOMM workshop on Delay-tolerant networking, 2005. Cited on page 19.

Index

Application programming interface (API),4, 19

Bluetooth, 32

Class-of-Device (CoD), 33Community, 81Connected component, 80Contact, 43, 68

duration, 44, 69graph, 69rate, 77

Delay and Disruption Tolerant Network(DTN), 14

Device discovery, 33performance, 36

Epidemic voting, 61

Forwarding, 4, 16

Giant Connected Component (GCC), 80

Haggle, 15reference implementation, 56

HTC s620, 35

iMote, 21traces, 27

Inquiry scan, 33Inter-contact time, 29, 44, 69

Jaccard Index, 81

L2CAP, 32

MobiClique, 8, 49experiment, 65

Mobile Ad Hoc Network (MANET), 13Modularity, 81

Opportunistic mobile social network, 3Opportunistic Network, 2, 15

Pocket switched network (PSN), 2, 15

Radio hierarchy, 26RFCOMM, 34

Service Discovery Protocol (SDP), 34Social graph, 68

Temporal community, 79Temporal contact graph, 79Total contact rate, 78

List of Figures

3.1 Bluetooth battery life benchmark. . . . . . . . . . . . . . . . . . . . . . . . 373.2 Bluetooth device inquiry duration and delay. . . . . . . . . . . . . . . . . 393.3 Bluetooth device inquiry with a cache. . . . . . . . . . . . . . . . . . . . . 403.4 Bluetooth device inquiry under varying node density. . . . . . . . . . . . 403.5 Bluetooth data transmission success and delay. . . . . . . . . . . . . . . . 413.6 Distribution of discovered devices per scan in the real-life experiments

(excluding night hours 12am - 8am). . . . . . . . . . . . . . . . . . . . . . 443.7 Contact time distributions (complementary CDF) with varying cache size. 463.8 Inter-contact time distributions (complementary CDF) for varying cache

size. The estimated power-law exponent for each experiment is men-tioned in the legend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.9 Bluetooth data transmission performance. . . . . . . . . . . . . . . . . . . 473.10 Mean cumulative contact time (top) and potential capacity (bottom). . . 49

4.1 MobiClique system overview. . . . . . . . . . . . . . . . . . . . . . . . . . 544.2 Haggle node architecture [98]. . . . . . . . . . . . . . . . . . . . . . . . . . 574.3 MobiClique API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.4 Main screen of the MobiClique user interface. . . . . . . . . . . . . . . . . 614.5 Screen captures of the social networking functions. . . . . . . . . . . . . . 624.6 Screen captures of the messaging application. . . . . . . . . . . . . . . . . 624.7 Screen captures of the voting application. . . . . . . . . . . . . . . . . . . 63

5.1 User participation in the MobiClique experiment. . . . . . . . . . . . . . 685.2 The social graph. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705.3 Pair-wise contact and inter-contact times. . . . . . . . . . . . . . . . . . . 71

128 List of Figures

5.4 Application usage in the MobiClique experiment. . . . . . . . . . . . . . 725.5 Bluetooth performance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735.6 Real vs. simulated dissemination performance. . . . . . . . . . . . . . . . 74

6.1 Social contacts duration and inter-contact time distributions. . . . . . . . 796.2 Pair-wise and total contact rate distributions. . . . . . . . . . . . . . . . . 806.3 Connectivity of the temporal contact graph. . . . . . . . . . . . . . . . . . 826.4 Structure of the largest connected component (GCC). . . . . . . . . . . . 826.5 Snapshot communities in the temporal contact graph. . . . . . . . . . . . 846.6 Distribution of contact durations for temporal communities. . . . . . . . 866.7 Validation of temporal communities (β = 100%). . . . . . . . . . . . . . . 876.8 Dissemination performance. . . . . . . . . . . . . . . . . . . . . . . . . . . 886.9 Speed of content dissemination. . . . . . . . . . . . . . . . . . . . . . . . . 896.10 Role of central nodes in content dissemination. . . . . . . . . . . . . . . . 906.11 Role of temporal communities in content dissemination. . . . . . . . . . 91

List of Tables

3.1 The user trials setup and collected logs. . . . . . . . . . . . . . . . . . . . 433.2 Number devices discovered per scan and total number of contacts in

each experiment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.1 MobiClique application usage statistics. . . . . . . . . . . . . . . . . . . . 72

6.1 Contact graph node pair statistics. . . . . . . . . . . . . . . . . . . . . . . 78

Resume

Les reseaux mobiles opportunistes ad-hoc se forment lorsque des terminaux mobilesportes par des utilisateurs communiquent entre eux sans aucune infrastructure en”store-carry-forward” . Ils different ainsi largement des reseaux classiques comme In-ternet dont l’architecture suppose la disponibilite instantanee de chemins reliant leshotes et dont les delais de propagation, comme le taux de perte des paquets, sontfaibles. A l’inverse, dans les reseaux opportunistes, la mobilite des individus induitde nombreuses deconnexions et de grandes variations des delais. Le defi de la lim-itation des ressources vient quant a lui de la faible taille des terminaux mobiles parrapport a celle des systemes informatiques statiques. En outre, l’implementation et ledeploiement des reseaux opportunistes reels est a la fois difficile et couteux en tempset moyens. C’est pourquoi les chercheurs se sont jusqu’ici appuyes principalement surdes simulations, des modeles analytiques d’evaluation a grande echelle ou encore surles resultats fournis par des prototypes simples afin de demontrer la faisabilite de cessystemes.

Dans cette these nous adoptons une demarche experimentale pour concevoir etanalyser les reseaux opportunistes. Nous nous interessons en particulier a l’impactdes interactions sociales sur les reseaux opportunistes. L’experimentation grandeurnature est d’autant plus importante que ce type de reseaux est encore peu etudie etque les conditions operationnelles complexes sont difficiles a modeliser ou a simuler.

Sous cet aspect, les contributions que nous livrons ici peuvent etre tenues pour pi-onnieres. D’abord l’etude detaillee des communications opportunistes via Bluetoothentre smartphones, dans des environnements controles et reels, montre qu’en depitdes limitations pratiques de cette technologie, la communication opportuniste ad-hoc constitue un paradigme de communication efficace et attractif. Nous avons en-suite concu et implemente MobiClique, un middleware de communication destineaux reseaux opportunistes qui s’appuie sur la mobilite et les relations sociales desutilisateurs pour le routage opportuniste des messages. Enfin, la realisation d’uneexperience grandeur nature mobilisant 80 personnes nous a permis de collecter lesinformations concernant leurs reseaux sociaux d’une part, leurs contacts ad-hoc et lestraces de leurs communications d’autre part. Ainsi, en utilisant les donnees collectees,nous proposons une methodologie d’analyse des structures des communautes tem-porelles dans le reseau opportuniste. Nous etudions egalement de quelle facon cesstructures et les interactions sociales caracterisent les chemins de dissemination ducontenu.