DOI: 10.4018/IJCAC.2018070105
International Journal of Cloud Applications and Computing
Volume 8 • Issue 3 • July-September 2018
Copyright © 2018, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited.
60
An Efcient Data Replication
Algorithm for Distributed Systems
Sanjaya Kumar Panda, Veer Surendra Sai University of Technology, Burla, India
Saswati Naik, Sambalpur University Institute of Information Technology, Burla, India
ABSTRACT
This article describes how data replication plays an important role in distributed systems. It primarily
focuses on the redundancy of data at two or more nodes, to achieve both fault tolerance and improved
performance. Therefore, many researchers have proposed various data replication algorithms to
manage the redundancy of data. However, they have not considered the faults that are associated
with the nodes, such as permanent, transient and intermittent. Moreover, they have not incorporated
any recovery approach to rejoin the failed nodes. Therefore, the authors propose a data replication
algorithm, called dynamic vote-based data replication (DVDR). The main contribution of DVDR is
to consider all types of faults and rejoin the failed nodes. DVDR is based on dynamic vote assignment
among the connected nodes, and referred as passive and non-hierarchical one. The authors perform
rigorous analysis of DVDR and compare with an existing dynamic vote assignment algorithm. The
result shows the efficacy of the proposed algorithm.
KEywoRDS
Data Replication, Distributed Systems, Dynamic Vote Assignment, Fault Tolerance, Non-Hierarchical, Passive,
Recovery
INTRoDUCTIoN
In distributed systems, data replication is the process of storing multiple copies of data at different
nodes (Tenzekhti, Day, & Ould-Khaoua, 2002; Wang, & Li, 2006). The primary objective of data
replication is to increase the availability of data and fault tolerance. Moreover, if one of the nodes
is failed due to some unavoidable reasons, then the data is accessed from other nodes. However, the
major concern is to make the data consistent in each individual node (Jajodia, & Mutchler, 1990).
In general, replication is of two types, namely active and passive. A replication is said to be active if
the update request is processed at every node. It can be used for deterministic processes. On the other
hand, passive replication processes an update request on a single node and propagates the update
to the other nodes. It can be used for deterministic and nondeterministic processes (Deshpande, &
Kamalapur, 2014).
In distributed systems, a fault (or a failure) can disconnect the connected nodes (referred as a
network) into two or more disconnected networks. A fault may be permanent, transient and intermittent
(Koren, & Krishna, 2007; Panda, Khilar, & Mohapatra, 2013; Panda, Khilar, & Mohapatra, 2014;
Mishra, & Panda, 2017; Panda, & Khilar, 2012; Panda, & Khilar, 2012; Bhoi, Panda, & Khilar, 2012).
A permanent fault at a node reflects severe damage and disconnects the node from the network. A
transient fault at a node occurs for a short duration of time. It disconnects the node from the network
for some time. An intermittent fault at a node oscillates between active and inactive state. Here, active