An Efficient Minimum-process Checkpointing Scheme for Non-Deterministic Mobile Distributed Systems

While dealing with mobile distributed systems, we come across some issues like: mobility, low bandwidth of wireless channels and lack of stable storage on mobile nodes, disconnections, limited battery power and high failure rate of mobile nodes.   These issues make traditional checkpointing techniques designed for Distributed systems unsuitable for Mobileenvironments. In this paper, we design a minimum process algorithm for Mobile Distributed systems, where no useless checkpoints are taken and an effort has been made to optimize the blocking of processes. We propose to delay the processing of selective messages at the receiver end only during the checkpointing period. A Process is allowed to perform its normal computations and send messages during its blocking period. In this way, we try to keep blocking of processes to bare minimum. In order to keep the blocking time minimum, we collect the dependency vectors and compute the exact minimum set in the beginning of the algorithm.   The number of processes that take checkpoints is minimized to 1) avoid  awakening of MHs in doze mode of operation, 2) minimize thrashing of MHs with checkpointing activity, 3) save limited battery life of MHs and low bandwidth of wireless channels. In coordinated checkpointing, if a single process fails to take its checkpoint; all the checkpointing effort goes waste, because, each process has to abort its tentative checkpoint. In order to take its tentative checkpoint, an MH needs to transfer large checkpoint data to its local MSS over wireless channels.