IMMORTAL : Fault Tolerant Distributed Middleware System based on Remote Method Invocation

IMMORTAL : 원격 메쏘드 호출에 기반한 결함허용 분산 미들웨어 시스템

  • 현무용 (대원과학대학 컴퓨터정보통신과) ;
  • 김식 (세명대학교 전자정보통신학부) ;
  • 김명준 (충북대학교 전기전자 및 컴퓨터공학부) ;
  • 야마키다 지로 (오카야마 현립대학교 통신공학과)
  • Published : 2002.10.01

Abstract

Distributed object technologies have become popular in developing distributed systems. Although such middleware platforms as DSOM, DCOM, CORBA and Java RMI ease the development of distributed applications, they do not directly improve the reliability and the availability of these applications. Because the task of developing fault-tolerance techniques for distributed object paradigms is often complicated and error-prone, there is a great need for a development toolkit that enhances the reliability and the availability of distributed objects. In this paper, we propose a fault-tolerant distributed middleware system based on RMI, called IMMORTAL. We use a log-based rollback-recovery mechanism for supporting reliable distributed computing. Through a series of experiments, we observe that benchmark applications on the IMMORTAL tolerate hardware and software failures and evaluate its performance and scalability.

분산 시스템을 지원하기 위한 패러다임으로서 분산객체 기술이 각광받고 있다. DSOM, DCOM, CORBA, Java RMI 등으로 대표되는 분산 미들웨어 플렛폼들은 분산 어플리케이션의 개발을 용이하게 하지만, 어플리케이션들의 신뢰성 및 가용성을 증진시키기 위한 직접적인 지원은 미흡한 상태이다. 분산 객체 패러다임을 지원하기 위한 결함 허용 기술의 개발 작업은 상당히 복잡하며, 오류가 발생할 소지가 높기 때문에, 분산 객체의 신뢰성과 가용성을 지원하는 개발툴에 대한 요구가 급증하고 있는 실정이다. 본 논문에서는 RMI에 기반한 결함허용 분산 미들웨어 시스템인 IMMORTAL을 제안하고자 한다. 제안된 시스템은 신뢰성 있는 분산 컴퓨팅을 지원하기 위해 로그 기반 롤백 복구 메커니즘을 채택하였다. 일련의 실험을 통해 IMMORTAL 하에서 동작중인 실험용 어플리케이션들이 다양한 하드웨어 및 소프트웨어 결함에도 불구하고 지속적으로 동작함을 확인하였고, 제안된 시스템의 성능 및 비례확장성을 평가하였다.

Keywords

References

  1. J. Siegel, CORBA Fundamentals and Programming, John Wiley & Sons, 1996
  2. Sun Microsystems, JDK 1.3 Documentation,
  3. M. Hyun, S. Kim, and S. Lee, 'Design and Impiementation of Translation System between RMI to CORBA,' Journal of IEEK, Vol.36, No.2, 1999
  4. S. Maffeis, 'Run-Time Support for Object-Oriented Distributed Programming,' Ph.D Thesis, University of Zurich, Zurich, 1995
  5. Isis Distributed Systems Inc. and Iona Technologies Limited, Orbix+Isis Programmer's Guide, 1995
  6. P. Narasimhan, 'Transparent Fault Tolerance for CORBA,' Ph.D thesis, University of California, Santa Barbara,CA, 1999
  7. S. K. Shrivastava, G.N.Dixon and G. D. Parrington, 'An overview of the Arjuna distributed programming system,' IEEE Software, January, 1991 https://doi.org/10.1109/52.62934
  8. P. Chung, Y. Huang, S. Yajnik, D. Liang, and J. Shih, 'DOORS : Providing fault tolerance to CORBA objects,' in poster session of Middle-ware'98, September, 1998
  9. A. Baratloo, P.E. Chung, Y. Huang, S. Rangarajan and S. Yajnik, 'Filterfresh : Hot replication of Java RMI server objects,' Proceedings of the Fourth USENIX Conference on Object-Oriented Technologies and Systems, pp65-78, Santa Fe,NM, April, 1998
  10. Mark Hayden, The Ensemble System, Technical Report 98-1662, Cormell University, January, 1998
  11. P. Felber, R. Guerraoui, and A. Schiper, 'The implementation of a CORBA object group service,' Theory and Practice of Object Systems, Vol.4, No.2, pp.93-105, 1998 https://doi.org/10.1002/(SICI)1096-9942(1998)4:2<93::AID-TAPO4>3.0.CO;2-8
  12. S. Kim, M. Hyun and J. Yamakita, 'FT_HORB : A Fault-Tolerant Distributed Programming Environment based on RMI,' IEICE Trans. on Information and Systems, Vol.E85-D, No.3, pp.510-517, 2002
  13. HIRANO, H., Yasu, Y. and Igarashi, H., 'Performance Evaluation of Popular Distributed Object Technologies for Java,' ACM Workshop on High-Performance Network Computing for Java, 1998
  14. Sanjav, P. A. and Renato, Q., 'Performance Evaluation of Java RMI : A Distributed Object Architecture for Internet Based Applications,' Proceedings of the Eighth International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, pp565-569, August, 2000 https://doi.org/10.1109/MASCOT.2000.876585
  15. S. Rao and H. Vin, 'Egida: An Extensible Toolkit For Low-overhead Fault-Tolerance,' In Proceedings of the 29th Fault-tolerant Computing Symposium, Madison,Wisconsin, pp.48-55, June, 1999 https://doi.org/10.1109/FTCS.1999.781033
  16. P. Jalote, Fault Tolerance in Distributed Systems, pp51-52, Prentice-Hall, 1994
  17. Jian Xu, R.H.B. Netzer, M. Mackey, 'Sender-based message logging for reducing rollback propagation,' Proceedings of Seventh IEEE Symposium on Parallel and Distributed Processing, pp602-609, 1995 https://doi.org/10.1109/SPDP.1995.530738
  18. Object Management Group, Fault Tolerant CORBA Specification, OMG Technical Committe Document (ptc/2000-03-04), March, 2000
  19. Sun Microsystems, Inc. Java Specification Request. JSR000117 : J2EE APIs for Continuous Availability, 2001
  20. D. Liang, S.C. Chou and S.M. Yuan, 'A Fault-Tolerant Object Service in OMG's Object Management Architecture,' Information and Software Technology, Vol.39, pp.965-973, 1998 https://doi.org/10.1016/S0950-5849(97)00055-4