Transactional support for cooperative applications

Cooperative work on shared, persistent data requires computing system support to coordinate the work of multiple users and to ensure data consistency. Conventional database transaction models do not meet the requirements of cooperative applications. Isolation of transactions, as guaranteed by the ACID properties, contradicts the need of cooperation between users. In this paper, we investigate different advanced transaction models that target at improved support for cooperative applications. To that extent we analyze typical cooperative application scenarios and derive from that basic requirements for consistent access to shared databases. In particular we discuss in detail the cooperative transaction model that has been developed within the TRANSCOOP project. This model supports alternating periods of individual and joint work, and allows to exchange and share information consistently. It provides transactional execution guarantees both for the work of single users and for the overall cooperative effort. The model is applicable to a wide spectrum of cooperative applications ranging from creative design applications to structured workflow-like applications.