Middleware Support for Adaptive Dependability

  • Lorenz Froihofer
  • Karl M. Goeschka
  • Johannes Osrael
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4834)

Abstract

Generic middleware can often not provide satisfactory solutions, but neither is it acceptable to let the application developer re-invent the wheel each time. Therefore, middleware shall support reuse of infrastructural services while leaving the application in control. In particular, we contribute with a middleware approach to support adaptive dependability by balancing integrity and availability in distributed systems. To achieve this goal, we add a new middleware service for explicit runtime management of data integrity constraints. In order to provide the desired balancing with respect to an application’s requirements and environment conditions, our approach supports the application developer with explicit interaction between middleware, application, and metadata. Based on our prototype implementation, we show how adaptive balancing of integrity and availability improves the overall dependability. The performance impairments of our approach are typically worth their costs in systems where the read-to-write ratio is high or write performance is not a limiting factor.

Keywords

Middleware dependability adaptivity constraint consistency inconsistency replication 

References

  1. 1.
    Avižienis, A., Laprie, J.C., Randell, B., Landwehr, C.E.: Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Dependable Sec. Comput. 1(1), 11–33 (2004)CrossRefGoogle Scholar
  2. 2.
    Froihofer, L., Osrael, J., Goeschka, K.M.: Decoupling constraint validation from business activities to improve dependability in distributed object systems. In: Proc. 2nd Int. Conf. on Availability, Reliability and Security, pp. 443–450. IEEE Computer Society, Los Alamitos, CA (2007)CrossRefGoogle Scholar
  3. 3.
    Cristian, F.: Understanding fault-tolerant distributed systems. Communications of the ACM 34(2), 56–78 (1991)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)MathSciNetCrossRefMATHGoogle Scholar
  5. 5.
    Helal, A.A., Heddaya, A.A., Bhargava, B.B.: Replication Techniques in Distributed Systems. Kluwer Academic Publishers, Dordrecht (1996)MATHGoogle Scholar
  6. 6.
    Bernstein, P.A., Hadzilacos, V., Goodman, N.: Concurrency Control and Recovery in Database Systems. Addison-Wesley, Reading (1987)Google Scholar
  7. 7.
    Pu, C., Leff, A.: Replica control in distributed systems: an asynchronous approach. In: SIGMOD 1991: Proceedings of the 1991 ACM SIGMOD international conference on Management of data, pp. 377–386. ACM Press, New York (1991)CrossRefGoogle Scholar
  8. 8.
    Fox, A., Brewer, E.A.: Harvest, yield and scalable tolerant systems. In: Workshop on Hot Topics in Operating Systems, pp. 174–178 (1999)Google Scholar
  9. 9.
    Gilbert, S., Lynch, N.: Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News 33(2), 51–59 (2002)CrossRefGoogle Scholar
  10. 10.
    Architecture Projects Management: The advanced network systems architecture (ANSA) reference manual (1989), http://www.ansa.co.uk/ANSATech/89/ANSAREF/
  11. 11.
    Osrael, J., Froihofer, L., Kuenig, H., Goeschka, K.M.: Scenarios for increasing availability by relaxing data integrity. In: Cunningham, P., Cunningham, M. (eds.) Innovation and the Knowledge Economy - Issues, Applications, Case Studies, vol. 2, pp. 1396–1403. IOS Press, Amsterdam (2005)Google Scholar
  12. 12.
    Smeikal, R., Goeschka, K.M.: Fault-tolerance in a distributed management system: a case study. In: ICSE 2003: Proceedings of the 25th International Conference on Software Engineering, pp. 478–483. IEEE Computer Society, Washington, DC (2003)CrossRefGoogle Scholar
  13. 13.
    Künig, H. (ed.): FTNS/EJB system design & first prototype & test report. Technical Report D3.2.2, DeDiSys Consortium (2007), http://www.dedisys.org/
  14. 14.
    Meyer, B.: Applying design by contract. Computer 25(10), 40–51 (1992)CrossRefGoogle Scholar
  15. 15.
    Jagadish, H.V., Qian, X.: Integrity maintenance in object-oriented databases. In: Proceedings of the 18th International Conference on Very Large Data Bases, pp. 469–480. Morgan Kaufmann Publishers Inc., San Francisco (1992)Google Scholar
  16. 16.
    Haerder, T., Reuter, A.: Principles of transaction-oriented database recovery. ACM Comput. Surv. 15(4), 287–317 (1983)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Coulouris, G., Dollimore, J., Kindberg, T.: Distributed Systems - Concepts and Design, 4th edn. Addison-Wesley, Reading (2005)MATHGoogle Scholar
  18. 18.
    Arjuna, BEA, Hitachi, IBM, IONA, Microsoft: Web services atomic transaction (2005), http://www-128.ibm.com/developerworks/library/specification/ws-tx/
  19. 19.
    Arjuna, BEA, Hitachi, IBM, IONA, Microsoft: Web services business activity framework (2005), http://specs.xmlsoap.org/ws/2004/10/wsba/
  20. 20.
    Osrael, J., Froihofer, L., Goeschka, K.M., Beyer, S., Galdámez, P., Muñoz Escoi, F.D.: A system architecture for enhanced availability of tightly coupled distributed systems. In: Proceedings of the 1st International Conference on Availability, Reliability and Security, IEEE Computer Society, Los Alamitos (2006)Google Scholar
  21. 21.
    Verheecke, B., Straeten, R.V.D.: Specifying and implementing the operational use of constraints in object-oriented applications. In: Proceedings of the Fortieth International Conference on Tools Pacific, Australian Computer Society, Inc,. pp. 23–32 (2002)Google Scholar
  22. 22.
    Ricciardi, A., Schiper, A., Birman, K.: Understanding partitions and the non partition assumption. In: IEEE Proc. of Fourth Workshop on Future Trends of Distributed Systems, IEEE Computer Society Press, Los Alamitos (1993)Google Scholar
  23. 23.
    Beyer, S., Bañuls, M.C., Galdámez, P., Osrael, J., Muñoz Escoi, F.: Increasing availability in a replicated partitionable distributed object system. In: Guo, M., Yang, L.T., Di Martino, B., Zima, H.P., Dongarra, J., Tang, F. (eds.) ISPA 2006. LNCS, vol. 4330, Springer, Heidelberg (2006)CrossRefGoogle Scholar
  24. 24.
    Babaoglu, Ö., Bartoli, A., Maverick, V., Patarin, S., Vuckovic, J., Wu, H.: A framework for prototyping J2EE replication algorithms. In: Meersman, R., Tari, Z. (eds.) On the Move to Meaningful Internet Systems 2004: CoopIS, DOA, and ODBASE. LNCS, vol. 3291, pp. 1413–1426. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  25. 25.
    Froihofer, L., Glos, G., Osrael, J., Goeschka, K.M.: Overview and evaluation of constraint validation approaches in Java. In: ICSE 2007: Proceedings of the 29th International Conference on Software Engineering, pp. 313–322 (2007)Google Scholar
  26. 26.
    Berenson, H., Bernstein, P., Gray, J., Melton, J., O’Neil, E., O’Neil, P.: A critique of ANSI SQL isolation levels. SIGMOD Rec. 24(2), 1–10 (1995)CrossRefGoogle Scholar
  27. 27.
    Herlihy, M., Wing, J.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)CrossRefGoogle Scholar
  28. 28.
    Davidson, S.B., Garcia-Molina, H., Skeen, D.: Consistency in a partitioned network: a survey. ACM Comput. Surv. 17(3), 341–370 (1985)CrossRefGoogle Scholar
  29. 29.
    Yu, H., Vahdat, A.: Design and evaluation of a conit-based continuous consistency model for replicated services. ACM Trans. Comput. Syst. 20(3), 239–282 (2002)CrossRefGoogle Scholar
  30. 30.
    Saito, Y., Shapiro, M.: Optimistic replication. ACM Comput. Surv. 37(1), 42–81 (2005)CrossRefMATHGoogle Scholar
  31. 31.
    Balzer, R.: Tolerating inconsistency. In: Proceedings of the 13th international conference on Software engineering, pp. 158–165. IEEE Computer Society Press, Los Alamitos (1991)CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2007

Authors and Affiliations

  • Lorenz Froihofer
    • 1
  • Karl M. Goeschka
    • 1
  • Johannes Osrael
    • 1
  1. 1.Vienna University of Technology, Institute of Information Systems, Argentinierstrasse 8/184-1, 1040 ViennaAustria

Personalised recommendations