Mobile computing raises many new issues, such as lack of stable storage, law bandwidth of wireless channel, high mobility, and limited battery life. These new issues make traditional checkpointing algorithms unsuitable. In this paper, we introduce the concept of ''mutable checkpoint", which is neither a tentative checkpoint nor a permanent checkpoint. Mutable checkpoints can be saved any where: e.g., the memory or local disk of MHs. In this way, taking a mutable checkpoint avoids the overhead of transferring large amount of data to the stable storage in MSS over the wireless network. Based on mutable checkpoints, oar non-blocking algorithm avoids avalanche effect, minimizes She number of synchronization messages, and forces only a minimum number of processes to take their checkpoints on the stable storage.