초록
본 논문에서는 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.