2011 IEEE 17th International Conference on Parallel and Distributed Systems

Gossip-based Cooperative Caching for Mobile Phone Games in IMANETs Xiaopeng Fan1, Jiannong Cao2, Yunhuai Liu1, Yaobin He1 1. Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences, China {xp.fan, yunhuai, yb.he}@siat.ac.cn 2. Department of Computing, Hong Kong Polytechnic University, Kowloon, Hong Kong [email protected] freely so that disconnections may occur frequently. Once networks partition, mobile nodes in one partition cannot access the data items cached in another partition. Data accessibility in IMANETs is much lower than that in the conventional fixed networks.

Abstract—Cooperative caching is an efficient way to improve the performance of data access in mobile wireless networks, by cache nodes cooperatively caching copies of data items in their limited storage. With more demands on sharing a video or other data, especially for mobile phone games in an Internet-based Mobile Ad Hoc Network, the relations among data items become much more important than before. However, most of the existing works do not consider inherent relations among these data items. In this paper, we present a novel solution, Gossip-based Cooperative Caching (GosCC), to address the cache placement problem, considering the sequential relation among data items. Each mobile node stores the IDs of data items cached locally and the ID of the data item in use into its progress report. Each mobile node also makes use of these progress reports to determine whether a data item should be cached locally. These progress reports are propagated within the network in a gossip-based way. To improve user experience, GosCC aims to provide users with an uninterrupted data access service. Simulation results show that GosCC achieves better performance than the best one of the existing solutions, Benefit-based Data Caching, in terms of average interruption intervals and average interruption times, while sacrificing message cost to a certain degree.

Mobile users may cache data items in a cooperative way to improve the efficiency of data access. Cooperative caching [2] [3] has bee proved as a very efficient way to improve the performance of data access. A typical strategy in cooperative caching works as follows. Data sources transfer some data copies to some nodes called cache nodes. Each cache node selects a subset of data items to cache due to its limited cache size. Other nodes can access data items from cache nodes instead of data sources. Consequently, access delay can be decreased because of the service provided by these cache nodes. With more demands on sharing a video or other data in IMANETs, the relations among data items becomes more important than before. The reason is user experience depends heavily on these relations. For example, mobile phone game users are more concerned about game smoothness when playing the same game. However, existing works on cooperative caching [2] [3] [4] [5] [6] [7] [8] [9] [10] do not consider inherent relations among these data items. If these relations can be considered in cooperative caching, user experience will be improved much but this requires users with more cooperation.

Keywords-cooperatie caching; data relation; cache placement, gossip-based

I.

INTRODUCTION

In Internet-based Mobile Ad Hoc Networks (IMANETs) [1], mobile users can access the Internet through multi-hop communications, without requiring infrastructure in the users’ proximity. An IMANET combines a Mobile Ad Hoc Network (MANET) with the Internet to provide universal information accessibility. With the appearance of more and more mobile phone games, there is a great demand for sharing game data among multiple players. For example, most of the games in Apple AppStore or Android Market are with a multiplayer mode for the users to play these games together. These users can be connected by Bluetooth, Wifi, or 3G etc and act as different data sources.

Additionally, most of the existing works aim to minimize total access delay. New metrics on user experience should be different from the ones in these previous works. We define two new metrics: 1) Average Interruption Intervals (AII) and 2) Average Interruption Times (AIT). As we all know, access delay is defined as the interval between the time when a user sends its data request out and the time when it receives the reply. Interruption interval means the interval between the time when a user finishes using one data item and the time when it begins to uses the next one. If a user fetches the next one from its own cache, there will be with zero delay and a user do not care about how long the data item is fetched and where the data item comes from. Therefore, existing solutions cannot optimize total interruption intervals. In this paper, Average Interruption Intervals, the average of interruption intervals over all nodes, and Average Interruption Times, the average of interruption times when mobile users use all the data items, are two new

However, it is still challenging to improve data access efficiency in IMANETs. First, wireless networks are notorious for the scarcity of communication bandwidth and other resources. Thus mobile nodes cannot transmit too many packets for communication. Moreover, due to the limited size of cache space, mobile nodes cannot cache locally all the frequently accessed data items. Second, mobile nodes move * This research is partially supported by Hong Kong RGC under the GRF grant PolyU5106/10E and Nokia Research Lab (Beijing) under the grant HZG19. This work is also partially supported by the National S&T Major Project of China under No.2009ZX03006-001ˈthe Shenzhen New Industry Development Fund under the grant CXB201005250021A and the National High Technology Research and Development Program of China (863) under the grant 2011AA010500. The authors would like to thank Dr. Bin Tang for providing us with BDC simulation code.

1521-9097/11 $26.00 © 2011 IEEE DOI 10.1109/ICPADS.2011.65

465

metrics to evaluate the performance of cooperative caching for mobile phone games in IMANETs.

at each node. CachePath caches the path to the nearest cache of the passing-by data item. HybridCache caches the data item if its size is small enough, else caches the paths to the data item. These three schemes are efficient schemes. However, the only consideration is that CachePath depends on the modification of routing protocols and sometimes the node which modified the route should reroute the request to the original data source.

In this paper, we propose a solution to the cache placement problem under the case that mobile users access all the data items in a sequential order. Our objective is to minimize total interruption intervals for all the mobile users across all the data items. We name the proposed strategy as Gossip-based Cooperative Caching (GosCC). The information about progress reports and cache contents is exchanged by gossiping [12] [13] [14] [15], which is a suitable way to disseminate information in IMANETs. Our caching decision is based on the information above and constrained by the limited cache sizes at mobile nodes. GosCC have the three advantages: 1) the proposed strategy is reliable in a mobile wireless environment with a probabilistic reliability model; 2) GosCC implements cooperative caching in a randomized way with load balancing; and 3) GosCC is independent to mobility models.

Thirdly, the global schemes consider the impact of the benefit on the whole system when a node intends to evaluate the result of its caching decision. Tang et al. present the Benefit-based Data Caching (BDC) scheme [3] in order to maximize the benefit (i.e., the reduction in total access cost) instead of minimizing total access cost. To the best of our knowledge, it is the best solution that presents approximation algorithms for the cache placement problem for sharing multiple data items under memory constraints. However, BDC has similar performance compared with other schemes in mobile environments, and it cannot determine the value of the benefit threshold in the distribution version. Moreover, data servers periodically broadcast to the entire network the latest cache list, which results in much message cost.

The rest of the paper is organized as follows: Section 2 discusses the related works. Section 3 describes the system model and the problem formulation. In Section 4, we present the design of our algorithms. In Section 5, we make a theoretical analysis on the parameters in GosCC. Simulation results are reported in Section 6. Finally, Section 7 concludes this paper. II.

III.

PROBLEM FORMULATION

A. System Model Let G(V, E) be a graph representing an IMANET with n (n=|V|) nodes, V={MN1, MN2,..., MNn}. MNi is the i-th mobile node. Two mobile nodes communicate directly with each other, which is represented by an edge on the graph. Mobile users aim to access m data items D={d1, d2, ..., dm} by following the sequential order from d1 to dm, such as the segmentations in a video file or a series of data items with timestamps. Let Sd be the size of each data item. Let S be the size of the cache at each node. Each data item is maintained by its data source, such as a gateway node (GW) or a game player. We define SRi as the data source of di. We assume that gateway nodes always maintain the most updated copies of data items they cached from the Internet.

RELATED WORK

The problem of caching placement has been widely studied in the context of wireless networks. In this paper, we mainly focus on the cache placement problem for sharing multiple data items in mobile wireless networks. Existing solutions can be categorized into three categories, including the selfish schemes, the cooperative schemes and the global schemes. Firstly, the selfish schemes make nodes cache data items only by their own preferences. Hara [8] proposes the Static Access Frequency scheme (SAF) that makes each node cache the items most frequently accessed by self. Yin and Cao [9] proposes the Greedy Scheme that considers the impact of the access frequencies and the sizes of data items on the caching decision. Data items with higher access frequencies and smaller sizes are preferred to be cached. Under such schemes, the performance is even worse when there are fewer client nodes and access frequencies are uniform for all the nodes.

B. Problem Formulation Our objective is to determine what data items should be cached at which mobile nodes so that total interruption intervals are minimized. We name the proposed problem as the Sequential Relation Cache Placement problem (SRCP). The interruption interval for data item dj at MNi is defined as the interval t(i,j) between the time when MNi finishes using the data item dj-1, and the time when MNi begins to use the data item dj. As we mentioned in the Introduction, we consider user experience as our major concern after we introduce the sequential data relation into cooperative caching.

Secondly, cooperative schemes consider the requirements from both self and other nodes. Hara [8] presents the Dynamic Access Frequency and Neighborhood scheme that eliminates the replica duplication among neighboring mobile hosts in order to improve SAF. Dynamic Connectivity based Grouping (DCG) is the third cooperative caching schemes proposed in [9]. DCG aims at sharing replicas in larger group of mobile hosts than DAFN that shares replicas among neighboring nodes. However, it is not easy to find stable nodes to act as “central nodes” in order to collect neighboring information and determine caching placements, when there are frequent failures and movements in an IMANET. This is with the same problem as the one in One-To-One Optimization (OTOO) [9] and Reliable Neighbor Scheme (RN) [9]. Yin and Cao [2] proposes three distributed caching schemes, viz. CacheData, CachePath, and HybridCache. CacheData caches the passing-by data items

SRCP is subjected to limited cache sizes at individual nodes. The cache placement problem is to select a set of sets of cache nodes M={M1, M2, M3, ..., Mm}, where each mobile node in Mj stores a copy of dj, to minimize total interruption intervals T(G,M) as follows: n

m

T (G, M ) = ¦¦ t (i, j ) i =1 j =1

466

(1)

s.t. |{Mj|ięMj}|̰ ¬« S S d ¼» ,

timestamp to show the latest updated version. Each mobile node is only allowed to updates its own current data item in P_DIGEST. To control redundant gossip messages, each gossip report should not be forwarded less than a specific gossiping rounds R, i.e., each report is gossiped only for R rounds at most. We will discuss these parameters in Section 5.

where MNi appears at most S sets of M. We aim to minimize total interruption intervals by making mobile nodes access all the data items at local cache as more as possible. But mobile nodes also need to consider the progresses of other nodes using data items and cooperate with each other, in order to reduce the probability that one mobile node cannot access the data items continuously, i.e., the process of using data items is interrupted. In SRCP, t(i,j) is related to two parameters: the data item size Sd and the speed of mobile user consumes data items vu. Let tmax be the maximum access delay for fetching a data item. t(i,j) will be zero if mobile node MNi fetches data item dj by following Eq.2.

S ≥ Sd ≥ vu × tmax

(2)

SRCP is a special case of the cache placement problem [16], which is known NP-hard. We consider the uniform-length data items in SRCP and the cache placement problem with uniform-length data items is proved to be MAXSNP-hard [16]. IV.

Figure 1. Gossip Report

Rule 1: The next data item to be used by a mobile node is always the most important one.

.GosCC applies the Buffering-Next Scheme (BNS) to make interruption intervals as less as possible. BNS is designed for collecting the set of data items in the buffer window of a mobile node in a timely way. Data item dj at mobile node MNi is assigned with a priority index, p(i,j). If the data item dj is the next data item in the buffer window of MNi, we set the priority index p(i,j) as 1; If the data item dj is not the next one but in the buffer window of MNi, we set the priority index p(i,j) as 2. If the data item dj is not in the buffer window of MNi, we set the priority index p(i,j) as 3. In BNS, each mobile node detects its progress periodically and sends the “active” cache requests with the corresponding priorities. The maximum number of cache requests in one round cannot reach the maximum number of data items in its available cache size.

GOSSIP-BASED COOPERATIVE CACHING

In this section, we firstly propose three heuristic rules for SRCP. Next we describe GosCC in detail with the key data structures and the proposed algorithm.

A. Three Heuristic Rules in SRCP Our three heuristic rules are based on our objective to reduce total interruption intervals as more as possible. Before we explain the details of the three heuristic rules, there are three terms to be defined clearly. The first term is the parameter “Buffer Window” (BW), which is defined as the number of the cached data items that consists of an array of data items continuously following the current data item using by mobile users.

Rule 2: When there are still available spaces to cache more data items, mobile nodes investigate the progress digest and sends cache requests for the most popular data item in the future.

The second term is “Gossip Report” (GR). In GosCC, we apply gossiping as the style of exchanging the caching information among mobile nodes. There are two kinds of the digests in a GR, including the cache digest and the progress digest. The cache digest describes the cache content in a mobile node. Let C_DIGEST(i, t) be the cache digest of MNi at time t. C_DIGEST(i,t) is composed of a vector with m bits. The jth bit denotes whether dj is cached at MNi or not. The progress digest is described as follows. Let P_DIGEST(i,t) be the progress digest of MNi at time t in a GR. P_DIGEST(i,t) consists of n data IDs and the corresponding timestamps. The kth data ID is the current data ID used by mobile node MNk, known by MNi at time t. The detailed structure of a gossip report is described in Fig. 1 as follows.

In GosCC, the progress digest can provide mobile nodes with the global overview on the progresses of all the mobile nodes using data items. MNi checks the progress digest in the latest gossip report received. If the data item dj is with the maximum times in appearance and there are still available space at MNi, MNi sends a cache request for data item dj+BW to the corresponding closest cache node. Rule 3: When cache replacement is required, each data item with its ID smaller than the minimum data ID in the progress digest should be replaced.

Once MNi receives a gossip report from MNj, MNi updates the progress digest and forwards the report to randomly selected mobile nodes if the report is still in its life time. MNi also checks its own cache content. If MNi finds that there are some data items that are smaller than the minimum data ID in the received progress report, MNi replace these data items from its own cache. These data items are useless because MNi knows the progress of the “slowest” mobile node.

The third term is the “fanout” of gossiping fi, which is defined as the number of gossiping targets for MNi. In GosCC, each mobile node periodically gossips its own gossip reports to fi randomly selected nodes. In C_DIGEST, MNi describes its own cache content to other nodes such that other mobile nodes can send their data requests to the closest cache node for data items. In P_DIGEST, MNi just stores the IDs of the data item that is used now by all the nodes and each ID is with a

467

In a gossip report, there are two important data item IDs. One is the maximum one MAX_ID, and the other is the minimum one, MIN_ID. A mobile node with higher current data ID means that the node consumes the data items with a higher speed and vice versa. Let VAR_RANGE be the variation range of a progress digest. It can be obtained by Eq. 3. VAR _ RANGE = MAX _ ID − MIN _ ID

should be smaller than the maximum number of data items that Algorithm 1: Gossip-based Cooperative Caching Algorithm SETTING: A Network Graph G(V,E) and a data set D with m data items. BEGIN Every Tg second, MNi sends GossipReport(MNi,TS,GR) to fi gossiping targets randomly selected from all the mobile nodes.

(3)

The best case for VAR_RANGE is zero. This means that the only data item that all mobile nodes should cache is the next one. On the other hand, if the variation range is very large (VAR_RANGE
Every Tr seconds, MNi sends CacheRequest to the corresponding mobile nodes by following the priority order. On receiving GossipReport(MNj,TS,GR) If MNi is the destination and receives GossipReport(MNj,TS,GR) for the first time, MNi updates ClosestCacheTable from C_DIGEST and updates its ProgressTable from P_DIGEST. MNi increases the round counter RC in GR by one. If the RC THr and MNi holds any copy of the data items in the buffer window of the mobile node with MIN_ID in P_DIGEST, MNi sends a CacheReply(MNi, dk) to the node. If x is the data ID that with the maximum times in appearance in P_DIGEST and there is still available space, MNi sends a CacheRequest message to its closest cache node.

B. Gossip-based Cooperative Caching GosCC is formed of two components: key data structures and the detailed algorithm and the procedures are described in Algorithm 1. 1) Key Data Structures Closest Cache Tables are the most important data structure in GosCC. Mobile node MNi maintains the closest cache node MNj that has a copy of the data item dk for each data item dk in the network. MNi also maintains a closest_cache table, where an entry in the closest_cache table is of the form (dk, MNj) where MNj is the closest cache node that has the copy of dk, known by MNi. Note that if MNi is the data source or has cached dk, MNi is the closest cache node for dk.

On receiving CacheRequest(MNj, ID) If MNi is the destination and the copy of ID is in its cache, MNi sends CacheReply to MNj. If MNi is not the destination but the copy of ID is in its cache, MNi sends CacheReply to MNj and discards CacheRequest. Else MNi forwards CacheRequest to the next hop.

Progress Tables are another major data structure maintained by each mobile node. In the progress table, mobile node MNi stores the progress information for other mobile nodes when MNi receives a progress digest from other nodes. An entry in the progress table is of the form (MNi, Current_ID, Timestamp).

On receiving CacheReply(MNj, dk) If MNi is the requestor, MNi updates its ClosestCacheTable and stores dk locally if there are available spaces. If there is no space, MNi replaces data items by following our cache placement strategy. If MNi is not the requestor but dk is in request, MNi caches it locally and forwards DataReply to the next hop.

2) GosCC Algorithm GosCC is mainly composed of three procedures: gossiping, sending cache requests, and cache replacement. The details are described as follows.

can be cached in the available cache size. Once MNi receives GossipReport(MNj,TS,GR) from MNj, there are two operations. Firstly, MNi calculates the variation range and checks whether VAR_RANGE is greater than THr or not. If the answer is yes, MNi selects the mobile node MNj with MIN_ID as the target to help. If MNi holds the copy of the next data item that MNj maybe requires, MNi sends a CacheReply message with the data item dk to MNj. Secondly, MNj checks the progress digest in GossipReport(MNj,TS,GR). If the data item dj is with the maximum times in appearance and there are still available spaces at MNj, MNj sends a CacheRequest message for data item di+BW to its closest cache node.

Every Tg seconds, MNi builds up a GossipReport(MNi,TS,GR) message, where TS is the timestamp and GR is its current gossip report. MNi selects fi mobile nodes as its gossiping targets and send the GossipReport(MNi,TS,GR) message to these targets. The fanout fi follows the Poisson distribution [17] [18]. If MNj is one of the MNi’s gossiping targets, MNj receives GossipReport(MNi,TS,GR), and updates its ClosestCacheTable and ProgressTable. If the attached round counter in GR is smaller than the maximum round R, MNj forwards the GossipReport(MNi,TS,GR) to fj gossiping targets. The gossip operation does not finish until the round counter in the GR is equal or greater than R.

When the cache space is full and there are still another data item needs to be cached at MNi, MNi removes all the data items with their IDs smaller than MIN_ID in its progress table. If there are no such data items, MNi just remove the data items with the oldest timestamp.

Every Tr seconds, mobile node MNi carries out BNS and builds up several CacheRequest messages and sends them to the corresponding closest cache nodes from MNi’s ClosestCacheTable. The maximum number of cache requests

468

V.

PARAMETER ANALYSIS

Rg = 1 − e

In this section, we provide the analysis work for the parameters in GosCC. Firstly, we make a brief introduction to the Gossiping-based Algorithms (GAs) and point out the key parameters. Secondly, we focus on two problems in GosCC: 1) how much percentage of mobile nodes can eventually receive a gossip message; and 2) how long a gossip message can be propagated to all the mobile nodes. Thirdly, we evaluate the probability that a Use-in-Time event happens, i.e., the probability that a data item can be accessed from the local cache when it is in need.

− fRg

(4)

To explain the relation between Rg and f, we can transform Eq. 4 to Eq. 5. f = ln(1/(1 − Rg )) Rg

(5)

As Fig.2 shows, we increase the value of the mean fanout f so that we improve the reliability of gossiping Rg dramatically. It is necessary to increase the mean fanout to a much greater value, like 10, so that we can make the reliability to reach 99.99% [17]. However, the message cost should also be considered to balance the tradeoff.

Gossip-based Algorithms, i.e., epidemic algorithms, are well examined in the recent years [19]. Such an algorithm is considered as a potentially effective solution for disseminating information in large-scale systems [18] [19]. Gossip-based Algorithms mimic the spread of a contagious disease. In addition to their inherent scalability, gossip-based algorithms are easy to deploy, robust, and resilient to failures. It is possible to adjust the parameters of a gossip-based algorithm to achieve high reliability despite process crashes and disconnections, packet losses, and a dynamic network topology [20] [21]. Gossiping [12] [13] [14] [15] is well matched to the needs of ad hoc networks because it is a controlled form of flooding, i.e., messages are propagated through the whole network without congesting the wireless medium. Gossiping is also independent of network topology. Gossip-based multicast protocols rely on a peer-to-peer interaction model for multicasting a message, and they are scalable since the load is distributed among all participating nodes. Redundant messages are used to achieve reliability and fault tolerance.

Relation between Reliability and Mean Fanout 3.5 3

Mean Fanout f

2.5 2 1.5 1 0.5 0 0

0.1

0.2

0.3 0.4 0.5 0.6 0.7 Reliability of Gossiping Rg

0.8

0.9

1

Figure 2. Relation between gossiping reliability S and fanout f

The second problem is about the latency of infection, which evaluates the speed of gossiping. Bella [23] shows that the number of necessary rounds R to infect all of the nodes can be obtained as Eq.6 shows.

In our analysis, we apply the infect-and-die model [22] [23]. Each node gossips the same gossip message exactly once, i.e., each node forwards the gossip message to its gossiping targets only for the first time when receiving the gossip message, even if the node maybe receives the copies of the message from other nodes again.

R = ln(n) / ln(ln(n)) + O(1)

(6)

However, the result from Eq. 6 is only the theoretical result. In practice, every intermediate node on the path from the sender to the receiver may know the content of the gossip message. We only consider R in Eq. 6 as an upper bound. As Fig.3 shows, the necessary round R for 100 nodes is almost 3.

The fact that a healthy person is infected by an infectious means a mobile node receives a gossip message from other nodes successfully. Basically, each node forwards the gossip message with a limited number of times R. Each node forwards the gossip message each time to a randomly selected set of mobile nodes of limited size f, the mean fanout of the dissemination. To simplify our analysis, the fanout f is the expectation of a Poisson distribution Po(f) [17] [18].

6

Necessary Rounds R

5

In this model, we mainly focus on two problems. The first one is what the proportion of mobile nodes eventually receiving a gossip message is, i.e., the reliability of gossiping. The second one is how long a gossip message can be propagated to all the mobile nodes, i.e., how many rounds R is required to make all nodes receive a gossip message.

4

3

2

1

In the first problem, let m be a gossip message and let Rg be the proportion of mobile nodes that received m after one execution of our gossiping algorithm, i.e., the probability that the message m can be received by a mobile node after one execution of our gossiping algorithm. It has been proved that Rg can be calculated from the following equation [17] [18].

0 0

1

2 3 4 5 Number of Nodes in Gossiping log10(n)

6

7

Figure 3. Relation between rounds R and number of nodes n

Next, we evaluate the probability that a Use-in-Time event happens. Let dk be one of the data items. We define the event UIT(dk, MNi) as the Use-in-Time event that MNi uses the data

469

item dk without any interruption interval. Let td be the consuming time for a mobile node uses a data item. Let vu be the speed of mobile user consumes data items. Therefore the consuming time td can be calculated by Sd/vu.

(4) Performance Metrics Three metrics are used for comparison in terms of average interruption intervals, average interruption times, and caching overheads. Average Interruption Interval and Average Interruption Times have been defined in the Introduction. Caching overheads includes all of the packets in our caching system, viz., data requests, data replies, and other messages for caching systems. Note that these packets do not include routing packets because the two strategies use the same routing protocol DSDV.

The interruption interval t(i,j) is zero if MNi accesses data item dj from its own cache. If dj is not in the local cache, MNi is required to obtain the copy from other nodes, including the data source SRj. Let h be the average length of the shortest path from MNi to the closest cache node that holds the copy of dj. We assume that each hop delay is the same and denoted by thop. But the precondition for a successful retrieval is that each mobile node knows the cache content of other nodes. This is guaranteed by Rg in probabilistic way. Therefore, total interruption intervals T(G,M) can be calculated as follows: n

B. Simulation Results In this subsection, we present the simulation results comparing two caching strategies, viz. BDC and GosCC under the same data access pattern, and study the impacts of various values on performance metrics.

m

T (G, M ) = ¦¦ (1 − P(UIT (d j , MN i ))) × thop × h × Rg

(7)

i =1 j =1

(1) Varying Data Item Size Sd VI.

In Fig.4, Fig.5 and Fig.6, we vary the data item size from 1000 bytes to 8000 bytes while keeping total cache size as 750k bytes, the maximum speed vmax as 2.0m/s and the consuming data speed vu as 400 bytes per second. We observe that GosCC outperforms BDC in terms of average interruption intervals and average interruption times. However, the message cost is higher than BDC. The simulation results show the reliability of gossiping depends on redundant messages.

SIMULATIONS

Our simulations are carried out by making use of the NS2 simulator [24]. The NS2 simulator contains different models for routing protocols in common ad hoc networks, IEEE Standard 802.11 MAC layer protocol, and two-way ground reflection propagation models [25]. The DSDV routing protocol [26] is used in our work to provide routing services. A. Simulation Setting (1) Network Setup

45

Average Interruption Intervals (s)

40

We simulated GosCC and BDC on a network of 100 mobile nodes in an area of 2000x500m2. Mobile nodes move based on the random waypoint model [25] in NS2. In this model, each node selects a random destination and moves towards the destination with a speed selected randomly from (0m/s, vmaxm/s). After the node reaches its destination, it pauses for a period of time (100 seconds in our simulation) and repeat the movement pattern. There are 1000 data items with the same size as 1000 bytes. We setup two randomly placed data sources (servers) S0 and S1 as the gateway nodes, where S0 maintains the data items with even IDs and S1 maintains the ones with odd IDs.

BDC GosCC

35 30 25 20 15 10 5 0 1

2

3

4 5 6 Data Item Size (KBytes)

7

8

Figure 4. Average interruption interval vs. Data item size

(2) Client Query Model

80

Each mobile node is a client node and sends out a stream of http requests by following the sequential order of data items from d1 to d1000. Once a mobile node receives an http reply or obtains the requested data from passing-by reply messages, the mobile node makes the schedule for requesting the next data item, according to the size of data item and the consuming data speed of mobile nodes vu. We count the interruption interval for each data item and sum them up the total interruption intervals.

Average Interruption Times

70 60 BDC GosCC

50 40 30 20 10

(3) Data Access Pattern

0 1

Each data item should be accessed successfully by local cache or from other nodes’ reply. Otherwise, the mobile node will wait for the requested data item until it obtains the data item. In our simulation, each mobile node accesses the 1000 data items by following the sequential order from 1 to 1000.

2

3

4 5 6 Data Item Size (KBytes)

7

Figure 5. Caching overheads vs. Data item size

470

8

4.5

6.5

4

6 5.5 4

Caching Overheads (10 )

Caching Overheads

3.5 BDC GosCC

3 2.5 2 1.5

5 4.5

BDC GosCC

4 3.5 3

1

2.5 0.5 1

2

3

4 5 6 Data Item Size (KBytes)

7

8

2 0.1

0.2

0.3

0.4 0.5 0.6 0.7 0.8 Consuming Data Speed (KB/s)

0.9

1

Figure 6. Average interruption times vs. Data item size Figure 9. Average interruption times vs. Consuming data speed

(2) Varying Consuming Data Speed vu (3) Varying Maximum Speed vmax In Fig.10, Fig.11 and Fig.12, we vary the maximum speed vmax from 2 to 20m/s in our data access pattern while keeping the cache size as 75k bytes, and the consuming data speed as 400 bytes per second. We observe that GosCC outperforms BDC in terms of average interruption intervals and average interruption times. But caching overheads of GosCC are worse than that of BDC.

40

9

35

8

Average Interruption Intervals (s)

Average Interruption Intervals (s)

In Fig.7, Fig.8 and Fig.9, we vary the consuming data speed vu from 100 to 1000 bytes per second in our sequential access pattern while keeping the cache size as 75k bytes, and the maximum speed vmax as 2.0m/s. We observe that GosCC outperforms BDC in terms of average interruption intervals, average interruption times and caching overheads. The simulation results show the performance of GosCC is stable and almost independent to the consuming data speed.

30 BDC GosCC

25 20 15 10 5 0 0.1

0.2

0.3

0.4 0.5 0.6 0.7 0.8 Consuming Data Speed (KB/s)

0.9

5 4 3 2

0 2

1

180

80

160

70

140 120 100 80 BDC GosCC

60

4

6

8 10 12 14 Maximum Speed (m/s)

16

18

20

Figure 10. Average interruption interval vs. Maximum speed

Average Interruption Times

Average Interruption Times (s)

6

1

Figure 7. Average interruption interval vs. Consuming data speed

40

60 BDC GosCC

50 40 30 20 10

20 0 0.1

BDC GosCC

7

0.2

0.3

0.4 0.5 0.6 0.7 0.8 Consuming Data Speed (KB/s)

0.9

0 2

1

4

6

8 10 12 14 Maximum Speed (m/s)

16

18

Figure 11. Caching overheads vs. Maximum speed

Figure 8. Caching overheads vs. Consuming data speed

471

20

5

[3]

4.5

Caching Overheads (104)

4

[4] BDC GosCC

3.5 3

[5]

2.5 2

[6]

1.5

[7]

1 0.5 2

4

6

8 10 12 14 Maximum Speed (m/s)

16

18

20

[8]

Figure 12. Average interruption times vs. Maximum speed

[9]

In summary, simulation results show that GosCC achieves much better performance than BDC in terms of average interruption intervals, average interruption times. However, the message cost is normally greater than that of BDC. The reasons are explained as follows. Firstly, we consider the sequential relation among data items so that GosCC is much “smarter” than other cooperative caching strategies. The progresses of mobile users using data items play an important role in making caching decisions. The global view of the progress information is propagated throughout the whole network in a timely way. Secondly, redundant messages in gossiping provide reliability at the cost of message overheads. This will be one of our future works to control redundant messages in a more grained way.

[10]

[11]

[12]

[13]

[14]

VII. CONCLUSIONS [15]

In this paper, we first define the Sequential Relation Cache Placement problem (SRCP) and our objective is to minimize total interruption intervals. SRCP is much different from the traditional cache placement problem, in the way that we take user experience into our consideration. To increase the probability that mobile nodes access data item in their local caches, we present Gossip-based Cooperative Caching to make mobile nodes exchange their information on cache contents and the progress of using data in a gossip-based way. We introduce three heuristic rules to minimize total interruption intervals. In our simulations, we evaluate GosCC in IMANETs with various settings, in terms of average interruption intervals, average interruption times, and caching overheads. The results demonstrate that GosCC outperform BDC. GosCC is with stable performance and suitable for a mobile wireless environment.

[16]

[17] [18]

[19]

[20]

[21]

REFERENCES [1]

[2]

[22] [23]

M.S. Corson, J.P. Macker, G.H. Cirincione, “Internet-Based Mobile Ad Hoc Networking,” IEEE Internet Computing, July-August 1999, pp. 6370. L. Yin and G. Cao, “Supporting Cooperative Caching in Ad Hoc Networks,” IEEE Transactions on Mobile Computing, Vol. 5, No. 1, pp. 77-89, January, 2006.

[24] [25]

[26]

472

B. Tang, H. Gupta and S. Das, “Benefit-based Data Caching in Ad Hoc Networks,” In Proc. of ICNP, Santa Barbara, California, November 2006. M. Fiore, F. Mininni, C. Casetti, and C. Chiasserini, “To Cache or not to Cache,” In Proceeding of IEEE International Conference on Computer Communications, 2009. Y. Du, S. Gupta, G. Varsamopoulos, “Improving On-demand Data Access Efficiency in MANETs with Cooperative Caching”, Elsevier Ad Hoc Networks, pp. 579-598, 2009. C. Chow, H. Leong, A. Chan, “GroCaca: Group-based Peer-to-Peer Cooperative Caching in Mobile Environments”, IEEE Journal on Selected Areas in Communications, Vol. 25, No. 1, January 2007. M. Taghizadeh, A. Plummer and S. Bisws, “Cooperative Caching for Improving Availability in Social Wireless Networks”, In Proc. of MASS, 2010. T. Hara, “Effective Replica Allocation in Ad Hoc Networks for Improving Data Accessibility,” In Proc. of INFOCOM, 2001. L. Yin and G. Cao, “Balancing the Tradeoffs between Data Accessibility and Query Delay in Ad Hoc Network,” In Proc. of SRDS, 2004. Y. Ma and A. Jamalipour, “A Cooperative Cache-based Content Delivery Framework for Intermittently Connected Mobile Ad Hoc Networks,” IEEE Transactions on Wireless Communications, Vol. 9, No. 1, January 2010. Y. Lin, W. Lai, and J. Chen, “Effects of Cache Mechanism on Wireless Data Access,” IEEE Transactions on Wireless Communications, Vol. 2, No. 6, November 2003. A.J. Demers, D.H. Greene, C. Hauser, W. Irish, J. Larson, S. Shenker, H. Sturgis, D. Swinehart, and D. Terry, “Epidemic Algorithms for Replicated Database Maintenance,” In Proc. of PODC, pp. 1-12, Aug. 1987. R. Renesse, Y. Minsky, and M. Hayden, “A Gossip-Style Failure Detection Service”, In Proc. of IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing, 1998. K. Birman, M. Hayden, O. Ozkasap, Z. Xiao, M. Budiu, and Y. Minsky, “Bimodal Multicast”, ACM Transactions on Computer Systems, Vol. 17, No. 2, pp 41-88, May, 1999. A.-M. Kermarrec, L. Massoulie´, and A.J. Ganesh, “Probabilistic Reliable Dissemination in Large-Scale Systems”, IEEE Trans. Parallel and Distributed Systems, VOL. 14, NO. 3, March, 2003. I. Baev and R. Rajaraman, “Approximation Algorithms for Data Placement in Arbitrary Networks,” In Proc. of ACM-SIAM Symposium Discrete Algorithms (SODA ’01), 2001. X. Fan, J. Cao, W. Wu, and M. Raynal, “On Modeling Fault Tolerance of Gossip-Based Reliable Multicast Protocols,” In Proc. of ICPP, 2008. M. Newman, S. Strogatz, and D. Watts, “Random graphs with arbitrary degree distributions and their applications”, Phys. Rev. E 64, 026118 (2001). P. Euqster, R. Guerraoui, A. Kermarrec and L. Massoulieacute, “Epedimic Information Dissemination in Distributed System,” IEEE Computer, Vol. 37, No 5, May, 2004. R. Chandra, V. Ramasubramanian, and K. Birman, “Anonymous gossip: improving multicast reliability in mobile ad hoc networks,” In Proc. of ICDCS, 2001, pp. 275–283. J. Luo, P. T. Eugster, and J. P. Hubaux, “Route driven gossip: Probabilistic reliable multicast in ad hoc networks”, In Proc. of INFOCOM, 2003. J.D. Murray, Mathematical Biology, Springer, Berlin, 2nd edition, 1993. B. Bollobás, Modern Graph Theory, Springer-Verlag, New York, pp. 215-251 K. Fall and K. Varadhan, “NS notes and documentation,” The VINT Project, U.C. Berkeley, LBL, USC/ISI, and Xerox PARC, 1997. J. Broch, D. A. Maltz, D. B. Johnson, Y-C. Hu, and J. Jetcheva, “A Performance Comparison of Multi-hop Wireless Ad Hoc Network Routing Protocols,” In Proc. of MOBICOM, 1998. C. Perkins and P. Bhagwat, “Highly Dynamic Dsdv Routing for Mobile Computers,” In Proc. of SIGCOMM, 1994.

Gossip-based Cooperative Caching for Mobile Phone ...

Let C_DIGEST(i, t) be the cache digest of MNi at time t. C_DIGEST(i,t) is ..... Delivery Framework for Intermittently Connected Mobile Ad Hoc. Networks,” IEEE ...

273KB Sizes 1 Downloads 280 Views

Recommend Documents

Gossip-based cooperative caching for mobile ... - Semantic Scholar
Jan 26, 2013 - Once networks partition, mobile nodes in one partition cannot access the ... decreased because of the service provided by these cache nodes,.

Cooperative Caching Strategies for Minimizing ...
objects caching strategies for minimizing content provisioning costs in networks with homogeneous and ... wireless networks to improve data access efficiency.

Geographically Fair In-Network Caching for Mobile Data Offloading
... download popular contents (e.g., maps of a city, shopping information, social media, ... content popularity, even limited-size caches at the network edges can ... locations in the network. ..... store only copies of the most popular contents and

Geographically Fair In-Network Caching for Mobile Data Offloading
contents (e.g., maps of a city, shopping information, social media, etc.) from WiFi-enabled caches deployed in an urban area. We study the optimal distribution of ...

Mobile Phone Policy.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps. ... Mobile Phone Policy.pdf. Mobile Phone Policy.pdf. Open. Extract.

Efficient Monitoring Mechanisms for Cooperative Storage in Mobile Ad ...
and use limited storage capacity, data holders might behave selfishly by ... the stored data. ..... Better performance by relaxing in peer-to-peer backup. In.

Cheap 10Pcs⁄Lot Phone Cable Protector Diy Cartoon Mobile Phone ...
Cheap 10Pcs⁄Lot Phone Cable Protector Diy Cartoon M ... er Cable Winder Free Shipping & Wholesale Price.pdf. Cheap 10Pcs⁄Lot Phone Cable Protector Diy ...

Cheap Phone Charging Line Protector Diy Cartoon Mobile Phone ...
Cheap Phone Charging Line Protector Diy Cartoon Mobi ... Cable 10Pcs⁄Lot Free Shipping & Wholesale Price.pdf. Cheap Phone Charging Line Protector Diy ...

Caching in Mobile HetNets: A Throughput–Delay Trade ...
Computer Science and Engineering, Dankook University, Yongin 448-701, Republic of Korea. ‡ .... each node and BS are able to cache at most Kn = Θ(1) and.

bluetooth enabled mobile phone remote control for pc project pdf ...
bluetooth enabled mobile phone remote control for pc project pdf. bluetooth enabled mobile phone remote control for pc project pdf. Open. Extract. Open with.

Lokniti - Mobile Phone Subscribers.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Lokniti - Mobile ...

Mobile Phone Anomalous Behaviour Detection for Real ... - CiteSeerX
Keywords: Mobile device forensics, Android, information ..... 10. CYBERLAWS 2011 : The Second International Conference on Technical and Legal Aspects of ...

news-two-arrested-for-snooping-on-mobile-phone-users ...
news-two-arrested-for-snooping-on-mobile-phone-users-IndianExpress.pdf. news-two-arrested-for-snooping-on-mobile-phone-users-IndianExpress.pdf. Open.

pdf reader free download for mobile phone
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. pdf reader free ...

Cheap Front⁄Back Mirror Selfie Stick Mobile Phone Monopod For ...
Cheap Front⁄Back Mirror Selfie Stick Mobile Phone Mo ... 5 S4 Ios Android Free Shipping & Wholesale Price.pdf. Cheap Front⁄Back Mirror Selfie Stick Mobile ...

Mobile Phone usage Circular.pdf
Download. Connect more apps... Try one of the apps below to open or edit this item. Mobile Phone usage Circular.pdf. Mobile Phone usage Circular.pdf. Open.

Cheap Universal Mobile Phone Camera Stand Clip Bracket Holder ...
Cheap Universal Mobile Phone Camera Stand Clip Bra ... er Monopod Mount Adapter For iPhone 6 Plus HTC.pdf. Cheap Universal Mobile Phone Camera ...

man-57\samsung-mobile-phone-f300-service-manual-pdf.pdf
man-57\samsung-mobile-phone-f300-service-manual-pdf.pdf. man-57\samsung-mobile-phone-f300-service-manual-pdf.pdf. Open. Extract. Open with. Sign In.

man-74\v900-android-mobile-phone-manual.pdf
man-74\v900-android-mobile-phone-manual.pdf. man-74\v900-android-mobile-phone-manual.pdf. Open. Extract. Open with. Sign In. Main menu.

Cheap Floveme Cowboy Usb Type C Charger Mobile Phone Data ...
Cheap Floveme Cowboy Usb Type C Charger Mobile Ph ... Plus Huawei Mate 9 P9 P10 Plus Free Shipping.pdf. Cheap Floveme Cowboy Usb Type C Charger ...

identifying logical location via gps-enabled mobile phone and ...
Feb 8, 2013 - identify logical location using (1) a GPS-enabled mobile phone and (2) a .... As GPS has an error range of around 10m, the number of candidate stores or ..... lected around 10 h video clips of more than 30 business stores and ...