A Checkpointing Algorithm for Mobile Computing Environment Pushpendra Singh and Gilbert Cabillic Aces Projet, INRIA-Rennes, Campus Universitaire de Beaulieu 35042 Rennes, France {Pushpendra.Singh,Gilbert.Cabillic}@irisa.fr Abstract. Mobile computing is going to change the way, computers are used today. However mobile computing environment has features like high mobility, frequent disconnections, and lack of resources, such as memory and battery power. Such features make applications, running on mobile devices, more susceptible to faults. Checkpointing is a major technique to confine faults and restart applications faster. In this pa- per, we present a coordinated checkpointing algorithm for deterministic applications. We are using anti-messages along-with selective logging to achieve faster recovery and reduced energy consumption. Our algorithm is non-blocking in nature and avoids unnecessary computation. We ask only minimum number of processes to take the checkpoint and also take in to account the limited storage available at mobile devices. 1 Introduction Mobile environment has features like high mobility, frequent disconnections, and lack of resources such as memory and battery power; such features make appli- cations, running on mobile devices, more susceptible to faults. Thus provid- ing good fault-tolerant mechanisms is necessary to ensure reliable working of computing devices. Coordinated Checkpointing is a major technique to provide fault-tolerance. In this paper, we present a coordinated checkpointing algorithm for deter- ministic applications. Coordinated checkpointing has two phases. In the first phase, checkpoint initiator asks other processes to take a checkpoint. If every process takes a checkpoint, then the initiator enters into the second phase and asks processes to make their recent checkpoint permanent. However, in the first phase, if a process denies to take a checkpoint then whole checkpointing process is aborted. In coordinated checkpointing, last checkpoints of every process form a consistent state; thus it is free from domino effect [1] and problem of storing number of checkpoints. Recently proposed checkpointing algorithms [2,3] do not take into account the nature of application and insist on avoiding orphan messages [3] to have a correct recovery. We have found out that for deterministic applications, their M. Conti et al. (Eds.): PWC 2003, LNCS 2775, pp. 65–74, 2003. c IFIP International Federation for Information Processing 2003