Transactions in Stack, Fork, and Join Composite Systems
Middleware tools are generally used to glue together distributed, heterogeneous systems into a coherent composite whole. Unfortunately, there is no clear conceptual framework in which to reason about transactional correctness in such an environment. This paper is a first attempt at developing such framework. Unlike most existing systems, where concurrent executions are controlled by a centralized scheduler, we will assume that each element in the system has its own independent scheduler receiving input from the schedulers of other elements and producing output for the schedules of yet other elements in the system. In this paper we analyze basic configurations of such composite systems and develop correctness criteria for each case. Moreover, we also show how these ideas can be used to characterize and improve different transaction models such as distributed transactions, sagas, and federated database transactions.
KeywordsConcurrency Control Weak Order Output Order Strong Order Input Order
Unable to display preview. Download preview PDF.
- 1.G. Alonso, S. Blott, A. Fessler, and H.-J. Schek. Correctness and parallelism in composite systems. In Proc. of the 16th Symp. on Principles of Database Systems (PODS’97), Tucson, Arizona, May 1997.Google Scholar
- 2.G. Alonso, R. Vingralek, D. Agrawal, Y. Breitbart, A. El Abbadi, H.-J. Schek, and G. Weikum. Unifying concurrency control and recovery of transactions. Information Systems, 19(1):101–115, Jan. 1994. An extended abstract of this paper appeared in the Proceedings of the 4th International Conference on Extending Database Technology, EDBT’94. March, 1994, pages 123–130.CrossRefGoogle Scholar
- 4.C. Beeri, H.-J. Schek, and G. Weikum. Multilevel transaction management: Theoretical art or practical need? In Proceedings of the International Conference on Extending Database Technology, number 303 in Lecture Notes in Computer Science, pages 134–154, Venice, Italy, Mar. 1988. Springer-Verlag, New York.Google Scholar
- 5.P. A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison Wesley, 1987.Google Scholar
- 7.H. García-Molina and K. Salem. Sagas. In Proc. 1987 SIGMOD International Conference on Management of Data, pages 249–259, May 1987.Google Scholar
- 8.D. Georgakopoulos, M. Rusinkiewicz, and A. Sheth. Using tickets to enforce the serializability of multidabase transactions. IEEE Knowl. and Data Engineering, Feb. 1994.Google Scholar
- 9.J. Moss. Nested Transactions: An Approach to Reliable Distributed Computing. PhD thesis, M.I.T. Laboratory for Computer Science, Cambridge, Massachusetts, MIT Press, 1981.Google Scholar
- 10.J. E. B. Moss, N. D. Griffith, and M. H. Graham. Abstraction in recovery management. In Proceedings of the ACM SIGMOD International Conference on Management of Data, pages 72–83, 1986.Google Scholar
- 11.C. Pu, G. Kaiser, and N. Hutchinson. Split-Transactions for Open-Ended Activities. In Proceedings of the 14th International Conference on Very Large Databases, Los Angeles, pages 26–37, 1988.Google Scholar
- 12.H.-J. Schek, G. Weikum, and W. Schaad. A Multi-Level Transaction Approach to Federated Transaction Management. In Proceedings of the International Workshop on Interoperability in Multi-database Systems, Research Issues in Data Engineering (IEEE-RIDE-IMS), Kyoto, Apr. 1991.Google Scholar
- 13.R. Vingralek, H. Hasse, Y. Breitbart, and H.-J. Schek. Unifying concurrency control and recovery of transactions with semantically rich operations. Journal of Theoretical Computer Science, 1998.Google Scholar