Focus is on recovery of transactions in a distributed DB/DC system. The objective is to use transaction-level structural information to eliminate costly lower-level handshaking protocols, eliminate the need for any centralized recovery management mechanism by making recovery actions local to interacting components, and eliminate propagation of recovery actions to more than one antecedent or precedent component. Progressive recovery is a way of tracking the progress of a transaction to meet the above objective. Transaction processing involves different execution stages (DC, DB, followed by the DC), perhaps on different processors. Some stages make database changes and others are purely transformations of messages. The latter permit re-executions without side effects. The former must be well protected from re-executions. In contrast with optimistic recovery schemes, progressive recovery does not track communication and state dependencies.