A mobility-aware approach for distributed data update on unstructured mobile P2P networks

A mobility-aware approach for distributed data update on unstructured mobile P2P networks

Accepted Manuscript A mobility-aware approach for distributed data update on unstructured mobile P2P networks Chuan-Chi Lai, Chuan-Ming Liu PII: DOI:...

1MB Sizes 2 Downloads 62 Views

Accepted Manuscript A mobility-aware approach for distributed data update on unstructured mobile P2P networks Chuan-Chi Lai, Chuan-Ming Liu

PII: DOI: Reference:

S0743-7315(18)30695-6 https://doi.org/10.1016/j.jpdc.2018.09.013 YJPDC 3951

To appear in:

J. Parallel Distrib. Comput.

Received date : 1 April 2017 Revised date : 4 August 2018 Accepted date : 24 September 2018 Please cite this article as: C.-C. Lai, C.-M. Liu, A mobility-aware approach for distributed data update on unstructured mobile P2P networks, J. Parallel Distrib. Comput. (2018), https://doi.org/10.1016/j.jpdc.2018.09.013 This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

A Mobility-Aware Approach for Distributed Data Update on Unstructured Mobile P2P Networks Chuan-Chi Laia,∗, Chuan-Ming Liub a Electrical

and Computer Engineering National Chiao Tung University Hsinchu, Taiwan b Computer Science and Information Engineering National Taipei University of Technology Taipei, Taiwan

Abstract In unstructured mobile peer-to-peer systems (MP2P), the frequent link breakages lead frequent topology mismatching problems and data transmission failures due to high mobility of nodes. The overhead of data transmission and synchronization cannot be neglected. In order to keep the data consistent, flooding is a fundamental and straightforward data synchronization mechanism since a mobile node doesn’t know which else has the same shared data item. However, data flooding causes the broadcast storm problem. In this paper, we propose a mobility-aware data update approach (MADU) to improve the data dissemination and to reduce the overhead of maintaining the consistency of shared data items in an MP2P network. We use safe-time which is derived from the neighbor’s location and speed to determine the time for a node to do the checking and updating between the neighbor nodes and itself. We also consider the network connectivity of a mobile node and access frequency of a data item as the factors to trigger the update process. By combining the mobility information of nodes, network connectivity, and access frequency of data items, we set a reasonable data update mechanism, which can significantly decrease the number of retransmissions and redundant messages so as to reduce the overhead of maintaining ∗ Corresponding

author Email address: [email protected] (Chuan-Chi Lai)

Preprint submitted to Journal of Parallel and Distributed Computing

August 3, 2018

the data consistency. Keywords: mobile peer-to-peer systems, data consistency, data synchronization, mobility-awareness, safe-time

1. Introduction As the modern technologies in wireless communications, networking, information management, and position systems advance, people can use mobile devices to access information ubiquitously. This has shifted the researchers’ sights 5

to Mobile Peer-to-Peer (MP2P) systems, where the membership among peers is more dynamic and ad hoc. During the last few years, the way for most people to access the network services and share information has been changed. Everyone uses mobile devices, such as smart-phones and tablets, to access network resources and share new information. Such a big change on the behaviors has

10

caught many researchers’ attention and some MP2P applications have been proposed and discussed [1, 2, 3, 4]. Besides, the security, selfishness, and pricing are still the open issues to make the fully decentralized MP2P data sharing application become a part of our everyday life. As the modern technique, blockchain [5], has become a promising solution for the security issue, many researchers start

15

to utilize and extend the blockchain mechanism to solve the issues of selfishness [6, 7] and pricing [8, 9]. However, the consistency of distributed shared data items (or replications) is a more important and fundamental problem that needs to be guaranteed, especially for economics use and industrial precision requirement. The efficiency of consistency management will deeply influence

20

the performance of system over the light-weight and fully decentralized mobile environments. Therefore, we focus on the efficient way to update distributed data items (or replications) for guaranteeing the data consistency in this work. An MP2P system consists of a collection of mobile devices which can move freely and has the advantages of decentralization, self-organization, and ser-

25

vice availability. Each node in the system can directly communicate and share resources with the other nodes. Besides, in the ubiquitous environments, the

2

mobile devices generally are heterogeneous. It means that the mobile devices in an MP2P system may have different capability in power, memory size, CPU, etc. In this paper, the proposed approach considers the above factors, the node’s 30

network connectivity, and the mobility information to decide the updates which are more appropriate to the mobile environment. In fact, some of the previous works on peer-to-peer system [10, 11] for managing nodes focused on the overlay network, which is an abstract and logical network built on the top of a physical network. However, these approaches are not appropriate to the mobile

35

environment since the node’s mobility which may cause topology mismatching problem is not considered. In order to mitigate the topology mismatching problem, we propose the Mobility-Aware Data Update Mechanism, which uses the previous work [12] to build the overlay network for the MP2P system while considering the above

40

mentioned heterogeneous factors. Additionally, each mobile node can use the mobility information of its neighbors to derive a time period, safe-time [13], for predicting when the neighbor node will move out of its radio range. It means that the connection between two mobile nodes may be broken after the safetime passes. All the data updates should be finished before the safe-time is

45

up. For example, when two nodes A and B become neighboring nodes, they will exchange some information, such as their location, speed, node ability, and the list of shared data items. After exchanging information, node A checks the consistency of same shared data items and records the newer data items which are not on itself. With the consistency check, node A can know the transmission

50

time for updating all the old data items on node B. Finally, node A can decide an appropriate time to start the data synchronization process to update the same shared data items on node B after considering the relative ability of B with respect to the data items. The relative ability of node B with respect to a data item is derive from the access frequency of the data item on the

55

node B, the network connectivity of node B, and the residual capacity of B’s battery. Node B also does the above process when node A becomes a neighbor. With the mentioned heterogeneous factors, the system can avoid unnecessary 3

transmissions and retransmissions, thus reducing a large number of redundant messages. 60

For validating our proposed approaches, we perform the simulation experiments with following measurements: network load, update coverage and message redundancy, where the update coverage is the percentage of successfully synchronized nodes per update, the overhead of network load presents the network costs on different types of messages, and the message redundancy is the ratio

65

of unnecessary messages to all of the messages. In addition, we consider some important factors in the time period of data update, such as network density, node speed, node ability, etc. We use the MP2P environment proposed by [12] and provide a new approach to control the time to effectively update the shared data items. In general, the proposed approach can easily maintain larger scale

70

mobile networks and thus can achieve a better performance. In this study, the data consistency problem over unstructured mobile peerto-peer systems is addressed. We identify the impact and importance of data consistency problem in mobile computing in Section 1. Our work can play an important role in infrastructure-less mobile environments and the contributions

75

can be summarized as below. • We propose a new approach to make the process of data synchronization appropriate to large-scale hybrid unstructured MP2P networks with the consideration of node mobility and ability (Section 4). • To solve the impact of node mobility, we define the safe-time constraint

80

and then analyze the upper bound of the number of transmitted data items between two neighboring nodes with the consideration of node speed, data size, and network connectivity (Section 4). • We also define the relative node ability with the consideration of network connectivity, access frequency of data items, and residual capacity

85

of battery and then use an update threshold to avoid the redundant and unnecessary data transmissions (Section 4).

4

• We introduce the proposed approach with a pseudo-code and conclude that the time complexity of updating data items on a neighbor is linear (Section 4). 90

• We present the way to accurately estimate the safe-time for checking the consistency of shared data items and the simulation results lead to a fewer number of messages, less update cost, and high update coverage (Section 5). The rest of this paper is organized as follows. In Section 2, we categorize

95

some existing works about data consistency problem on unstructured MP2P networks and review the related work. Section 3 presents the problem statement with the system model and objective. Section 4 introduces the proposed solution including how to derive the accurate safe time, the relation between safe time and data size, and time complexity analysis. Section 5 gives some analysis and

100

experimental simulation results of the proposed method and our previous work. Finally, we give the conclusion remarks in Section 6.

2. Related Work The general solution for increasing the data accessibility in unstructured MP2P systems/networks is to replicate data items in the distributed caches on 105

different nodes. It is difficult and complicated to maintain data items and keep the consistency of replicas in the MP2P networks because of the unpredictable mobility of nodes. However, the consistency of replicas should be guaranteed otherwise the users may obtain the dirty or old data. Thus, the consistency of data items and replicas has become an important issue on unstructured MP2P

110

networks and many approaches have been proposed to settle the data consistency problem [14, 15, 16, 17, 18]. In [18], an election algorithm is proposed to calculate the election score with node connectivity. The election scores are then used to control the behaviors of nodes and reduce the cost of communications, thus decreasing the number

5

115

of transferred update and control messages for data maintenance. Chand et al. [14, 15] divide the entire network topology into multiple geographical regions, groups, or clusters for maintaining the local cache and reducing the latency of search. However, the above approaches focus on minimizing energy consumption, improving the hit rate of cache and reducing the latency of query, but the

120

problem of data consistency is not addressed explicitly. Xe et al. [19] build a collaborative application for ad-hoc wireless networks, which can identify the need to replicate data across ad-hoc groups. Each peer in a group has to maintain a global tree for the consistency of indices and broadcasting data efficiently. However, this approach has a very large overhead for maintaining the global tree

125

and broadcasting messages in a large scale MP2P network. The authors in [17] develop a data replication algorithm with minimum energy consumption model which attains minimum energy consumption and provides high data availability rate to the multiple mobile nodes whenever required. Kumar et al. propose a method, CBRM [16], which is based on CDRA [17].

130

CBRM uses a table on each master node to record and maintain data items on member nodes. It can help the message routing and thus improves the average hit rate of a query. However, in CBRM, the network may be unstable since a master node is responsible for processing queries and needs heavy computing cost. Kuppusamy et al. [3] consider the query frequency to control TTL (Time-

135

To-Live) value of an update message to guarantee the consistency of data items in mobile environments. However, extending TTL value of an update message to update data may waste network resources since the high node mobility may cause frequent disconnections. As wireless communication techniques advance, the peer-to-peer computing

140

model has been widely used in many emerging applications, such as Fog Computing and device-to-device (D2D) communication. Mayer et al. [20] consider a hierarchical network of nodes integrating the edge networks and propose a method to maintain the data consistency in distributed transactional databases. Nevertheless, they only discuss a simple network case with sufficient redundancy

145

in connectivity to ward off link failures, node isolation, and network partition6

ing. Li et al. [21] consider the consistency issue in device-to-device networks. They analyze the expected encounter time of two nodes in the City Section mobility model and then propose a relay-assisted strategy to select relay nodes to distribute update content. However, with such an approach, each node in 150

the system needs to know the global information of the network in advance, such as network area, node density, and node speed, etc. Otherwise, it is very complicated for each node to determine which nodes to be the relays, especially the selected nodes are irrelevant to the forwarding content. Kim et al. [13] propose the idea of safe-time to monitor moving objects on

155

Wireless Sensor Networks (WSNs) for continuous k nearest neighbors search application. This method may not be appropriate to MP2P environments because it does not consider the moving query. In this paper, we combine above ideas and propose an approach, MADU, for determining the time to check the consistency of data items in MP2P environments.

160

3. Assumptions and Problem Statement In this section, we present the system model and some assumptions for our work. The system model we consider is based on the MP2P architecture. To effectively deal with the data management in mobile environments, the MP2P network is usually partitioned into several groups [19, 22, 23]. Our MP2P model

165

is shown in Fig. 1. We partition all the nodes into different groups and each group consists of many member nodes (MN) and at least one leader, called header node (HN). Each HN acts as a router/gateway to maintain all the nodes’ information of the group and provides necessary index information to the nodes in the group. Note that each HN has the ability to connect with the other

170

HN using the Internet links via the wireless access points (Wi-Fi APs or base stations). The selection of HN is also an important issue in mobile computing since a good selection method may reduce the cost of overlay network maintenance effectively. HNs can be selected from the MNs by storage capacity, network

7

Internet link Ad hoc link Member node (MN) Header node (HN) Wireless access point (WAP)

Figure 1: An example of the partition on an MP2P network

175

bandwidth, computing power, and retention time. Each mobile node knows its current location using GPS and moves around in the given area. Nodes communicate with each other using wireless communication such as Wi-Fi Direct (ad-hoc mode). Each mobile node joins a P2P file sharing service and shares data items on the service. Messages and data items are exchanged between

180

nodes using an underlying routing protocol. In this work, we combine the previous work [12] with the node connectivity (the number of node’s neighbors) to select the HNs. The member nodes in the network do not have router function and only issue requests, provide resources, and forward messages. In general, each group has at least one HN and many MNs.

185

Since nodes move over time, each node’s neighbors and neighbor list change frequently. Most of the conventional approaches without flooding improve routing performance with distributed hash tables (DHT) or using probabilistic conditions. However, these approaches still waste many redundant messages since the routing paths may also be redundant. In order to mitigate redundant path

190

routing and avoid flooding messages, our previous work [12] uses an inverted data index, Holder List, to route the update messages. The idea of a holder list comes from the inverted index in the Information Retrieval domain. A holder list is attached to each data item, and each holder list records the neighbors who

8

also have the same data item. In order to improve the performance of routing, 195

each holder list in a node should be updated as soon as the neighbor list changes. Two neighboring nodes exchange information about what the same data items they have when they move into the transmission range of each other. Although the system can save much network resource with holder list, each node still has no knowledge about when the neighbors will leave its transmission range. Each

200

node needs to remove the redundant entries and the IDs of departure nodes from each data item’s holder list after the neighbor nodes leave its transmission range. The conventional solution is to give a prescribed time period (or TTL) for repeatedly checking and updating data items and holder lists. However, this way may not be suitable to mobile environments with high mobility. We there-

205

fore propose a new approach with the mobility and ability of nodes to determine the appropriate time for updating data items. With above assumptions, the main objectives of this work are as follows: 1. Improve the update coverage of distributed shared data items in the considered environment;

210

2. Reduce the message redundancy of transmissions during the data update (or synchronization) process.

4. Mobility-Aware Data Update Approach The proposed approach, Mobility-Aware Data Update approach (MADU), has two parts to maintain the shared data items. The first part is the safe time 215

derivation. Each node uses safe time to determine the time to update shared data items. Instead of periodically broadcasting or sending update messages, MADU can save a large amount of network resources. In the second part, after the safe time derivation, each node considers the following factors of mobile nodes: residual capacity of battery, network connectivity, and the access fre-

220

quency of a data item. MADU uses these factors to define an update threshold for determining whether to send out an update message or not when the safe time is up. The details of MADU will be introduced in following subsections. 9

4.1. Part 1: Safe-Time Derivation In the proposed approach, we adapt the idea of [13], safe time, to take the 225

mobility of nodes into consideration. The safe time is derived for a node to predict when a neighbor node leaves its radio range and becomes disconnected. It means that these two nodes should check the consistency of shared data items between each other before they disconnect. Without loss of generality, we assume that the radio range r of all the nodes in the unstructured MP2P network

230

are the same and each node is equipped with a GPS sensor for obtaining the location and speed information of itself. Each pair of neighboring nodes derive a safe time to predict when the distance between them will become longer than the radio range r and an example is presented in Fig. 2. To derive safe time precisely, each node will exchange the location and speed information of itself

235

with its neighbors when it joins the MP2P network. Then each node can derive a safe time between each neighbor and itself. When a node moves into another node’s radio range, these two nodes will also do the above process to derive the safe time. In order to derive the precise safe time, we consider the movement of mobile

240

−→

nodes simultaneously and use Fig. 2 to illustrate. Initially, |AB| is the distance −→

from A to B, where |AB| ≤ r. In the following, we present the way to calculate −→

the safe time t −→ of A with respect to B when |AB| = r. Suppose the initial AB

location of object A(B) is (xA , yA )((xB , yB )) with speed (vxA , vyA )((vxB , vyB )). −→

Since |AB| = r, we can have r2

245

=

[(xA + vxA ∗ t −→ ) − (xB + vxB ∗ t −→ )]2

+

[(yA + vyA ∗ t

AB

−→

AB

) − (yB + vyB ∗ t

AB

−→

AB

)]2 .

(1)

After rearranging each term, Equation (1) can be a quadratic equation. Recall that the discriminant of a quadratic equation is ∆ = b2 − 4ac and we can get two values of the safe time. We select the minimum value as the safe time t −→ . AB

By considering the safe time, each node can schedule the processes of check250

ing data consistency and avoid broadcasting messages to update data. We 10

After a time period, ✢ ✝✓✔✕ ✡ ✓✖✗ ✌

✒✟ ☞ ✂ ✟✄✆ ☎

r

r B

✒✟ ✁ ✂ ✟ ✄ ✁ ☎

A

B

✝✞✘✙ ✡ ☛✘✚ ✌

✒✟ ✁ ✂ ✟✄ ✁ ☎

✒✍✎ ✂ ✏✑☎

✝✞✠ ✡ ☛✠ ✌

A

✒✍✛✜ ✂ ✏✛✜ ☎

−→

Figure 2: An example for deriving the safe time t when | AB | = r

assume that each node sends the list of its shared data items, access frequency of shared data items, node location, and node speed to the neighboring nodes which just moves(or appear) in its radio range, so that each node stores the received information and uses above information to derive the safe time values of 255

its neighbor nodes. For example, suppose node A has two neighbors, B and C. Node A will derive two safe time values, t −→ and t −→ . Node A knows what the AC

AB

same shared data items on neighbor B and itself are, so node A will send update messages, which includes shared data items, hash values, and timestamps, to node B before the safe time arrives. In fact, the system has to take the data 260

transmission time into account and thus the real ”safe time” of A with respect to B should be T −m→ = t −→ − AB

AB

m X |di | , −→ w i=1

(2)

AB

where m is the number of shared data items, w −→ is the A’s network bandwidth AB

at the time when t−→AB is calculated, and |di | is the size of the shared data item di . In the considered model, the priority of di in the update schedule is 265

determined by the local access frequency of di . In the same manner, the real Pm safe time of A with respect to C is T −m→ = t −→ − i=1 |di |/w −→ , where m is AC

AC

AC

the number of the same shared data items. Note that the safe time of B with respect to A may be not equal to the safe time of A with respect to B because

11

w −→ may be not equal to w −→ and T −m→ = t −→ − AB

BA

BA

BA

Pm

−→ . i=1 |di |/wBA

In fact, the bandwidth of a wireless device is a random variable and it may

270

be influenced by Doppler Shift, Shadowing Effect and Propagation Path Loss, etc. If the prediction model takes above issues into account, the predicted safetime can be more precise and appropriate for the update process in real wireless environments. However, above issues are not covered in this work since they are 275

out of our research scope. To simplify the considered problem, we hence only consider a simple MP2P network model that can give QoS guarantee and provide constant bit rate (CBR) transmissions in the following analysis. Furthermore, each node may have to transmit data items to multiple neighbors simultaneously, so equation (2) will be revised as T −m→ = t −→ − AB

280

AB

m X cA × |di | i=1

w −→

,

(3)

AB

where cA is the connectivity of A (A has cA neighbors). Then we get equation (3) for the more general case that the neighbors may proportion the bandwidth of A. Observation 1. Suppose that the notations are defined as above, cA is the connectivity of A (A has cA neighbors), and k shared data items on B need to

285

be updated by A, where 0 ≤ k ≤ m. If T −m→ ≥ 0 holds, then T −k→ ≥ 0. This AB

AB

actually implies that all the shared data items on B can be updated, including the k shared data items. According to (3), T −m→ ≥ 0 indicates that all the m AB

shared data items on B can be updated by A if necessary. There are now k

290

shared data items to be updated on B, where 0 ≤ k ≤ m. We can know that Pm Pk k m i=1 cA |di |/w −→ . So, T −→ ≥ T −→ ≥ 0. i=1 cA |di |/w −→ ≤ AB

AB

AB

AB

Conversely, when T −→ < 0, the safe time is not enough for A to update all AB

the shared data items on B. In this case, the relative speed between A and B is too fast (so t −→ is too small) or the network resource of A may be occupied (so AB

the bandwidth becomes small) by observing equation 3. In such a scenario, it 295

is impossible for A to update all the shared data items on B. Thus, A will only 12

choose at most k shared data items with Most Recently Used (MRU) strategy to send update messages to B where 0 ≤ k ≤ m and T −k→ ≥ 0 is satisfied. Fig. 3 AB

shows such a relation among T −k→ , T −m→ , and t −→ . AB

AB

AB

k , T m , and t −→ Figure 3: The time relation between T− → −→ AB

AB

AB

Let M = {M1 , M2 , . . . , Mn } denote the set of n nodes in our system and 300

the corresponding speed is V = {v1 , v2 , . . . , vn }. The speed of each node, vi , is uniformly distributed within the range of [vmin , vmax ], where vmin > 0 and i = 1, 2, . . . , n. The initial location of each node, (xi , yi ), is also uniformly generated, where 1 ≤ i ≤ n, in the considered area. All the nodes move according to Generalized Random WayPoint (GRWP) moving pattern. Without loss of

305

generality, the instantaneous average node speed, v¯, can be denoted as Pn vi (t) . v¯(t) = i=1 n

(4)

With this setting, the probability density function (pdf) for the continuous uniform distribution of node speed is  1  if vmin ≤ v ≤ vmax vmax −vmin f (v) = .  0 otherwise

(5)

The initial mean speed in (4) thus will be the expected value of speed, which can be rewritten as v¯ = E[V ] = 310

vmin +vmax . 2

However, the average node speed over

time is always less than the initial average speed, unless the speed is constant. Such a phenomenon in RWP has been discussed in [24] and the mean speed has been proofed and derived as v¯ =

vmax − vmin . ) ln( vvmax min 13

(6)

Consider the example in Fig 2. The relative average speed of two neighboring nodes, A and B, will be v¯−→ = v¯. The average safe time for A to check or update AB

315

data items in B can be derived by (6). In accordance with the simulation setup and (6), the average safe time t¯−→ is denoted as AB

r vmax r = E[t] = = ln( ), v¯ vmax − vmin vmin

t¯−→

AB

(7)

where r is the given radio range of a node. According to (7), we can know that the safe time is inversely proportional to the average node speed. To obtain an appropriate safe time, we not only consider the impact of 320

mobility but also the data transmission time. The relation between the safe time and data size can be summarized in the following theorem. Theorem 2. Let the S = {d1 , d2 , . . . , dm } denote the set of m same data items on two neighboring nodes A and B, and d¯ be the average size of data items. Suppose that there are k shared data items on B to be updated by A and A has

325

cA neighbors, where 0 ≤ k ≤ m. If T −k→ ≥ 0, the upper bound of k will be AB

k≤

j

r × w −→

AB

cA × d¯ × (vmax − vmin )

ln(

vmax k ) , vmin

(8)

where k ∈ N . Proof. In general, the size of data item (or replicas) is prescribed, so |di | will

330

be a fixed value, denoted as df ixed . In such a case, the mean size d¯ = df ixed . P −→ = cA × m × According to (3) and (7), we can obtain t¯−→ ≥ m i=1 cA |di |/wAB AB P m ¯ −→ . Then, we can know that ¯ −→ ≥ −→ = cA × m × d/w d/w i=1 cA |di |/wAB AB AB Pk ¯ − → − → with Observation 1. After shifting the = c × k × d/w c |d |/w A i=1 A i AB

AB

items, we then derive the following inequality: t¯−→ ≥ AB

Pk

i=1 cA |di |

w −→

=

AB

cA × k × d¯ . w −→

(9)

AB

According to (9), we can learn that the number of data items which can be maintained is inversely proportional to the data size. We thus explore the

14

335

impacts of different data sizes on the system performance in the simulation. Using (7) and (9), the upper bound of k can be derived as k≤

r × w −→ vmax AB ln( ), ¯ vmin cA × d × (vmax − vmin )

and each node can use MRU policy with an appropriate value of k when selecting k shared data items to be updated, where k ∈ N .

4.2. Part 2: Update Threshold 340

To have the resulting system achieve better performance, in this part, MADU considers the residual capacity of battery, network connectivity, and access frequency of a shared data item. Residual capacity of battery and network connectivity are important issues when peers operate in MP2P networks. The performances of most MP2P applications rely on these two factors. For data sharing

345

systems, the access frequency is also an important factor. In data sharing systems, most of data management approaches consider the access frequencies of data items. In the following, we define the ability of a node with respect to a shared data item using the above three parameters. Suppose C, Fj , and R are the parameters for network connectivity, access

350

frequency of a shared data item dj , and residual capacity of battery, respectively. For dj , we define the relative ability abi (dj ) of node ni with respect to dj as abi (dj ) =

(αCi + (1 − α)Fj ) × Ri ,

(10)

where α is a coefficient ranging from 0 to 1. The three parameters, C, F , and R, are all scaled from 0 to 1. From our observations, network connectivity and access frequency are not as important as residual capacity of battery when 355

computing the ability, so their contributions to the ability is not much. On the other hand, the residual capacity of battery is the most critical parameter for judging the stabilities of network topology and mobile device. Such an idea comes up from [25] and that is why R times the other parameters in the definition of relative ability (10). In the simulation, the maximum number of 15

360

neighbors per node, cMax , is set to 20, so the network connectivity, Ci , in (10) can be normalized from 0 to 1 using Ci = ci /k where ci is the number of ni ’s neighbors. We also assume that the access frequency is normalized as a popularity value from 0 to 1. The default value of α in (10) is 0.5 and the relative ability of each node can be normalized from 0 to 1.

365

In MADU, each node collects the location and speed information of its neighbors to drive the safe time of each shared data items. Then each node also collects the ability values of its neighbors. We define a system parameter, δ, as an update threshold to control the process of updating data. If the ability value of a node is smaller than the threshold δ, its neighbors will not send update mes-

370

sages to this node. For example, if abA (dj ) < δ, A’s neighbors will not send any update message to A when the safe time of a shared data item is up. If A has a low ability value, it means that A may have one of the following conditions. The first condition is that A may leave the system due to the low power. The second is that the network connectivity of A is too weak and A cannot spread

375

data effectively. In the last case, A rarely accesses data item dj and it is not urgent to update data item dj on A. As a result, the system can save resources by not sending update messages to the nodes with low ability. 4.3. Update Process of MADU In this subsection, we introduce the update process of MADU, Node Update Process(),

380

as shown in Fig. 4. Since MADU uses the safe time to schedule the update process, each node uses an update scheduler to monitor a priority queue and schedule the time to do update process. Each node uses the neighbor list to create the priority queue and the safe time information of each neighbor can be derived for understanding when a neighbor may leave. The neighboring nodes exchange

385

shared data information and update the holder lists of the same data items. The operations are presented from Line 1 to Line 16 in Node Update Process(). Line 7 to Line 14 check whether the same data item in local data set D is newer or not. If yes, the node will add an owner information to the holder list of the data item with a mark as 1. It means that this data item on the new neighbor 16

390

needs to be updated. If the local data item need to be updated, the mark is set to 0. Otherwise, the versions of data items on the neighbor and itself are the same and then the mark is set to -1. Note that the mark is set to -1 in default. Line 11 collects all the data items which need to be updated in a candidate list. Then Line 15 uses equation (1), (2), and MRU strategy with this candidate list

395

to derive the appropriate safe time and register a safe time event to the update schedule at Line 16. Once a neighbor’s safe time is up in the priority queue, the update scheduler in the system will call Node Update Process() with an event message. A node performs operations from Line 17 to Line 26 in Node Update Process()

400

to transmit data update messages to the leaving neighbor which is responding to this safe-time event. Before transmitting update data items, at Line 22, the node checks whether the ability of this neighbor is larger than threshold δ and the mark is 1 or not. If yes, the node transmits updated data items to the leaving neighbor at Line 25. After data transmission, the operation at Line 26 removes

405

the holder information from the holder list of each data item. The operations from Line 27 to Line 31 show that a node updates the local data item when it receives an update message. If the received data item dnew is newer than do , then the update operations at Line 31 will be done. 4.4. Complexity Analysis and Comparison Discussion

410

In practice, the memory and storage of a mobile node is limited, so the maximum number of the shared data items and neighbors on each mobile node in the proposed approach should be limited. We assume that the maximum number of the shared data items and neighbors on a mobile node are m and cMax respectively. When two nodes become neighbors, they will exchange the

415

information of what the shared data items they have. Line 5 shows that the node execute an intersection operation of two data list to obtain what the same data items are on its neighbor and itself. If such an intersection operation is implemented by brute force, the time complexity is O(m2 ). As we know, a binary search requires O(log L) time to find a number in an array with length 17

420

L. Using a binary search, the time complexity of intersection can be done in O(m log m) (including the tree construction). Furthermore, if the shared data set D, neighbor list and data list are implemented with a hash map in stead of using list structure, the intersection at Line 5 can be optimized to O(m + m) time. At Line 15, the node uses the received information, (1), and (2) to derive

425

the safe time. Such a mathematical operation can be done in a linear time. The for-loop at Line 7 needs O(m) time and the time depends on the length of data list. Thus, we can derive the worst case time complexity of node join operations from Line 1 to 16 as O(m + m) + O(1) + O(m) = O(m). The rest operations of Node Update Process() can be analyzed in the

430

same way. The time complexity of the operations from Line 17 to Line 26 is about O(m) due to the for-loop at Line 20. It means that a node needs O(m) time to update the data items on the leaving neighbor as a safe time event occurs. Line 27 to Line 31 execute local data update process when a node receives an update data. In general, these operations need O(m) time since

435

Line 29 searches an old data item in data set D while the length of D is m. Note that the shared data set D can be implemented in a hash map, so the time complexity becomes O(1). In summary, the worst time complexity of the whole process becomes linear time O(m) + O(m) + O(1) = O(m). After analyzing the complexity of MADU, we then compare MADU with

440

the other related methods, CBRM [16] and APPC [3], in terms of the space and time complexity. Suppose that the notations are defined as above and there are n nodes in the considered environment. We discuss above analysis on an HN and assume that maximum cMax neighbors of each node have the same data item di . That is, the average length of di ’s holder list is cMax . The detail

445

comparisons of different methods in worst cases are presented in Table 1. CBRM needs to maintain an Available Replica Table (ART) on each HN for recording MNs who have the data items. If the memory is enough, CBRM costs O(mn) space and time for maintaining the ART on an HN. Otherwise, it only needs to record limited number of nodes (or data items). MADU uses a holder

450

list (inverted-indexing) to record which neighbors have the same data items and 18

Table 1: Comparisons of different operations in each approach

Metric

Approach MADU

CBRM

APPC

Total space

O(m ∗ cMax )

O(mn)

O(m + cMax )

Initial time

O(m ∗ cMax )

O(mn)

O(m + cMax )

Insertion of a data item

O(cMax )

O(1)

O(1)

Deletion of a data item

O(1)

O(1)

O(1)

Neighbor join/leave

O(m)

O(m)

O(1)

thus helping the routing. So each node (both HN and MN) in MADU needs O(m ∗ cMax ) space and time to record the sharing information of its neighbors. APPC costs the least O(m + cMax ) space and time since it only uses a TTL value of a data item to control the time for the periodical consistency check. 455

The TTL value of each item in APPC is dynamically determined by the access frequency of each item. Hence, each node in APPC only needs O(m + cMax ) space and time to maintain the information of neighbors and the data items on itself. Different approaches have various costs to manage a received data item di

460

that is going to be kept in its local data set. In CBRM, an HN needs to update the relation between di and the member nodes in the ART, so it needs O(n) time. In MADU, the node which stores data item di only needs to insert the information into the holder list for recording which neighbors have di . Such a process costs O(cMax ) time. For APPC, the HN just inserts the data item di

465

into the sharing data set, so it only needs O(1) time. On the other hand, if a node, HN or MN, deletes a data item from its local data set, the node only needs O(1) time to remove the relational entry (or tree) in all the methods. In the last comparison, we discuss the maintenance costs of two following scenarios: neighbor join and neighbor leave. For each node (both HN and MN)

470

in CBRM, when a node becomes a neighbor (or non-neighbor), the HN needs O(m) time to check and update the relation between each data item and the

19

node. Each node in MADU also needs O(m) time to update the holder list while a neighbor leaves or a new neighbor joins. Each node in APPC only needs a constant time O(1) for maintaining the neighbor list.

475

5. Simulation Results In the previous work [12], a group based approach to maintain the data consistency is proposed and some preliminary simulation results have been presented. In this paper, we integrate the proposed approach with the previous work in the simulation, and then observe the influence on network load, update

480

coverage and message redundancy. In the simulation, we compare the performance of MADU, CBRM, APPC, and flooding strategies. Additionally, we will observe the impact of different threshold δ, network density, node speed, node ability, and data size on the update coverage and message redundancy. There are 1000 users in a 1000 × 1000 m2 area in the experimental simu-

485

lations. The radius of a node’s transmission range is 100 m. The node speed is uniformly generated within the range of [1, 20] m/s. We use Generalized Random WayPoint (Generalized RWP) mobility model [26], where a user may pause for up to 2 minutes to look for a destination. Initially, nodes are placed randomly in the area. The first update query is issued after the system starts

490

over 500 seconds due to the unsteady state of RWP indicated by [24]. Note that all the results about time on update coverage and message redundancy of simulation are measured from each update query starts. The default threshold of node ability, δ, is 0.2. For each scenario, each approach issues 100 queries and performs each query 10 times to obtain the average result and 95% confidence

495

interval. The detailed simulation setting is shown in TABLE 2. 5.1. Impact of Threshold We first discuss the impact of threshold δ in MADU on the update coverage and message redundancy, respectively. Recall that the member nodes would not send update messages to their neighbors whose corresponding relative abilities

20

Table 2: Simulation Parameters

500

Parameter

Default Setting/Range

Underlying protocol

AODV

Mobility model

Generalized Random WayPoint

Number of nodes

1000

Area (m × m)

1000 × 1000

Pause time (s)

[1, 120]

Radio range, r (m)

100

Max number of neighbors, cMax

20

Bandwidth (Mb/s)

2

Speed (m/s)

[1, 20]

Total number of documents

10000

Data size (KBytes)

256

Data access pattern

Zipf-like distribution

Number of documents on a node

[20, 30]

Initial residual battery of a node

[0.2, 1]

Threshold of node ability, δ

0.2

are smaller than the threshold. Hence, when the threshold δ increases, the chance for a node to send the update message becomes small. As Fig. 5(a) shows, the update coverage of MADU decreases as the threshold δ increases. Fig. 5(b) shows that a large number of redundant messages is reduced when MADU uses the threshold to control the update process. We also observe the percentage of

505

alive nodes after a period of execution. In particular, the redundant messages decreases significantly in the threshold range of 0.1 to 0.2 and thus the mobile nodes can save much more energy on network cost. At the same time, as in Fig. 5(a), MADU still has about 83% ∼ 88% update coverage with the same threshold range. This is the reason why we set the threshold δ = 0.2 as the

510

default setting in the simulation.

21

5.2. Network Load In this subsection, we discuss the network load for all the methods. There are ten nodes generating the new update queries per second in average. We observe the network load after the MP2P overlay network has been established. Fig. 6 515

shows the average network loads of different approaches. Apparently, FloodingTTL-3 is the worst. Using flooding will cause the broadcast storm problem and a great amount of dropped messages, thus wasting the network resource. APPC considers query access frequency to control the TTL of update messages for updating data items. However, APPC does not consider the mobility issue.

520

APPC changes the TTL values to guarantee the data consistency, so that APPC may waste much network resource due to the frequent link breakages in high mobility environments. Both CBRM and MADU use tables to record each data item on different member nodes, so the failure of message routing can be less. MADU outperforms

525

CBRM since the member node in MADU has the ability to know what data items its neighbors have. Thus, a member node in MADU can directly send queries or update messages to its neighbors which have the same data items. In comparison with MADU, each member node in CBRM has to send queries or update messages to its master node for routing. The routing strategy of

530

MADU is more flexible than CBRM. Each member node sends queries or update messages to its neighbors which have the same data items instead of directly sending messages to its master node. So the routing overhead of CBRM’s master nodes is heavier than the routing overhead of MADU’s. Hence, there is a higher possibility that CBRM’s master nodes become dead or leave the network and

535

it makes the network of CBRM unstable. As a result, CBRM would have more data retransmissions and dropped messages than MADU. 5.3. Update Coverage and Message Redundancy After the simulation starts and all the data items have been spread on the MP2P network, we randomly select a data item to be modified, trigger the

540

update process, and then measure the update coverage. Fig. 7(a) shows the 22

update coverage for different approaches. The update coverage of flooding approach is enlarging faster than the other approaches, but its maximum update coverage is the smallest one since flooding messages may cause network congestion. By taking the node mobility into account, the proposed approach, MADU, 545

is slightly better in update coverage than CBRM. After about 120 seconds, the update process is almost finished and MADU can successfully update 86% of a data item’s copies on the MP2P network. APPC has better update coverage than MADU since APPC extends the TTL values of messages to guarantee the successful data transmissions. However, it may lead more redundant massages

550

due to the frequent topology change. Fig. 7(b) shows that the massage redundancy of APPC is more than the massage redundancy of CBRM and MADU. CBRM can perform better than APPC in terms of message redundancy since a master node in CBRM knows which the shared data items are in its member nodes. Thus, CBRM has a

555

more efficient way for routing than APPC does. MADU has the least message redundancy. MADU uses the safe time to predict the time for doing the data update and considers the heterogeneous factors of mobile nodes, so MADU has a lower rate on failed transmission. 5.4. Impacts of Density

560

According to the previous results for update coverage and message redundancy, the curve of each approach does not increase obviously after 180 seconds. In other words, after 180 seconds, the update coverage will be steady. We thus use the results of steady update coverage to discuss. In Fig. 8(a), MADU has a larger update coverage when the network density

565

(number of nodes) increases. Flooding-TTL-3 only has a better update coverage than CBRM when the network is sparse. APPC has the best update coverage since APPC can dynamically control the TTL value of each shared data item to maintain the data consistency. Unfortunately, APPC will lead to a large number of redundant messages since APPC only considers the access frequency

570

of a data item. 23

Fig. 8(b) shows that MADU has fewer redundant messages than APPC when the number of nodes increases. APPC considers the access frequency of a shared data item and extends its TTL value to guarantee its consistency. Such a way may need more network cost to update data items due to the 575

frequent changes of network topology in a high density mobile environment. In comparison with MADU which uses Internet links between different groups, CBRM routes messages between different clusters less efficiently since it routes messages only in a hop-by-hop manner. As a summary, Fig. 8 indicates that the proposed approach, MADU, is more appropriate for high density environments.

580

5.5. Impact of Speed As shown in Fig. 9(a), the update coverage of every approach decreases as node speed increases. In other words, no mater which approach, when more nodes move with high speed, the update coverage will be reduced. Flooding approach has the worst update coverage because it lacks the location information

585

of the data items for routing and spreading data efficiently. CBRM has a better performance than flooding and APPC because CBRM uses the group management to reduce the time of locating shared data items. APPC performs well only when the node speed is slow. If the node speed becomes fast, the frequent topology changes make APPC locate shared data items inefficiently. The pro-

590

posed approach, MADU, has the best update coverage under high speed setting since MADU considers mobility information and the heterogeneous factors of nodes. Thus, MADU can maintain the consistency of data items in a distributed way. Fig. 9(b) shows that the message redundancy increases when the node speed

595

increases in all approaches. When the node speed is slow, the network tends to be relatively static. In this case, for MADU and CBRM, the cost to manage the groups is less and most of the updates can be done with less time using the communication between groups (or clusters), in comparison with the flooding approach. The proposed approach, MADU, has the least number of redundant

600

messages in high speed environments since MADU can not only spread data as 24

CBRM but also maintain the consistency of data items in a distributed way by considering the mobility information and heterogeneous factors of mobile nodes.

5.6. Impact of Data Size 605

MADU is a time-dependent approach since it considers the safe time and data transmission time to derive an appropriate time for updating data items. We hence discuss the impact of different data sizes. The threshold of node ability δ is set to 0.2 in this simulation and the experiment set parameters, except δ, are as the same as the default values in TABLE 2.

610

As shown in Fig. 10(a), the update coverage of every approach decreases as the data size becomes large. The flooding approach has the worst update coverage because it causes more serious network congestions as the data size increases. CBRM has a better performance than the flooding approach and APPC because CBRM uses a group management with an index table to increase

615

the performance of routing. MADU and APPC both have almost the same update coverage with different data sizes. Two possible reasons can explain such a result. The first reason is that a node in MADU may not update all the data items on its neighbors since the number of transmitted data items within the safe time become small as the data size becomes large. The second reason

620

is that APPC does not consider node mobility, thus having a less probability to transmit data successfully. Fig. 10(b) shows that MADU has the best performance on message redundancy since MADU not only considers node mobility but also uses a threshold to filter the incapable nodes. CBRM has a better performance than APPC since

625

the group management with an index table in CBRM can helps routing, thus avoiding transmission failures. Flooding approach is still the worst one and its message redundancy increases significantly. 5.7. Impact of Node Ability In the last experiment simulation set, we discuss the performance with dif-

630

ferent percentage of nodes whose ability is less than 0.2. Fig. 11(a) presents 25

that APPC and CBRM have a similar performance and better update coverage than MADU when the percentage of nodes with low ability is smaller than 20%. When the number of low ability nodes increases, CBRM can outperforms APPC due to its group management. MADU has a better update coverage when the 635

number of low ability nodes is high. The reason is that a large amount of redundant messages in APPC and CBRM will make their routing performance worse. Fig. 11(b) indicates that the flooding approach is the worst in message redundancy. MADU outperforms all the other approaches as the number of incapable

640

nodes increases. Using the threshold to filter the neighbors with low ability in MADU can save more network resources for each node and avoid network congestions. It is interesting that only the message redundancy of MADU decreases slightly as the number of low ability nodes increases. In fact, the number of redundant messages is also directly proportional to the number of low ability

645

nodes. Because MADU maintains the data consistency in a distributed fashion, the number of control messages increases as the number of low ability nodes increases; thus, the number of redundant messages is relatively small to the total number of messages. That’s the reason why the message redundancy (the ratio of redundant messages to all the messages) is slightly decreasing. In fact,

650

the number of redundant messages is also directly proportional to the number of low ability nodes. APPC and CBRM can perform well when the number of low ability nodes is small. However, APPC only considers the access frequency of data items to schedule the update time, so APPC is worse than CBRM and MADU when the number of low ability nodes becomes large. CBRM uses a

655

group management with an index table to route messages effectively, so it can performs slightly better than APPC. The more low ability nodes are, the more messages are dropped by these nodes.

26

6. Conclusion In this work, we consider a hybrid network architecture that the MP2P over660

lay network can be established through the ad-hoc or Internet links. In such an MP2P system, we propose a new approach, Mobility-Aware Data Update (MADU), for maintaining data consistency. MADU uses a proper safe time on the node mobility to predict the time to send update messages. In addition, we consider the data transmission time when deriving the safe time. In stead

665

of periodically flooding update messages, the proposed approach updates data items in a distributed way and effectively controls the number of messages for updating as well as reduces a large number of redundant messages. By considering different critical factors of mobile nodes, the system can also save much network resource and improve the performance of updating data items. As the

670

experimental results show that, in some extreme cases, such as high-speed or high-density mobile environments, large data size and large number of incapable nodes, MADU has a better performance than the other existing approaches. References [1] A. Malatras, State-of-the-art survey on p2p overlay networks in pervasive

675

computing environments, Journal of Network and Computer Applications 55 (2015) 1–23. doi:http://dx.doi.org/10.1016/j.jnca.2015.04.014. [2] J. Fan, J. Chen, Y. Du, W. Gao, J. Wu, Y. Sun, Geocommunity-based broadcasting for data dissemination in mobile social networks, IEEE Transactions on Parallel and Distributed Systems 24 (4) (2013) 734–743.

680

[3] P. Kuppusamy, B. Kalaavathi, Cluster based data consistency for cooperative caching over partitionable mobile ad hoc network, American Journal of Applied Sciences 9 (8) (2012) 1307–1315. [4] Z. Torbey, N. Bennani, L. Brunie, D. Coquil, Cream: User-centric replication model for mobile environments, in: Proceedings of the 11th Interna-

685

tional Conference on Mobile Data Management, 2010, pp. 348–353. 27

[5] S. Nakamoto, Bitcoin: A peer-to-peer electronic cash system (October 2008). URL https://bitcoin.org/bitcoin.pdf [6] D. Chatzopoulos, M. Ahmadi, S. Kosta, P. Hui, Openrp: a reputation mid690

dleware for opportunistic crowd computing, IEEE Communications Magazine 54 (7) (2016) 115–121. doi:10.1109/MCOM.2016.7509388. [7] D. Chatzopoulos, M. Ahmadi, S. Kosta, P. Hui, Flopcoin: A cryptocurrency for computation offloading, IEEE Transactions on Mobile Computing 17 (5) (2018) 1062–1075. doi:10.1109/TMC.2017.2748133.

695

[8] S. Goka, H. Shigeno, Distributed management system for trust and reward in mobile ad hoc networks, in: 2018 15th IEEE Annual Consumer Communications Networking Conference (CCNC), 2018, pp. 1–6. doi:10.1109/CCNC.2018.8319278. [9] X. Zeng, L. Gao, C. Jiang, T. Wang, J. Liu, B. Zou, A hybrid

700

pricing mechanism for data sharing in p2p-based mobile crowdsensing, in: 2018 16th International Symposium on Modeling and Optimization in Mobile, Ad Hoc, and Wireless Networks (WiOpt), 2018, pp. 1–8. doi:10.23919/WIOPT.2018.8362814. [10] B. Han, P. Hui, V. Kumar, M. Marathe, J. Shao, A. Srinivasan, Mobile data

705

offloading through opportunistic communications and social participation, IEEE Transactions on Mobile Computing 11 (5) (2012) 821–834. [11] Y.-C. Wu, C.-M. Liu, J.-H. Wang, Enhancing the performance of locating data in chord-based p2p systems, in: Parallel and Distributed Systems, 2008. ICPADS ’08. 14th IEEE International Conference on, 2008, pp. 841–

710

846. doi:10.1109/ICPADS.2008.88. [12] C.-M. Liu, C.-C. Lai, A group-based data-driven approach for data synchronization in unstructured mobile p2p systems, Wireless Networks (2017) 1–18doi:10.1007/s11276-017-1481-6. 28

[13] K. Kim, Y. Cai, W. Tavanapong, Safe-time: Distributed real-time mon715

itoring of cknn in mobile peer-to-peer networks., in: Proceedings of the 9th IEEE International Conference on Mobile Data Management (MDM), 2008, pp. 124–131. [14] N. Chand, R. Joshi, M. Misra, Cooperative caching strategy in mobile ad hoc networks based on clusters, Wireless Personal Communications 43

720

(2007) 41–63. [15] N. Chauhan, L. K. Awasthi, N. Chand, R. C. Joshi, M. Mishra, A cooperative caching strategy in mobile ad hoc networks based on clusters, in: Proceedings of the International Conference on Communication, Computing & Security, 2011, pp. 17–20.

725

[16] R. Kumar, P. Kumar, N. Chauhan, Cbrm–cluster based replica management in mobile adhoc networks, in: P. Thilagam, A. Pais, K. Chandrasekaran, N. Balakrishnan (Eds.), Advanced Computing, Networking and Security, Vol. 7135 of Lecture Notes in Computer Science, Springer Berlin Heidelberg, 2012, pp. 338–347.

730

[17] P. Mukilan, A. Wahi, Cdra: Consistency based data replication algorithm for manet, International Journal of Computer Applications 51 (14) (2012) 1–8. [18] M. M. Nawaf, Z. Torbey, Replica update strategy in mobile ad hoc networks, in: Proceedings of the International Conference on Management of

735

Emergent Digital EcoSystems, 2009, pp. 474–476. [19] G. Xe, Z. Li, J. Chen, Y. Wei, V. Issarny, A. Conte, Dtcs: A dynamic treebased consistency scheme of cooperative caching in mobile ad hoc networks, in: Proceedings of the 3rd IEEE International Conference on Wireless and Mobile Computing, Networking and Communications, 2007, pp. 48–56.

740

[20] R.

Mayer,

H.

Gupta,

E.

Saurez,

U.

Ramachandran,

Fogstore: Toward a distributed data store for fog computing, 29

CoRR

abs/1709.07558. arXiv:1709.07558. URL http://arxiv.org/abs/1709.07558 [21] W. Li, X. Chen, S. Lu, Content synchronization using device-to-device communication in smart cities, 745

Computer

Networks

120

(2017)

170



185.

doi:https://doi.org/10.1016/j.comnet.2017.04.034. URL http://www.sciencedirect.com/science/article/pii/S1389128617301548 [22] C.-Y. Chow, H. Leong, A. Chan, Grococa: group-based peer-to-peer cooperative caching in mobile environment, IEEE Journal on Selected Areas in 750

Communications 25 (1) (2007) 179–191. [23] Y.-N. Lien, H.-C. Jang, T.-C. Tsai, Design of p2pnet: An autonomous p2p ad-hoc group communication system, in: Proceedings of the 10th International Conference on Mobile Data Management: Systems, Services and Middleware, 2009, pp. 649–654.

755

[24] J. Yoon, M. Liu, B. Noble, Random waypoint considered harmful, in: INFOCOM 2003. Twenty-Second Annual Joint Conference of the IEEE Computer and Communications. IEEE Societies, Vol. 2, 2003, pp. 1312–1321. doi:10.1109/INFCOM.2003.1208967. [25] C.-C. Lai, C.-M. Liu, Y.-C. Su, A novel mechanism to construct a com-

760

patible overlay on heterogeneous mobile peers, in: Proceedings of the 2013 IEEE International Conference on Pervasive Computing and Communications Workshops, 2013, pp. 78–83. [26] C. Bettstetter, G. Resta, P. Santi, The node distribution of the random waypoint mobility model for wireless ad hoc networks,

765

IEEE Transactions on Mobile Computing 2 (3) (2003) 257–269. doi:10.1109/TMC.2003.1233531.

30

Node Update Process() Input: received update message m, local shared data set D, and update threshold δ; 1

if m. type = = NEW NEIGHBOR then

// Node join

2

create a temporary same data item list, same datalist;

3

create a data update candidate list, update candidatelist;

4

parse message m and create a neighbor node object, nnew , with its information;

5

same datalist ← nnew . datalist intersect D. datalist ;

6

create a temporary data object, dtemp ;

7

for each data item di in same datalist

8

dtemp ← use di to search the same data item in D;

9

if dtemp . timstamp is new than di . timstamp then

10 11 12 13 14 15

dtemp . holderlist .insert(nnew , 1); update candidatelist.add(dtemp ); else if dtemp . timstamp is equal to di . timstamp then dtemp . holderlist .insert(nnew , 0); else dtemp . holderlist .insert(nnew , −1); use update candidatelist with equations (1), (3), and MRU strategy with equation (8) to derive a appropriate safe time T from system. this to nnew ;

16 17 18

add a task to update scheduler with T and nnew ; if m. type = = SAFE TIME EVENT then

// Call by update scheduler

create a temporary neighbor node object, nleaving ;

19

nleaving ← use m. destination to search the leaving node in system. neighborlist ;

20

for each data item di in D

21

use equation (10) to derive abnleaving (di );

22

if di . holderlist .find(nleaving ) = = 1 && abnleaving (di ) ≥ δ

23

package update data item di into update message mi ;

24

mi . type ← DATA UPDATE;

25 26 27

send mi to the neighbor nleaving ; di . holderlist .remove(nleaving ); if m. type = = DATA UPDATE then

// Receive data update

28

parse message m and then get a update data dnew ;

29

use dnew . ID to search the old data do in D;

30

if do exists && dnew . timestamp is newer than do . timestamp then

31

add dnew to D;

Figure 4: The update process on a member node (MN)

31

100

25 MADU

MADU

Message Redundancy (%)

Average Coverage (%)

95 90 85 80 75 70 65 60

-0.1

0

0.1

0.2

0.3

0.4

0.5

20

15

10

5

0.6

-0.1

0

0.1

Update Threshold,

0.2

0.3

0.4

0.5

0.6

Update Threshold,

(a) Update Coverage

(b) Message Redundancy

Figure 5: The impact of threshold δ on (a) update coverage, (b) message redundancy

Update Query Topology Control Data Transmission Retransmission Dropped Messages

MADU

CBRM

MADU

CBRM

APPC

APPC

Update Query Topology Control Data Transmission Retransmission Dropped Messages

Flooding-TTL-3

Flooding-TTL-3 0

500

1000

1500

2000

2500

0

Amount of messages

20

40

60

80

100

Percentage of messages

(a) Amount of messages

(b) Percentage of messages

Figure 6: The system network load in terms of (a) amount of messages, and (b) percentage of messages

32

50

80

45

Message Redundancy (%)

Coverage of per update (%)

90

70 60 50 40 30 Flooding-TTL-3 APPC CBRM MADU

20 10 0

40 35 30 25 20 15 10 5 0

0

20

40

60

80

Flooding-TTL-3 APPC CBRM MADU

100 120 140 160

0

20

40

60

80

100 120 140 160

Time (sec)

Time (sec)

(a) Update Coverage

(b) Message Redundancy

Figure 7: The simulation results in terms of (a) update coverage, and (b) message redundancy with default setting

90

40 Flooding-TTL-3 APPC CBRM MADU

Message Redundancy (%)

Average Coverage (%)

95

85 80 75 70 65 200

400

600

800

35 30 25 20 15 10 5 0 200

1000

Number of Nodes

Flooding-TTL-3 APPC CBRM MADU

400

600

800

1000

Number of Nodes

(a) Update Coverage

(b) Message Redundancy

Figure 8: Impact of network density on (a) update coverage, and (b) message redundancy

33

70

100

Message Redundancy (%)

Average Coverage (%)

95 90 85 80 75 70 65

Flooding-TTL-3 APPC CBRM MADU

60 55 50

0

5

10

15

20

25

30

35

50 40 30 20 10 0

40

Flooding-TTL-3 APPC CBRM MADU

60

0

10

Speed (m/s)

20

30

40

Speed (m/s)

(a) Update Coverage

(b) Message Redundancy

Figure 9: The impact of node speed on (a) update coverage, and (b) message redundancy

80

Message Redundancy (%)

Average Coverage (%)

100 90 80 70 60 50 40

Flooding-TTL-3 APPC CBRM MADU

70 60 50 40 30 20 10 0

056 7

8

9

10

Flooding-TTL-3 APPC CBRM MADU

056 7

8

9

10

Data Size (2x Bytes)

x

Data Size (2 Bytes)

(a) Update Coverage

(b) Message Redundancy

Figure 10: The impact of data size on (a) update coverage, and (b) message redundancy

34

60

100

Message Redundancy (%)

Average Coverage (%)

95 90 85 80 75 Flooding-TTL-3 APPC CBRM MADU

70 65 60

5

10

15

20

25

40 30 20 10 0

30

Percentage of Nodes (%)

Flooding-TTL-3 APPC CBRM MADU

50

5

10

15

20

25

30

Percentage of Nodes (%)

(a) Update Coverage

(b) Message Redundancy

Figure 11: The impact of node ability on (a) update coverage, and (b) message redundancy

35

Chuan-Chi Lai is currently holding a post-doctoral position in the Department of Electrical and Computer Engineering at National Chiao Tung University, Taiwan, R.O.C. He received his Ph. D. in Computer Science and Information Engineering from National Taipei University of Technology (Taipei Tech), Taiwan in 2017. He won Excellent Paper Award and Best Paper Award in ICUFN 2015 and WOCC 2018 conferences, respectively. His current research interests are in the areas of data management and dissemination techniques in mobile wireless environments, mobile ad-hoc and sensor networks, distributed query processing over moving objects, and analysis and design of distributed algorithms. Chuan-Ming Liu is a professor in the Department of Computer Science and Information Engineering, National Taipei University of Technology (Taipei Tech), Taiwan. He received his Ph.D. in Computer Science from Purdue University in 2002 and B.S. and M.S. degrees both in Applied Mathematics from National Chung-Hsing University, Taiwan, in 1992 and 1994, respectively. In the summer of 2010 and 2011, he had held visiting appointments at Auburn University and Beijing Institute of Technology, respectively. Dr. Lius research interests include big data management, uncertain data management, data streams, data management and dissemination in various emerging computing environments, spatial data processing, location based services, ad-hoc and sensor networks.