An algorithm for the implementation of replicated tables
A table is an abstract data type that supports the three operations, insert, delete, and find. Such an ADT has wide applications in distributed databases and distributed file systems. In the last several years, several distributed systems that make use of tables have been implemented.
In this paper, we present a technique for the implementation of replicated tables. The technique assumes that the update operations, insert and delete, are performed by first updating the copy at one arbitrary site called the principal site and then propagating them to the others, called the subordinate sites. Our algorithm implements the update operations, insert and delete, in amortized time O(log n) at the principal site, but in amortized time O(1) at the subordinate sites. The query operation, find, can still be done in worst-case time O(log n) at all the sites.
KeywordsSmall Element Distribute File System Principal Site Abstract Data Type Query Operation
Unable to display preview. Download preview PDF.
- 1.Andrew D. Birrell, Roy Levin, Roger M. Needham, and Michael D. Schroeder. Grapevine: an exercise in distributed computing. Communications of the Association for Computing Machinery, 25(4):260–274, 1982.Google Scholar
- 2.M.R. Brown and R.E. Tarjan. Design and analysis of a data structure for representing sorted lists. SIAM Journal on Computing, 9:594–614, 1980.Google Scholar
- 3.S.B. Davidson, H. Garcia-Molina, and D. Skeen. Consistency in partitioned net-works. ACM Computing Surveys, 17(3):346–370, September 1985.Google Scholar
- 4.K.P. Eswaran, J.N. Gray, R.A. Lorie, and I.L. Traiger. The notions of consistency and predicate locks in a database system. Communications of the ACM, 19(11):624–633, November 1976.Google Scholar
- 5.D.K. Gifford. Weighted voting for replicated data. In Proceedings 7th ACM SIGOPS Symposium on Operating Systems principles, pages 150–159, Pacific Grove, CA, December 1979.Google Scholar
- 6.M. Herlihy. Dynamic quorum adjustment for partitioned data. ACM Transactions on Database Systems, 12(2):170–194, June 1987.Google Scholar
- 7.M. Herlihy. A quorum-consensus replication method for abstract data types. ACM Transactions on Computer Systems, 4(1):32–53, February 1986.Google Scholar
- 8.S. Huddleston and K. Mehlhorn. A new data structure for representing sorted lists. Acta Informatica, 17:157–184, 1982.Google Scholar
- 9.D.E. Knuth. The Art of Computer Programming Vol III: Sorting and Searching. Addison Wesley, 1973.Google Scholar
- 10.Derek C. Oppen and K. Dalal, Yogen. The clearinghouse: a decentralized agent for locating named objects in a distributed environment. ACM Transactions on Office Information Systems, 1(3):230–253, 1983.Google Scholar
- 11.M. Satyanarayanan, John H. Howard, David A. Nichols, Robert N. Sidebotham, Alfred Z. Spector, and Michael J. West. The ITC distributed system: principles and design. In Proceedings of the Twelfth Symposium on Operating Systems Principles, pages 35–50, 1985.Google Scholar
- 12.M. Stonebraker. Concurrency control and consistency of multiple copies of data in distributed INGRES. IEEE Transactions on Software Engineering, 5(3):188–194, May 1979.Google Scholar
- 13.Robert E. Tarjan. Amortized computational complexity. SIAM J. Alg. Disc. Meth., 6(3):306–318, April 1985.Google Scholar