Social-aware Content Sharing in Opportunistic Networks

Social-aware Content Sharing in Opportunistic Networks

Social-aware Content Sharing in Opportunistic Networks


You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Social</strong>-<strong>aware</strong> <strong>Content</strong> <strong>Shar<strong>in</strong>g</strong> <strong>in</strong> <strong>Opportunistic</strong> <strong>Networks</strong> ∗Marco Conti, Franca Delmastro, and Andrea PassarellaIIT Institute - CNRvia G. Moruzzi,1 - 56124 Pisa, Italyemail{firstname.lastname@iit.cnr.it}Abstract<strong>Opportunistic</strong> networks represent the emerg<strong>in</strong>g pervasivecommunication paradigm that supports <strong>in</strong>termittentconnectivity scenarios. To develop reliable dataexchange and communications both protocols and servicescan be enhanced exploit<strong>in</strong>g context and content<strong>in</strong>formation, def<strong>in</strong><strong>in</strong>g thus a novel data-centric communicationparadigm. In this demo we present a social<strong>aware</strong>content shar<strong>in</strong>g service based on the exchangeof a comb<strong>in</strong>ation of the user personal <strong>in</strong>formation, <strong>in</strong>terests,social relationships and <strong>in</strong>formation related toshared contents. In this way, the system is able to implementcooperative download<strong>in</strong>g mechanisms allow<strong>in</strong>gusers to share files even they will never be directly connected.Keywords: opportunistic networks, context<strong>aware</strong>ness,p2p, content-shar<strong>in</strong>g service1 IntroductionThe <strong>in</strong>creas<strong>in</strong>g use of mobile devices as tools to generateand share content among users accord<strong>in</strong>g to theWeb 2.0 model is one of the ma<strong>in</strong> motivations to exploitthe mobile p2p comput<strong>in</strong>g paradigm <strong>in</strong> pervasivemobile environments. Recently, a lot of studies on p2pover self-organiz<strong>in</strong>g networks have been performed provid<strong>in</strong>goptimized solutions for mobile users [5, 3]. However,they ma<strong>in</strong>ly rely on the assumption that eachpair of nodes wish<strong>in</strong>g to communicate are connectedthrough a stable path. Actually, a pervasive networkis <strong>in</strong>tr<strong>in</strong>sically disconnected ma<strong>in</strong>ly because of nodes’mobility. For this reason we can envision as a realisticscenario clouds of mobile devices, some of whichbe<strong>in</strong>g wirelessly connected <strong>in</strong> ad hoc mode, some othersbe<strong>in</strong>g connected to the legacy Internet, and othersbe<strong>in</strong>g temporarily disconnected from the network. <strong>Opportunistic</strong>networks represent the emerg<strong>in</strong>g pervasivecommunication paradigm that supports this scenarioas an evolution of mobile ad hoc networks. In this∗ This work was partially funded by the IST program of theEuropean Commission under the HAGGLE (027918) and SO-CIALNETS (217141) FET Projects.case there is no assumption on nodes’ connectivity, andnodes are not required to exchange <strong>in</strong>formation aboutthe network topology. Routes are dynamically builtwhile data flows towards the dest<strong>in</strong>ation, exploit<strong>in</strong>gall the available opportunities to successfully deliverthe <strong>in</strong>formation. To this aim, opportunistic networkcommunications are not supported by topology-basedprotocols, but they ma<strong>in</strong>ly exploit context and content<strong>in</strong>formation to def<strong>in</strong>e new data-centric communicationparadigms. This <strong>in</strong>formation characterizes both datathat are exchanged through the network (specified bythe developed application), and users carry<strong>in</strong>g mobiledevices, def<strong>in</strong><strong>in</strong>g their habits, <strong>in</strong>terests and specific <strong>in</strong>formationthat can be useful to optimize network services.In this way, we are mov<strong>in</strong>g from the standardconcept of computer networks to the def<strong>in</strong>ition of networksof people. In this direction a novel def<strong>in</strong>itionof p2p over opportunistic networks has been proposedrecently [4], highlight<strong>in</strong>g the importance of dissem<strong>in</strong>at<strong>in</strong>gcontent and context <strong>in</strong>formation <strong>in</strong> the network toimprove the autonomous behaviour of mobile devicesand better satisfy mobile users requirements. With<strong>in</strong>the Haggle 1 and SOCIALNETS 2 EU projects work hasbeen done and it is currently <strong>in</strong> progress <strong>in</strong> this area.Specifically, <strong>in</strong> Haggle a data-centric architecture hasbeen def<strong>in</strong>ed (see section 2.1) to support applicationdrivenmessage forward<strong>in</strong>g <strong>in</strong> opportunistic networks,try<strong>in</strong>g to reflect natural ways of <strong>in</strong>teraction betweenhumans. This demo presents an opportunistic contexandsocial-<strong>aware</strong> file shar<strong>in</strong>g service developed on top ofHaggle’s architecture <strong>in</strong> which us<strong>in</strong>g context and content<strong>in</strong>formation allows mobile users to share files evenif they will never be directly connected.2 <strong>Social</strong>-<strong>aware</strong> <strong>Opportunistic</strong> <strong>Content</strong><strong>Shar<strong>in</strong>g</strong>In order to extend the User-generated content model<strong>in</strong> pervasive environments, <strong>Social</strong>-<strong>aware</strong> <strong>Opportunistic</strong><strong>Content</strong> <strong>Shar<strong>in</strong>g</strong> service highlights how us<strong>in</strong>g context1 http://www.haggleproject.org2 http://www.social-nets.eu978-1-4244-3938-6/09/$25.00 (c)2009 IEEEAuthorized licensed use limited to: UNIVERSITA PISA S ANNA. Downloaded on February 11, 2010 at 11:39 from IEEE Xplore. Restrictions apply.1

<strong>in</strong>formation enhances the basic features of standardcontent-shar<strong>in</strong>g applications <strong>in</strong> opportunistic networks,exploit<strong>in</strong>g nodes’ mobility to evolve the standard p2pconnections among content producers and consumers.Focus<strong>in</strong>g on this specific k<strong>in</strong>d of service, our def<strong>in</strong>itionof context ma<strong>in</strong>ly refers to users’ shar<strong>in</strong>g <strong>in</strong>terests(e.g., genre and type of files they want to share),habits, social contacts and mobility patterns. In fact,s<strong>in</strong>ce users are mobile and carry devices with them,users’ social behavior is a valid signal of users’ mobilitypatterns, and it may be really useful to predictfuture contacts among users, improv<strong>in</strong>g forward<strong>in</strong>g decisionson the network. These assumptions are basedon social network models [6] and small-world theories[7], <strong>in</strong> which users are grouped <strong>in</strong> communities, andnodes of the same community have strong social l<strong>in</strong>ksbetween each other. Some nodes have also social l<strong>in</strong>ksoutside their ”home” community, modell<strong>in</strong>g social relationshipswith users of different groups. Small-worldtheories have shown that these ”external” l<strong>in</strong>ks act asshortcuts and enable communications across the networkwith a small number of hops (6 hops <strong>in</strong> the ”classical”small-world models). This behavioral model isexploited by Context-<strong>aware</strong> <strong>Opportunistic</strong> FS serviceto spread context <strong>in</strong>formation <strong>in</strong> the users communitiesto improve both network protocols and applicationsfeatures. Specifically, two different notions ofcontext related to a s<strong>in</strong>gle user are <strong>in</strong>troduced <strong>in</strong> thepresented application: the private context of a user,that consists of personal <strong>in</strong>formation 3 (e.g., name, address,job, communities he/she belongs to) that are notstrictly related to the developed service (and can thusbe used as general context to be shared among severallocal applications), and the public context, thatis ma<strong>in</strong>ly def<strong>in</strong>ed by the service (e.g., shar<strong>in</strong>g <strong>in</strong>terests<strong>in</strong> terms of files genre, category, content attributes).All this <strong>in</strong>formation are collected <strong>in</strong> an object calledIdentity Table (IT), s<strong>in</strong>ce it identifies both characteristicsof the s<strong>in</strong>gle user, and his/her <strong>in</strong>teractions withthe service. The user <strong>in</strong>itializes it directly through auser-friendly GUI on the mobile device (a smartphone<strong>in</strong> this demo). Follow<strong>in</strong>g the model presented <strong>in</strong> [2] fora context-<strong>aware</strong> forward<strong>in</strong>g algorithm <strong>in</strong> opportunisticnetworks, ITs are exchanged among 1-hop neighbors.Therefore, by exchang<strong>in</strong>g ITs dur<strong>in</strong>g the neighbor discoveryprocedure, each node knows the personal andpublic <strong>in</strong>formation of all its neighbors, and it adds themto its current context, obta<strong>in</strong><strong>in</strong>g thus a snapshot of thesurround<strong>in</strong>gs. However, s<strong>in</strong>ce users usually moves froma community to another, it is also important to locallyma<strong>in</strong>ta<strong>in</strong> the context evolution over time (i.e., <strong>in</strong>forma-3 Manag<strong>in</strong>g private/personal <strong>in</strong>formation about users requiresto deal with privacy issues (see [4] for details).tion about context of past encountered users as the evolutionof social contacts of the local user). In this way,when a user moves to a new community, the applicationcan exploit the <strong>in</strong>terests of past encountered nodesto identify additional files <strong>in</strong> which previous neighborscould be <strong>in</strong>terested, and use part of its local resourceto pre-fetch them to satisfy possible future requests.This procedure has been called cooperative download<strong>in</strong>gamong opportunistic nodes. The possible choices betweenthe files a user can decide to download <strong>in</strong> favourof previous neighbors ma<strong>in</strong>ly depends on the local resourceavailability and the data utility. Intuitively, thema<strong>in</strong> idea is to select those files that maximize the utilityfor both the local user (e.g. data belong<strong>in</strong>g to thesame category she is <strong>in</strong>terested <strong>in</strong>) and the users belong<strong>in</strong>gto the different communities she also belongsto. We can thus def<strong>in</strong>e the follow<strong>in</strong>g utility function:ω i u (c)i (1)U = u (l) + ∑ iwhere u (l) is the utility for the local user, u (c)iis theutility for the i-th community the user is <strong>in</strong> contactwith, and ω i is a cooperation <strong>in</strong>dex that def<strong>in</strong>es thewill<strong>in</strong>gness of the user to cooperate with the i-th community(i.e., to spend own resources to <strong>in</strong>crease dataavailability for that community). Note that, by us<strong>in</strong>gcooperation <strong>in</strong>dexes greater than 0, we can avoid theselfish users behaviour <strong>in</strong> which they tend to maximizeonly their own utility. In addition, the autonomouspreventive downloads do not <strong>in</strong>volve the files the localuser is <strong>in</strong>terested <strong>in</strong>, s<strong>in</strong>ce it can directly requestthem. Another condition for the utility computationis represented by the current context of the local user.S<strong>in</strong>ce it is highly probable that users visit<strong>in</strong>g the samecommunity are <strong>in</strong> communication range, or can directlydownload the files they are <strong>in</strong>terested <strong>in</strong> with few-hopsconnections, we can decide to assign a lighter weight tothe current context of the local user, so that the systemcan privilege the other contexts. A detailed analysis ofthe context-<strong>aware</strong> utility and related parameters can befound <strong>in</strong> [1]. In this demo we implement a simplifieddef<strong>in</strong>ition of this function to highlight the ma<strong>in</strong> advantagesof us<strong>in</strong>g context, as the application reliability <strong>in</strong>case of <strong>in</strong>termittent connectivity and the reduction ofrequests dissem<strong>in</strong>ation on the network.As a practical example, let us consider two socialcommunities of users as shown <strong>in</strong> Figure 1(a). In theexample user C belongs to both communities, and <strong>in</strong>the two communities users share some common <strong>in</strong>terests:on the left side users A and C are <strong>in</strong>terested <strong>in</strong>mp3 and jpeg files, while B is <strong>in</strong>terested <strong>in</strong> jpeg and avifiles; on the right side both users D and E are <strong>in</strong>terested<strong>in</strong> mp3 and avi. Assum<strong>in</strong>g that all nodes <strong>in</strong> each communityare able to comunicate with each other, after2Authorized licensed use limited to: UNIVERSITA PISA S ANNA. Downloaded on February 11, 2010 at 11:39 from IEEE Xplore. Restrictions apply.

ABDECA<strong>in</strong>terest: mp3,jpgC<strong>in</strong>terest: mp3,jpgD<strong>in</strong>terest: jpg,avifiles: F1.mp3, F2.jpg files: F5.mp3, F6.jpg files: F7.jpg, F8.aviB<strong>in</strong>terest: mp3,avifiles: F3.mp3, F4.jpgE<strong>in</strong>terest: jpg,avifiles: F9.jpg,F10.avi(a)ABDECACD<strong>in</strong>terest: mp3,jpg <strong>in</strong>terest: mp3,jpg <strong>in</strong>terest: jpg,avifiles: F1.mp3, F2.jpg files: F5.mp3, F6.jpg files: F7.jpg, F8.aviBF7.jpg, F9.jpg E<strong>in</strong>terest: mp3,aviF8.avi <strong>in</strong>terest: jpg,avifiles: F3.mp3, F4.jpgfiles: F9.jpg,F10.avi(b)Figure 1. Example of cooperative download.the neighbor discovery phase each of them knows the<strong>in</strong>terests and the file list of the others, updat<strong>in</strong>g thustheir current context. As C belongs to both communities,it is highly probable that she will move towardsthe right-hand-side community and can thus help distribut<strong>in</strong>gfiles to <strong>in</strong>terested users. When she reachesthe right-hand-side community she is able to select thefiles she is <strong>in</strong>terested <strong>in</strong> and download them on her device.Moreover, look<strong>in</strong>g at the previously stored context<strong>in</strong>formation, the application run by C is also ableto identify, and possibly download, additional files <strong>in</strong>which the users of the left-hand-side community areprobably <strong>in</strong>terested (see Figure 1(b)).2.1 Interaction with the Haggle architectureFigure 2 shows the Haggle node architecture. It iscompletely layer-less above the data-l<strong>in</strong>k, and a setof managers is def<strong>in</strong>ed to implement all the featuresneeded to communicate and deliver messages (e.g., security,protocols def<strong>in</strong>ition, forward<strong>in</strong>g algorithms, connectivity,resource and context management). Managerscan make use of modules to implement specificfunctionality related to particular algorithms. All themanagers <strong>in</strong>teract with a central entity, the HaggleKernel, which is a m<strong>in</strong>imal event queue that coord<strong>in</strong>atesactions and communications between managers,and waits for <strong>in</strong>com<strong>in</strong>g data. All the <strong>in</strong>teractions betweenmanagers are performed through a data-centricpub/sub paradigm. Managers publish DataObjectsto whom other managers can subscribe. The kernelimplements the pub/sub abstraction, and storesthe DataObject <strong>in</strong> a DataStore. Relations betweenDataObjects can also be def<strong>in</strong>ed, enabl<strong>in</strong>g to representrich context <strong>in</strong>formation. Haggle collects context<strong>in</strong>formation about both encountered users and devicesthrough periodical beacon<strong>in</strong>g. The analysis of beaconsand extraction of context <strong>in</strong>formation is left to <strong>in</strong>dividualmanagers/modules that subscribe to beacons.Figure 2. Haggle architecture.The <strong>Social</strong>-<strong>aware</strong> <strong>Opportunistic</strong> <strong>Content</strong> <strong>Shar<strong>in</strong>g</strong> serviceis partly developed on top of this architecture, anddirectly <strong>in</strong>teracts with a dedicated module of the ResourceManager, which provides general context managementand data dissem<strong>in</strong>ation features. Context andcontent <strong>in</strong>formation used by the service are def<strong>in</strong>edthrough the <strong>in</strong>teraction with the mobile user, and arethen passed to the <strong>in</strong>ternal module to be spread on thenetwork.3 Demo highlights and requirementsDur<strong>in</strong>g this demo attendees will be able to run theservice on HTC Touch smartphones, download<strong>in</strong>g filesfrom neighbors belong<strong>in</strong>g to the same community andmov<strong>in</strong>g from a community to another. From the technicalpo<strong>in</strong>t of view, the demo will show the reliabilityof the system <strong>in</strong> case of <strong>in</strong>termittent connectivity andthe implementation of cooperative download<strong>in</strong>g mechanismsbased on the elaboration of context <strong>in</strong>formation.References[1] C. Boldr<strong>in</strong>i, M. Conti, and A. Passarella. <strong>Content</strong>place:social-<strong>aware</strong> data dissem<strong>in</strong>ation <strong>in</strong> opportunistic networks.In Proc. of ACM MSWiM ’08, pages 203–210,New York, NY, USA, 2008. ACM.[2] C. Boldr<strong>in</strong>i, M. Conti, and A. Passarella. Exploit<strong>in</strong>gusers social relations to forward data <strong>in</strong> opportunisticnetworks: The hibop solution. Pervasive and MobileComput<strong>in</strong>g, 4(5):633–657, 2008.[3] M. Caesar, M. Castro, E. Night<strong>in</strong>gale, G. O’Shea, andA. Rowstron. Virtual r<strong>in</strong>g rout<strong>in</strong>g: network rout<strong>in</strong>g<strong>in</strong>spired by DHTs. In Proc. of ACM SIGCOMM. ACMNew York, NY, USA, 2006.[4] M. Conti, F. Delmastro, and A. Passarella. Context-Aware P2P Over <strong>Opportunistic</strong> <strong>Networks</strong>. <strong>in</strong> MobilePeer-to-Peer Comput<strong>in</strong>g for Next Generation DistributedEnvironments: Advanc<strong>in</strong>g Conceptual and AlgorithmicApplications, ISBN: 978-1-60566-715-7, 2009.[5] M. Conti, F. Delmastro, and G. Turi. Peer-to-PeerComput<strong>in</strong>g <strong>in</strong> Mobile Ad Hoc <strong>Networks</strong>. <strong>in</strong> The Handbookof Mobile Middleware, Auerbach Publications,2007.[6] S. Wasserman and K. Faust. <strong>Social</strong> network analysis:Methods and applications. Cambridge University Press,1994.[7] D. Watts. Small Worlds: The Dynamics of <strong>Networks</strong>Between Order and Randomness. Pr<strong>in</strong>ceton UniversityPress, Pr<strong>in</strong>ceton, 1999.3Authorized licensed use limited to: UNIVERSITA PISA S ANNA. Downloaded on February 11, 2010 at 11:39 from IEEE Xplore. Restrictions apply.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!