An approach to fault tolerance in the cloud using the checkpointing technique