JMS 메시지 송수신 시간의 최소화를 위한 대용량 메시지 송수신 플랫폼 구현

An Implementation of Large Scale JMS(Java Message System) for Transmission Time Minimization

  • 발행 : 2009.01.15

초록

동기/비동기 방식을 통한 메시지 송수신은 근래에 들어 많은 분야의 기업 환경에서 실시간 메시지 전송을 위해 널리 사용되고 있는 실정이다. 특히 JMS(Java Message Service) 메시지 플랫폼은 가장 많이 활용되고 있는 메시지 송수신 미들웨어로서 내부 및 외부의 정보시스템 통합을 위한 기반기술로 각광받고 있다. JMS는 실시간/배치 작업 지원, 안정성 보장 및 분산 환경 지원 등 매우 효율적인 기능을 지원하는 반면에, JMS가 갖는 신뢰성 보장 기능과 메시지 단위의 송수신 특징은 인터넷과 같은 분산된 환경에서 논리적으로 매우 거리가 먼 두 시스템간의 대용량 메시지 송수신을 위해 활용할 경우에는 일반 단위 트랜잭션 처리와는 다른 고려요소가 필요하다. 특히 송수신할 단위 메시지 크기는 총 메시지 송수신시간을 좌우하는 매우 중요한 요소가 된다. 따라서 본 논문에서는 JMS 메시지 플랫폼의 환경에 따른 최적화된 단위 메시지 크기를 산출하는 기법과 이를 실현할 수 있는 시스템을 제안하고자 한다. 이는 JMS 응용 시스템으로서 대용량 메시지 전송을 위한 JMS 기반의 메시지 송수신 시스템 개발 시 최적화된 단위 메시지 크기를 산출하여 적용함으로써 총 메시지 송수신시간을 최소화 할 수 있도록 한다. 마지막으로 이를 실제 환경에서 테스트하고 기존의 JMS 처리 방식과 비교 평가함으로써 본 논문에서 제안하는 기법과 구현 시스템에 대한 검증을 수행하였다.

Recently, message based data transmission plays an important role in modem computing systems. Especially JMS(Java Message Service) is one of the most popular messaging platform. However, because of its characteristics for maintaining reliability, if we want to use it for transmission of large scale messages in a distributed Internet environment by using a WAN connection which may not be robust enough, we need to employ a different method to minimize total transmission time of messages. We found the fact that the total time of message transmission heavily depends on size of a message. In order to achieve the ideal size of a message, we develope a novel mechanism and a system which finds the ideal size of a message and automatical1y control JMS applications for minimizing transmission time. Finally, we test the proposed mechanism and system using real-data in order to prove advantages and compared with the naive mechanism. As a conclusion, we showed that our proposed mechanism and system provide an effective way to reduce transmission time of large scale messages in distributed environment.

키워드

참고문헌

  1. Michael Kovacs, Paul Giotta, Sott Grant, "Pro-fessional JMS." Wrox, 2001
  2. JEFFREY C. LUTZ, "EAI Architectural Patterns," EAI Journal, 2000
  3. 문남두, 이근응, "분할 가능한 분산환경에서 견고한 자바 객체 그룹을 지원하는 그룹통신 모델의 설계", 한국 정보 과학회, 제28권, 제2호(III), 649-651, 2001
  4. 노성주, 정광식, 이화민, 유헌창, 황종선, "분산 이동 시스템에서 인과적 메시지 전달을 위한 효율적인 프로토콜", 한국 정보 과학회 논문지: 정보통신, 제30권, 제2호, 2003
  5. IBM JMS (Java Message Service), "http://www-903.ibm.com/developerworks/kr/java/library/j-jmsvendor.html"
  6. Francis X. Maginnis, William A. Ruh, "Enterprise Application Integration,’" John Wiley & Sons, 2000
  7. R. Koo, S. Toueg, “Checkpointing and rollback recovery for distributed systems,” IEEE Transactions on Software Engineering. 13(1), 23-31, 1987 https://doi.org/10.1109/TSE.1987.232562
  8. D Kuo, D Palmer, “Automated Analysis of Java Message Service Providers,” Lecture Notes in Computer Science, 2218, 1-14, 2001
  9. JMS Message Types Reference Document, "http://publib.boulder.ibm.com/infocenter/tivihelp/v2rl/index.jsp?topic=/com.ibm.IBMDl.doc/referenceguide91.htm"
  10. Kim Haase, “Java Message Service API Tutorial.” Sun microsystems, Inc., 2002
  11. Java Message Service(TM) API Specification, "http://java.sun.com/products/jms/javadoc-102a/index.htm"
  12. M Menth, R Henjes, C Zepfel, S Gehrsitz, “Throughput Performance of popular JMS servers,” Proceedings of the joint international conference on Measurement and modeling of computer systems, 367-368, 2006
  13. I.Gorton, Justin Almquist, Nick Cramer, Jereme Haack, Mark Hoza, "An Efficient, Scalable Content-Based Messaging System,” In Proceedings of The 7th IEEE International Enterprise Distributed Object Computing Conference, 278-285, 2003 https://doi.org/10.1109/EDOC.2003.1233856