Skip to main content

Short note: Forward and backward recovery

Short answer

Backward recovery restores a previous correct state via checkpoints and logs, losing work since checkpoint but needing no error knowledge. Forward recovery moves to a new correct state using error-specific correction (e.g., error-correcting codes). Backward is general, forward avoids rollback but requires advance error knowledge.

Write a short note on forward and backward recovery in distributed system (recovery approach in distributed system).

Backward recovery

The system is brought back to a previously saved correct state (a recovery point or checkpoint) and execution resumes from there. The state is recorded periodically by checkpointing and/or message logging. It is general-purpose and does not need to know which error occurred, but it has overhead (saving state), it loses the work done since the checkpoint, and it is impossible for some operations (e.g. once a cash dispenser has paid out money, that cannot be undone). Example: restoring a database from a checkpoint and replaying the log.

Forward recovery

The system moves to a new correct state from which it can continue, by correcting the error without going back. It requires knowing in advance which errors may occur. Examples: error-correcting codes, and erasure correction, where a lost packet is reconstructed from other, successfully delivered packets instead of being resent.

PointBackward recoveryForward recovery
IdeaRoll back to saved stateMove to new correct state
Error knowledgeNot neededNeeded in advance
OverheadCheckpoint cost, lost workLess, but designed per error
GeneralityGeneralSpecific
ExampleCheckpoint/restartError-correcting codes

✓ Answer checked by Claude Opus 5.5 (high effort)

All Distributed System chapter 9 questions →