Abstract
New applications that support cooperative work of users on distributed computers often share persistent data structures that contain pointers. For these applications, the underlying system, often uses the "page server" architecture, in which the persistent data are shipped from the server on a page basis, and clients cache the pages for object-grain accesses. In this page-grain environment, conventional concurrency control schemes do not work as well as they do in the object-grain environment for business applications, because of their lack of efficiency and/or correctness. The two-phase locking scheme and timestamp ordering scheme suffer from frequent lock contention, (false) deadlocks, and/or frequent transaction restarts. Existing optimistic schemes sometimes provide inconsistent views of the persistent storage to transactions that are to be aborted. This paper proposes a novel concurrency control scheme. Called "page-based versioned optimistic" scheme. suitable for serialization of distributed cooperative applications with page-grain accesses. The optimistic scheme with versioning avoids lock contention, commits all read-only transactions, and provides consistent views of the persistent storage even to transactions that are to be aborted. The scheme is able to be implemented efficiently in distributed systems as well as in centralized systems.