Using the Compliant Systems Architecture to Deliver Flexible Policies within Two-Phase Commit
The compliant systems architecture (CSA) is a structuring methodology for constructing software systems that exhibit strict separation of policy and mechanism. Components of an instantiated CSA adapt to their environment under application control. This ability to evolve allows a single system to provide optimal support for arbitrary applications through flexible policy specification. Applications may determine their preferred level of participation in the specification of policy.
In a distributed database system, two-phase commit (2PC) delineates a family of algorithms governed by policies that affect different performance, overhead and recovery characteristics. Whilst the literature describes many different algorithms, a given implementation employs a particular subset of policy choices. Consequently applications are captive to decisions made by the underlying system and are unable to exploit domain-specific knowledge. This paper outlines an instantiation of a distributed CSA and illustrates how it delivers flexibility within 2PC.
KeywordsVirtual Machine Policy Choice Distribute Database System Flexible Policy Operational Abstraction
Unable to display preview. Download preview PDF.
- 1.Engler, D., Kaashoek, M., O’Toole, J.: Exokernel: An Operating System Architecture for Application-Level Resource Management. In: Proc. of the 15th ACM Sym. on Operating Systems Principles. (1995) 251–266Google Scholar
- 3.Soparkar, N., Levy, E., Korth, H., Silberschatz, A.: Adaptive Commitment for Real-Time Distributed Transactions. CS-TR 92-15, University of Texas (1992)Google Scholar
- 7.Gray, J.: Notes on Database Operating Systems. In: Operating Systems: An Advanced Course. Volume 66 of LNCS. Springer-Verlag (1978) 393–481Google Scholar
- 8.Al-Houmaily, Y.: Commit Processing in Distributed Database Systems and in Heterogeneous Multidatabase Systems. PhD thesis, University of Pittsburgh (1997)Google Scholar
- 9.LeLann, G.: Error Recovery. In: Distributed Systems: Architecture and Implementation. Volume 105 of LNCS. Springer-Verlag (1981) 371–376Google Scholar
- 11.Skeen, D.: Nonblocking Commit Protocols. In: Proc. of the ACM SIGMOD Int. Conf. on Management of Data. (1981) 133–142Google Scholar
- 12.Mohan, C., Lindsay, B.: Efficient Commit Protocols for the Tree of Processes Model of Distributed Transactions. In: Proc. of the 2nd ACM Sym. on Principles of Distributed Computing. (1983) 76–88Google Scholar
- 13.Falkner, K., Detmold, H., Munro, D., Olds, T.: Towards Compliant Distributed Shared Memory. In: 4th Int. Workshop on Software Distributed Shared Memory. (2002) 305–310Google Scholar