13.07.2015 Views

Social-aware Content Sharing in Opportunistic Networks

Social-aware Content Sharing in Opportunistic Networks

Social-aware Content Sharing in Opportunistic Networks

SHOW MORE
SHOW LESS

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!