Keywords

1 Introduction

Routing in mobile networks generally involves multiple hops, whereas in distributed networks, its a challenging task [1]. Distributed computing systems can provide several advantages, such as scalability, fault tolerance, and load balancing. Dealing with distributed systems and data storage together, introduces several challenges and difficulties [2], such as dynamic load balancing, unstable connections, communication failures, lack of flexibility in storing data, lack of auto-reconfigurations, limited radio range.

1.1 Reliability in Mobile Distributed Networks

A network’s reliability has always been a major concern. Among different other factors such as software extensibility, maintainability, and usability, etc., Reliability have greater impact on software’s life, because it can make the running application out of order [1, 2]. Reliability is a very broad term and any software application running in distributed environment can have various definitions.

A Software application is reliable if it can

  • Performs well in specified time t.

  • Do exactly the way it is designed as per requirements.

  • Resist various failures and recover in case of any failure that occurs during system execution without producing any incorrect result.

The major key issues for ensuring reliability [3] is considered as

  • errors

  • inconsistency

  • denial of services.

1.2 Problem Identification

The Failure detection is not as much efficient from [4, 5]. Failure recovery is not well organized from [5, 6]. The protocol used for multicasting is not having a considerable reliability from [7]. By considering all these problems, authors propose a technique called distributed caching and fault-tolerant communication in mobile distributed networks.

2 Methodology

A distributed mobile agent is deployed in each MH of the multicast tree [7] which performs the following tasks:

  • Monitoring the failures of multicast tree members [4]

  • Recovering from failures [4]

  • Selecting the caching policy for content distribution based on Game theory.

In multicast network, a distributed mobile agent (MA) is deployed in each mobile host (MH) of the multicast tree. The main role of MA is to either broadcast the messages to all MHs in its cell or to a specific MH in its cell. However, MH can only transmit the messages to MA of the cell in which it is located.

The parameters used in this network model is taken as

  • Mobile Host Identifier (IDMH): Identity the mobile host

  • First Level Node Identifier (IDFN): Identity the immediate higher level nodes next to MH.

  • Second Level Node Identifier (IDFN): Identity the immediate higher level nodes next to first level nodes.

  • Root Node Identifier (IDRN): Identity the root node of the tree.

  • Timer (t): Timer interval to detect whether the lower level nodes are in active or sleep mode.

  • MA after identifying the neighbor list, it performs, monitoring the failures of multicast tree members.

2.1 Monitoring the Failures of Multicast Tree Members

The procedure for monitoring the failures of multicast tree members is mentioned below

  1. 1.

    Each Mobile Agent (MAi) periodically transmits the ‘Active’ (AC) message only to its Mobile Host (MHi.)

    $$ {\text{MA}}_{\text{i}} \xrightarrow{AC}MH_{i} $$

    This causes MA to be aware of active or failed MH among its immediate lower level nodes.

    Note: Also MA decrements t for its immediate lower level nodes by one for every pre-defined time interval.

  2. 2.

    Upon receiving AC message from MAi, MHi sends active acknowledgement (AACK) message to MAi.

    $$ {\text{MH}}_{\text{i}} \xrightarrow{AACK}MA_{i} $$
  3. 3.

    If MAi does not receive any AACK message from MHi until timer expiry, it concludes that MHi is subjected to failure.

    This technique of monitoring failure nodes results in low-failure free overhead.

  4. 4.

    If MHi wishes to have a new mobile agent to perform effective monitoring of the immediate next level nodes, it generates the new mobile agent MAnew.

  5. 5.

    MAnew initiates the monitoring task and informs its location to all the nodes existing in between the MHi and itself.

  6. 6.

    When MHi decides that it is not efficient to guarantee the required monitoring performance, it forcefully shifts its MAi to other trusted MHj, where MAi begins its monitoring task. If the MH detects that its immediate level nodes have failed, it initiates failure recovery technique

2.2 Failure Recovery Technique

If the MH detects that its immediate level nodes have failed, it initiates failure recovery technique. The recovery is based on the availability and capability of nodes. It involves following three scenarios:

Scenario 1

When MH identifies that its immediate low level nodes have failed, then

  • Finds a new node as alternate node Nnew

  • Generates the new MA (MAnew)

  • Transfers the MAnew to Nnew

  • MAnew performs the similar task as it was performing earlier.

Scenario 2

When MH identifies that its immediate lower level node has failed and there is availability of node for replacing the failed one, then

  • It verifies its lower level nodes whether there is any suitable node for replacement.

  • If node exists, then it is allowed to take over the role of failed MH

  • The new node informs its location and its replacement to all the nodes in the path between the MH and failed node.

Scenario 3

When there is no new node or lower level nodes available for failed node replacement, then

  • MH recommends the immediate higher level node to take the role of failed node.

  • The new node informs its location and its replacement to all the nodes in the path.

2.3 Selecting the Caching Policy for Content Distribution Based on Game Theory Model

The caching policy is selected for content distribution based on game theory model which is explained below: When the mobile nodes receive the data from the Internet, they prefetch it, store, and share the content [8]. Also there is a possibility that the nodes may be subjected to dynamic content more than once.

Let Q be the set of all websites that node have possibility to download

Let CP be the caching policy.

CP: {n i , n j , \( \sigma , \) \( \tau \)}

R represents the rule that selects four-tuple {n i , n j , \( \sigma , \) \( \tau \)} to transmit at time slot t.

where {\( \sigma , \) \( \tau \)} = time slot

$$ \left\{ {{{n}}_{{i}} ,\,{{n}}_{{j}} } \right\} = {\text{neighboring}}\,{\text{nodes}}. $$

The steps involved in this approach are as follows:

  1. 1.

    Each node n i maintains the public cache where it stores the most downloaded x i websites, where

    x i \( \le \) |Q|.

  2. 2.

    The nodes make the contents of the cache to be available for other encountered nodes.

    i.e. If n i visits n j , any website stored in n i will be made available for n j and vice versa.

    $$ \forall {\text{q}} \in {\text{Q,}}\,{\text{let}}\,{\text{c}}_{\text{ni,q}} = \left\{ \begin{aligned} & 1,\,{\text{if}}\,n_{i} \,{\text{stores}}\,q \hfill \\ & 0,\,{\text{otherwise}} \hfill \\ \end{aligned} \right. $$

    Here, 0–1 variable indicates that if the node n i \( \in \) N stores websites q.

  3. 3.

    The caching policy (CP) of n i can be selected using the utility function (UFni) at time t.

    $$ {\text{UF}}_{\text{ni}} \left( {{\text{CP}},{\text{ t}}} \right) = \left\{ \begin{aligned} & n_{i} (q(t)),\,\,{\text{if}}\,n_{i}^{{}} {\text{stores}}\,q \hfill \\ & 0,\,\,\,{\text{otherwise}} \hfill \\ \end{aligned} \right. $$
  4. 4.

    For all q \( \in \) Q, v i,q  = \( \sum\limits_{{n \in T_{i} }} {c_{ni,q} /|T_{i} |} \) be the fraction of nodes in tree T i storing website q

    This reveals that v i,q is v’s replication ratio in tree T i .

    $$ {\text{v}}_{\text{i}} = \left[ {{\text{v}}_{\text{i}} ,{\text{q}}} \right]{\text{ q}} \in {\text{Q,}}\,{\text{i}} \in 1 ,\ldots , {\text{S}} $$
  5. 5.

    If the request is raised by the node for a website during time slot \( \left( {1 - \sigma } \right) \) {0 \( \le \) \( \sigma \) \( \le \) 1 of time slot}, a feasibility condition is defined as follows:

    $$ 0 < (1 - \sigma )\,(n_{i} q(t)) $$

    The strict inequality assures that the request by the node is satisfied.

    i.e. If CPn, q = 1

    Then

    Request is satisfied

    Else

    Request is backlogged

    End if

    Here CPn,q = 1 reveals that the node stores the requested website in its public cache

    The above condition will be subsequently satisfied during following scenarios:

    • When n i meets n j , such that cnj,q = 1

    • n i accesses the infrastructure

  6. 6.

    The optimal value of \( \tau \) is estimated using following equation

    $$ \tau^{*} \, = \,\frac{{\left( {1 - \sigma } \right)CP_{ninj}^{nj} }}{{\sigma CP_{nj}^{ni} }} $$

    If \( \tau < \frac{{\left( {1 - \sigma } \right)CP_{ninj}^{nj} }}{{\sigma CP_{nj}^{ni} }} \)

    Then

    y does not have sufficient cache to store the website.

    End if

    If \( \tau > \frac{{\left( {1 - \sigma } \right)CP_{ninj}^{nj} }}{{\sigma CP_{nj}^{ni} }} \)

    Then

    It is concluded that there is sufficient cache available.

    End if

    Thus the notation R = {n i , n j , \( \sigma \)} is used for decision of caching policy.

  7. 7.

    In order to maximize the total expected utility of nodes while selecting caching policy, we perform the following

    $$ {\text{O}}\left( {R,t} \right) = \sum\limits_{ni}^{N} {\sum\limits_{nj}^{N} {UF_{ninj}^{Ni} \left( t \right)} } + UF_{ninj}^{Nj} \left( t \right) $$

Note:

  • A request from q can be satisfied when any copy of the website is retrieved.

  • The above process becomes realistic during following scenarios:

    • When the websites are updated infrequently.

    • Content is diffused quickly among users that cache it.

3 Simulation Results

3.1 Simulation Parameters

Authors used NS2 [9] to simulate our proposed Distributed Caching and Fault-tolerant Communication (DCFC) method. Authors used the IEEE 802.11 for Mobile Distributed Network as the MAC layer protocol. It has the functionality to notify the network layer about link breakage. In simulation, the packet sending rate 150 Kb. The area size is 1250 m × 1250 m square region for 50 s simulation time. The simulated traffic is constant bit rate (CBR) and exponential (Exp).

Our simulation settings and parameters are summarized in Table 1

Table 1 Simulation parameters

3.2 Performance Metrics

Authors evaluate performance of the new protocol mainly according to the following parameters:

Average Packet Delivery Ratio :

It is the ratio of the number of packets received successfully and the total Number of packets transmitted

Average end-to-end delay :

The end-to-end-delay is averaged over all surviving data packets from the Sources to the destinations

Throughput :

The throughput is the amount of data that can be sent from the sources to the destination

Packet Drop :

It is the number of packets dropped during the data transmission.

3.3 Results and Analysis

3.3.1 Based on Mobile Nodes

In first experiment by varying the number of mobile nodes as 4, 6, 8, 10, and 12, the various factors are analysed and the simulation results are given below (Fig. 1).

Fig. 1
figure 1

Simulation topology

Figures 2, 3, 4 and 5 show the results of delay, delivery ratio, packet drop, and throughput by varying the mobile nodes from 4 to 12 for the CBR traffic in DCFC and RMP protocols. When comparing the performance of the two protocols, we infer that DCFC outperforms RMP by 29 % in terms of delay, 42 % in terms of delivery ratio, 24 % in terms of packet drop, and 47 % in terms of throughput.

Fig. 2
figure 2

Nodes versus delay

Fig. 3
figure 3

Nodes versus delivery ratio

Fig. 4
figure 4

Nodes versus drop

Fig. 5
figure 5

Nodes versus throughput

3.3.2 Based on Cache Size

In second experiment by varying the cache size as 50, 100, 150, 200, and 250, the various factors are analysed and the simulation results are given below.

Figures 6, 7, 8, and 9 show the results of delay, delivery ratio, packet drop, and throughput by varying the Cache Size from 50 to 250 for the CBR traffic in DCFC and RMP protocols. When comparing the performance of the two protocols, we infer that DCFC outperforms RMP by 18 % in terms of delay, 50 % in terms of delivery ratio, 16 % in terms of packet drop, and 53 % in terms of throughput.

Fig. 6
figure 6

Cache size versus delay

Fig. 7
figure 7

Cache size versus delivery ratio

Fig. 8
figure 8

Cache size versus drop

Fig. 9
figure 9

Cache size versus throughput

4 Conclusions

In this paper, authors have proposed a distributed caching and fault tolerant communication in mobile distributed networks. In this technique, a distributed mobile agent is deployed in each mobile host of the multicast tree. It initially monitors the failures occurring in multicast tree members. If the mobile host detects that its immediate level nodes have failed, it initiates failure recovery technique. Then the content distribution is performed by selecting the caching policy based on game theory. By comparing the protocols DCFC and RMP, the simulation results show that DCFC is better in performance with respect to delay, delivery ratio, throughput, and drop based on both the cache size and number of mobile nodes. Hence the proposed technique DCFC enhances the reliability and reduces the communication failures.