Skip to main content

Distributed Transaction Processing and The Camelot System

  • Conference paper
Distributed Operating Systems

Part of the book series: NATO ASI Series ((NATO ASI F,volume 28))

Abstract

This paper describes distributed transaction processing, a technique used for simplifying the construction of reliable distributed systems. After introducing transaction processing, the paper presents models describing the structure of distributed systems, the transactional computations on them, and the layered software architecture that supports those computations. The software architecture model contains five layers, including an intermediate layer that provides a common set of useful functions for supporting the highly reliable operation of system services, such as data management, file management, and mail. The functions of this layer can be realized in what is termed a distributed transaction facility. The paper then describes one such facility — Camelot. Camelot provides flexible and high performance commit supervision, disk management, and recovery mechanisms that are useful for implementing a wide class of abstract data types, including large databases. It runs on the Unix-compatible Mach operating system and uses the standard Arpanet IP communication protocols. Presently, Camelot runs on RT PC’s and Vaxes, but it should also run on other computers including shared-memory multiprocessors.

This work was supported by the Defense Advanced Research Projects Agency, ARPA Order No. 4976, monitored by the Air Force Avionics Laboratory under Contract F33615-84-K-1520, and the IBM Corporation.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Mike Accetta, Robert Baron, William Bolosky, David Golub, Richard Rashid, Avadis Tevanian, Michael Young. Mach: A New Kernel Foundation for UNIX Development. In Proceedings of Summer Usenix. July, 1986.

    Google Scholar 

  2. James E. Allchin. An Architecture for Reliable Distributed Systems. PhD thesis, Georgia Institute of Technology, September, 1983.

    Google Scholar 

  3. James E. Allchin, Martin S. McKendry. Facilities for Supporting Atomicity in Operating Systems. Technical Report GIT-CS-83/1, Georgia Institute of Technology, January, 1983.

    Google Scholar 

  4. M. M. Astrahan, M. W. Blasgen, D. D. Chamberlin, K. P. Eswaran, J. N. Gray, P. P. Griffiths, W. F. King, R. A. Lorie, P. R. McJones, J. W. Mehl, G. R. Putzolu, I. L. Traiger, B. W. Wade, and V. Watson. System R: A Relational Approach to Database Management. ACM Transactions on Database Systems 1(2), June, 1976.

    Google Scholar 

  5. J. P. Banatre, M. Banatre, F. Ployette. Construction of a Distributed System Supporting Atomic Transactions. In Proceedings of the Third Symposium on Reliability in Distributed Software and Database Systems. IEEE, October, 1983.

    Google Scholar 

  6. Philip A. Bernstein, Nathan Goodman. Concurrency Control in Distributed Database Systems. ACM Computing Surveys 13(2):185–221, June, 1981.

    Article  Google Scholar 

  7. Joshua J. Bloch. A Practical, Efficient Approach to Replication of Abstract Data Objects. November, 1986. Carnegie Mellon Thesis Proposal.

    Google Scholar 

  8. David R. Cheriton. The V Kernel: A Software Base for Distributed Systems. IEEE Software 1(2):186–213, April, 1984.

    Google Scholar 

  9. The Guide to the Camelot Distributed Transaction Facility Release O Pittsburgh, PA, 1987. Under development.

    Google Scholar 

  10. Eric C. Cooper. C Threads. June, 1986. Carnegie Mellon Internal Memo.

    Google Scholar 

  11. O.J. Dahl, C. A. R. Hoare. Hierarchical Program Structures. In C. A. R. Hoare (editor), A.P.I.C. Studies in Data Processing. Volume 8: Structured Programming, chapter 3, pages 175–220. Academic Press, London and New York, 1972.

    Google Scholar 

  12. Dean S. Daniels, Alfred Z. Spector, Dean Thompson. Distributed Logging for Transaction Processing. Technical Report CMU-CS-86-106, Carnegie-Mellon University, June, 1986.

    Google Scholar 

  13. C. J. Date. The System Programming Series: An Introduction to Database Systems Volume 2. Addison-Wesley, Reading, MA, 1983.

    Google Scholar 

  14. Reference Manual for the Ada Programming Language July 1982 edition, Department of Defense, Ada Joint Program Office, Washington, DC, 1982.

    Google Scholar 

  15. Hans Diel, Gerald Kreissig, Norbet Lenz, Michael Scheible, Bernd Schoener. Data Management Facilities of an Operating System Kernel. In Sigmod ’84, pages 58–69. June, 1984.

    Google Scholar 

  16. Cynthia Dwork, Dale Skeen. The Inherent Cost of Nonblocking Commitment. In Proceedings of the Second Annual Symposium on Principles of Distributed Computing, pages 1–11. ACM, August, 1983.

    Google Scholar 

  17. Jeffrey L. Eppinger, Alfred Z. Spector. Virtual Memory Management for Recoverable Objects in the TABS Prototype. Technical Report CMU-CS-85-163, Carnegie-Mellon University, December, 1985.

    Google Scholar 

  18. R. S. Fabry. Capability-Based Addressing. Communications of the ACM 17(7):403–411, July, 1974.

    Article  Google Scholar 

  19. James N. Gray. Notes on Database Operating Systems. In R. Bayer, R. M. Graham, G. Seegmuller (editors), Lecture Notes in Computer Science. Volume 60: Operating Systems — An Advanced Course, pages 393–431.Springer-Verlag, 1978. Also available as Technical Report RJ2188, IBM Research Laboratory, San Jose, California, 1978.

    Google Scholar 

  20. James N. Gray. The Transaction Concept: Virtues and Limitations. In Proceedings of the Very Large Database Conference, pages 144–154. September, 1981.

    Google Scholar 

  21. James N. Gray, et al. The Recovery Manager of the System R Database Manager. ACM Computing Surveys 13(2):223–242, June, 1981.

    Article  Google Scholar 

  22. Theo Haerder, Andreas Reuter. Principles of Transaction-Oriented Database Recovery. ACM Computing Surveys 15(4):287–318, December, 1983.

    Article  Google Scholar 

  23. Pat Helland. Transaction Monitoring Facility. Database Engineering 8(2):9–18, June, 1985.

    Google Scholar 

  24. Maurice P. Herlihy. Availability vs. atomicity: concurrency control for replicated data. Technical Report CMU-CS-85-108, Carnegie-Mellon University, February, 1985.

    Google Scholar 

  25. M. P. Herlihy, J. M. Wing. Avalon: Language Support for Reliable Distributed Systems. Technical Report CMU-CS-86-167, Carnegie Mellon University, November, 1986.

    Google Scholar 

  26. Michael B. Jones, Richard F. Rashid, Mary R. Thompson. Matchmaker: An Interface Specification Language for Distributed Processing. In Proceedings of the Twelfth Annual Symposium on Principles of Programming Languages, pages 225–235. ACM, January, 1985.

    Google Scholar 

  27. William Joy, Eric Cooper, Robert Fabry, Samuel Leffler, Kirk McKusick, David Mosher. 4.2 BSD System Interface Overview. Technical Report CSRG TR/5, University of California Berkeley, July, 1983.

    Google Scholar 

  28. Henry F. Korth. Locking Primitives in a Database System. Journal of the ACM 30(1):55–79, January, 1983.

    Article  MathSciNet  MATH  Google Scholar 

  29. Leslie Lamport. Time, Clocks, and the Ordering of Events in a Distributed System. Communications of the ACM 21 (7):558–565, July, 1978.

    Article  MATH  Google Scholar 

  30. Butler W. Lampson. Atomic Transactions. In G. Goos and J. Hartmanis (editors), Lecture Notes in Computer Science. Volume 105: Distributed Systems — Architecture and Implementation: An Advanced Course, chapter 11,, pages 246–265.Springer-Verlag, 1981.

    Google Scholar 

  31. Bruce G. Lindsay, et al. Notes on Distributed Databases. Technical Report RJ2571, IBM Research Laboratory, San Jose, California, July, 1979. Also appears in Droffen and Poole (editors), Distributed Databases, Cambridge University Press, 1980.

    Google Scholar 

  32. Bruce G. Lindsay, Laura M. Haas, C. Mohan, Paul F. Wilms, Robert A. Yost. Computation and Communication in R*: A Distributed Database Manager. ACM Transactions on Computer Systems 2(1):24–38, February, 1984.

    Article  Google Scholar 

  33. Barbara Liskov. On Linguistic Support for Distributed Programs. IEEE Transactions on Software Engineering SE-8(3):203–210, May, 1982.

    Article  Google Scholar 

  34. Barbara Liskov. Overview of the Argus Language and System. Programming Methodology Group Memo 40, Massachusetts Institute of Technology Laboratory for Computer Science, February, 1984.

    Google Scholar 

  35. Barbara Liskov, Maurice Herlihy. Issues in Process and Communication Structure for Distributed Programs. In Proceedings of the Third Symposium on Reliability in Distributed Software and Database Systems. October, 1983.

    Google Scholar 

  36. Barbara H. Liskov, Robert W. Scheifler. Guardians and Actions: Linguistic Support for Robust, Distributed Programs. ACM Transactions on Programming Languages and Systems 5(3):381–404, July, 1983.

    Article  MATH  Google Scholar 

  37. David B. Lomet. Process Structuring, Synchronization, and Recovery Using Atomic Actions. ACM SIGPLAN Notices 12(3), March, 1977.

    Google Scholar 

  38. Raymond A. Lorie. Physical Integrity in a Large Segmented Database. ACM Transactions on Database Systems 2(1):91–104, March, 1977.

    Article  Google Scholar 

  39. J. Eliot B. Moss. Nested Transactions: An Approach to Reliable Distributed Computing. PhD thesis, Massachusetts Institute of Technology, April, 1981.

    Google Scholar 

  40. Ron Obermarck. Distributed Deadlock Detection Algorithm. ACM Transactions on Database Systems 7(2):187–208, June, 1982.

    Article  Google Scholar 

  41. Jonathan B. Postel. Internetwork Protocol Approaches. In Paul E. Green, Jr. (editor), Computer Network Architectures and Protocols, chapter 18, pages 511–526.Plenum Press, 1982.

    Google Scholar 

  42. Richard F. Rashid. Threads of a New System. Unix Review 4(8):37–49, August, 1986.

    Google Scholar 

  43. Richard Rashid, George Robertson. Accent: A Communication Oriented Network Operating System Kernel. In Proceedings of the Eighth Symposium on Operating System Principles, pages 64–75. ACM, December, 1981.

    Google Scholar 

  44. David P. Reed. Naming and Synchronization in a Decentralized Computer System. PhD thesis, Massachusetts Institute of Technology, September, 1978.

    Google Scholar 

  45. Andreas Reuter. Performance Analysis of Recovery Techniques. ACM Transactions on Database Systems 9(4):526–559, December, 1984.

    Article  Google Scholar 

  46. J. B. Rothnie Jr., P. A. Bernstein, S. Fox, N. Goodman, M. Hammer, T. A. Landers, C. Reeve, D. W. Shipman, and E. Wong. Introduction to a System for Distributed Databases (SDD-1). ACM Transactions on Database Systems 5(1):1–17, March, 1980.

    Article  Google Scholar 

  47. Jerome H. Saltzer. Protection and the Control of Information in Multics. Communications of the ACM 17(7), July, 1974.

    Google Scholar 

  48. Peter M. Schwarz. Transactions on Typed Objects. PhD thesis, Carnegie-Mellon University, December, 1984. Available as Technical Report CMU-CS-84-166, Carnegie-Mellon University.

    Google Scholar 

  49. Peter M. Schwarz, Alfred Z. Spector. Synchronizing Shared Abstract Types. ACM Transactions on Computer Systems 2(3):223–250, August, 1984. Also available as Technical Report CMU-CS-83-163, Carnegie-Mellon University, November 1983.

    Google Scholar 

  50. Alfred Z. Spector. Communication Support in Operating Systems for Distributed Transactions. In Proc. IBM European Networking Institute 1986. July, 1986. Also available as Technical Report CMU-CS-86-165, Carnegie-Mellon University, November 1986.

    Google Scholar 

  51. Alfred Z. Spector, Peter M. Schwarz. Transactions: A Construct for Reliable Distributed Computing. Operating Systems Review 17(2): 18–35, April, 1983. Also available as Technical Report CMU-CS-82–143, Carnegie-Mellon University, January 1983.

    Google Scholar 

  52. Alfred Z. Spector, Dan Duchamp, Jeffrey L. Eppinger, Sherri G. Menees, Dean S. Thompson. The Camelot Interface Specification. September, 1986. Camelot Working Memo 2.

    Google Scholar 

  53. Alfred Z. Spector, Jacob Butcher, Dean S. Daniels, Daniel J. Duchamp, Jeffrey L. Eppinger, Charles E. Fineman, Abdelsalam Heddaya, Peter M. Schwarz. Support for Distributed Transactions in the TABS Prototype. IEEE Transactions on Software Engineering SE-11 (6):520–530, June, 1985. Also available in Proceedings of the Fourth Symposium on Reliability in Distributed Software and Database Systems, Silver Springs, Maryland, IEEE, October, 1984 and as Technical Report CMU-CS-84–132, Carnegie-Mellon University, July, 1984.

    Article  Google Scholar 

  54. Alfred Z. Spector, Dean S. Daniels, Daniel J. Duchamp, Jeffrey L. Eppinger, Randy Pausch. Distributed Transactions for Reliable Systems. In Proceedings of the Tenth Symposium on Operating System Principles, pages 127–146. ACM, December, 1985. Also available in Concurrency Control and Reliability in Distributed Systems, Van Nostrand Reinhold Company, New York, and as Technical Report CMU-CS-85–117, Carnegie-Mellon University, September 1985.

    Google Scholar 

  55. Michael Stonebraker. Virtual Memory Transaction Management. Operating Systems Review 18(2):8–16, April, 1984.

    Article  Google Scholar 

  56. M. Stonebraker and E. Neuhold. A Distributed Data Base Version of INGRES. In Proceedings of the Second Berkeley Workshop on Distributed Data Management and Computer Networks, pages 19–36. Lawrence Berkeley Lab, University of California, Berkeley, California, May, 1977.

    Google Scholar 

  57. ENCOMPASS Distributed Data Management System Tandem Computers, Inc., Cupertino, California, 1982.

    Google Scholar 

  58. Dean Thompson. Coding Standards for Camelot. June, 1986. Camelot Working Memo 1.

    Google Scholar 

  59. Irving L. Traiger. Virtual Memory Management for Database Systems. Operating Systems Review 16(4):26–48, October, 1982. Also available as Technical Report RJ3489 IBM Research Laboratory, San Jose, California, May, 1982.

    Article  Google Scholar 

  60. R.W. Watson. Distributed system architecture model. In B.W. Lampson (editors), Lecture Notes in Computer Science. Volume 105: Distributed Systems — Architecture and Implementation: An Advanced Course, chapter 2,, pages 10–43.Springer-Verlag, 1981.

    Google Scholar 

  61. William E. Weihl. Specification and Implementation of Atomic Data Types. PhD thesis, Massachusetts Institute of Technology, March, 1984.

    Google Scholar 

  62. Matthew J. Weinstein, Thomas W. Page, Jr., Brian K. Livezey, Gerald J. Popek. Transactions and Synchronization in a Distributed Operating System. In Proceedings of the Tenth Symposium on Operating System Principles, pages 115–126. ACM, December, 1985.

    Google Scholar 

  63. R. Williams, etal. R*: An Overview of the Architecture. IBM Research Report RJ3325, IBM Research Laboratory, San Jose, California, December, 1981.

    Google Scholar 

  64. Hubert Zimmermann. A Standard Network Model. In Paul E. Green, Jr. (editor), Computer Network Architectures and Protocols, chapter 2, pages 33–54.Plenum Press, 1982.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1987 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Spector, A.Z. (1987). Distributed Transaction Processing and The Camelot System. In: Paker, Y., Banatre, JP., Bozyiğit, M. (eds) Distributed Operating Systems. NATO ASI Series, vol 28. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-46604-5_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-46604-5_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-46606-9

  • Online ISBN: 978-3-642-46604-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics