이기종 SOAP 노드의 실시간 성능 모니터링 시스템

A Performance Monitoring System for Heterogeneous SOAP Nodes

  • 이우중 (포항공과대학교 컴퓨터공학과) ;
  • 김정선 (한양대학교 전자컴퓨터공학부)
  • 발행 : 2004.12.01

초록

본 논문에서는 Apache Axis나 .Net과 같은 SOAP 기반 미들웨어 상에 존재하는 SOAP 노드에 대한 실시간 성능 모니터링을 수행하는 방법으로써 네트워크 패킷 필터링을 통한 SOAP 오퍼레이션 검출 방법인 "TCP 흐름을 이용한 SOAP 오퍼레이션 검출 방법"을 제시하였다. 네트워크 패킷 필터링에 의한 SOAP 오퍼레이션 검출 방법은 Raw 패킷 내부에 단편화되어서 전송되는 SOAP 메시지를 직접 분석하기 때문에 다양한 SOAP 기반 미들웨어에 독립적으로 SOAP 노드를 모니터링 할 수 있게 한다 그러나 Raw 패킷들로부터 SOAP 메시지를 추출하여 분석하는 과정은 시스템의 많은 자원을 필요로 한다. 이러한 문제점을 해결하기 위하여 본 논문에서는 "TCP 플래그를 이용한 선별적인 TCP 흐름에서의 SOAP 오퍼레이션 검출 방법"을 제시하고 첫 번째 방법과의 성능을 비교하였다. 본 논문에서는 제시한 검출 방법을 바탕으로, 패킷 필터링을 통하여 SOAP 오퍼레이션을 검출하는 SOAP Sniffer 컴포넌트와 이를 이용한 SOAP 모니터링 시스템을 구현하였다. 본 논문에서 구현한 SOAP 모니터링 시스템은 SOAP 기반 미들웨어에 독립적인 모니터링 방법을 제공하므로 서로 다른 SOAP 기반 미들웨어 상에 존재하는 SOAP 노드 간 트랜잭션 모니터링이나 로드밸런싱을 위한 모니터링 등의 다양한 활용이 가능할 것이다.

In this paper. we propose a novel performance monitoring scheme for heterogeneous SOAP nodes. The scheme is basically based on two-level (kernel-level and user-level) packet filtering of TCP flows. By TCP flow, we mean a sequence of raw packet streams on a TCP transaction. In this scheme, we detect and extract SOAP operations embedded in SOAP messages from TCP flows. Therefore, it becomes possible to monitor heterogeneous SOAP nodes deployed on diverse SOAP-based middlewares such as .Net and Apache AXIS. We present two implementation mechanisms for the proposed scheme. The first mechanism tries to identify SOAP operations by analyzing all fragmented SOAP messages on TCP flows. However, a naive policy would incur untolerable overhead since it needs to copy all packets from kernel to user space. The second mechanism overcomes this problem by selectively copying packets from kernel to user space. For selective copying, we use a kernel-level packet filtering method that makes use of some representative TCP flags.(e.g. SIN, FIN and PSH). In this mechanism, we can detect SOAP operations only from the last fragment of SOAP messages in most cases. Finally, we implement a SOAP monitoring system using a component ca]led SOAP Sniffer that realizes our proposed scheme, and show experimental results. We strongly believe that our system will play a vital role as a tool for various services such as transaction monitoring and load balancing among heterogeneous SOAP nodes.

키워드

참고문헌

  1. W3C, 'SOAP Version 1.2 Primer,' W3C, June 2003
  2. W3C, 'SOAP Version 1.2 Part 1: Messaging Framework,' W3C, June 2003
  3. W3C, 'SOAP Version 1.2 Part 2: Adjuncts,' W3C, June 2003
  4. Eric Newcomer, 'Understanding Web Services,' Addison Wesley, May 2002
  5. D. Gunter, B. Tierney, B. Crowley, M. Holding, and J. Lee, 'NetLogger: A Toolkit for Distributed System Performance Analysis,' In Proceedings of the IEEE Mascots 2000 Conference, Aug 2000 https://doi.org/10.1109/MASCOT.2000.876548
  6. Jeffrey C. Mogul, Richard F. Rashid and Michael J. Accetta, 'The Packet Filter : An Efficient Mechanism for User-level Network Code,' In Proceedings of the Eleventh ACM Symposium on Operating Systems Principles, pages 39-51. ACM Press, November 1987 https://doi.org/10.1145/41457.37505
  7. Steven McCanne and Van Jacobson, 'The BSD packet filter: A new architecture for user-level packet capture,' In Proceedings of the Winter 1993 USENIX Conference, pages 259-269. USE-NIX Association, January 1993
  8. Libpcap(Portable Packet Capture Library),' URL : http://www.tcpdump.org
  9. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 'Design Patterns,' Addison Wesley, pp 315-323, December 1998
  10. TCPDump,' URL : http://www.tcpdump. org
  11. Roland Wooster, Stephen Williams and Patrick Brooks, 'HTTPDUMP : Network HTTP Packet Snooper,' 1998
  12. J. Won-Ki Hong, Soon-Sun Kwon and Jae-Young Kim, 'WebTrafMon: Web-based Internet/Intranet Network Traffic Monitoring and Analysis System,' Computer Communications, Elsevier Science, Vol. 22, No. 14, September 1999, pp. 1333-1342 https://doi.org/10.1016/S0140-3664(99)00130-9
  13. Snort, URL : http://www.snort.org
  14. W. Richard Stevens, 'TCP/IP Illustrated volume 1,' Addison Wesley, March 1996
  15. W. Richard Stevens, 'TCP/IP Illustrated volume 3,' Addison Wesley, April 1996
  16. RFC 791: Internet Protocol,' IETF, September 1981
  17. RFC 793: Transmission Control Protocol,' IETF, September 1981
  18. Python,' URL : http://www.python.org
  19. pylibpcap,' URL : http://pylibpcap.sourceforge.net
  20. SOAPpy,' URL : http://pywebsvcs.sourceforge.net
  21. Douglas Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann, 'Pattern-Oriented Soft-ware Architecture volume 2,' Wiley, pp. 399-422, 1999