Long-duration transactions require criteria beyond serializability to ensure the correctness of an execution. Korth and Speegle’s NT/PV model utilizes nested transactions, explicit predicates, and multiple versions to represent the semantics of long-duration transactions. The model defines correctness by imposing restrictions on the executions of transactions. The VPC protocol for correct executions uses partial ordering to create a version set that a transaction may access. Under VPC, transactions satisfy user-supplied correctness predicates and do not commit until all subtransactions terminate.
The authors provide a proof of correctness and illustrate the operation of the protocol via an extensive hypothetical example. This work builds on prior research in the area in a coherent manner and appears to present a firm foundation for integration into a complete DBMS.