  A distributed system consisting of a huge number of computational entities is
prone to faults, because faults in a few nodes cause the entire system to fail.
Consequently, fault tolerance of distributed systems is a critical issue.
Checkpoint-rollback recovery is a universal and representative technique for
fault tolerance; it periodically records the entire system state
(configuration) to non-volatile storage, and the system restores itself using
the recorded configuration when the system fails. To record a configuration of
a distributed system, a specific algorithm known as a snapshot algorithm is
required. However, many snapshot algorithms require coordination among all
nodes in the system; thus, frequent executions of snapshot algorithms require
unacceptable communication cost, especially if the systems are large. As a
sophisticated snapshot algorithm, a partial snapshot algorithm has been
introduced that takes a partial snapshot (instead of a global snapshot).
However, if two or more partial snapshot algorithms are concurrently executed,
and their snapshot domains overlap, they should coordinate, so that the partial
snapshots (taken by the algorithms) are consistent. In this paper, we propose a
new efficient partial snapshot algorithm with the aim of reducing communication
for the coordination. In a simulation, we show that the proposed algorithm
drastically outperforms the existing partial snapshot algorithm, in terms of
message and time complexity.
