Flexible transaction dependencies in database systems
Numerous extended transaction models have been proposed in the literature to overcome the limitations of the traditional transaction model for advanced applications characterized by their long durations, cooperation between activities and access to multiple databases (like CAD/CAM and office automation). However, most of these extended models have been proposed with specific applications in mind and almost always fail to support applications with slightly different requirements. We propose the Multiform Transaction model to overcome this limitation. The multiform transaction model supports a variety of other extended transaction models. A multiform transaction consists of a set of component transactions together with a set of coordinators which specify the transaction completion dependencies among the component transactions. A set of transaction primitives allow the programmer to define custom completion dependencies. We show how a wide range of extended transactions can be implemented as multiform transactions, including sagas, transactional workflows, nested transactions, and contingent transactions. We allow the programmers to define their own primitives-having very well-defined interfaces-so that application specific transaction models like distributed multilevel secure transactions can also be supported.
transaction dependencies multilevel security database management systems transaction processing commit protocols distributed systems