An algorithm for the implementation of replicated tables

  • Brahma Dathan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 730)


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.


Small Element Distribute File System Principal Site Abstract Data Type Query Operation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 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. 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. 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. 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. 6.
    M. Herlihy. Dynamic quorum adjustment for partitioned data. ACM Transactions on Database Systems, 12(2):170–194, June 1987.Google Scholar
  7. 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. 8.
    S. Huddleston and K. Mehlhorn. A new data structure for representing sorted lists. Acta Informatica, 17:157–184, 1982.Google Scholar
  9. 9.
    D.E. Knuth. The Art of Computer Programming Vol III: Sorting and Searching. Addison Wesley, 1973.Google Scholar
  10. 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. 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. 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. 13.
    Robert E. Tarjan. Amortized computational complexity. SIAM J. Alg. Disc. Meth., 6(3):306–318, April 1985.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Brahma Dathan
    • 1
  1. 1.Department of Computer ScienceUniversity of WyomingLaramie

Personalised recommendations