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.

decision-mak<strong>in</strong>g processes [11], forecast<strong>in</strong>g future purchaseactivities [7] or even sport events results [13] or politicalelection outcomes [10].IV. THE RECOGNITION HEURISTIC FOR DATADISSEMINATION IN OPPORTUNISTIC NETWORKSTo def<strong>in</strong>e how to exploit the recognition heuristic, hereafterwe consider a scenario <strong>in</strong> which each data item perta<strong>in</strong>sto a specific channel (or <strong>in</strong>terest). Each node generatesand owns some items of possibly different channels. It is<strong>in</strong>terested <strong>in</strong> retriev<strong>in</strong>g and keep<strong>in</strong>g items belong<strong>in</strong>g to aspecific channel only. In this scenario nodes collaborativelycontribute to the diffusion of <strong>in</strong>formation by stor<strong>in</strong>g andexchang<strong>in</strong>g some of the items they discover com<strong>in</strong>g <strong>in</strong>contact with other devices, even if those items do not belongto the channel they are <strong>in</strong>terested <strong>in</strong>. We assume that nodecontribute a limited shared storage space to the diffusionprocess (whose size is throughout denoted with S). Thediffusion process happens through contacts between nodes.When two nodes come <strong>in</strong> contact, they exchange summariesof their data items. The node ranks data items stored by itselfand by the encountered peer accord<strong>in</strong>g to their utility, andupdates its storage space by stor<strong>in</strong>g the most useful itemsonly (until the storage space is full). Comput<strong>in</strong>g the utilityof items for the diffusion process is a hard (or impossible)target criterion to evaluate for a s<strong>in</strong>gle node, as it requires<strong>in</strong> general complete knowledge of the status of the network.Thus, the application of a simple, fast and effective strategysuch as the recognition heuristic can significantly reduce thecomplexity of evaluat<strong>in</strong>g this criterion.In order to exploit the recognition heuristic, the first stepis to def<strong>in</strong>e the elements upon which recognition will bemade. After that, we need to design a proper algorithmthat, start<strong>in</strong>g from the recognition heuristic, effectively filtersthe <strong>in</strong>formation, with the aim of maximiz<strong>in</strong>g the utilityof the exchange of objects among nodes. To this end, <strong>in</strong>this section we characterize the elements that allow to usethe recognition heuristic <strong>in</strong> this environment. In the nextsection, we def<strong>in</strong>e an algorithm that relies on this heuristic,a modified version from one present <strong>in</strong> the cognitive scienceliterature. The aim of this algorithm is to limit as much aspossible the use of precise attributes and complex operationsby effectively filter<strong>in</strong>g out most of the <strong>in</strong>formation us<strong>in</strong>g therecognition heuristic only.In order to use the recognition heuristic <strong>in</strong> our scenario,some steps must be followed. Specifically, we have toidentify:• the features (like the name of cities or universities <strong>in</strong> theexamples of Goldste<strong>in</strong> and Gigerenzer) that are highlycorrelated with the selection criterion and that are thusspread by the mediators;• the environmental mediators;• the way by which nodes implement the heuristic basedon the <strong>in</strong>formation collected from mediatorsAs for the first po<strong>in</strong>t, we consider two simple factors thatdeterm<strong>in</strong>e the utility of a data item, i.e., the popularity of itschannel, and its availability (these factors have always beenconsidered as fundamental <strong>in</strong> the data management literature,start<strong>in</strong>g from the area of web cach<strong>in</strong>g [1]. Specifically,the utility of a data items is positively correlated with thepopularity of its channel (how many users are <strong>in</strong>terested<strong>in</strong> that item), and negatively correlated with its availability(how many times that item is already replicated).As for the second po<strong>in</strong>t, we use nodes themselves asmediators, while the variables they spread are, respectively,the channel they are <strong>in</strong>terested <strong>in</strong>to, and the set of items theyare currently stor<strong>in</strong>g <strong>in</strong> their shared storage space.As for the third po<strong>in</strong>t, the bottoml<strong>in</strong>e idea is to use tworecognition heuristics to separately recognize channels anddata items. Intuitively, a node recognizes a channel as soonas it becomes “enough popular”, i.e., as soon as the nodeencounters enough nodes that are <strong>in</strong>terested <strong>in</strong> that channel.Furthermore, a node recognizes a data item it is “spreadenough”, i.e., as soon as it is encountered on at least agiven number of other nodes. This approach is very similarto what is referred to as <strong>in</strong>ference-from-memory <strong>in</strong> [5]. Morespecifically, each node ma<strong>in</strong>ta<strong>in</strong>s a separate recognitioncache for channels and data items. Entries of the cachecorrespond to channels of <strong>in</strong>terest for or data items carriedby encountered nodes, respectively. Each entry conta<strong>in</strong>s acounter and a TTL associated with the channel or data item.Whenever a node <strong>in</strong>terested <strong>in</strong> a channel (or stor<strong>in</strong>g a dataitem) is encountered, the associated counter is <strong>in</strong>crementedand the TTL reset. When the counter reaches a certa<strong>in</strong>threshold, the correspond<strong>in</strong>g channel or data item is deemedas recognized. Furthermore, the TTL is <strong>in</strong>cremented at eachtime slot. When the cache becomes full and replacementmust occur, the entry with the highest TTL is selected forreplacement. If it corresponds to a recognized channel (ordata item), this entry is stored <strong>in</strong> a Bloom filter. Otherwise,it is dropped. The complete recognition algorithm is shown<strong>in</strong> Algorithm 1.Intuitively the algorithm keeps track of encountered channelsor data items until they are recognized. When the cacheis empty, the entry correspond<strong>in</strong>g to the least recently seenobject is selected. Bloom filters allow nodes to dist<strong>in</strong>guish,among entries that are not <strong>in</strong> the cache, those that correspondto recognized items (stored <strong>in</strong> the Bloom filter), and notrecognized items. This is important <strong>in</strong> case such items areencountered aga<strong>in</strong>, as, if they are <strong>in</strong> the Bloom filter, they canbe immediately recognized aga<strong>in</strong>. Note that this algorithmmimics the way <strong>in</strong> which the human bra<strong>in</strong> refreshes, flushesand recalls “items” <strong>in</strong> memory.V. A MODIFIED Take The Best ALGORITHM FOROPPORTUNISTIC NETWORKSHav<strong>in</strong>g described how to implement heuristics, we nowpresent an algorithm that exploit them <strong>in</strong> the data dissem<strong>in</strong>ationprocess. Also <strong>in</strong> this case, we take <strong>in</strong>spiration from thecognitive psychology literature [6]. The algorithm def<strong>in</strong>ed<strong>in</strong> [6] (named Take the Best) mimics a fast and frugal wayof reason<strong>in</strong>g for choos<strong>in</strong>g among two alternatives. The goalof the algorithm is compar<strong>in</strong>g two objects. To this end,objects are tested aga<strong>in</strong>st an ordered set of cues, stopp<strong>in</strong>gat the first (best) cue that discrim<strong>in</strong>ates among them. Whennone of the cues can discrim<strong>in</strong>ate, the algorithm choosesby some additional discrim<strong>in</strong>at<strong>in</strong>g criterion, which usuallyrequires much more complex <strong>in</strong>formation to be evaluated

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

Saved successfully!

Ooh no, something went wrong!