KR101641637B1 - 패킷 처리 시스템 내의 패킷을 분석하여 트랜잭션을 모니터링하는 방법 및 apm 장치 - Google Patents

패킷 처리 시스템 내의 패킷을 분석하여 트랜잭션을 모니터링하는 방법 및 apm 장치 Download PDF

Info

Publication number
KR101641637B1
KR101641637B1 KR1020160024683A KR20160024683A KR101641637B1 KR 101641637 B1 KR101641637 B1 KR 101641637B1 KR 1020160024683 A KR1020160024683 A KR 1020160024683A KR 20160024683 A KR20160024683 A KR 20160024683A KR 101641637 B1 KR101641637 B1 KR 101641637B1
Authority
KR
South Korea
Prior art keywords
packet
port
apm
thread
transmitted
Prior art date
Application number
KR1020160024683A
Other languages
English (en)
Inventor
정준수
Original Assignee
주식회사 티맥스 소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 티맥스 소프트 filed Critical 주식회사 티맥스 소프트
Priority to KR1020160024683A priority Critical patent/KR101641637B1/ko
Priority to US15/140,740 priority patent/US9584390B1/en
Application granted granted Critical
Publication of KR101641637B1 publication Critical patent/KR101641637B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3072Packet splitting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 일 태양에 따르면, 클라이언트 장치로부터 전송되는 패킷을 처리하기 위한 패킷 처리 시스템 내의 패킷을 분석하여 트랜잭션을 모니터링하는 방법에 있어서, (a) 상기 패킷 처리 시스템에 대하여 포트 미러링을 통해 적어도 하나의 패킷이 획득되면, APM(Application Performance Monitoring) 장치가, 상기 획득된 적어도 하나의 패킷을 클라이언트 장치의 포트 및 IP 중 적어도 하나를 기준으로 분류하거나 분류하도록 지원하는 단계, (b) 상기 APM 장치가, 동일한 분류에 속하는 적어도 하나의 패킷별로, 상기 클라이언트 장치 및 상기 패킷 처리 시스템 내의 적어도 하나의 처리 장치 중 적어도 하나의 특정 장치로부터 전송되는 패킷 및 상기 특정 장치로부터 전송되는 패킷에 대응하여 상기 특정 장치로 수신되는 패킷의 쌍을 식별하거나 식별하도록 지원하는 단계, 및 (c) 상기 APM 장치가, 상기 식별된 패킷의 쌍에 대한 정보를 이용하여 상기 트랜잭션에 대한 정보를 획득하는 단계를 포함하는 방법이 제공된다.

Description

패킷 처리 시스템 내의 패킷을 분석하여 트랜잭션을 모니터링하는 방법 및 APM 장치{METHOD AND APPLICATION PERFORMANCE MONITORING DEVICE FOR MONITORING TRANSACTION BY ANALYZING PACKETS IN THE PACKET PROCESSING SYSTEM}
본 발명은 클라이언트 장치 - 트랜잭션의 시작을 요청한 장치 - 로부터 전송되는 패킷을 처리하기 위한 패킷 처리 시스템 내의 패킷을 분석하여 트랜잭션을 모니터링하는 방법 및 APM 장치에 관한 것으로, 좀더 상세하게는, (a) 상기 패킷 처리 시스템에 대하여 포트 미러링을 통해 적어도 하나의 패킷이 획득되면, 상기 획득된 적어도 하나의 패킷을 클라이언트 장치의 포트 및 IP 중 적어도 하나를 기준으로 분류하거나 분류하도록 지원하고, (b) 동일한 분류에 속하는 적어도 하나의 패킷별로, 상기 클라이언트 장치 및 상기 패킷 처리 시스템 내의 적어도 하나의 처리 장치 중 적어도 하나의 특정 장치로부터 전송되는 패킷 및 상기 특정 장치로부터 전송되는 패킷에 대응하여 상기 특정 장치로 수신되는 패킷의 쌍을 식별하거나 식별하도록 지원하며, (c) 상기 식별된 패킷의 쌍에 대한 정보를 이용하여 상기 트랜잭션에 대한 정보를 획득하는, 클라이언트 장치로부터 전송되는 패킷을 처리하기 위한 패킷 처리 시스템 내의 패킷을 분석하여 트랜잭션을 모니터링하는 방법 및 APM 장치에 관한 것이다.
종래에 APM(Application Performance Monitoring) 기술에서 네트워크 상에 송수신되는 패킷을 분석하여 동일한 트랜잭션에 해당하는 패킷의 흐름을 추적하는 기술이 존재한다.
대표적인 기술로 통계 데이터에 기반하여 패턴을 매칭하는 방식이 있다. 이 방식은 동일한 트랜잭션 패킷을 식별하고자 하는 경우, 네트워크에서 수집된 패킷에 특정 트랜잭션을 나타내는 아이디나 번호가 들어갈 것이라고 예측하고 아이디나 번호가 동일한 패킷이 여러 개가 발견되면 이들을 동일한 트랜잭션 패킷이라고 예측하는 방식이다.
그러나, 이러한 종래 기술은 모든 패킷에 대해서 파싱을 수행해야 하므로 시간이 오래 걸리고 통계적인 방법에 기반하고 있어 정확성이 떨어지는 단점이 있다.
실제로 높은 수준의 네트워크 부하가 걸리는 기업들에서는 이 방식을 채택하여 동일한 트랜잭션을 식별함으로써 트랜잭션의 성능을 모니터링하기가 쉽지 않다.
이에 본 발명자는 높은 수준의 네트워크 부하가 걸리는 상황에서도 빠르고 정확하게 동일한 트랜잭션에 해당하는 패킷의 흐름을 추적함으로써 효율적으로 트랜잭션의 성능을 모니터링할 수 있는 기술을 개발하기에 이르렀다.
본 발명은 상술한 문제점들을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 높은 수준의 네트워크 부하가 걸리는 상황에서도 빠르고 정확하게 동일한 트랜잭션에 해당하는 패킷의 흐름을 추적함으로써 효율적으로 트랜잭션의 성능을 모니터링할 수 있는 기술을 제공하는 것을 다른 목적으로 한다.
또한, 본 발명은 포트 미러링을 통해 획득된 패킷을 클라이언트 장치의 포트 및 IP 중 적어도 일부를 기준으로 분류함으로써 동일한 트랜잭션에 해당하는 패킷들을 정확하게 식별할 수 있는 기술을 제공하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 누락되는 트레이스 - 트랜잭션에서 하나의 요청과 이에 대응되는 응답의 쌍을 의미함 - 가 없이 트랜잭션의 성능을 모니터링할 수 있는 기술을 제공하는 것을 또 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 태양에 따르면, 클라이언트 장치로부터 전송되는 패킷을 처리하기 위한 패킷 처리 시스템 내의 패킷을 분석하여 트랜잭션을 모니터링하는 방법에 있어서, (a) 상기 패킷 처리 시스템에 대하여 포트 미러링을 통해 적어도 하나의 패킷이 획득되면, APM(Application Performance Monitoring) 장치가, 상기 획득된 적어도 하나의 패킷을 클라이언트 장치의 포트 및 IP 중 적어도 하나를 기준으로 분류하거나 분류하도록 지원하는 단계, (b) 상기 APM 장치가, 동일한 분류에 속하는 적어도 하나의 패킷별로, 상기 클라이언트 장치 및 상기 패킷 처리 시스템 내의 적어도 하나의 처리 장치 중 적어도 하나의 특정 장치로부터 전송되는 패킷 및 상기 특정 장치로부터 전송되는 패킷에 대응하여 상기 특정 장치로 수신되는 패킷의 쌍을 식별하거나 식별하도록 지원하는 단계, 및 (c) 상기 APM 장치가, 상기 식별된 패킷의 쌍에 대한 정보를 이용하여 상기 트랜잭션에 대한 정보를 획득하는 단계를 포함하는 방법이 제공된다.
본 발명의 다른 태양에 따르면, 클라이언트 장치로부터 전송되는 패킷을 처리하기 위한 패킷 처리 시스템 내의 패킷을 분석하여 트랜잭션을 모니터링하는 APM 장치에 있어서, 상기 패킷 처리 시스템에 대하여 포트 미러링을 통해 적어도 하나의 패킷을 획득하거나 획득하도록 지원하는 통신부, 및 (i) 상기 획득된 적어도 하나의 패킷을 클라이언트 장치의 포트 및 IP 중 적어도 하나를 기준으로 분류하거나 분류하도록 지원하고, (ii) 동일한 분류에 속하는 적어도 하나의 패킷별로, 상기 클라이언트 장치 및 상기 패킷 처리 시스템 내의 적어도 하나의 처리 장치 중 적어도 하나의 특정 장치로부터 전송되는 패킷 및 상기 특정 장치로부터 전송되는 패킷에 대응하여 상기 특정 장치로 수신되는 패킷의 쌍을 식별하거나 식별하도록 지원하며, (iii) 상기 식별된 패킷의 쌍에 대한 정보를 이용하여 상기 트랜잭션에 대한 정보를 획득하는 프로세서를 포함하는 APM 장치가 제공된다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 장치 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명에 의하면, 다음과 같은 효과가 있다.
본 발명은 높은 수준의 네트워크 부하가 걸리는 상황에서도 빠르고 정확하게 동일한 트랜잭션에 해당하는 패킷의 흐름을 추적함으로써 효율적으로 트랜잭션의 성능을 모니터링할 수 있는 효과가 있다.
또한, 본 발명은 포트 미러링을 통해 획득된 패킷을 클라이언트 장치의 포트 및 IP 중 적어도 일부를 기준으로 분류함으로써 동일한 트랜잭션에 해당하는 패킷들을 정확하게 식별할 수 있는 효과가 있다.
또한, 본 발명은 스위치에서 누락되는 트레이스가 없이 트랜잭션의 성능을 모니터링할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 APM 장치의 구성을 도시한 블록도이다.
도 2는 본 발명의 멀티 스레드 간 패킷 전달 구조를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 패킷 처리 시스템의 구성을 도시한 도면이다.
도 4는 Ingress 방식의 포트 미러링과 Egress 방식의 포트 미러링의 개념을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 Ingress 방식의 패킷 처리 시스템의 패킷 흐름을 도시한 블록도이다.
도 6은 Egress 방식으로 패킷 처리 시스템을 구성하는 경우 패킷 흐름을 도시한 블록도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
도 1은 본 발명의 일 실시예에 따른 APM 장치의 구성을 도시한 블록도이다.
본 발명의 일 실시예에 따른 APM 장치(100)는 클라이언트 장치(미도시)로부터 전송되는 패킷을 처리하기 위한 패킷 처리 시스템(200) 내의 패킷을 분석하여 트랜잭션을 모니터링한다.
도 1을 참조하면, APM 장치(100)는 통신부(110), 프로세서(120)를 포함할 수 있다.
통신부(110)는, 상기 패킷 처리 시스템(200)에 대하여 포트 미러링을 통해 적어도 하나의 패킷을 획득하거나 획득하도록 지원하는 구성이다. 구체적으로, 통신부(110)는, 상기 패킷 처리 시스템(200)에 연결된 스위치를 통과하는 적어도 하나의 패킷을 복사하여(미러링) 획득하거나 획득하도록 지원할 수 있다.
프로세서(120)는 APM 장치(100)의 동작을 제어한다. 특히, 프로세서(120)는 상기 획득된 적어도 하나의 패킷을 클라이언트 장치의 포트 및 IP 중 적어도 하나를 기준으로 분류하거나 분류하도록 지원할 수 있다.
이하에서는 도 2를 참조하여 프로세서(120)의 패킷 분류 동작을 좀더 상세하게 설명한다.
도 2는 본 발명의 멀티 스레드 간 패킷 전달 구조를 도시한 도면이다.
도 2를 참조하면, 우선, 프로세서(120)는, 포트 미러링을 통해 적어도 하나의 패킷이 획득되면, 적어도 하나의 리드 스레드(read thread)로 하여금 상기 획득된 적어도 하나의 패킷을 읽도록 하고, 상기 적어도 하나의 리드 스레드로 하여금 Source IP를 기준으로 상기 읽혀진 적어도 하나의 패킷을 적어도 하나의 패킷 핸들러 스레드(packet handler thread)에 분배하도록 한다. 여기서, Source IP는 상기 클라이언트 장치 및 상기 패킷 처리 시스템(200) 내의 적어도 하나의 처리 장치 중 제1 특정 장치로부터 제2 특정 장치로 패킷이 전송된다고 할 때, 제1 특정 장치의 IP를 나타낸다. 이처럼 Source IP를 기준으로 패킷을 분배하는 것은 제1 특정 장치에서 나가는 패킷끼리 분류하는 방식으로 트레이스 누락을 방지하기 위한 것이다. 이처럼 Source IP 기준으로 패킷을 분배하는 이유는 패킷 핸들러 스레드가 멀티 스레드 구조를 지님으로 인해 발생되는 정합성 문제를 해결하기 위함이다. 이에 대해서는 뒤에서 도 3을 참조하여 좀 더 상세하게 설명한다.
다음으로, 프로세서(120)는, 패킷 핸들러 스레드로 하여금 상기 분배된 적어도 하나의 패킷을 상기 클라이언트 장치의 포트를 기준으로 적어도 하나의 correlation 스레드에 분배하도록 하고, 상기 correlation 스레드로 하여금 ClientInfo - 상기 ClientInfo는 상기 클라이언트 장치의 포트 및 IP를 포함하는 정보임 - 를 기준으로 패킷을 분류하도록 할 수 있다.
한편, 프로세서(120)는 ring buffer로 하여금 리드 스레드에서 패킷 핸들러 스레드로, 패킷 핸들러 스레드에서 correlation 스레드로 패킷을 전달해주는 역할을 하도록 할 수 있다. ring buffer는 도 2에 도시된 것처럼 disruptor일 수 있다.
한편, 상기와 같은 패킷 분류 방식은 일 실시예에 불과하고, 다른 방식으로 분류하는 것도 가능하다.
즉, 프로세서(120)는, (i) 상기 포트 미러링을 통해 적어도 하나의 패킷이 획득되면, 적어도 하나의 리드 스레드로 하여금 상기 획득된 적어도 하나의 패킷을 읽도록 하고, (ii) 상기 적어도 하나의 리드 스레드로 하여금 Source IP를 기준으로 상기 읽혀진 적어도 하나의 패킷을 적어도 하나의 패킷 핸들러 스레드에 분배하도록 하며, (iii) 상기 패킷 핸들러 스레드로 하여금 상기 분배된 적어도 하나의 패킷을 상기 클라이언트 장치의 포트 및 IP 중 적어도 하나를 기준으로 분류하여 적어도 하나의 correlation 스레드에 분배하도록 할 수도 있다.
이처럼 본 발명은 포트 미러링을 통해 획득된 패킷을 클라이언트 장치의 포트 및 IP 중 적어도 일부를 기준으로 분류함으로써 동일한 트랜잭션에 해당하는 패킷들을 동일한 correlation 스레드로 모아 같은 clientinfo를 지니는지를 검사하는 방식을 이용해 동일한 트랜잭션의 패킷들을 정확하게 식별할 수 있는 효과가 있다.
계속해서 프로세서(120)의 동작을 설명하면, 프로세서(120)는, 동일한 분류에 속하는 적어도 하나의 패킷별로, 상기 클라이언트 장치 및 상기 패킷 처리 시스템(200) 내의 적어도 하나의 처리 장치 중 적어도 하나의 특정 장치로부터 전송되는 패킷 및 상기 특정 장치로부터 전송되는 패킷에 대응하여 상기 특정 장치로 수신되는 패킷의 쌍을 식별하거나 식별하도록 지원할 수 있다. 구체적으로, 프로세서(120)는, 동일한 분류에 속하는 적어도 하나의 패킷별로, 상기 특정 장치의 포트인 Source Port, 상기 특정 장치의 IP인 Source IP, 상기 특정 장치로부터 전송되는 패킷을 수신하는 장치의 IP인 Destination IP, 상기 특정 장치로부터 전송되는 패킷을 수신하는 장치의 포트인 Destination Port를 이용하여, 상기 특정 장치로부터 전송되는 패킷 및 상기 특정 장치로부터 전송되는 패킷에 대응하여 상기 특정 장치로 수신되는 패킷의 쌍을 식별하거나 식별하도록 지원할 수 있다.
또한, 프로세서(120)는 상기 식별된 패킷의 쌍에 대한 정보를 이용하여 상기 트랜잭션에 대한 정보를 획득할 수 있다. 그리고, 프로세서(120)는, 모든 트랜잭션의 짝이 맞으면 트랜잭션의 모든 정보가 모였다고 판단하여 이를 이용하여 모니터링 정보를 제공할 수 있다.
한편, 전술한 패킷 처리 시스템(200)은 복수의 세부 장치로 구성될 수 있다.
도 3은 본 발명의 일 실시예에 따른 패킷 처리 시스템의 구성을 도시한 도면이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 패킷 처리 시스템(200)은 상기 클라이언트 장치의 요청을 수신하여 처리하는 웹 서버(210), 상기 웹 서버(210)의 요청을 수신하여 처리하는 WAS(220, Web Application Server) 및 상기 WAS(220)의 쿼리 요청을 수신하여 처리하고 처리 결과를 반환하는 데이터베이스 서버(230)를 포함할 수 있다.
웹 서버(210)와 WAS(220) 사이에는 트랜잭션 시작 시 클라이언트 장치의 IP와 포트가 Remote IP, Remote Port라는 이름으로 전송된다. WAS(220)와 데이터베이스 서버(230) 사이에 통신 시작할 때는 JDBC Driver BCI나 JDBC Driver Wrapper를 이용한 방식을 통해 클라이언트 장치의 IP와 포트의 전송을 수행할 수 있다. 웹 서버(210), WAS(220), 데이터베이스 서버(230) 간에는 패킷의 송수신이 이루어진다. 예를 들어, 도 3에서 웹 서버(210)는 요청 B(Req B)를 WAS(220)에 전송하고 WAS(220)로부터 이에 대한 응답 B(Res B)을 받을 수 있다. 포트 미러링은 웹 서버(210), WAS(220), 데이터베이스 서버(230) 각각에 연결된 스위치를 통해서 이루어진다.
그런데, 만일 도 3에 도시된 것처럼 correlation 스레드가 특정 응답 패킷(응답 B, 응답 A)을 특정 요청 패킷(요청 C)보다 먼저 받는 상황이 발생하게 되고 상기 특정 요청 패킷에 대응되는 응답 패킷(응답 C)도 늦게 도착하게 되는 상황이 발생되면 요청 C와 응답 C의 짝을 알 수가 없게 되므로 해당 작업의 존재를 알 수 없게 된다. 이때, 요청 A, 응답 A, 요청 B, 응답 B가 모두 획득된 경우라면 요청과 응답의 짝이 모두 맞으므로 트랜잭션의 모든 정보가 모였다고 판단될 수 있고, 트랜잭션이 완료 처리되어 결과적으로 트랜잭션의 일부 트레이스(Trace) 정보가 유실되는 문제가 발생한다.
일부 트레이스가 유실되는 문제는 상술했던 리드 스레드가 패킷 핸들러 스레드로 패킷을 Source IP 기준으로 분배하는 이유와도 관련이 있다. 패킷 핸들러 스레드가 멀티 스레드 구조를 지니고 독자적으로 작업을 수행하므로, 각 스레드 별로 할당된 작업의 수와 작업 별 수행 시간에 따라 스레드 별로 작업의 처리시간이 다르게 된다. 따라서, correlation 스레드의 입장에서는 패킷 핸들러 스레드에서 전달되는 패킷들이 리드 스레드에서 패킷을 읽은 순서대로 전달됨이 보장되지 않으므로 이와 같은 문제점이 발생하게 된다.
본 발명에서는 이러한 문제를 방지하기 위해 상술한 리드 스레드가 패킷 핸들러 스레드로 패킷을 Source IP 기준으로 분배하는 방식과 Ingress 방향의 포트 미러링 방식이 적용된다.
Source IP 기준으로 패킷을 분배하는 분배 알고리즘은 리드 스레드에서 읽은 패킷 순서가 correlation 스레드에서 보장이 되도록 하기 위한 방식이다. 읽은 패킷의 순서가 보장이 되지 않는 현상은 correlation 스레드가 요청 C, 응답 C를 받기 전에 요청 A, 응답 A, 요청 B, 응답 B를 받아 요청 C와 응답 C가 있었는지 알지 못해 발생하므로, correlation 스레드에 요청 A, B 와 응답 A,B 를 모두 받기 전에 요청 C나 응답 C를 받게 되면 요청 C, 응답 C에 대한 패킷이 있음을 인지할 수 있게 되면 해당 문제가 사라지게 된다. 따라서, correlation 스레드가 응답 B를 받기 전에 항상 요청 C를, 응답 A를 받기 전에 요청 B를 받게 됨을 보장할 수 있다면 이 문제의 방지가 가능하다. 여기서 주목해야 할 점은 요청 C 와 응답 B는 WAS(220)에서 발송되는 패킷이고, 요청 B와 응답 A는 웹 서버(210)에서 발송되는 패킷이라는 점이다. 이 패킷들은 모두 전송이 시작되는 서버가 동일하므로 항상 Source IP 가 같다. 따라서, 리드 스레드에서 Source IP 기준으로 패킷들을 분배하면, 패킷 핸들러 스레드는 Source IP가 같은 패킷들을 순차적으로 처리할 수 밖에 없게 되고, correlation 스레드도 패킷을 항상 순차적으로 받게 된다. 이 때 패킷 핸들러 스레드는 항상 시간 순서상으로 패킷을 받기 때문에 응답 A 가 요청 B 보다 빨리 패킷 핸들러 스레드에 배정되거나 요청 C가 응답 B보다 빨리 패킷 핸들러 스레드에 배정되는 것이 불가능하다. 결과적으로 항상 correlation 스레드는 특정 장치가 송신하는 응답 패킷을 받기 전에 요청 패킷을 항상 먼저 받게 되므로 트레이스가 누락되는 현상이 해결된다.
Ingress 방식의 포트 미러링은 여러 대의 스위치를 관제하는 경우 리드 스레드가 멀티 스레드 구조를 지녀, 패킷들이 발생한 시간 순서대로 패킷 핸들러 스레드와 correlation 스레드에 전달됨이 보장되지 않는 문제를 해결하기 위한 것이다. 이하에서 본 발명에 적용되는 Ingress 방식의 포트 미러링과 Egress 방식의 포트 미러링에 대해서 비교하여 설명한다.
도 4는 Ingress 방식의 포트 미러링과 Egress 방식의 포트 미러링의 개념을 설명하기 위한 도면이다.
도 4의 (a)에 도시된 것처럼 Ingress 방식의 포트 미러링은 패킷 처리 시스템(200)에서 특정 포트로 패킷을 보낼 때 미러링을 하는 방식이다. 스위치 입장에서는 패킷을 받는 상황에서 미러링이 이루어진다.
반면, Egress 방식의 포트 미러링은 도 4의 (b)에 도시된 것처럼 패킷 처리 시스템(200)에서 특정 포트로 패킷을 받을 때 미러링을 하는 방식이다. 스위치 입장에서는 패킷을 보내는 상황에서 미러링이 이루어진다.
도 5는 본 발명의 일 실시예에 따른 Ingress 방식의 패킷 처리 시스템의 패킷 흐름을 도시한 블록도이다.
도 5에서 웹 서버(210)는 스위치 1에 속하며, WAS(220)는 스위치 2, 데이터베이스 서버(230)는 스위치 3에 속한다. 도 5에서 스위치 1은 클라이언트 장치로부터 요청 A(Req A)를 받고, WAS(220)에 요청 B(Req B)를 보내며, 클라이언트 장치로 응답 A(Res A)를 복사하여 Mirroring을 수행한다. 이 패킷들은 스위치 1에서 복사되어 APM 장치(100)로 전송되며, APM 장치(100)는 해당 Packet 들을 전송 받아 리드 스레드, 패킷 핸들러 스레드, Correlation 스레드 들을 거쳐 트랜잭션 매칭을 수행한다. 위와 같은 동작은 WAS(220)와 데이터베이스 서버(230)가 속한 스위치 2, 스위치 3 에서도 각각 동일하게 일어난다.
Ingress 동작은 특정 장치가 '보내는' Request, Response를 하나의 스위치에서 미러링할 수 있도록 해주므로, 특정 장치가 '보내는' 패킷이 동일한 리드 스레드에서 순서대로 읽히게 된다. 도 5에서 응답 B, 요청 C, 요청 D가 반드시 스위치 2에서 복사되는데, 이 경우 응답 B가 요청 C, 요청 D보다 먼저 복사되는 일이 발생할 수 없다. APM 장치(100)는 요청 C -> 요청 D -> 응답 B 순으로 패킷을 전달받으므로 응답 C와 응답 D의 패킷을 받아야 함을 언제나 알 수 있기 때문에 전술한 패킷 유실 문제가 발생되지 않는다.
도 6은 Egress 방식으로 패킷 처리 시스템을 구성하는 경우 패킷 흐름을 도시한 블록도이다.
도 6을 참조하면, Egress 방식으로 미러링이 일어나면 되면 특정 장치가 ‘받는’ 패킷들이 동일한 스위치에서 미러링이 일어나게 된다. 이 경우, WAS(220)가 보내는 요청 D(Req D)와 WAS(220)가 받는 응답 D(Res D)가 반드시 다른 스위치에서 복사가 일어나게 되므로 다른 리드 스레드에서 패킷이 읽혀진다. 따라서, 요청 D와 응답 D가 correlation 스레드에 도착하기 전에 다른 요청, 응답 등이 먼저 도착하게 되면 트랜잭션이 완료 처리되어 일부 패킷에 대한 정보가 유실될 수 있다.
이처럼 본 발명은 Ingress 방향으로 포트 미러링을 수행하여 패킷을 획득하고 분류함으로써 누락되는 트레이스 없이 트랜잭션의 성능을 모니터링할 수 있게 된다.
한편, 전술한 프로세서(120)는 통신부(110) 및 다른 구성요소 간의 데이터의 흐름을 제어하는 기능을 수행한다. 즉, 프로세서(120)는 APM 장치(100)의 각 구성요소 간의 데이터의 흐름을 제어함으로써, 통신부(110) 및 다른 구성요소에서 각각 고유 기능을 수행하도록 제어한다.
프로세서(120)는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 어플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100 : APM 장치
110 : 통신부
120 : 프로세서
200 : 패킷 처리 시스템
210 : 웹 서버
220 : WAS
230 : 데이터베이스 서버

Claims (19)

  1. 클라이언트 장치로부터 전송되는 패킷을 처리하기 위한 패킷 처리 시스템 내의 패킷을 분석하여 트랜잭션을 모니터링하는 방법에 있어서,
    상기 방법은,
    (a) 상기 패킷 처리 시스템에 대하여 포트 미러링을 통해 적어도 하나의 패킷이 획득되면, APM(Application Performance Monitoring) 장치가, 상기 획득된 적어도 하나의 패킷을 클라이언트 장치의 포트 및 IP 중 적어도 하나를 기준으로 분류하거나 상기 APM 장치에 네트워크로 연결된 제1 타 장치로 하여금 분류하도록 지원하는 단계,
    (b) 상기 APM 장치가, 동일한 분류에 속하는 적어도 하나의 패킷별로, (i) 상기 클라이언트 장치 및 상기 패킷 처리 시스템 내의 적어도 하나의 처리 장치 중 적어도 하나의 특정 장치로부터 전송되는 패킷 및 (ii) 상기 특정 장치로부터 전송되는 패킷에 대응하여 상기 특정 장치로 수신되는 패킷의 쌍을 식별하거나 상기 APM 장치에 네트워크로 연결된 제2 타 장치로 하여금 식별하도록 지원하는 단계, 및
    (c) 상기 APM 장치가, 상기 식별된 패킷의 쌍에 대한 정보를 이용하여 상기 트랜잭션에 대한 정보를 획득하는 단계를 포함하고,
    상기 (b) 단계에서,
    상기 APM 장치는, 동일한 분류에 속하는 적어도 하나의 패킷별로, 상기 특정 장치의 포트인 Source Port, 상기 특정 장치의 IP인 Source IP, 상기 특정 장치로부터 전송되는 패킷을 수신하는 장치의 IP인 Destination IP, 상기 특정 장치로부터 전송되는 패킷을 수신하는 장치의 포트인 Destination Port를 이용하여, 상기 특정 장치로부터 전송되는 패킷 및 상기 특정 장치로부터 전송되는 패킷에 대응하여 상기 특정 장치로 수신되는 패킷의 쌍을 식별하거나 식별하도록 지원하는 것을 특징으로 하고,
    상기 (a) 단계에서,
    상기 포트 미러링은 ingress 방향으로 수행되는 것을 특징으로 하며,
    상기 패킷 처리 시스템은,
    상기 클라이언트 장치의 요청을 수신하여 처리하는 웹 서버,
    상기 웹 서버의 요청을 수신하여 처리하는 WAS, 및
    상기 WAS의 쿼리 요청을 수신하여 처리하고 처리 결과를 반환하는 데이터베이스 서버를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 (a) 단계에서,
    (a1) 상기 포트 미러링을 통해 적어도 하나의 패킷이 획득되면, 상기 APM 장치가, 적어도 하나의 리드 스레드로 하여금 상기 획득된 적어도 하나의 패킷을 읽도록 하는 단계,
    (a2) 상기 APM 장치가, 상기 적어도 하나의 리드 스레드로 하여금 Source IP를 기준으로 상기 읽혀진 적어도 하나의 패킷을 적어도 하나의 패킷 핸들러 스레드에 분배하도록 하는 단계,
    (a3) 상기 APM 장치가, 상기 패킷 핸들러 스레드로 하여금 상기 분배된 적어도 하나의 패킷을 상기 클라이언트 장치의 포트를 기준으로 적어도 하나의 correlation 스레드에 분배하도록 하는 단계, 및
    (a4) 상기 APM 장치가, 상기 correlation 스레드로 하여금 ClientInfo - 상기 ClientInfo는 상기 클라이언트 장치의 포트 및 IP를 포함하는 정보임 - 를 기준으로 패킷을 분류하거나 분류하도록 하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제1항에 있어서,
    상기 포트 미러링은 상기 웹 서버, 상기 WAS, 상기 데이터베이스 서버 각각에 연결된 스위치를 통해서 이루어지는 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 포트 미러링은 상기 웹 서버, 상기 WAS, 상기 데이터베이스 서버 각각에서 해당 스위치의 특정 포트로 패킷을 보낼 때 이루어지는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 웹 서버와 상기 WAS 사이에는 트랜잭션 시작시 상기 클라이언트 장치의 IP와 포트가 Remote IP, Remote Port라는 이름으로 전송되고, 상기 WAS와 상기 데이터베이스 서버 사이에 통신을 시작할 때는 JDBC Driver BCI 또는 JDBC Driver Wrapper를 이용한 방식을 통해 상기 클라이언트 장치의 IP와 포트 전송이 이루어지는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 (a) 단계에서,
    (a1) 상기 포트 미러링을 통해 적어도 하나의 패킷이 획득되면, 상기 APM 장치가, 적어도 하나의 리드 스레드로 하여금 상기 획득된 적어도 하나의 패킷을 읽도록 하는 단계,
    (a2) 상기 APM 장치가, 상기 적어도 하나의 리드 스레드로 하여금 Source IP를 기준으로 상기 읽혀진 적어도 하나의 패킷을 적어도 하나의 패킷 핸들러 스레드에 분배하도록 하는 단계, 및
    (a3) 상기 APM 장치가, 상기 패킷 핸들러 스레드로 하여금 상기 분배된 적어도 하나의 패킷을 상기 클라이언트 장치의 포트 및 IP 중 적어도 하나를 기준으로 분류하여 적어도 하나의 correlation 스레드에 분배하도록 하는 단계를 포함하는 것을 특징으로 하는 방법.
  10. 클라이언트 장치로부터 전송되는 패킷을 처리하기 위한 패킷 처리 시스템 내의 패킷을 분석하여 트랜잭션을 모니터링하는 APM 장치에 있어서,
    상기 APM 장치는,
    상기 패킷 처리 시스템에 대하여 포트 미러링을 통해 적어도 하나의 패킷을 획득하거나 획득하도록 지원하는 통신부, 및
    (i) 상기 획득된 적어도 하나의 패킷을 클라이언트 장치의 포트 및 IP 중 적어도 하나를 기준으로 분류하거나 분류하도록 지원하고, (ii) 동일한 분류에 속하는 적어도 하나의 패킷별로, 상기 클라이언트 장치 및 상기 패킷 처리 시스템 내의 적어도 하나의 처리 장치 중 적어도 하나의 특정 장치로부터 전송되는 패킷 및 상기 특정 장치로부터 전송되는 패킷에 대응하여 상기 특정 장치로 수신되는 패킷의 쌍을 식별하거나 식별하도록 지원하며, (iii) 상기 식별된 패킷의 쌍에 대한 정보를 이용하여 상기 트랜잭션에 대한 정보를 획득하는 프로세서를 포함하고,
    상기 프로세서는, 동일한 분류에 속하는 적어도 하나의 패킷별로, 상기 특정 장치의 포트인 Source Port, 상기 특정 장치의 IP인 Source IP, 상기 특정 장치로부터 전송되는 패킷을 수신하는 장치의 IP인 Destination IP, 상기 특정 장치로부터 전송되는 패킷을 수신하는 장치의 포트인 Destination Port를 이용하여, 상기 특정 장치로부터 전송되는 패킷 및 상기 특정 장치로부터 전송되는 패킷에 대응하여 상기 특정 장치로 수신되는 패킷의 쌍을 식별하거나 식별하도록 지원하는 것을 특징으로 하고,
    상기 포트 미러링은 Ingress 방향으로 수행되는 것을 특징으로 하며,
    상기 패킷 처리 시스템은,
    상기 클라이언트 장치의 요청을 수신하여 처리하는 웹 서버,
    상기 웹 서버의 요청을 수신하여 처리하는 WAS, 및
    상기 WAS의 쿼리 요청을 수신하여 처리하고 처리 결과를 반환하는 데이터베이스 서버를 포함하는 것을 특징으로 하는 APM 장치.
  11. 제10항에 있어서,
    상기 프로세서는,
    (i) 상기 포트 미러링을 통해 적어도 하나의 패킷이 획득되면, 적어도 하나의 리드 스레드로 하여금 상기 획득된 적어도 하나의 패킷을 읽도록 하고, (ii) 상기 적어도 하나의 리드 스레드로 하여금 Source IP를 기준으로 상기 읽혀진 적어도 하나의 패킷을 적어도 하나의 패킷 핸들러 스레드에 분배하도록 하고, (iii) 상기 패킷 핸들러 스레드로 하여금 상기 분배된 적어도 하나의 패킷을 상기 클라이언트 장치의 포트를 기준으로 적어도 하나의 correlation 스레드에 분배하도록 하며, (iv) 상기 correlation 스레드로 하여금 ClientInfo - 상기 ClientInfo는 상기 클라이언트 장치의 포트 및 IP를 포함하는 정보임 - 를 기준으로 패킷을 분류하거나 분류하도록 하는 것을 특징으로 하는 APM 장치.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 제10항에 있어서,
    상기 포트 미러링은 상기 웹 서버, 상기 WAS, 상기 데이터베이스 서버 각각에 연결된 스위치를 통해서 이루어지는 것을 특징으로 하는 APM 장치.
  16. 제15항에 있어서,
    상기 포트 미러링은 상기 웹 서버, 상기 WAS, 상기 데이터베이스 서버 각각에서 해당 스위치의 특정 포트로 패킷을 보낼 때 이루어지는 것을 특징으로 하는 APM 장치.
  17. 제10항에 있어서,
    상기 웹 서버와 상기 WAS 사이에는 트랜잭션 시작시 상기 클라이언트 장치의 IP와 포트가 Remote IP, Remote Port라는 이름으로 전송되고, 상기 WAS와 상기 데이터베이스 서버 사이에 통신을 시작할 때는 JDBC Driver BCI 또는 JDBC Driver Wrapper를 이용한 방식을 통해 상기 클라이언트 장치의 IP와 포트 전송이 이루어지는 것을 특징으로 하는 APM 장치.
  18. 제10항에 있어서,
    상기 프로세서는,
    (i) 상기 포트 미러링을 통해 적어도 하나의 패킷이 획득되면, 적어도 하나의 리드 스레드로 하여금 상기 획득된 적어도 하나의 패킷을 읽도록 하고, (ii) 상기 적어도 하나의 리드 스레드로 하여금 Source IP를 기준으로 상기 읽혀진 적어도 하나의 패킷을 적어도 하나의 패킷 핸들러 스레드에 분배하도록 하며, (iii) 상기 패킷 핸들러 스레드로 하여금 상기 분배된 적어도 하나의 패킷을 상기 클라이언트 장치의 포트 및 IP 중 적어도 하나를 기준으로 분류하여 적어도 하나의 correlation 스레드에 분배하도록 하는 것을 특징으로 하는 APM 장치.
  19. 제1항, 제2항, 제6항 내지 제9항 중 어느 한 항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 비일시적(non-transitory) 컴퓨터 판독 가능한 기록 매체.
KR1020160024683A 2016-02-29 2016-02-29 패킷 처리 시스템 내의 패킷을 분석하여 트랜잭션을 모니터링하는 방법 및 apm 장치 KR101641637B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160024683A KR101641637B1 (ko) 2016-02-29 2016-02-29 패킷 처리 시스템 내의 패킷을 분석하여 트랜잭션을 모니터링하는 방법 및 apm 장치
US15/140,740 US9584390B1 (en) 2016-02-29 2016-04-28 Method and application performance monitoring device for monitoring transactions by analyzing packets in packet processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160024683A KR101641637B1 (ko) 2016-02-29 2016-02-29 패킷 처리 시스템 내의 패킷을 분석하여 트랜잭션을 모니터링하는 방법 및 apm 장치

Publications (1)

Publication Number Publication Date
KR101641637B1 true KR101641637B1 (ko) 2016-07-21

Family

ID=56680684

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160024683A KR101641637B1 (ko) 2016-02-29 2016-02-29 패킷 처리 시스템 내의 패킷을 분석하여 트랜잭션을 모니터링하는 방법 및 apm 장치

Country Status (2)

Country Link
US (1) US9584390B1 (ko)
KR (1) KR101641637B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101761781B1 (ko) 2016-12-30 2017-07-26 강원석 It 통합 관리 프레임워크를 위한 오픈소스 데이터베이스를 적용한 빅데이터 처리 방법 및 장치
WO2019143043A1 (ko) * 2018-01-18 2019-07-25 주식회사 맥데이타 네트워크 성능 진단 방법 및 장치, 및 시스템
KR20190088343A (ko) * 2018-01-18 2019-07-26 주식회사맥데이타 네트워크 성능지표를 시각화하는 방법 및 장치, 및 시스템
KR20190088342A (ko) * 2018-01-18 2019-07-26 주식회사맥데이타 네트워크 성능 진단 방법 및 장치, 및 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020035840A (ko) * 2000-05-24 2002-05-15 소프트컴 컴퓨터스 리미티드 인터넷 통신 감시 방법
KR100814546B1 (ko) * 1998-11-24 2008-03-17 닉썬, 인크. 통신 데이터를 수집하여 분석하는 장치 및 방법
US20090080425A1 (en) * 2007-09-24 2009-03-26 Ronald Mark Parker Systems and methods for port mirroring with network-scoped connection-oriented sink
KR101230500B1 (ko) * 2012-10-31 2013-02-25 주식회사 베이스인 네트웍스 네트워크 자원 통합 관리 시스템 및 그 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792460B2 (en) * 2002-10-02 2004-09-14 Mercury Interactive Corporation System and methods for monitoring application server performance
US7617365B2 (en) * 2004-04-28 2009-11-10 Emc Corporation Systems and methods to avoid deadlock and guarantee mirror consistency during online mirror synchronization and verification
CN101667966B (zh) * 2009-06-11 2011-10-26 中兴通讯股份有限公司 一种实现路由器远端镜像的方法和系统
US9077618B2 (en) * 2012-12-22 2015-07-07 Alcatel Lucent Service level mirroring in ethernet network
US9401853B2 (en) * 2013-09-24 2016-07-26 International Business Machines Corporation Determining sampling rate from randomly sampled events
US9203711B2 (en) * 2013-09-24 2015-12-01 International Business Machines Corporation Port mirroring for sampling measurement of network flows

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100814546B1 (ko) * 1998-11-24 2008-03-17 닉썬, 인크. 통신 데이터를 수집하여 분석하는 장치 및 방법
KR20020035840A (ko) * 2000-05-24 2002-05-15 소프트컴 컴퓨터스 리미티드 인터넷 통신 감시 방법
US20090080425A1 (en) * 2007-09-24 2009-03-26 Ronald Mark Parker Systems and methods for port mirroring with network-scoped connection-oriented sink
KR101230500B1 (ko) * 2012-10-31 2013-02-25 주식회사 베이스인 네트웍스 네트워크 자원 통합 관리 시스템 및 그 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101761781B1 (ko) 2016-12-30 2017-07-26 강원석 It 통합 관리 프레임워크를 위한 오픈소스 데이터베이스를 적용한 빅데이터 처리 방법 및 장치
WO2019143043A1 (ko) * 2018-01-18 2019-07-25 주식회사 맥데이타 네트워크 성능 진단 방법 및 장치, 및 시스템
KR20190088343A (ko) * 2018-01-18 2019-07-26 주식회사맥데이타 네트워크 성능지표를 시각화하는 방법 및 장치, 및 시스템
KR20190088342A (ko) * 2018-01-18 2019-07-26 주식회사맥데이타 네트워크 성능 진단 방법 및 장치, 및 시스템
KR102076862B1 (ko) * 2018-01-18 2020-02-12 주식회사맥데이타 네트워크 성능지표를 시각화하는 방법 및 장치, 및 시스템
KR102076861B1 (ko) * 2018-01-18 2020-05-18 주식회사맥데이타 네트워크 성능 진단 방법 및 장치, 및 시스템
US11362922B2 (en) 2018-01-18 2022-06-14 Magdata Inc. Method, apparatus and system for diagnosing network performance
US11902135B2 (en) 2018-01-18 2024-02-13 Magdata Inc. Method, apparatus and system for diagnosing network performance

Also Published As

Publication number Publication date
US9584390B1 (en) 2017-02-28

Similar Documents

Publication Publication Date Title
US20230362237A1 (en) Distributed network services
US11343166B2 (en) Health status monitoring for services provided by computing devices
KR101641637B1 (ko) 패킷 처리 시스템 내의 패킷을 분석하여 트랜잭션을 모니터링하는 방법 및 apm 장치
US20180176154A1 (en) Method and system for managing workloads in a cluster
US8335238B2 (en) Reassembling streaming data across multiple packetized communication channels
US8266504B2 (en) Dynamic monitoring of ability to reassemble streaming data across multiple channels based on history
CN108540468B (zh) 请求的控制与路由方法及其系统、存储介质、电子设备
US8510742B2 (en) Job allocation program for allocating jobs to each computer without intensively managing load state of each computer
US20200092157A1 (en) Method And System For Clustered Real-Time Correlation Of Trace Data Fragments Describing Distributed Transaction Executions
JP2010097489A (ja) 分散データ処理システム、分散データ処理方法および分散データ処理用プログラム
JP5834701B2 (ja) コンピューティング環境における資源の発見のための方法、装置、およびプログラム
US20180205613A1 (en) Method for automatically allocating ip address for distributed storage system in large-scale torus network and apparatus using the same
US9847927B2 (en) Information processing device, method, and medium
US20100262578A1 (en) Consolidating File System Backend Operations with Access of Data
US20180150313A1 (en) Analysis method and analysis apparatus
US7724659B2 (en) Network-based autodiscovery system for MAC forwarding dispatcher
CN111859062B (zh) 一种基于dpdk的网络数据处理方法和装置
US20160143082A1 (en) Method for detecting a message from a group of packets transmitted in a connection
US10516628B2 (en) Transfer device, transfer system, and transfer method
US10992760B2 (en) Information processing system, session management method, and non-transitory computer-readable storage medium
US20160006635A1 (en) Monitoring method and monitoring system
US20200296189A1 (en) Packet analysis apparatus, packet analysis method, and storage medium
CN111131243B (zh) Dpi系统策略处理方法及装置
US8930369B2 (en) Information processing apparatus, message classifying method and non-transitory medium for associating series of transactions
JP5655687B2 (ja) 解析処理装置,解析処理プログラムおよび解析処理方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190613

Year of fee payment: 4