Snapshot algorithm