from opportunistic networks to opportunistic computingfrank/ine6514/artigos2012/from... · networks...

14
IEEE Communications Magazine • September 2010 126 0163-6804/10/$25.00 © 2010 IEEE This work was partially funded by the European Commission under the FP6 HAGGLE (027918) and FP7 SCAMPI (258414) Projects. INTRODUCTION The future Internet will be characterized by a pervasive diffusion of devices with heteroge- neous capabilities and resources. We envisage a physical world saturated by fixed and portable devices with computing and communication capabilities. Users will carry personal mobile devices (smartphones, PDAs, cameras) bundling several wireless interfaces, supporting computa- tionally intensive tasks, and powerful tools to produce multimedia content. Other types of devices with networking capabilities will be also available in the environment (sensors, fixed cam- eras, etc.) featuring more specialized resources. Resource-rich users’ personal devices, as well as devices spread in the environment, will be the physical components of a pervasive networking environment saturated with distributed resources, which could, in principle, be pooled together and used collectively to provide end users functionalities much richer than what is avail- able on their individual mobile devices only. This calls for new networking solutions that orches- trate, compose, and manage heterogeneous resources possibly spread over a large number of diverse (mobile) devices, enabling their use as a joint pool. Such enhanced functionality will be exploited to realize, for example, content-centric services (e.g., sharing of user generated content), multimedia services (e.g., composition of audio/video clips with pictures and text gathered on different user devices), personal and environ- mental services (e.g., healthcare and environ- mental monitoring), and social-oriented services (e.g., participatory sensing or mobile social net- working). This is what we define as a mobile pervasive future Internet. Opportunistic (self-organizing) networking [1] is the first step in realizing this view. Relying exclusively on wireless infrastructures (e.g., cellu- lar, WLAN, or WiMAX networks) to realize the mobile pervasive future Internet vision does not seem appropriate, as it is very unlikely that wire- less infrastructures alone will be able to provide enough bandwidth and coverage to the huge number of devices spread in the environment. In opportunistic networks, such as in a mobile ad hoc network (MANET), the devices spread across the environment form the network. Events such as long disconnections and network parti- tions are the rule, and no simultaneous multiop paths can be guaranteed. In this type of net- works, the mobility of devices is an opportunity for communication rather than a challenge. Mobile nodes communicate with each other even if an end-to-end route connecting them never exists. Nodes have scarce or no knowledge about the network topology; routes are built dynamical- ly, while messages are en route between the sender and the destination(s), and any possible node can opportunistically be used as the next hop, if it is likely to bring the message closer to the final destination(s). Human social structures are at the core of opportunistic networking solu- tions. Humans carry mobile devices, and human mobility generates communication opportunities when two (or more) devices come into contact. ABSTRACT Personal computing devices, such as smart- phones and PDAs, are commonplace, bundle several wireless network interfaces, can support compute intensive tasks, and are equipped with powerful means to produce multimedia content. Thus, they provide the resources for what we envision as a human pervasive network: a net- work formed by user devices, suitable to convey to users rich multimedia content and services according to their interests and needs. Similar to opportunistic networks, where the communica- tion is built on connectivity opportunities, we envisage a network above these resources that joins together features of traditional pervasive networks and opportunistic networks fostering a new computing paradigm: opportunistic comput- ing. In this article we discuss the evolution from opportunistic networking to opportunistic com- puting; we survey key recent achievements in opportunistic networking, and describe the main concepts and challenges of opportunistic com- puting. We finally envision further possible sce- narios and functionalities to make opportunistic computing a key player in the next-generation Internet. AD HOC AND SENSOR NETWORKS Marco Conti, IIT-CNR Silvia Giordano, SUPSI Martin May, Technicolor Research Andrea Passarella, IIT-CNR From Opportunistic Networks to Opportunistic Computing

Upload: others

Post on 31-Jul-2020

18 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: From Opportunistic Networks to Opportunistic Computingfrank/INE6514/Artigos2012/From... · networks and opportunistic networks fostering a new computing paradigm: opportunistic comput-ing

IEEE Communications Magazine • September 2010126 0163-6804/10/$25.00 © 2010 IEEE

This work was partiallyfunded by the EuropeanCommission under theFP6 HAGGLE (027918)and FP7 SCAMPI(258414) Projects.

INTRODUCTION

The future Internet will be characterized by apervasive diffusion of devices with heteroge-neous capabilities and resources. We envisage aphysical world saturated by fixed and portabledevices with computing and communicationcapabilities. Users will carry personal mobiledevices (smartphones, PDAs, cameras) bundlingseveral wireless interfaces, supporting computa-tionally intensive tasks, and powerful tools toproduce multimedia content. Other types ofdevices with networking capabilities will be alsoavailable in the environment (sensors, fixed cam-eras, etc.) featuring more specialized resources.Resource-rich users’ personal devices, as well asdevices spread in the environment, will be thephysical components of a pervasive networkingenvironment saturated with distributedresources, which could, in principle, be pooled

together and used collectively to provide end usersfunctionalities much richer than what is avail-able on their individual mobile devices only. Thiscalls for new networking solutions that orches-trate, compose, and manage heterogeneousresources possibly spread over a large number ofdiverse (mobile) devices, enabling their use as ajoint pool. Such enhanced functionality will beexploited to realize, for example, content-centricservices (e.g., sharing of user generated content),multimedia services (e.g., composition ofaudio/video clips with pictures and text gatheredon different user devices), personal and environ-mental services (e.g., healthcare and environ-mental monitoring), and social-oriented services(e.g., participatory sensing or mobile social net-working). This is what we define as a mobilepervasive future Internet.

Opportunistic (self-organizing) networking [1]is the first step in realizing this view. Relyingexclusively on wireless infrastructures (e.g., cellu-lar, WLAN, or WiMAX networks) to realize themobile pervasive future Internet vision does notseem appropriate, as it is very unlikely that wire-less infrastructures alone will be able to provideenough bandwidth and coverage to the hugenumber of devices spread in the environment. Inopportunistic networks, such as in a mobile adhoc network (MANET), the devices spreadacross the environment form the network. Eventssuch as long disconnections and network parti-tions are the rule, and no simultaneous multioppaths can be guaranteed. In this type of net-works, the mobility of devices is an opportunityfor communication rather than a challenge.Mobile nodes communicate with each other evenif an end-to-end route connecting them neverexists. Nodes have scarce or no knowledge aboutthe network topology; routes are built dynamical-ly, while messages are en route between thesender and the destination(s), and any possiblenode can opportunistically be used as the nexthop, if it is likely to bring the message closer tothe final destination(s). Human social structuresare at the core of opportunistic networking solu-tions. Humans carry mobile devices, and humanmobility generates communication opportunitieswhen two (or more) devices come into contact.

ABSTRACT

Personal computing devices, such as smart-phones and PDAs, are commonplace, bundleseveral wireless network interfaces, can supportcompute intensive tasks, and are equipped withpowerful means to produce multimedia content.Thus, they provide the resources for what weenvision as a human pervasive network: a net-work formed by user devices, suitable to conveyto users rich multimedia content and servicesaccording to their interests and needs. Similar toopportunistic networks, where the communica-tion is built on connectivity opportunities, weenvisage a network above these resources thatjoins together features of traditional pervasivenetworks and opportunistic networks fostering anew computing paradigm: opportunistic comput-ing. In this article we discuss the evolution fromopportunistic networking to opportunistic com-puting; we survey key recent achievements inopportunistic networking, and describe the mainconcepts and challenges of opportunistic com-puting. We finally envision further possible sce-narios and functionalities to make opportunisticcomputing a key player in the next-generationInternet.

AD HOC AND SENSOR NETWORKS

Marco Conti, IIT-CNR

Silvia Giordano, SUPSI

Martin May, Technicolor Research

Andrea Passarella, IIT-CNR

From Opportunistic Networks toOpportunistic Computing

CONTI LAYOUT 8/23/10 3:52 PM Page 126

Page 2: From Opportunistic Networks to Opportunistic Computingfrank/INE6514/Artigos2012/From... · networks and opportunistic networks fostering a new computing paradigm: opportunistic comput-ing

IEEE Communications Magazine • September 2010 127

By embedding social relationships between per-sons in the electronic world made up of theirdevices, data can circulate in the future Internetfollowing the trust relationships inherited fromhuman social structures.

Exploiting devices’ contact opportunities forcommunication is only a first step. When twodevices come into contact, albeit opportunistical-ly, it is also a great opportunity to share andexploit each other’s (software and hardware)resources, exchange information, cyber forage,and execute tasks remotely [2]. This opens a newcomputing era: the opportunistic computing (OC)era. In OC each user can avail not only of theresources available on its own device, but canalso opportunistically leverage on otherresources of the environment, including those onother users’ devices, in a trustable and secureway. Users can compose the functionality of thedifferent resources available in the network,enjoying much richer functionality than thatavailable on their own devices. Opportunisticcomputing thus generalizes the concept ofopportunistic networking by considering theopportunistic use of any resource available in thenetwork.

The human factor is a key dimension of OC,too. By embedding human social structuresinside the electronic world of the users’ deviceswe can try to regulate the behavior of users’devices as the users behavior is socially regulatedin the real world. An important contribution tocharacterizing the social context comes frommultimodal sensing devices, which enable cap-turing rich sensing information that can be usedto infer user activities [3].

Several application areas would benefit fromthe opportunistic computing paradigm: pervasivehealthcare, intelligent transportation systems,and crisis management are just a few notablecases [2]. For example, in a pervasive healthcarescenario, novel techniques are required for con-tinuous remote (i.e., out of the hospital) andmultiparametric monitoring of patients. This canhelp to significantly reduce the hospitalization ofpatients with chronic diseases. In this case, typi-cally, a patient is equipped with his/her conven-tional personal device (e.g., the mobile phone

he/she already owns), where vital signals sensedby the personal body area network are collectedand sent to the remote medical center. As illus-trated in Fig. 1, this data can also be enriched byopportunistically exploiting other resourcesavailable in the environment, like environmentalsensors, or on the devices of other mobile users(e.g., other patients or care-givers equipped withmobile devices). By exploiting the functionalityof the other devices available in the environ-ment, each personal mobile device can thus beable to collect multiparametric data includingnot only patient biochemical and functionalparameters, but also the history of contacts withother people, stimuli from the environment, rel-evant environmental measures, and so on.

As shown in Fig. 1, in the left frame, withoutOC, a user who wants to benefit from otherresources has to rely on centralized solutions.For example, the healthcare monitoring systemmight need to elaborate data from environmen-tal sensors around the monitored user. This willprovide information about the conditions of theenvironment that might contribute to explainhealthcare data monitored by her/his body sen-sors. In addition, data coming from other usersaround her/him might provide a better view ofthe social environment in which samples havebeen taken by her/his body sensors. Getting aclear picture about the user’s health conditionbased on this possibly large set of data requiresdata to be:• Sampled by triggering the different devices

in the environment• Transported to the central point responsible

for analysis (steps 1 and 2)• Centrally elaborated (step 3)Finally, results of the elaboration might need tobe sent back to the user, possibly to trigger someaction on her/his side (step 4).

Opportunistic computing solutions will radi-cally simplify all of these operations, as shown inthe right frame. The monitored user’s devices,using distributed OC features, will automaticallyexploit resources of the other devices in theenvironment and of other users around to takesamples and elaborate them locally, withoutrequiring the intervention of any other central

Figure 1. Opportunistic computing in a healthcare scenario.

3

32

1

4

1

2

Several application

areas would

benefit from the

opportunistic

communication

and computing

paradigm: pervasive

healthcare, intelligent

transportation

systems, and crisis

management are just

a few notable cases.

CONTI LAYOUT 8/23/10 3:52 PM Page 127

Page 3: From Opportunistic Networks to Opportunistic Computingfrank/INE6514/Artigos2012/From... · networks and opportunistic networks fostering a new computing paradigm: opportunistic comput-ing

IEEE Communications Magazine • September 2010128

controller. Both data sampling and elaborationwill be mapped to service components availableon the devices, which will be composed and exe-cuted in a distributed fashion. This will bringseveral advantages. On one hand, OC will pro-vide a more effective solution, as the distributedOC solutions will be able to identify more easilythan a central controller the exact set of serviceson devices around the monitored user requiredto complement information coming from theuser’s own monitoring sensors. On the otherhand, this will result in a much more efficientsolution, as the overhead in terms of networktraffic will be drastically reduced.

In this article we discuss the evolution fromopportunistic networking to opportunistic com-puting. In the next section we provide a surveyon opportunistic networking research and resultsby focusing on the EU Haggle project. We thenhighlight the lesson learned from several yearsof research in opportunistic networking and howthis naturally drives OC. We then introduce theOC concepts, and discuss the key challenges andresearch directions. The final section concludesthe article by proposing possible future trends inthis research area.

OPPORTUNISTIC NETWORKINGOpportunistic networking has received muchattention in recent years as a disruptive networktechnology [1]. Many concepts behind OC comenaturally from those studies on opportunisticnetworking, even if OC moves forward from sim-ple communication issues by considering oppor-tunistic exploitation of (pools of) resources.

Several projects worked on studying challeng-ing opportunistic network issues (e.g., mobilitymodels, forwarding, data dissemination), withparticular attention to realistic case studies andreal experiments.

In the framework of the design of the futureInternet, some projects work on opportunisticnetworking related problems: the delay-tolerantnetwork (DTN)-based activities; such as theEuropean FET-SAC projects — ANA, Bionets,Haggle — the FET-PERADA SOCIALNETSproject and the FIRE-N4C project; or, in theUnited States, some NSF NeTS FIND projects.The majority of those projects mainly aim tosolve one specific issue, for example, routing ornetworking function composition. An exception,from this standpoint, is the groundbreaking Hag-gle project (http://www.haggleproject.org), fund-ed by the European Commission under the FETSAC initiative. Haggle designed and developedsolutions for communication inautonomic/opportunistic networks by studyingthe properties of the main networking functions,including message forwarding, security, data dis-semination, and mobility models. Among pro-jects in opportunistic networking, Haggle is thefirst effort toward a complete investigation thatcovers all the main aspects of opportunistic net-working, and for this reason it has a fundamen-tal seminal role in OC. In the following we willthus describe the key results achieved by Haggle,in view of their enabling role in the realizationof the OC vision. Specifically, we focus on twomain areas:

• The study, analysis, and modeling of oppor-tunistic network characteristics

• The design and implementation of innova-tive architectures and protocols for oppor-tunistic networks

CHARACTERIZATION OFOPPORTUNISTIC NETWORKING

Opportunistic networks are based on the store-carry-and-forward paradigm [1]. Specifically,node mobility is exploited as an opportunity todeliver data among disconnected parts of a net-work. When a node has data to transfer towardanother node (or set of nodes), and no networkpath exists, connecting the sender and the receiv-er(s), any possible encountered device (e.g., cellphones and PDAs users carry in their pockets)represents an opportunity to forward the mes-sages toward the receiver. Nodes store messagesthey have to forward and carry them untilencountering another node deemed more suit-able to bring the message (closer) to the eventu-al destination(s). Therefore, it is clear that inopportunistic networks, node mobility plays acrucial role as it permits to bridge disconnectedclouds of nodes, and ultimately enable end-to-end communications despite connectivity impair-ments. A key contribution of the Haggle projecthas been the study, analysis, and modeling of thecontact patterns among devices. Pair-wise con-tacts between users/devices can be characterizedby means of two main parameters: contact dura-tions and inter-contact times. The duration of acontact is the time during which a tagged coupleof mobile nodes are within reach of each other,and thus have the possibility to communicate.An inter-contact time is instead the time betweentwo contact opportunities of the same couple oftagged devices. While the contact durationdirectly influences the capacity of opportunisticnetworks because it limits the amount of datathat can be transferred between nodes, the inter-contact time affects the feasibility of opportunis-tic networks and the delay associated with them,as they impact on the frequency of opportunitiesfor moving messages from one node to another.

To characterize contact durations and inter-contact times occurring in real-world environ-ments, the Haggle project launched an intensiveset of measurement studies to collect traces ofhuman contact patterns that represent contactopportunities among their devices. Several traceshave been collected using Bluetooth enableddevices carried by volunteers, such as studentsand researchers in their university and laborato-ries, participants at some international confer-ences, or people randomly selected in a publicplace in a major city. Background software col-lected contacts between users by automaticallyestablishing a Bluetooth connection when twousers met.

Haggle traces were then analyzed to answertwo fundamental questions:1. To provide a characterization of the tempo-

ral properties of devices (human) mobilitywith special attention to the contact time(i.e., the distribution of the contact dura-tion between two nodes), and the inter-con-tact time (ICT) i.e., the distribution of the

Many concepts

behind opportunistic

computing come

naturally from those

studies on

opportunistic

networking, even if

opportunistic

computing moves

forward from simple

communication

issues by considering

opportunistic

exploitation of

(pools of) resources.

CONTI LAYOUT 8/23/10 3:52 PM Page 128

Page 4: From Opportunistic Networks to Opportunistic Computingfrank/INE6514/Artigos2012/From... · networks and opportunistic networks fostering a new computing paradigm: opportunistic comput-ing

IEEE Communications Magazine • September 2010 129

time between two consecutive contactsbetween nodes

2. To investigate the impact of the above tem-poral properties on the behavior of rout-ing/forwarding protocols in opportunisticnetworksAs far as point 1, the Haggle investigations

showed that both distributions can be wellapproximated by heavy-tailed distribution func-tions approximately following power laws over asignificant timeframe [4]. Furthermore, theresults derived in the Haggle project indicatethat, assuming Pareto distributions for contactand inter-contact times, the performance of sim-ple routing protocols (e.g., flooding) are general-ly very poor. Such forwarding protocols do notuse any information about previous contacts,nodes’ identities, or the context in which usersare operating. Instead, they follow staticallycomputed rules that limit the number of replicasof each message or the number of hops mes-sages are allowed to travel through. It has beenanalytically proven that the expected delay ofthis class of forwarding algorithms is infiniteunder the heavy-tailed inter-contact times distri-bution found in the traces. This is a very impor-tant result which motivated, inside the Haggleproject (and in the research community), exten-sive research activity on novel and effective rout-ing protocols for opportunistic networks tryingto exploit knowledge about users’ behavior witha special attention to human social structures.Furthermore, these results also generated amajor debate in the scientific community, wheremany experiments have been conducted trying toconfirm or contradict the power law assumption.In particular, special emphasis has been devotedto the distribution of the inter-contact timesbetween devices as fundamental for the behaviorof an opportunistic network: the more frequentlynodes get in touch, the more opportunities forexchanging messages. Now, there is a generalagreement on the fact that the distribution ofthe aggregated inter-contact times follows atruncated power law (i.e., a power law) with afinal exponential cutoff. The analysis of humanmobility patterns has then progressed to alsoanalyze other important features. Indeed, humansocial structures have a key impact on humanmobility by affecting the mobility spatial proper-ties, (i.e., where people move), which can becharacterized by the distribution of the size ofhuman jumps (or flights), defined as the pathbetween two consecutive waypoints (i.e., loca-tions where a node stops for a while betweentwo consecutive movements). Also in this case,many experiments have been conducted; again,results indicated that a truncated power law canreasonably approximate the jump size distribu-tion.

The understanding of the basic characteristicsof human mobility is fundamental not only fordesigning efficient protocols for opportunisticnetworks but also to develop accurate modelsrepresenting how humans behave, to be used forevaluating networking protocols (either throughanalysis or simulations) under realistic mobilityconditions. Developing accurate models able toprovide a realistic approximation of humanmovements is the other research step in the

characterization of opportunistic networks.Recently, there have been many studies aimed atproviding realistic mobility models, which can beclassified into two main categories. In social-based models node movements are decidedbased on social relationships between users. Onthe opposite end, location-based solutions useonly the notion of preferred locations to set upthe commuting schedule of nodes, while thesocial dimension is neglected in the location-based models. In the framework of the Haggleproject the HCMM model has been developed[5], which joins social and location attractions,and (at the same time) incorporates the threedriving forces of human movements that havebeen identified:• User movements are conditioned by their

social relationships.• Users tend to visit just a few locations,

where they spend the majority of their time.• Users prefer shorter paths to longer ones

[6]; that is, users usually travel over shortdistances and sometimes move farther away.HCMM was designed as an evolution of an

existing social-based mobility model, calledCMM [7], from which it inherits the social graphstructure. Differently from CMM, HCMM inte-grates the social nature of mobility with its spa-tial dimension. HCMM merges the social andspatial preferences that have been found to char-acterize real user movements by letting nodesmove only to those locations that have a socialvalue for them. These locations are those inwhich people with whom users share social rela-tionships are more likely to be found. From anoperational standpoint, HCMM initially dividesnodes into communities, and places each com-munity into one cell of the grid scenario consid-ered. All nodes assigned to the same socialcommunity share social relationships betweeneach other. These nodes can share social rela-tions with nodes assigned to a different commu-nity as well, based on the so-called rewiringprobability. These social relationships determinenode movements. In fact, nodes move from onecommunity to another according to the followingrule: the more popular a location is among“friend” nodes, the more likely a node will movetoward that location. Additionally, according towhat has emerged from the analysis of real usertraces, when making movement decisions inHCMM, popularity is balanced by the proximityof the location; thus, closer communities aremore likely to be visited than farther ones. Per-formance results have shown that HCMM is ableto capture the statistical properties of humanmobility patterns, and therefore it has beenextensively used to analyze the performance ofthe Haggle solutions.

INNOVATIVE ARCHITECTURE ANDPROTOCOLS FOR OPPORTUNISTIC NETWORKS

The Haggle approach is more oriented to thehuman way of communicating (and, more gener-ally, the way communities of any type of entitiescommunicate), rather than related to the tech-nological aspect of the communication. Thismanifests itself in both the definition of innova-tive architectures and the design of novel net-

HCMM was

designed as an

evolution of an

existing social-based

mobility model,

called CMM, from

which it inherits the

social graph

structure but,

differently from

CMM, HCMM

integrates the social

nature of mobility

with its spatial

dimension.

CONTI LAYOUT 8/23/10 3:52 PM Page 129

Page 5: From Opportunistic Networks to Opportunistic Computingfrank/INE6514/Artigos2012/From... · networks and opportunistic networks fostering a new computing paradigm: opportunistic comput-ing

IEEE Communications Magazine • September 2010130

working approaches amenable to opportunisticnetworking environments.

Architecture — The Haggle architecture islayer-less: it integrates a general applicationcommunication framework with the networkprotocol. The result is an application-drivenmessage forwarding that allows human factors tobe exploited through context-based forwarding.The conceptual design of the Haggle node archi-tecture, illustrated in Fig. 2, is based around thenotion of a Haggle Information Space (HIS),which contains the data at each user device.Applications can inject new data into the HIS,register interest in incoming data by specifyingmatching criteria for particular attribute-valuepairs, and search the HIS for existing data.Among other data, the HIS collects contextinformation that is used for forwarding.

The forwarding module (forward and dissem-inate) is designed to cope with a self-organizing,dynamic, volatile, peer-to-peer communicationenvironment: a forwarding decision is performedindependently for each data item, exploitingconnectivity opportunities and using the contextinformation coming with the data itself (and, inparticular, the application concerned), as well ascontext information contained in the HIS. Thisvery flexible design allowed the definition of verypowerful context-aware forwarding algorithms,as explained below. The forwarding module per-forms neighbor discovery using the available net-work interfaces, and, when necessary, connectsto neighbors that are identified as potential nexthops.

The Haggle control module decides whetherto accept an incoming data into the HIS, pro-vides an application programming interface forapplications, and controls the forwarding mod-ule. It is the brain of the Haggle node (by analo-gy, the HIS is the memory). The control moduleinteracts with all the other modules to decide

what should be forwarded and what should bekept in the HIS or discarded. The classifier hasthe role of classifying the incoming data fromthe connections below, and distributing them forsecurity check and for the actions of the controlmodule.

Starting from the conceptual architecture inFig. 2, Haggle has implemented the node archi-tecture shown in Fig. 3. By instantiating thisarchitecture at each node, Haggle nodes are ableto implement the networking protocols describedin the next section. Several managers composethe node architecture, each for a specific func-tion (e.g., forwarding, security, connection). Man-agers can make use of modules to implementspecific operations related to a given protocol(e.g., the forwarding protocols discussed in thenext subsection are modules of the Forwardingmanager). The managers interact accordingto anevent-based model. Managers generate and sub-scribe to events, according to a pub/sub paradigm.A central entity (named DataStore) is responsi-ble for managing subscriptions and events, bycollecting and dispatching them to subscribedmanagers. The DataObject is the main elementof the Haggle architecture. It is a data structurethat contains any type of data: from messages tobe sent on the network to internal dataexchanged by managers. DataObjects can beassociated to events, so that managers canexchange structured data items between them.The DataStore implements a generic pub/subinterface that is oblivious to the event genera-tor(s), making it possible to easily add/removemanagers to/from the architecture [8].

Innovative Protocols — In this section webriefly describe the key contributions of Haggleas far as protocol design is concerned. We sepa-rately present results in four key areas (i.e., for-warding, data dissemination, security, andapplications).

Figure 2. Haggle conceptual architecture.

802.11 Bluetooth ZigBee UMTS

Con

nect

ivit

ym

anag

emen

t

HIS

Forward and disseminate

Classifier

Resources controller

Privacy and security

Applications

Soci

al a

war

enes

s

Net

wor

kin

fras

truc

ture Haggle

control

Haggle architecture

is layer-less:

it integrates a

general application

communication

framework with the

network protocol.

The result is an

application driven

message forwarding

that allows exploiting

human factors

(context-based

forwarding).

CONTI LAYOUT 8/23/10 3:52 PM Page 130

Page 6: From Opportunistic Networks to Opportunistic Computingfrank/INE6514/Artigos2012/From... · networks and opportunistic networks fostering a new computing paradigm: opportunistic comput-ing

IEEE Communications Magazine • September 2010 131

Forwarding Algorithms — Routing in oppor-tunistic networks is surely one of the most com-pelling challenges, due to the scarce knowledgeof the topological evolution of the network. In asocially-aware environment like opportunisticnetworking, this can be complemented by thecontext in which the users communicate. Contextinformation, such as users’ work addresses andinstitutions, the probability of meeting withother users, or visiting particular places, can beexploited to identify suitable forwarders basedon context information about the destination. In[9] the authors identify three classes for themain routing approaches, based on the amountof knowledge about the context of users theyexploit:• Context-oblivious• Partially context-aware• Fully context-aware

Context-oblivious protocols do not exploitany contextual information about the status orbehavior of the devices, users, and environment.Partially context-aware protocols do exploit con-text information, but assume a specific model forthis context. When the environment matchesthese assumptions, they perform very well. But ifthe environment happens to be different fromwhat they assume, their operation might not becorrect. Finally, fully context-aware protocolslearn and exploit the context around them. Theymay not be as efficient as partially context-awareprotocols in the conditions for which the latterhave been designed, but thanks to learning fea-tures, they are much more adaptive. Figure 4qualitatively shows the advantage of contextawareness: partially context-aware protocols,such as Prophet [10], which use the history ofencounters to calculate the probability that anode can deliver a message to a particular desti-nation, reduce by about one order of magnitudethe network overhead compared to context-oblivious protocols such as Epidemic [11], whilethe delay is less than three times higher [12].Similarly, a fully context-aware protocol thatexploits social contextual information, furtherreduces — by about another order of magnitude— the overhead, achieving delay smaller thantwice that of Epidemic.

Haggle partially (Bubble Rap [6]) and fully(HiBOp [13] and Propicman [14]) context-awareprotocols have been seminal protocols for oppor-tunistic network forwarding:• They exploit context information to make

the forwarding function more efficient: theylook for nodes that show increasing matchwith known context attributes of the desti-nation. High match means high similaritybetween the node’s and destination’s con-texts and therefore high probability for thenode to bring the message in the destina-tion’s community (possibly to the destina-tion).

• They also consider that people are not like-ly to move around randomly. Rather, theymove in a predictable fashion based onrepeating behavioral patterns at differenttimescales (day, week, and month). If anode has visited a place several timesbefore, it is likely to visit this location againin the future.

Bubble Rap assumes that relationships amongusers follow a precise model of social structure(clustered in cliques) and that nodes’ social con-nectivity degrees (within each clique) are highlynon-homogenous. In other words, the number ofsocial links each node has toward other nodes inits clique is highly variable, and is distributedaccording to power laws (which have beenobserved in real social networks). Nodes in dis-joint cliques can communicate thanks to sharedmembers of their cliques (i.e., users being partof different social groups). The main idea behindBubble Rap is automatically inferring the param-eters of the underlying social structure andexploiting the structure properties to selectpaths. Messages are pushed up in the startingcommunity toward higher-rank nodes (i.e., moresociable users) until a contact with the destina-tion’s community is found. Pushing messages upstores messages in the most popular nodes thathave more chances to get in touch with the des-tination’s community.

While Bubble Rap works under the assump-tion of a specific structure of users’ social rela-tionships, HiBOp and Propicman infer, as a sideeffect, social relationships between nodes fromcontext information dynamically gathered ateach node.

Propicman stores at each node a profile ofthe node’s user. Profiles are exploited upon con-tact opportunities to forward messages. Themain idea is to look for increasing matches

Figure 3. Haggle node architecture.

Module

Kernel

Datastore- nodes/names- data- tasks- ...

Resourcemanager

Securitymanager

Attributemanager

Protocolmanager

Connectivitymanager

Forwardingmanager

Datamanager

Application programming interface

Connectivity (WiFi, Bluetooth, UMTS, ...)

Social-awarecontentsharing

Pervasivehealthcare

CONTI LAYOUT 8/23/10 3:52 PM Page 131

Page 7: From Opportunistic Networks to Opportunistic Computingfrank/INE6514/Artigos2012/From... · networks and opportunistic networks fostering a new computing paradigm: opportunistic comput-ing

IEEE Communications Magazine • September 2010132

between the profile of the destination user andthe profile of encountered users. When a usershowing a higher match is encountered, the mes-sage(s) addressed to the destination are handedover to that node. A distinctive feature of thePropicman approach with respect to Bubble Rapand HiBOp is exploiting decision trees to selectnext hops. Propicman is augmented by schemesfor limiting the number of messages injected inthe network (SpatioTempo) and predicting bestforwarding conditions (CIPRO).

HiBOp distinguishes between different con-texts (the context of the node, the context of itsneighborhood, the historical context). To selectnext hops, HiBOp looks (as Propicman does) atcontext information related to the user of theencountered node, but also at historical contextinformation related to that user. In other words,HiBOp is able to understand if a node is a goodforwarding candidate also based on the similaritybetween the destination, and the context (the setof nodes) with which the encountered user istypically in touch. This allows HiBOp not only toforward through users similar to the destination,but also through users often in touch with userssimilar to the destination. Thanks to this feature,HiBOp infers social relationships between usersand users’ communities, and implicitly learns thenetwork social structure defined by the users’habits. Finally, HiBOp includes mechanisms tocontrol the messages’ replication rate by dynami-cally selecting the number of copies in the net-work.

Data Dissemination — Data dissemination is anatural follow-up of research on forwardingalgorithms. One of the most interesting use casesfor opportunistic networks is the sharing of con-tent available on mobile users’ devices. Theoverall networking environment is seen as full ofcontent pieces available on devices, possibly gen-erated by the users themselves (e.g., photos,clips, tweets), which might be of interest to otherusers in the network. As the network is intermit-tently connected, content producers and con-sumers might not be connected at the sametime, and might even be unknown to each other.Therefore, it is not possible, as in a conventionalMANET, to establish a path between producersand consumers first, and then disseminate thecontent. Forwarding and dissemination have tobe carried out at once: each piece of contentmust be opportunistically transferred or replicat-ed on any encountered node, according to poli-

cies identifying whether such transfer or replica-tion increases the probability of moving it towardinterested users. According to this view, Hagglehas investigated data dissemination solutions foropportunistic networks. Specifically, Haggle hasdesigned, implemented and evaluated a utility-based framework for data dissemination calledContentPlace [15].

The ContentPlace design is based on two keyassumptions. First, users in an opportunistic net-work can be logically grouped according to thetype of content they are interested in. Second,users movements are driven by their social rela-tionships; that is users move to a certain placebecause they wish to meet other people withwhom they have social relationships, who arelikely to be at that place at that particular time.Specifically, ContentPlace assumes users can begrouped in social communities, and their move-ments are strongly tied with the social communi-ties to which they belong. Based on theseassumptions, the key idea of ContentPlace isexploiting information about social relationshipsbetween users to drive data dissemination. Eachnode fetches content available on encounterednodes if this content:• Is possibly of interest to other nodes the

node is likely to meet soon, because ofsocial relationships between the respectiveusers

• Is not already widely available in the socialcommunities to which the user belongsFrom a technical standpoint, ContentPlace

implements this high-level idea through a utility-based framework. Whenever two nodes meet,they exchange a summary vector describingpieces of content available locally. Then eachnode computes a utility value for each piece ofcontent either stored locally or available on theencountered peer. Finally, those pieces of con-tent are ranked by decreasing utility, and eachnode stores in its local buffer the topmost usefulpieces until the buffer is full. This clearly mayrequire fetching some pieces of content from theencountered peer, and dropping some otherpieces previously stored locally. The definition ofthe utility function is the key component of theframework. Haggle has defined utilities so as toexpress the importance of content pieces forlocal users and the communities to which theybelong. Furthermore, the utility definition takesinto account the cooperation level between dif-ferent communities, and this allows different dis-semination policies (from completely selfishpolicies to fully social policies) to be realized inthe common framework of ContentPlace.

Several social-aware policies have beendefined and tested in [15]. Results show that inscenarios in which nodes mix a lot, all policiesperform the same (at least in terms of dissemi-nation effectiveness), as the mixing is so highthat, sooner or later, all pieces of contentbecome available wherever. In cases where com-munities are more closed, and just a few nodes(termed travelers) bridge them, social-aware poli-cies significantly outperform non-social-awarepolicies in terms of hit rate, speed of dissemina-tion, and overhead. Among the social-awarepolicies, the one performing best works as fol-lows. Nodes others than travelers behave greedi-

Figure 4. Delay and network overhead of context-oblivious, partially aware, andfully aware.

Delay

Context-aware

Context-oblivious

Network overhead

Partiallycontext-aware

CONTI LAYOUT 8/23/10 3:52 PM Page 132

Page 8: From Opportunistic Networks to Opportunistic Computingfrank/INE6514/Artigos2012/From... · networks and opportunistic networks fostering a new computing paradigm: opportunistic comput-ing

IEEE Communications Magazine • September 2010 133

ly, while travelers set the weights of the commu-nities they will visit according to the probabilityof visiting them when leaving the current com-munity. The greedy behavior of residential usersguarantees that content remains available in thecommunity. The altruistic behavior of travelersguarantees that content can be circulated andbrought to all communities with interested users.

Security — In opportunistic and pervasive net-works, mobile users operate on the move inopen, possibly adversary, public environments(e.g., work, public transports, public places).Since users are at the same time service con-sumers, providers, or relays, it is crucial that theycan be held accountable for their actions andcan obtain reputation information about otherusers in advance in order to assess possiblefuture interactions avoiding misuses and attacks.

Privacy is currently one of the main concernsas in opportunistic network protocols the contextinformation exchanged among nodes might pos-sibly include sensitive information about theusers. Other topics related to the security field inopportunistic networking include cooperationenforcement, encryption, and robustness againstdenial of service (DoS) attacks to routine opera-tions. A few results related to these topics areavailable in the literature (see Haggle deliver-able D4.3 for an overview [8]). For example, inthe framework of the Haggle project, a coopera-tion enforcement scheme tailored to opportunis-tic networks based on reward mechanisms hasbeen proposed. This scheme copes with all thesecurity problems of typical reward-based mech-anisms, including protection against poisoningattacks, cheating actions, and unfairness. Thework in [16] analyzes the effect of a wide rangeof security attacks on routing operations inopportunistic networks built on dropping pack-ets, flooding, falsifying routing tables, and coun-terfeiting message acknowledgments. The mainfinding is that multipath opportunistic routing isvery robust by design (i.e., even without any formof authentication). The main reason is becauseall of these attacks result in nodes’ unavailabilityor path disruptions, which are already consid-ered characteristic features of the opportunisticnetwork by multipath routing protocols.

To the best of our knowledge, no full-fledgedsolutions exist to ensure privacy, confidentiality,and integrity in opportunistic networks. Howev-er, privacy can be enforced in opportunistic net-works by exploiting a key feature of opportunisticnetworking environments, the concept of com-munity. Indeed, users typically move togetherwith friends or within a social group; henceimplicit trust relations exist with the nodes near-by, which can be exploited to provide account-ability, trust, and privacy. Novel security designsare therefore needed in order to use trust rela-tions to secure communications in opportunisticnetworking scenarios. Key management in oppor-tunistic networks constitutes the basic securityblock for this. In general, in an opportunisticnetwork users can be members of different com-munities, and the same (physical) opportunisticnetwork can support multiple communities atthe same time. If an authority-based key man-agement system is in place,1 a simple scheme

can provide privacy support to context-awareopportunistic protocols by guaranteeing thatcontext information about any node is exposedto members of the node’s own community only.Note that allowing even unknown users of aknown community to know selected informationis usually not perceived as a privacy threat as ithappens (e.g., in social networking sites). Thetrusted authority of the key management schemeis also in charge of registering users to commu-nities and enforcing public policies to allow usersto be part of the community. It also defines keys(either symmetric or asymmetric) reserved forcommunications between members of the samecommunity. Upon registration, users can decidethe set of context information they wish toexpose to other community members and receivethe keys for communicating in the community.While research on key management forMANETs has received a lot of attention, just afew papers elaborate on how to tailor this bodyof work to opportunistic and delay-tolerant net-works. Some authority-based solutions havebeen proposed by exploiting identity-based cryp-tography (IBC) because IBC provides featuresparticularly suitable for disconnected environ-ments. Specifically, solutions based on IBC justrequire a trusted private key generator (PKG)for the distribution of private keys, while thepublic key of a node can be computed by know-ing the node’s identifier only. Ordinary nodeshave only to contact PKGs once to obtain theirown certified private key. The work in [9] showsthat, thanks to these features, IBC solutions:• Reduce the number and frequency of inter-

actions with authorities with respect tostandard solutions based on trusted keyservers

• Allow communications between ordinarynodes and the trusted authority (to retrievekeys) to be asynchronous with respect tocommunications between ordinary nodes(to exchange data)Therefore, IBC solutions are particularly suit-

able for disconnected networking environments.Identity-based cryptography has been applied in[16] to develop the Haggle security primitivesrequired to preserve privacy within trusted com-munities that use context-based forwarding pro-tocols. Specifically, the authors of [16] extendthe work in [14], which is prone to dictionaryattacks, by developing a solution based on hashfunctions with salting for thwarting dictionaryattacks. The new solution enables forwardingwhile preserving user privacy by allowing securepartial matches in the header and enforcing pay-load confidentiality.

Applications — The opportunistic networkingparadigm is suitable for supporting several typesof pervasive applications: mobile social network-ing, sharing of user generated contents, perva-sive sensing, and pervasive healthcare are justsome notable cases. Inside the Haggle projectdifferent types of applications have been devel-oped to test the effectiveness of the opportunis-tic network paradigm (see deliverable D6.4 [8]).Photo-share is a good example of a service thatallows the sharing of user generated multimediacontent: the application allows users to share

Since users are at

the same time ser-

vice consumers,

providers or relays, it

is crucial that users

can be held

accountable for their

actions and can

obtain reputation

information about

other users in

advance in order to

assess possible future

interactions. This in

order to avoid

misuses and attacks.

1 Authority-based solu-tions rely on trustedauthorities in charge ofdistributing and managingkeys. These authoritiescan be online or offline,and can be distributed inthe network so as to avoidthe problem of a having asingle point of failure.Ordinary nodes have toreceive keys from theauthorities before joiningthe network.

CONTI LAYOUT 8/23/10 3:52 PM Page 133

Page 9: From Opportunistic Networks to Opportunistic Computingfrank/INE6514/Artigos2012/From... · networks and opportunistic networks fostering a new computing paradigm: opportunistic comput-ing

IEEE Communications Magazine • September 2010134

with other users pictures taken with mobilephone cameras without using any networkinginfrastructure. Haggle Electronic Triage Tag is anapplication designed to support a medical teamin a disaster scenario. Specifically, in this sce-nario the Haggle protocol stack is used to for-ward to a coordination point the medicalinformation related to the victims by exploitingthe devices of the medical team as data relays.

Mobile on-the-move social networks have aspecial role in testing the effectiveness of Hagglesolutions, as the human factor is a key/criticalelement in the opportunistic paradigm. Mobi-Clique [2] is the most important example of thisclass of applications that has been consideredwithin Haggle. MobiClique allows people tomaintain and extend their online social networksthrough opportunistic encounters in real life.MobiClique builds (on top of a locally main-tained social network structure) a framework forcollaborative forwarding relying uniquely onopportunistic contacts. A fully functional proto-type is implemented on top of the Haggle refer-ence implementation together with a simpleFacebook desktop application for initial userprofile setup. The initially proposed applicationsfor MobiClique include social networking, uni-cast and multicast messaging. Recently, Mobi-Clique has been extended with an EpidemicVoting application. The voting application con-tains a list of topics for voting. A vote on a topicis a user’s opinion expressed as “liked” or “didnot like” for simplicity. A user is allowed to voteonce for each topic during a limited voting peri-od. The testing of the voting application was car-ried out during SIGCOMM 2009 in Barcelonausing a testbed of 100 smartphones runningMobiClique distributed to conference partici-pants. In the test, vote topics are presentationsand social events at the conference, and the vot-ing period for each topic started 10 minutesafter the beginning of each voted events andends two hours after. Votes are disseminatedepidemically to all MobiClique devices. Userscan display the currently available snapshot ofthe collected results for each topic only afterhaving given their vote. The MobiClique proto-type uses Bluetooth technology for both dataexchanges and the identification of human-to-human contacts, as it limits the communicationrange to 10–20 m.

The SIGCOMM 2009 experiment providedtwo types of information: the effectiveness ofdata dissemination using the opportunisticparadigm and the structure of the social networkdefined by the participants of a conference. Inthe case of the data dissemination statistics, theexperiment pointed out the limitations of thecurrent technology in implementing opportunis-tic networking protocols. Indeed, the averagenumber of users reached by each piece of infor-mation disseminated by MobiClique is about 66percent in simulation experiments, while in thereal experiment the success rate was about 26percent. Several factors limit the application per-formance in a real environment: the low perfor-mance of a Bluetooth system, varying usersactivity (i.e., devices turned off), and users’mobility.

The second contribution of the experiments

was related to comparing the structure of theonline social network with the on-the-movesocial network (i.e., the network of contactsamong the conference participants during theconference). The structure of the on-line socialnetwork is obtained by exploiting the Facebookprofiles of each participant, including the basicpersonal details (name, city, country), the list offriends, and the list of Facebook networks andgroups. The friendship graph has a single giantconnected component of 65 persons. The mostconnected node has 19 friends while 8 partici-pants have no preexisting connections at all withthe other participants on Facebook. The averagedegree is 4.36. On the other hand, the structureof the on-the-move social network was estimatedfrom the devices’ contact patterns during theexperiment. Specifically, the graph was createdby establishing a link between any two nodesthat during the experiment have more than onecontact. This contact graph is very dense, and onaverage each participant meets 50 percent of theother users involved in the experiment, and theaverage distance between two nodes is only 1.42,while the graph diameter is 3. This is somehowexpected because human mobility also createscontact opportunities among users that are notpart of an online social community.

LESSONS LEARNED ANDOPEN CHALLENGES

As summarized in the previous section, researchon opportunistic networks, and the work in theHaggle project, started in the first place by char-acterizing the fundamental properties of oppor-tunistic networks, and evolved by addressing thekey problem of routing and forwarding in inter-mittently connected networks, data dissemina-tion, security, privacy, and applications design.From these activities, it has been possible tolearn several lessons about research on oppor-tunistic networks, and identify areas that stilldeserve further investigation, as well as newresearch areas and challenges.

The first aspect to be highlighted is the factthat human behavior must be considered the pre-mier contextual information to be exploited in thedesign of opportunistic networking solutions. Asthe topology of opportunistic networks is veryunstable and dynamic, only using topologicalinformation to build network protocols — thetypical approach in the Internet and in MANETs— is not enough in this environment. Topologi-cal information has to be complemented withcontextual information, which could help nodesto estimate information such as contact opportu-nities, and frequency of meetings. As oppor-tunistic networks are typically formed out ofmobile users devices, the behavior of the users interms, say of movement patterns, and interest incontacts is the key information to be gatheredand analyzed in order to build useful representa-tions of the environment where the protocolswill operate.

Among the possible information describingthe users’ behavior, information about their socialrelationships and interactions are particularly use-ful. Knowledge about social relationships allows

Mobile on-the-move

social networks have

a special role in test-

ing the effectiveness

of Haggle solutions,

as the human factor

is a key/critical ele-

ment in the oppor-

tunistic paradigm.

MobiClique is the

most important

example of this class

of applications that

has been considered

within Haggle.

CONTI LAYOUT 8/23/10 3:52 PM Page 134

Page 10: From Opportunistic Networks to Opportunistic Computingfrank/INE6514/Artigos2012/From... · networks and opportunistic networks fostering a new computing paradigm: opportunistic comput-ing

IEEE Communications Magazine • September 2010 135

protocols to learn the social network of users,which can be exploited in several ways. On onehand, the social network indicates the differentroles of the users in the network. For example, ithighlights the social importance of people interms of number of social links with other users.This can be exploited, for example, in the dis-semination process to place content on socialhubs (users with the highest number of contacts)as a way to speed up the dissemination process.Furthermore, the social network of users is astrong predictor of future meetings among them,as people typically move to meet other personswith which they have social relationships. Pre-dicting contact opportunities between nodes isclearly a fundamental piece of information inopportunistic networks. Finally, the user socialnetwork can be exploited to understand the levelof trust between users, and therefore the level oftrust and reliability of communications; assuminga higher level of social trust between two userscan be mapped in greater reciprocal willingnessto carry each other messages, and thus greaterreliability of communications involving theirnodes. Specifically, results in the field of socialanthropology show that social links of an ego areorganized according to shells of increasing sizeand decreasing average tightness (Fig. 5). Rela-tionships in inner shells are more frequent andtighter from a social perspective, and thus areexpected to be characterized by a higher level oftrust. In more detail, experimental evidencefrom real measurements presented in [17] (andconfirmed by several other studies) highlights atleast four well-identified shells. The innermostshell corresponds to the set of persons havingthe tightest social link with the ego, andamounts, on average, to about five individuals.The next shells include individuals with less andless tight links. An interesting finding is that thesize of the shells increases approximately accord-ing to a factor of 3, up to a maximum of 150individuals. The number 150, also known as theDunbar number, represents a sort of social cogni-tive capacity limit for humans, and is related tothe size of the portion of the neuro-cortex usedto store information about social relationships.The theory about the capacity of the social brainhas also been confirmed by other studies by thesame authors, looking at social structures of pri-mates. While the numbers change, the relationbetween the size of the neuro-cortex and themaximum number of individuals in the ego socialnetwork is an invariant.

The above remarks clearly hint at anotheremerging aspect, the strong link between oppor-tunistic networking and mobile social networks.This aspect has multiple facets. On one hand,mobile social network applications will benefitfrom an efficient opportunistic networking envi-ronment, which will permit to unleash their fullpotential. As shown by the MobiClique example,mobile social networking applications have muchgreater potentiality than simply running Face-book (or other social networking sites) on mobiledevices. In opportunistic environments suchapplications may build dynamic social networksamong users that share, possibly for some limit-ed periods of time, a common interest or a goal,and provide social networking services to them.

On the other hand, the properties of the mobilesocial network of the users can be exploited byall components of opportunistic networking plat-forms to build and optimize networking servicessuch as forwarding and data dissemination.

The final lesson we wish to highlight is thefact that opportunistic resource use, central inOC, seems to be a very promising concept forenabling future pervasive networks, as discussedin the next section. In opportunistic networksnodes contribute and avail of each other’sresources in terms of connectivity and storagespace, with the goal of sending information orcontent between non-connected endpoints. Thisidea proves very effective in an environmentcharacterized by high dynamism, unstabletopologies, and intermittent connectivity. Itenables connectivity opportunities to be opti-mized, and self-organizing networks to be builtout of mobile devices that are more and morepervasively available (e.g., smartphones andPDAs). It is therefore sensible to extend thisconcept, and consider a general opportunisticresource usage paradigm, in which not only con-nectivity and storage, but any resource availableon mobile devices can be contributed and oppor-tunistically used when needed. This is the base-line idea of the OC paradigm, which we discussin detail in the next section. Addressing thisnovel paradigm is definitely one of the mostintriguing open challenges in the field of oppor-tunistic networking.

OPPORTUNISTIC COMPUTING:THE SERVICES APPROACH

Opportunistic computing envisions an environ-ment with a multitude of devices carried by users(e.g., smartphones and PDAs) or spread in theenvironment (e.g., sensors, fixed cameras) witheach device having a number of resources (sev-eral wireless interfaces, a lot of memory, power-ful CPUs, components able to generatemultimedia content). The resulting environmenttherefore contains a multitude of heterogeneousresources that can potentially be used by mobileusers to implement the required function. Thekey point is how those resources can be accessedand combined in an optimal and secure way.Specifically, the goal of an OC platform is toenable each user not only to use the resourcesavailable on its own device, but also to oppor-tunistically exploit a composition of the otherresources in the environment, including those onother users’ devices, in a trustable and secureway. Different from pervasive computing andconventional service-oriented computingapproaches in mobile environments, but, as inopportunistic networking, OC assumes that thenetwork is extremely dynamic with unstabletopologies; therefore, it is necessary to oppor-tunistically use the contacts with other devices tocarry on networking and computing tasks. Thus,OC adds to pervasive computing the opportunis-tic feature and consequently the human factor(e.g., information about the social relationshipsamong users). In this way users will be able —even in challenged networking conditions — toenjoy services much richer, in terms of function-

Opportunistic com-

puting envisions an

environment with a

multitude of devices

carried by users or

spread in the envi-

ronment, with each

device having a

number of resources

(several wireless

interfaces, a lot of

memory, powerful

CPUs, components

able to generate

multimedia content).

CONTI LAYOUT 8/23/10 3:52 PM Page 135

Page 11: From Opportunistic Networks to Opportunistic Computingfrank/INE6514/Artigos2012/From... · networks and opportunistic networks fostering a new computing paradigm: opportunistic comput-ing

IEEE Communications Magazine • September 2010136

ality, than what can be available on their ownindividual devices. We can also say that OCextends the concept of opportunistic networkingto the concept of opportunistic resource usage,thus allowing users not only to simply communi-cate, but also to avail of complex services despitelong disconnections and severe partitions of thenetwork.

CONCEPTUAL ARCHITECTURE FOROPPORTUNISTIC SERVICES

To implement the above vision, we need a plat-form enabling each individual user to oppor-tunistically exploit the resources available in theenvironment. A promising approach to achievethis is based on using the service concept as thekey abstraction to build such a platform. Eachresource available in the environment (fromhardware resources like sensors, cameras, andCPU, to soft resources like databases, pieces ofcode implementing particular functions, piecesof contents, etc.) can be seen as a service thatlocal and remote applications can invoke. In thisnew paradigm the users’ devices become serviceprosumers (i.e., service providers and consumersat the same time).

The conceptual architecture of an OC serviceplatform is shown in Fig. 6. At the lower layer ofthis architecture are the local resources, thoseavailable on a device, abstracted as a set of basicservices the applications can use directly or thatcan be compbined to form complex and richerservices. The network itself is a service that canbe used to access other services available onremote nodes. Specifically, in an OC environ-ment, the network (each network interface) is aspecial resource, which is managed throughopportunistic and pervasive networking tech-nologies. By exploiting the network service, adevice can build a local abstraction (proxy) ofeach remote service. In this way an applicationrunning on a device not only can use and com-

pose the services available locally, but the serviceplatform makes it possible to use and composeboth local and remote services. The simplestcase is when a service can be directly implement-ed by exploiting locally available resources. Inthis case the service platform running at a partic-ular node can work in isolation from the othernodes of the network. However, in the generalcase, not all required modules/resources areavailable locally, and hence the service platformwill opportunistically look in the network for themissing services. The platform will discover therequired modules/resources, identify the optimalway of invoking them, and take care of gatheringand combining the results and presenting themto the application in a suitable format.

It is worth noting that although there is someconceptual similarity between OC and the areasof service-oriented architectures (SOA) andcloud computing, the opportunistic networkingenvironment is different from what is assumedby SOA and cloud computing; hence, completelynovel technical solutions need to be designed.

RESEARCH CHALLENGESThe grand challenge to realize the above visioncan be summarized as follows:

The design and evaluation of models and algo-rithms for secure shared service provision in anopportunistic networking environment.

This needs significant rethinking of the solutionsdeveloped for mobile and pervasive computingsystems, as these systems generally assume thatremote resources can be accessed through stablenetwork connections, and network disconnec-tions are exceptions. Providing services in oppor-tunistic networks entails addressing severalchallenging problems related to identifying,accessing, and using remote services. The knowl-edge of when and where services are availableinside the opportunistic networks (service dis-covery) is a key element of the service platform.Due to the dynamic nature of the environment,it is not sufficient to discover which node isoffering a service; a key challenge is to predict-ing the service availability taking into considera-tion when and for how long a node can meet thedevice providing a given service and its resourcesavailability (e.g., the amount of energy or thetraffic load on that node). Remote servicesmight be available with different stability levels,depending on how long and how frequently thelocal and remote nodes will be in touch (eitherdirectly or through an opportunistic multihoppath). The stability of remote resources will be akey parameter that the service infrastructureshall consider to deliver services to applications.Resource constraints of individual nodes (includ-ing energy), the context in which such nodesoperate (with special attention to the social con-text), and services’ distribution are the other keyingredients for selecting the remote node(s)from which to request a service. These elementswill be used to answer a set of basic questionswhen two nodes come in contact to decidewhether to request a remote service: What infor-mation can they exchange? What resources arethey willing to share? What incentives (e.g., eco-

Figure 5. The circles of acquaintanceship organized as hierarchically inclusivelevels.

5

15

50

150

Increasingsocial

tightness

CONTI LAYOUT 8/23/10 3:52 PM Page 136

Page 12: From Opportunistic Networks to Opportunistic Computingfrank/INE6514/Artigos2012/From... · networks and opportunistic networks fostering a new computing paradigm: opportunistic comput-ing

IEEE Communications Magazine • September 2010 137

nomic, community-based) and security guaran-tees (e.g., privacy, trust) would they have to doso? What is the cost of using a remote resource?How many replicas of the same service need tobe requested to achieve a given quality of servicelevel?

To answer these questions, contextual infor-mation can be used to provide more precise esti-mates of when and where resources will beavailable. Among contextual information, a keyrole is reserved for social awareness: the aware-ness about the social structures of users relation-ships, the probability of users communicatingand getting physically in touch with other users’and so on. With this knowledge we can predictwhich users/devices a node will meet in thefuture and hence which remote resources will beavailable in the future and when; social struc-tures also constitute a key ingredient to guaran-tee a secure access to remote services. Forexample, trust relationships embedded in socialstructures can be exploited to build novel trustrelationships in services access. Indeed, in OCenvironments new security policies need to bedesigned to control the access to remoteresources.

RESEARCH ACTIVITIES ONOPPORTUNISTIC COMPUTING

Opportunistic computing is an emergingparadigm that builds on the results of severalresearch areas. Opportunistic networking is thefirst step in realizing this paradigm, but OCmoves forward from simple communicationissues to develop a framework to enable collab-orative computing tasks in networking environ-ments where long disconnections and networkpartitions are the rule. Mobile and pervasivecomputing has tried to achieve this objectivetoo, but in the presence of a significant degreeof connectivity among the computing devices.The autonomic computing and communicationconcept has some similarities with OC, as inboth cases it is required to be self-adapting tothe conditions of the surrounding environ-ments. However, the opportunistic environ-ment targeted within OC generates newchallenges not present in autonomic comput-ing. Opportunistic computing also builds onsocial networking structures as enabling mech-anisms for the service platform. Specifically,OC requires models of social interactionsbetween users and ways to exploit them in net-working protocols for opportunistic networks— see, for example, the research activities car-ried out in the FET-PERADA SOCIALNETSproject (http://www.social-nets.eu projects).The human factor (i.e., information about thesocial relationships among users) is extremelyrelevant to OC. A special role in achievingawareness of the social context is played bymultimodal sensing. Almost any last-generationsmartphone includes cameras, accelerometers,microphones, and so on. Recent research pro-jects — see, for example, the Metro-sense pro-ject at Dartmouth [3, 18] and the NeTS-FINDproject Network Innovations for Personal,Social, and Urban Sensing Applications — showthat readings from multimodal sensing devices

can be used to infer precise information aboutthe social behavior of the users and the socialenvironment around them. Multimodal sensingwill thus make it possible to infer the dynami-cally changing social environment of users andexploit this information to optimize OC solu-tions.

Opportunistic networking, autonomic com-munication and computing, social networking,and multimodal sensing are enablers for OC;however, realizing the OC concept requires tack-ling several new research challenges for develop-ing a set of middleware services that cope withdisconnections and heterogeneities, and providethe applications with uniform access to data andservices in a disconnected environment. To thebest of our knowledge, currently only two pro-jects are directly addressing these challenges: theNational Science Foundation (NSF), DistributedOpportunistic Computing (DOC) project, and theEU FIRE Service Platform for Social AwareMobile and Pervasive Computing (SCAMPI) pro-ject. The two projects share the goal of exploit-ing all available resources in an opportunisticenvironment to provide a platform for the exe-cution of distributed computing tasks. To achievethis result, some milestones have been identified.The first one is related to defining the policy forremote service invocation when the applicationrunning on a device (seeker) generates therequest for the execution of a service that is notlocally available. In this case the seeker has todecide from which device running the requestedservice (provider) it has to request the serviceexecution. Due to the challenging environment(the contact time between a seeker and aprovider is often not long enough for servicecompletion, and the next inter-contact time maybe arbitrarily long), several invocations of thesame service can be spawned by the seeker fromdifferent providers to minimize service comple-tion time.

The choice of which providers to contact andthe total number of parallel executions of thesame service define the service invocation policy

Figure 6. Opportunistic computing conceptual architecture.

Content

cpu

Mike

Camera

Sensor

Code Memory

Network ...

Pervasive computing and opportunistic networking

technologies

Service Service

Resources controller

Proxies of remote resources

Service

Applications

Service

... ...

Soci

al a

war

enes

s

Loca

l re

sour

ces

Serv

ice

infr

astr

uctu

re

CONTI LAYOUT 8/23/10 3:52 PM Page 137

Page 13: From Opportunistic Networks to Opportunistic Computingfrank/INE6514/Artigos2012/From... · networks and opportunistic networks fostering a new computing paradigm: opportunistic comput-ing

IEEE Communications Magazine • September 2010138

used by the seeker. The goal is to identify theoptimal number of service invocations (i.e., num-ber of replicas of the same service) to minimizethe expected service time (i.e., the time intervalbetween when a request is generated at theseeker and when the seeker receives the outputresults). This is a challenging problem that hasbeen investigated in [19]. In this work, theauthors have investigated efficient and effectiveschemes for service replication and have identi-fied an optimal policy for the invocation of ser-vice components in an OC environment. This isthe first step to provide a platform for the exe-cution of distributed computing tasks. Startingfrom this result, several other milestones stillneed to be achieved. First of all, there is theneed to identify effective policies for opportunis-tic services composition, i.e., how to composethe services available in the environment toimplement a richer and complex service by tak-ing into account where (on which devices) eachsingle service component is available, and thecontact and inter-contact time statistics betweenthe seeker and the other devices hosting the ser-vice components. A promising approach to tack-ling this challenge is based on extending to theopportunistic environment the graph theoretictechniques for service composition in pervasiveenvironments [20]. Before addressing servicescomposition, service components available in thenetwork must be identified. To this end, mecha-nisms for service discovery and notification arebasic functions of the service platform. Clearly,using service components available on remotedevices generates several privacy and securityconcerns. Mechanisms for establishing reputa-tion among devices and disseminating reputationinformation in the opportunistic environmentrepresent an interesting direction to addresssecurity issues. Reputation mechanisms havealready been investigated in the mobile ad hocnetworking field, but long disconnections andsparse networks set new challenges. In addition,as we have discussed for opportunistic networks,exploiting the human social structures — tryingto regulate the behavior of users’ devices as theusers behavior is socially regulated in the realworld — constitutes a very promising directionto tackle privacy and security issues in oppor-tunistic environments.

The above mechanisms and methods are nec-essary to implement the service platform, but donot provide any indication about the type of ser-vices the platform is able to support, and thequality of experience provided to users. Answer-ing this question requires the development ofanalytical and simulation models to investigatethe quality of service that the distributed plat-form can provide to the applications.

CONCLUSIONSAfter the eras of ubiquitous computing andpervasive computing, a new era, that of oppor-tunistic computing, is coming. Opportunisticcomputing takes advantage of opportunisticnetworking solutions, as communication isbuilt by exploiting connection opportunities.Opportunistic computing extends the conceptof opportunistic networks by enabling the

opportunistic use of any resource available inthe environment. Specifically, OC leveragesthe human pervasive network, and allows usersto opportunistically access a large number ofservices and resources available on other users’devices. This is made possible by exploitingknowledge of the human social relationshipsbetween users, to predict which resources willbe available, when they will be available, andat which stability level. This is a very powerfulvision, as it allows combining and making useof the enormous amount of hardware and soft-ware resources in the network in a distributedad hoc fashion. Furthermore, it extends themainstream area of social networking, bringingand fully unleashing it in mobile pervasive net-works.

In this article we have discussed the mainresults in opportunistic networking, and howthey pave the way to OC. Then we have present-ed the concept of OC, and highlighted the keyrelated research challenges.

The new era of opportunistic computing hasjust started. Several challenges must be faced toanswer key questions: What is the limit forexporting resources to other users? Where dosecurity and privacy enter into the game? Howcan we design and model an environment that isso complex and multifaceted? These challengesare extremely exciting from an intellectual stand-point, and, if addressed, will enable a wealth ofinnovative application scenarios. Therefore, wecan foresee that OC will be a major researchdirection in the coming years.

REFERENCES[1] L. Pelusi, A. Passarella, and M. Conti, “Opportunistic

Networking: Data Forwarding in Disconnected MobileAd Hoc Networks,” IEEE Commun. Mag., vol. 44, no.11, 2006.

[2] M. Conti and M. Kumar, “Opportunities in Opportunis-tic Computing,” IEEE Computer, vol. 43, no. 1, Jan.2010, pp. 42–50

[3] A. Campbell et al., “The Rise of People-Centric Sens-ing,” IEEE Internet Comp., July 2008, pp. 12–21.

[4] A. Chaintreau et al., “Impact of Human Mobility onOpportunistic Forwarding Algorithms,” IEEE Trans.Mobile Comp., vol. 6, no. 6, June 2007, pp. 606–20.

[5] C. Boldrini and A. Passarella, “HCMM: Modeling Spatialand Temporal Properties of Human Mobility Driven byUsers’ Social Relationships,” Comp. Commun., vol. 33,2010, pp. 1056–74.

[6] P. Hui, J. Crowcroft, and E. Yoneki, “BUBBLE Rap:Social-Based Forwarding in Delay Tolerant Networks,”Proc. ACM MobiHoc, May 2008.

[7] M. Musolesi and C. Mascolo, “Designing Mobility Mod-els Based on Social Network Theory,” ACM MobileComp. Commun. Rev., vol. 11, no. 3, 2007, pp. 59–70.

[8] Haggle Project,http://haggleproject.org/index.php/Deliverables

[9] M. Conti et al., “Routing Issues in Opportunistic Net-works,” in Middleware for Network Eccentric andMobile Applications, B. Grabinato, H. Miranda, and L.Rodrigues, Eds., Springer, 2009, pp. 121–47.

[10] A. Lindgren, A. Doria, and O. Schelen, “ProbabilisticRouting in Intermittently Connected Networks,” ACMMobile Comp. Commun. Rev., vol. 7, no. 3, 2003, pp.19–20.

[11] A. Vahdat and D. Becker, “Epidemic Routing for Par-tially Connected Ad Hoc Networks,” tech. rep. CS-2000-06, Duke Univ., Comp. Sci. Dept., 2000.

[12] H. A. Nguyen, and S. Giordano, “Context InformationPrediction for Social-Based Routing in OpportunisticNetworks,” June 2010, SUPSI-TR062010.

[13] C. Boldrini, M. Conti, and A. Passarella, “ExploitingUsers’ Social Relations to Forward Data in Opportunis-tic Networks: The HiBOp Solution,” Pervasive MobileComp., vol. 4, no. 5, Oct. 2008, pp. 633–657.

The choice of which

providers to contact

and the total num-

ber of parallel execu-

tions of the same

service define the

service invocation

policy used by the

seeker. The goal is to

identify the optimal

number of service

invocations to mini-

mize the expected

service time.

CONTI LAYOUT 8/23/10 3:52 PM Page 138

Page 14: From Opportunistic Networks to Opportunistic Computingfrank/INE6514/Artigos2012/From... · networks and opportunistic networks fostering a new computing paradigm: opportunistic comput-ing

IEEE Communications Magazine • September 2010 139

[14] H. A. Nguyen, S. Giordano, and A. Puiatti, “Probabilis-tic Routing Protocol for Intermittently ConnectedMobile Ad Hoc Networks (PROPICMAN),” Proc. IEEEWoWMoM/AOC, June 2007.

[15] C. Boldrini, M. Conti, and A. Passarella, “Design andPerformance Evaluation of ContentPlace, a Social-Aware Data Dissemination System for OpportunisticNetworks,” Comp. Net., vol. 54, no. 4, Mar. 2010, pp.589–604.

[16] A. Shikfa, M. Önen, and R. Molva, “Privacy and Confi-dentiality in Context-Based and Epidemic Forwarding,”to appear, Comp. Commun. Net.

[17] W.-X. Zhou et al., “Discrete Hierarchical Organizationof Social Group Sizes,” Proc. Biological Sci., vol. 272,no. 1561, pp. 439–44.

[18] N. D. Lane et al., “Mobile Phone Sensing: A DisruptiveTechnology for the App Phone Age,” IEEE Commun.Mag., Sept. 2010.

[19] A. Passarella et al., “Minimum-Delay Service Provision-ing in Opportunistic Networks, to appear, IEEE Trans.Parallel and Distrib. Sys.

[20] S. Kalasapur, M. Kumar, and B. Shirazi, “Seamless Ser-vice Composition in Pervasive Environments,” IEEETrans. Parallel Distrib. Sys., vol. 18, no. 7, July 2007,pp. 907–18.

BIOGRAPHIESMARCO CONTI ([email protected]) is a research directorof the Italian National Research Council, and he is the headof the Ubiquitous Internet group at IIT-CNR. He publishedmore than 250 research papers and three books related tocomputer networks. He is Editor-in-Chief of ComputerCommunications and Associate Editor-in-Chief of Pervasiveand Mobile Computing. He is chair of the IFIP workinggroup WG 6.3. He has served as general/program chair forseveral conferences, including IEEE PerCom, IEEE WoW-MoM, IEEE MASS, ACM MobiHoc, and IFIP TC6 Network-ing. He is on the editorial boards of IEEE Transactions on

Mobile Computing, Ad Hoc Networks, and Journal of Com-munication Systems.

SILVIA GIORDANO [SM] ([email protected]) is a profes-sor at SUPSI, and head of the Networking Laboratory. Sheis co-editor of the book Mobile Ad Hoc Networking (IEEE-Wiley 2004). She has published extensively onjournals/magazines/conferences in the areas of QoS, trafficcontrol, wireless, and mobile ad hoc networks. She is aneditor of several important journals/magazines and on thesteering/organizing/technical committee of many majorconferences/workshops. She is a board member of ACM-N2Women, and a senior member of ACM and IFIP-WG6.8.

MARTIN MAY ([email protected]) received hisPh.D. in 1999 for his work on Internet QoS mechanisms atINRIA, Sophia Antipolis, France. Afterward he was withSprintlabs, and then he founded a startup in France. Afterselling the company at the end of 2003, he joined ETHZurich as a lecturer. In 2008, he joined the ThomsonResearch Laboratory in Paris, where he is now director ofstrategy for the Media Delivery Research Program. He is anarea editor of ACM Computer Communication Review andComputer Communications.

ANDREA PASSARELLA ([email protected]) has a Ph.D.in computer engineering and is with IIT-CNR, Italy. He wasa Researcher at the Computer Laboratory, Cambridge, Unit-ed Kingdom. He works on opportunistic networks, with anemphasis on content-centric architectures, services, routingprotocols, and mobility models. He is Program Co-Chair forIEEE WoWMoM 2011, and on the PCs, among others, ofIEEE MASS and PerCom. He was Co-Chair of IEEE AOC2009, TPC Co-Chair of ACM MobiOpp 2007, Vice-Chair forACM REALMAN (2005–2006), and IEEE MDC (2006). Hewas Workshops Co-Chair for IEEE PerCom and WoWMom2010. He is on the Editorial Board of Pervasive and MobileComputing and the International Journal of Autonomousand Adaptive Communications Systems.

The new era of

opportunistic

computing has just

started. Several

challenges must be

faced to answer key

questions. These

challenges are

extremely exciting

from an intellectual

standpoint, and,

if addressed, will

enable a wealth

of innovative

application scenarios.

CONTI LAYOUT 8/23/10 3:52 PM Page 139