In the present work, we made an exhaustive study of checkpointing protocols for distributed systems. We also designed 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 proposed to delay the processing of selective messages at the receiver end only during the checkpointing period. We tried to reduce the Checkpointing time by avoiding formation of Checkpointing tree. The Z-dependencies are well taken care of. The proposed scheme forces zero useless checkpoints at the cost of very small blocking. We also developed a minimum-process coordinated checkpointing algorithm for deterministic mobile distributed systems, where no useless checkpoints are taken, no blocking of processes takes place, and anti-messages of very few messages are logged during checkpointing. We tried to reduce the loss of checkpointing effort when any process fails to take its checkpoint in coordination with others.