04-05-2011, 03:27 PM
Abstract
Some recent studies have shown that cooperative cache can improve the system performance in wireless P2P networkssuch as ad hoc networks and mesh networks. However, all these studies are at a very high level, leaving many design andimplementation issues unanswered. In this paper, we present our design and implementation of cooperative cache in wireless P2Pnetworks, and propose solutions to find the best place to cache the data. We propose a novel asymmetric cooperative cache approach,where the data requests are transmitted to the cache layer on every node, but the data replies are only transmitted to the cache layer atthe intermediate nodes that need to cache the data. This solution not only reduces the overhead of copying data between the userspace and the kernel space, it also allows data pipelines to reduce the end-to-end delay. We also study the effects of different MAClayers, such as 802.11-based ad hoc networks and multi-interface-multichannel-based mesh networks, on the performance ofcooperative cache. Our results show that the asymmetric approach outperforms the symmetric approach in traditional 802.11-basedad hoc networks by removing most of the processing overhead. In mesh networks, the asymmetric approach can significantly reducethe data access delay compared to the symmetric approach due to data pipelines.Index Terms—Wireless networks, P2P networks, cooperative cache.
INTRODUCTION
WIRELESS P2P networks, such as ad hoc network, meshnetworks, and sensor networks, have received considerableattention due to their potential applications incivilian and military environments. For example, in abattlefield, a wireless P2P network may consist of severalcommanding officers and a group of soldiers. Each officerhas a relatively powerful data center, and the soldiers needto access the data centers to get various data such as thedetailed geographic information, enemy information, andnew commands. The neighboring soldiers tend to havesimilar missions and thus share common interests. If onesoldier has accessed a data item from the data center, it isquite possible that nearby soldiers access the same datasome time later. It will save a large amount of batterypower, bandwidth, and time if later accesses to the samedata are served by the nearby soldier who has the datainstead of the far away data center. As another example,people in the same residential area may access the Internetthrough a wireless P2P network, e.g., the Roofnet [3]. After one node downloads a MP3 audio or video file, otherpeople can get the file from this node instead of the faraway Web server.Through these examples, we can see that if nodes areable to collaborate with each other, bandwidth and powercan be saved, and delay can be reduced. Actually,cooperative caching [5], [16], [23], [24], which allows thesharing and coordination of cached data among multiplenodes, has been applied to improve the system performancein wireless P2P networks. However, these techniques [5],[16], [23], [24] are only evaluated by simulations andstudied at a very high level, leaving many design andimplementation issues unanswered.There have been several implementations of wireless adhoc routing protocols. In [22], Royer and Perkins suggestedmodifications to the existing kernel code to implementAODV. By extending ARP, Desilva and Das [7] presentedanother kernel implementation of AODV. Dynamic SourceRouting (DSR) [12] has been implemented by the Monarchproject in FreeBSD. This implementation was entirely inkernel and made extensive modifications in the kernel IPstack. In [2], Barr et al. addressed issues on system-levelsupport for ad hoc routing protocols. In [13], the authorsexplored several system issues regarding the design andimplementation of routing protocols for ad hoc networks.They found that the current operating system was insufficientfor supporting on-demand or reactive routing protocols,and presented a generic API to augment the currentrouting architecture. However, none of them has lookedinto cooperative caching in wireless P2P networks.Although cooperative cache has been implemented bymany researchers [6], [9], these implementations are in theWeb environment, and all these implementations are at thesystem level.
Download full report
http://mcn.cse.psu.edu/paper/jizhao/tpds09.pdf