A technique for ensuring that a transaction successfully updates all appropriate files in a distributed database environment. All DBMSs involved in the transaction first confirm that the transaction has been received and is recoverable (stored on disk). Then each DBMS is told to commit the transaction (do the actual updating).