Four concurrency control protocols that eliminate interference between read-only actions and update actions by maintaining multiple versions of the system state are described. The first protocol uses timestamps and a so-called initiation phase for determining when a version might be needed. A read operation uses the most recently written version; a write operation creates a new version. The second protocol is similar to the first one but uses an information-propagation technique for handling the versions. The third protocol uses both timestamps and an information-propagation technique. Finally, the fourth protocol is based on a timestamp server.
All protocols are described in a qualitative manner; the essential performance problems are not discussed. I agree with the author, who notes that “it is not yet clear whether more precise version management, as in our protocols, can be done while making equally efficient use of secondary storage.” Until testing or simulations of the efficiency of these protocols are conducted, their merits will remain in doubt.