13.07.2015 Views

Data Dissemination in Opportunistic Networks using ... - IEEE Xplore

Data Dissemination in Opportunistic Networks using ... - IEEE Xplore

Data Dissemination in Opportunistic Networks using ... - IEEE Xplore

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Algorithm 1 Recognition algorithm1: Let i be an observed channel/item;2: Let H be a hashed <strong>in</strong>dex of removed channels/items3: Let R θ be the recognition threshold4: if Cache.conta<strong>in</strong>s( i ) then5: Increment i counter6: reset i.TTL7: else8: if Cache is full then9: Select the item o with the oldest TTL10: if o.counter ≥ R θ then11: Move o to H12: end if13: Drop o14: end if15: Put i <strong>in</strong> the Cache16: i.counter = 117: Set i.TTL18: end ifStartChannelRecognition# Recognized and old itemslower than SFigure 2.AvailabilityRecognitionStore theItemsMerge With theActual MemoryContentTake the first S objectsModified Take The Best AlgorithmAvailabilityRankwith respect to the cues. We propose to adapt this algorithm<strong>in</strong> the scenario we are consider<strong>in</strong>g. When a node meetsanother peer, it ranks the objects of the other node us<strong>in</strong>gan adaptation of the Take The Best algorithm, depicted <strong>in</strong>Fig. 2 and Algorithm 2. The first two cues we consideredconsist of the recognition of channels and items, us<strong>in</strong>g thealgorithm presented <strong>in</strong> Section IV. The first cue is thechannel recognition: items of recognized channels are rankedhigher than the others and selected for the next steps. Ifthe total size of rema<strong>in</strong><strong>in</strong>g items (consider<strong>in</strong>g both the nodeand the peer shared storage spaces) is greater than S (thesize of the node’s shared storage space), items are furtherdiscrim<strong>in</strong>ated us<strong>in</strong>g the second cue, i.e. the recognitionof items. In this case the recognition assumes a negativemean<strong>in</strong>g, as recognized items (already very spread) areranked lower than the others and they are not consideredanymore. If further discrim<strong>in</strong>ation have to be carried outto fill the node’s shared storage space, the precise valueof estimated availability of items is considered, and lessavailable items are ranked higher. As for the orig<strong>in</strong>al TakeThe Best Algorithm, not all the steps are required, and thelast (and more costly) one is run only on a subset of theitems.A. The Less–is–More EffectGoldste<strong>in</strong> and Gigerenzer show that the recognitionheuristic [5] and the Take The Best algorithm are subjectto the so-called less–is–more effect [6]: When <strong>in</strong>creas<strong>in</strong>gthe number of recognized items, the number of accurate<strong>in</strong>ferences will <strong>in</strong>crease up to a certa<strong>in</strong> po<strong>in</strong>t, but thereafterdecrease. This is due to the dim<strong>in</strong>ished discrim<strong>in</strong>ation powerof the recognition heuristic, s<strong>in</strong>ce too many items are recognizedat the same time. In order to take advantage of theAlgorithm 2 Modified Take The Best Algorithm1: Let R be a set of items received from another node;2: M be the actual storage content3: Let S be the storage capacity limit4: Let C be the channel chache and O be the item cache5: Let H C and H I be the hashes of old recognized channels and items6: Let RC θ be the recognition threshold for channels7: Let RI θ be the recognition threshold for items8: Let I = R − M9: Let recChannels = ∅10: for each i ∈ I do11: if C.conta<strong>in</strong>s(i.channel) & i.channel.counter ≥ RC θ ORH C .conta<strong>in</strong>s(r) then12: recChannles ∪ = i13: end if14: end for15: Let recItems = ∅16: if recChannels.size + M.size > S then17: for each r ∈ recChannels do18: if (O.conta<strong>in</strong>s(r) & NOT r.counter ≥ RI θ ) OR NOTH I .conta<strong>in</strong>s(r) then19: recItems ∪ = r20: end if21: end for22: if recItems.size + M.size > S then23: Let M ′ = M ∪ recItems24: Rank M ′ <strong>in</strong> ascend<strong>in</strong>g order accord<strong>in</strong>g to the counters of itsitems25: Select and keep <strong>in</strong> M the first S objects of M ′26: else27: M ∪ = recItems28: end if29: else30: M ∪ = recChannels31: end ifless–is–more effect, the storage capacity of the recognitioncaches should be adapted <strong>in</strong> order to achieve the maximumaccuracy. Identify<strong>in</strong>g autonomic algorithms to adjust thiscapacity is one of the key directions of future work.VI. EXPERIMENTAL RESULTSWe evaluate the proposed algorithm by simulat<strong>in</strong>g thefollow<strong>in</strong>g scenario. We consider 45 nodes, divided <strong>in</strong>to threedifferent groups. In order to simulate real user movementpatterns, nodes move <strong>in</strong> a 4 x 4 grid (1000 m wide),accord<strong>in</strong>g to the HCMM model [3]. The HCMM modelis a mobility model that <strong>in</strong>tegrates temporal, social andspatial notions <strong>in</strong> order to obta<strong>in</strong> an accurate representationof real user movements. In the simulation scenario, groupsrepresent set of users that have social and spatial relationships.Groups are <strong>in</strong>itially assigned to a home cell and anyphysical contact among groups is avoided. Thus, the onlyway to exchange and obta<strong>in</strong> data among groups is throughnode mobility. Nodes can move <strong>in</strong> the cell of their grouponly. A few nodes <strong>in</strong> each group (named travellers) bridgebetween communities by visit<strong>in</strong>g more than one group.This model well represents social communities, <strong>in</strong> whichpeople typically stay, with a few people commut<strong>in</strong>g betweendifferent communities due to different social relationships.In the simulation sett<strong>in</strong>gs, each group has two travellers,one for each of the other groups. The objects available <strong>in</strong>the network are assigned to channels and there are as manychannels (n c ) as groups. Each channel has a total of 99objects and each group orig<strong>in</strong>ates 1/n c items per channel,i.e. there are 33 items of each channel per group. All theobjects are generated at the start of the simulation. Each

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

Saved successfully!

Ooh no, something went wrong!