Advertisement

Object-Oriented Stable Storage Based on Mirroring

  • Xavier Caron
  • Jörg Kienzle
  • Alfred Strohmeier
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2043)

Abstract

Stable storage can be seen as an ideal storage medium that, given a set of failure assumptions, protects user data from corruption or loss. The integrity of the stored data must be guaranteed even in the presence of crash failures. In this paper, we show how to realize stable storage using a technique called mirroring. The main idea is to write the data to two locations instead of one, in a sequential order. If one write operation fails, the technique ensures that the other copy is in a consistent state. It may be the state that was valid before the write operation, or it may already be the new one. Of course, there must be some mechanism to determine which one is correct. The purpose of the paper is therefore to describe the mirroring algorithm, and to present a state automaton covering all possible situations that can occur in the case of crash failures. Finally, an implementation in Ada 95 is presented.

Keywords

Memory Management Mirroring Shadowing Stable Storage Fault Tolerance Ada 95 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Lampson, B.W., Sturgis, H.E.: “Crash Recovery in a Distributed Data Storage System”. Technical report, XEROX Research, Palo Alto (June 1979). Much of the material appeared in Distributed Systems-Architecture and Implementation, ed. Lampson, Paul, and Siegert, Lecture Notes in Computer Science, Vol. 105. Springer Verlag (1981), pp. 246–265 and 357–370.Google Scholar
  2. 2.
    Ralston, A., Reilly, E.D.: Encyclopedia of Computer Science Third Edition. Van Nostrand Reinhold, New York (1993).Google Scholar
  3. 3.
    Gray, J., Reuter A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Francisco, California (1993).zbMATHGoogle Scholar
  4. 4.
    ISO: International Standard ISO/IEC 8652:1995(E): Ada Reference Manual, Lecture Notes in Computer Science, Vol. 1246. Springer Verlag (1997); ISO 1995.Google Scholar
  5. 5.
    Kienzle, J., Romanovsky, A.: “On Persistent and Reliable Streaming in Ada”. In Reliable Software Technologies–Ada-Europe’2000, Potsdam, Germany, Lecture Notes in Computer Science, Vol. 1845. Springer Verlag (2000), pp. 82–95.CrossRefGoogle Scholar
  6. 6.
    Kienzle, J., Jiménez-Peris, R., Romanovsky, A., Patiño-Martinez, M.: “Transaction Support for Ada”. International Conference on Reliable Software Technologies–Ada-Europe’2001, Leuven, Belgium, May 14–18, 2001, to be published in Lecture Notes in Computer Science, Springer Verlag (2001).Google Scholar
  7. 7.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison Wesley, Reading, MA (1995).Google Scholar
  8. 8.
    Kienzle, J., Strohmeier, A.: “Shared Recoverable Objects”. In Reliable Software Technologies–Ada-Europe’99, Santander, Spain, Lecture Notes in Computer Science, Vol. 1622. Springer Verlag (1999), pp. 387–411.Google Scholar
  9. 9.
    Wolf, T., Strohmeier, A.: “Fault Tolerance by Transparent Replication for Distributed Ada 95”. In Reliable Software Technologies–Ada-Europe’99, Santander, Spain, Lecture Notes in Computer Science, Vol. 1622. Springer Verlag (1999), pp. 412–424.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Xavier Caron
    • 1
  • Jörg Kienzle
    • 1
  • Alfred Strohmeier
    • 1
  1. 1.Department of Computer ScienceSwiss Federal Institute of Technology in LausanneLausanne EPFLSwitzerland

Personalised recommendations