KR101364746B1 - Trouble diagnosis apparatus and method for application delivery controller - Google Patents

Trouble diagnosis apparatus and method for application delivery controller Download PDF

Info

Publication number
KR101364746B1
KR101364746B1 KR1020130122093A KR20130122093A KR101364746B1 KR 101364746 B1 KR101364746 B1 KR 101364746B1 KR 1020130122093 A KR1020130122093 A KR 1020130122093A KR 20130122093 A KR20130122093 A KR 20130122093A KR 101364746 B1 KR101364746 B1 KR 101364746B1
Authority
KR
South Korea
Prior art keywords
server
packets
packet
adc
time
Prior art date
Application number
KR1020130122093A
Other languages
Korean (ko)
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 KR1020130122093A priority Critical patent/KR101364746B1/en
Application granted granted Critical
Publication of KR101364746B1 publication Critical patent/KR101364746B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0604Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
    • H04L41/0613Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time based on the type or category of the network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Abstract

The present invention relates to an apparatus and a method for diagnosing troubles of an application delivery controller, capable of effectively diagnosing load dispersion troubles and response time delay troubles and has an effect for accurately diagnosing the dispersion troubles and the server response time delay troubles based on a virtual server without a decline in service quality. Also, the method has an effect for effectively determining the possibility of trouble occurrence by obtaining processing time or load dispersion operation for an explicit request by separating the operation of the virtual server for a user request from the operation of a real server based on a TCP flag on a transmission layer by collecting packets inserted into the application transmission controller. [Reference numerals] (110) ADC inflow packet collecting unit; (120) User request analysis unit; (130) Real server request analysis unit; (140) Load distribution verification unit; (150) Delay time inspection unit

Description

어플리케이션 전달 컨트롤러 장애 진단 장치 및 방법{Trouble diagnosis apparatus and method for application delivery controller}Trouble diagnosis apparatus and method for application delivery controller

본 발명은 어플리케이션 전달 컨트롤러 장애 진단 장치 및 방법에 관한 것으로, 특히 부하분산 장애와 서버 응답시간 지연 장애를 효과적으로 진단할 수 있는 어플리케이션 전달 컨트롤러 장애 진단 장치 및 방법에 관한 것이다.
The present invention relates to an apparatus and method for diagnosing an application delivery controller failure, and more particularly, to an apparatus and method for diagnosing an application delivery controller failure capable of effectively diagnosing a load balancing failure and a server response time delay failure.

어플리케이션 전달 컨트롤러(Application Delivery Controller, 이하 ADC라 함)란 어플리케이션 데이터를 조정하는 서버부하 분산기능을 하는 네트워크 장비이다.An Application Delivery Controller (ADC) is a network device that performs a server load distribution function to adjust application data.

이러한 ADC의 주요 기능으로는 서버부하 분산(Server Load Balancing), 방화벽 부하 분산(Firewall Load Balancing), 헬쓰 체크(Health Check), 대역폭 관리(Bandwidth Management) 등의 기능이 있다.Key features of these ADCs include Server Load Balancing, Firewall Load Balancing, Health Check, and Bandwidth Management.

여기서, 서버부하 분산은 하나의 인터넷 서비스에서 서버로 향하는 트래픽을 동일한 서비스를 제공하는 여러 개의 서버에게 효율적으로 분배하여 서버의 부하를 분산시켜 주는 기능을 의미한다.Here, the server load distribution refers to a function that distributes the load of the server by efficiently distributing the traffic from one Internet service to the server to multiple servers providing the same service.

자세히 말하면, 상기 서버부하 분산은 동일한 역할을 수행하는 서버 그룹을 가상 주소(Virtual IP Address)를 통해 관리하며, 서버로 향하는 트래픽을 일단 가상 주소를 가진 네트워크 장비(ADC)로 수신한 후, 분배정책에 따라 적절한 서버에 분배해 주는 것이다. 이러한 가상 주소는 서버 그룹의 대표 IP라 할 수 있다.In more detail, the server load distribution manages a group of servers that perform the same role through a virtual IP address, and receives traffic destined for the server to a network device (ADC) having a virtual address. According to the distribution to the appropriate server. This virtual address may be referred to as a representative IP of the server group.

최근 대부분의 사이트는 서버 한대로 사용자들의 트래픽을 감당하기 어렵기 때문에 동일한 역할을 수행하는 서버를 여러 대 두어서 사용자들의 트래픽이 증가하더라도 유연하고 안정적으로 사이트를 운영하고 있으며 이러한 트래픽 분산을 위해 ADC를 이용하고 있다.Recently, since most sites cannot handle the traffic of users with one server, there are several servers that play the same role, so that even if the traffic of users increases, the site operates flexibly and stably. Doing.

서버부하 분산은 설정에 따라 응답속도가 빠른 서버에 연결하는 방식 또는 접속이 가장 적은 서버에 연결하는 방식 등이 있으며, 이 방식을 부하 분산방식(Load Balancing Method)이라고 하고, L4 스위치에서 부하 분산을 하는 기준으로 장비별로 제공되는 방법에는 차이가 있다.Server Load Balancing is a method of connecting to a server with fast response or a server with the fewest connections depending on the configuration. This method is called Load Balancing Method. There is a difference in the methods provided for each equipment.

한편, 이러한 기능을 제공하는 ADC의 경우 장애가 발생할 경우 서비스 운영에 상당한 지장이 발생하게 되는데 이러한 ADC에서 주로 발생하는 장애로는 부하 분산 장애와 서버 응답시간 지연 장애가 있다.On the other hand, in case of an ADC that provides such a function, a significant disruption in service operation occurs when a failure occurs. The failures that occur mainly in the ADC include load balancing failure and server response time delay failure.

서버부하 분산의 장애란 부하 분산(load balancing) 설정에 맞추어 장비가 적절히 부하 분산을 하지 못하는 경우를 말한다. 예를 들어, 라운드-로빈(round-robin) 방식으로 부하 분산을 설정했음에도 불구하고 한쪽 서버로 부하가 몰리는 경우를 말한다. Failure of server load balancing is when the equipment fails to load balance properly in accordance with the load balancing configuration. For example, the load is concentrated on one server even though the load balancing is set in a round-robin manner.

서버 응답시간 지연은 사용자의 서비스 요청에 대한 응답시간이 늦음으로써, 서비스의 품질이 떨어지는 현상을 의미한다.The server response time delay refers to a phenomenon in which the quality of service is deteriorated due to a late response time for a service request of a user.

도 1은 ADC가 사용되는 일반적인 실시예를 개략적으로 도시한 도면이다.1 is a diagram schematically illustrating a general embodiment in which an ADC is used.

도시된 바와 같이, 종래의 서버부하 분산 관리시스템은 사용자가 가상 주소로 접속하는 클라이언트 단말(10), 어플리케이션에 저장된 어플리케이션 서버(14, 15, 16) 및 이러한 클라이언트 단말(10)과 어플리케이션 서버 사이에서 부하를 분산시키는 ADC(12)로 구성된다. As shown in the drawing, the conventional server load distribution management system includes a client terminal 10 to which a user accesses a virtual address, an application server 14, 15, and 16 stored in an application, and the client terminal 10 and the application server. It consists of an ADC 12 that distributes the load.

도시된 구성은 하나의 ADC(12)가 3개의 실질적인 어플리케이션 서버(14, 15, 16)에 부하를 분산시키는 것에 대한 예시적 구성이지만 실질적으로는 복수의 ADC가 복수의 실제 서버(Real Server)와 다양하게 연결되어 해당 실제 서버 내에 논리적으로 구성되는 복수의 가상 서버(Virtual Server)에 대한 기능을 설정하고 그 상태를 모니터링해야 하는 것이 일반적이다. The illustrated configuration is an example configuration in which one ADC 12 distributes load across three practical application servers 14, 15, and 16, but in practice multiple ADCs are associated with multiple Real Servers. It is common to set up and monitor the status of a plurality of virtual servers that are connected in various ways and logically configured within the corresponding physical server.

따라서, 이러한 ADC를 구비한 서버부하 분산 관리시스템에서 장애가 발생할 경우 그 원인을 신속하고 명확하게 판단해야 하며, 지속적 모니터링을 통해서 장애가 발생할 가능성이 발견될 경우 사전에 그에 대한 조치를 취해야 한다. Therefore, if a failure occurs in a server load distributed management system equipped with such an ADC, the cause of the failure should be determined quickly and clearly, and action should be taken in advance if a failure is found through continuous monitoring.

하지만, 현재까지는 모니터링 대상이 장비의 상태를 기준으로 하기 때문에 ADC나 실제 서버에 대한 성능이나 상태는 감시가 가능하지만 논리적으로 다양하고 복잡하게 구성되는 가상 서버를 단위로 장애가 발생하고 있는 상황에서 가상 서버 설정 오류, 부하 분산 설정 오류, ADC 고장, 가상 서버 오류, 가상 서버와 연동되는 하나 이상의 실제 서버 오류 중 어떠한 장애가 발생했는지를 판단하기에는 쉽지 않다. However, until now, the monitoring target is based on the status of the equipment, so it is possible to monitor the performance or status of the ADC or the actual server, but in the case of failures in logically diverse and complex virtual servers, It is difficult to determine which of the configuration errors, load balancing configuration errors, ADC failures, virtual server errors, or one or more real server errors associated with the virtual server has occurred.

따라서, 장애가 발생할 경우 ADC 전체에 대한 재설정, 교체가 이루어지거나 관련된 실제 서버 전체가 재설정되거나 교체되는 비효율적 관리가 이루어지고 있는 실정이다. Therefore, in the event of a failure, the entire ADC is reset or replaced, or the inefficient management of the entire actual server is reset or replaced.

한편, 다수의 ADC와 다수의 실제 서버를 통해 서비스를 제공하고 있는 경우 전체적인 서비스 관리는 가상 서버를 대상으로 이루어지게 되므로 장애에 대한 모니터링과 대응 역시 가상 서버를 기준으로 하는 것이 바람직하지만 현재까지는 장비를 단위로 장애가 모니터링 및 관리되므로 논리적 관리와 실질적 장애 사이의 괴리에 의해 네트워크 관리가 복잡하여 관리 비용이 높아지고 장애 발생 시 대응이 늦어 서비스 신뢰성이 낮아지는 상황이 발생하고 있다.
On the other hand, if the service is provided through multiple ADCs and multiple real servers, overall service management is performed on the virtual servers. Therefore, monitoring and response to failures are also preferably based on virtual servers. Since failures are monitored and managed on a per-unit basis, network management is complicated by the gap between logical management and actual failure, resulting in high management costs and slow response when failures occur, resulting in low service reliability.

한국 공개특허 제 10-2013-0069167호Korea Patent Publication No. 10-2013-0069167 한국 등록특허 제 1171657호Korean Patent No. 1171657

본 발명은 상기 문제점을 해소하기 위해 안출된 본 발명 실시예의 목적은 가상 서버를 판단의 기준으로 하여 부하 분산 장애와 서버 응답시간 지연 장애를 서비스 품질 저하 없이 명확하게 진단할 수 있도록 한 어플리케이션 전달 컨트롤러 장애 진단 장치 및 방법을 제공하는 데 있다.An object of the present invention devised to solve the above problems is an application delivery controller failure to clearly diagnose load balancing failure and server response time delay failure without deterioration of service quality based on the virtual server as a criterion of determination. It is to provide a diagnostic apparatus and method.

본 발명 실시예의 다른 목적은 어플리케이션 전달 컨트롤러에 유입되는 패킷을 수집하여 전송계층 상의 TCP(Transmission Control Protocol) 플래그를 기준으로 사용자 요청에 대한 가상 서버의 동작 및 그에 따른 실제 서버의 동작을 구분하고 명시적 요청에 대한 부하 분산 동작이나 처리 시간을 파악함으로써 장애 발생 여부는 물론이고 장애 발생의 가능성도 용이하게 판단할 수 있도록 한 어플리케이션 전달 컨트롤러 장애 진단 장치 및 방법을 제공하는 데 있다.
Another object of the embodiment of the present invention is to collect the packets flowing into the application delivery controller to distinguish the operation of the virtual server and the actual operation of the server according to the user request based on the Transmission Control Protocol (TCP) flag on the transport layer It is an object of the present invention to provide an apparatus and method for diagnosing a failure of an application delivery controller that enables a user to easily determine whether or not a failure occurs by identifying a load balancing operation or processing time for a request.

상기 목적을 달성하기 위한 어플리케이션 전달 컨트롤러 장애 진단 장치는 어플리케이션 전달 컨트롤러(ADC)에 유입되는 패킷을 수집하는 ADC 유입 패킷 수집부; 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 사용자 단말에서 ADC에 전달되는 syn 패킷의 수를 사용자 요청 패킷 수로 카운트하는 사용자 요청 분석부; 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 가상 서버에서 실제 서버로 제공되는 syn 패킷의 수를 서버 별로 실제 서버 패킷 수로 카운트하는 실제 서버 요청 분석부; 상기 사용자 요청 분석부의 요청 패킷 수와 상기 실제 서버 요청 분석부의 실제 서버 패킷 수를 기반으로 부하 분산의 동작 상태를 판단하는 부하분산 검증부를 포함하는 것을 특징으로 한다.Application delivery controller failure diagnosis apparatus for achieving the above object includes an ADC inflow packet collector for collecting a packet flowing into the application delivery controller (ADC); A user request analyzer configured to count the number of syn packets transmitted from the user terminal to the ADC among the packets collected by the ADC inflow packet collector as the number of user request packets; An actual server request analyzer configured to count the number of syn packets provided from the virtual server to the real server among the packets collected by the ADC inflow packet collection unit as the number of real server packets for each server; And a load distribution verification unit that determines an operation state of load balancing based on the number of request packets of the user request analyzer and the actual number of server packets of the server request analyzer.

상기 사용자 요청 분석부는 해싱값을 계산하여 실제 서버 별로 할당된 사용자 요청 패킷의 수를 확인하고, 상기 부하분산 검증부는 상기 사용자 요청 분석부를 통해 얻은 상기 사용자 요청 패킷의 실제 서버 할당 수와 상기 실제 서버 별 실제 서버 패킷 수가 대응되는지 확인하여 해시 부하 분산 동작 상태를 판단할 수 있다.The user request analyzer calculates a hashing value to check the number of user request packets allocated for each real server, and the load balancing verifier determines the actual server allocation number of the user request packets obtained by the user request analyzer and the actual server. The hash load balancing operation state can be determined by checking whether the actual number of server packets corresponds.

상기 사용자 요청 분석부는 상기 실제 서버 별 실제 서버 패킷 수가 균등하게 분산되었는지 확인하여 라운드 로빈 부하 분산 동작 상태를 판단할 수 있다.The user request analyzer may determine a round robin load balancing operation state by checking whether the number of real server packets for each real server is equally distributed.

가상 서버와 실제 서버 간의 대응 관계나 부하 분산 방식, 서버 응답 시간 지연 기준 등을 관리자 입력이나 ADC 접속을 통해 수집하는 설정 정보 수집부를 더 포함할 수 있다.The apparatus may further include a configuration information collection unit configured to collect a correspondence relationship between the virtual server and the real server, a load balancing scheme, and a server response time delay criterion through an administrator input or an ADC connection.

상기 사용자 요청 패킷과 실제 서버 요청 패킷 사이의 ADC 요청 처리 시간과, 실제 서버 요청 패킷과 그에 따라 실제 서버가 응답한 응답 패킷 사이의 실제 서버 응답 시간 및 상기 실제 서버의 응답 패킷과 이에 대응되어 사용자에게 제공되는 응답 패킷 사이의 ADC 응답 처리 시간의 총합을 기준 시간과 비교하는 지연시간 검사부를 더 포함할 수 있다.ADC request processing time between the user request packet and the real server request packet, the real server response time between the real server request packet and the response packet responded by the real server, and the response packet of the real server and correspondingly The apparatus may further include a delay check unit that compares the sum of the ADC response processing time between the provided response packets with a reference time.

상기 지연시간 검사부는 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 소스 주소가 사용자의 IP이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인하고, 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인한 후 각 시간의 차이를 ADC 요청 처리 시간으로 계산할 수 있다.The delay time checker finds a packet whose source address is the user's IP and the TCP flag is syn and checks the time among the packets collected by the ADC inflow packet collector, and the source address is the virtual server IP and the destination address is the real server IP. At this point, we can find the packet whose TCP flag is syn, check the time, and calculate the difference in time as the ADC request processing time.

상기 지연시간 검사부는 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인하고 소스 주소가 실제 서버이고 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인한 후 각 시간의 차이를 실제 서버 응답 시간으로 계산할 수 있다.The delay time checker finds a packet whose source address is a virtual server IP, a destination address is a real server IP, and a TCP flag is syn, and checks the time among the packets collected through the ADC inflow packet collector. We can find the packet whose address is the virtual server and whose TCP flag is synack, check the time, and calculate the difference between each time as the actual server response time.

상기 지연시간 검사부는 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 소스 주소가 실제 서버이고 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인하고 소스 주소가 가상 서버이고 목적지 주소가 사용자 IP이면서 TCP 플래그가 synack인 패킷을 찾아 시간을 확인한 후 각 시간의 차이를 ADC 응답 처리 시간으로 계산할 수 있다.
The delay checker finds a packet whose source address is a real server, a destination address is a virtual server, and a TCP flag is synack among the packets collected by the ADC inflow packet collector, and checks the time, and the source address is a virtual server and a destination address is After checking the time by finding the packet with user IP and TCP flag synack, the time difference can be calculated as the ADC response processing time.

본 발명의 다른 실시예에 따른 어플리케이션 전달 컨트롤러 장애 진단 장치는, 어플리케이션 전달 컨트롤러에 유입되는 패킷을 수집하는 ADC 유입 패킷 수집부; 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 사용자 단말에서 ADC에 전달되는 syn 패킷의 수를 사용자 요청 패킷 수로 카운트하고 그 시간을 확인하며 선택적으로 해싱값을 계산하여 실제 서버별 할당된 패킷의 수를 확인하는 사용자 요청 분석부; 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 가상 서버에서 실제 서버로 제공되는 syn 패킷의 수를 서버 별로 실제 서버 패킷 수로 카운트하고 그 시간을 확인하는 실제 서버 요청 분석부; 상기 사용자 요청 분석부의 요청 패킷 수와 상기 실제 서버 요청 분석부의 실제 서버 패킷 수를 기반으로 부하 분산의 동작 상태를 판단하며 선택적으로 사용자 요청 패킷의 실제 서버 할당 수와 서버별 실제 서버 패킷 수가 같은지 판단하거나 실제 서버 패킷 수가 서버 별로 균일하게 분산되었는지 판단하는 부하분산 검증부; 상기 사용자 요청 패킷과 실제 서버 요청 패킷 사이의 ADC 요청 처리 시간과, 실제 서버 요청 패킷과 그에 따라 실제 서버가 응답한 응답 패킷 사이의 실제 서버 응답 시간 및 상기 실제 서버의 응답 패킷과 이에 대응되어 사용자에게 제공되는 응답 패킷 사이의 ADC 응답 처리 시간의 총합을 기준 시간과 비교하는 지연시간 검사부를 포함하는 것을 특징으로 한다.
Application delivery controller failure diagnosis apparatus according to another embodiment of the present invention, the ADC incoming packet collection unit for collecting the packet flowing into the application delivery controller; Among the packets collected by the ADC inflow packet collection unit, the number of syn packets transmitted from the user terminal to the ADC is counted as the number of user request packets, the time is checked, and the hashing value is selectively calculated to calculate the number of packets actually allocated for each server. A user request analyzer for checking; A real server request analysis unit for counting the number of syn packets provided from the virtual server to the real server among the packets collected by the ADC inflow packet collection unit as the number of real server packets for each server and checking the time; Determine an operation state of load balancing based on the number of request packets of the user request analyzer and the number of actual server packets of the actual server request analyzer; and optionally determine whether the actual server allocation number of the user request packet is equal to the actual number of server packets per server, or A load balancing verifier determining whether the actual number of server packets is uniformly distributed for each server; ADC request processing time between the user request packet and the real server request packet, the real server response time between the real server request packet and the response packet responded by the real server, and the response packet of the real server and correspondingly And a delay time checker for comparing the total of the ADC response processing time between the provided response packets with a reference time.

본 발명의 또 다른 실시예에 따른 어플리케이션 전달 컨트롤러 장애 진단 방법은 어플리케이션 전달 컨트롤러와 연동하여 장애를 진단하는 장애 진단 장치를 이용한 장애 진단 방법으로서, 상기 장애 진단 장치가 상기 ADC에 유입되는 패킷을 수집하는 ADC 유입 패킷 수집 단계; 상기 장애 진단 장치가 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 사용자 단말에서 ADC에 전달되는 syn 패킷의 수를 사용자 요청 패킷 수로 카운트하는 사용자 요청 분석 단계; 상기 장애 진단 장치가 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 가상 서버에서 실제 서버로 제공되는 syn 패킷의 수를 서버 별로 실제 서버 패킷 수로 카운트하는 실제 서버 요청 분석 단계; 상기 장애 진단 장치가 상기 사용자 요청 분석 단계의 요청 패킷 수와 상기 실제 서버 요청 분석 단계의 실제 서버 패킷 수를 기반으로 부하 분산의 동작 상태를 판단하는 부하분산 검증 단계를 포함하는 것을 특징으로 한다.An application delivery controller failure diagnosis method according to another embodiment of the present invention is a failure diagnosis method using a failure diagnosis apparatus for diagnosing a failure by interworking with an application delivery controller, wherein the failure diagnosis apparatus collects packets flowing into the ADC. ADC incoming packet collection step; A user request analysis step of counting the number of syn packets transmitted from the user terminal to the ADC among the packets collected by the fault diagnosis apparatus through the ADC inflow packet collection step as the number of user request packets; An actual server request analysis step of counting the number of syn packets provided from the virtual server to the real server among the packets collected by the fault diagnosis apparatus through the ADC inflow packet collection step by the actual number of server packets for each server; The failure diagnosis apparatus includes a load balancing verification step of determining an operation state of load balancing based on the number of request packets in the user request analysis step and the number of actual server packets in the actual server request analysis step.

상기 사용자 요청 분석 단계는 해싱값을 계산하여 실제 서버 별로 할당된 사용자 요청 패킷의 수를 확인하는 단계를 포함하고, 상기 부하분산 검증 단계는 상기 사용자 요청 분석 단계를 통해 얻은 상기 사용자 요청 패킷의 실제 서버 할당 수와 상기 실제 서버 별 실제 서버 패킷 수가 대응되는지 확인하여 해시 부하 분산 동작 상태를 판단하는 단계를 포함할 수 있다.The user request analyzing step includes calculating a hashing value and checking the number of user request packets allocated for each real server, and the load balancing verifying step includes a real server of the user request packet obtained through the user request analysis step. The method may include determining a hash load balancing operation state by checking whether an allocation number corresponds to an actual server packet number for each actual server.

상기 사용자 요청 분석 단계는 상기 실제 서버 별 실제 서버 패킷 수가 균등하게 분산되었는지 확인하여 라운드 로빈 부하 분산 동작 상태를 판단하는 단계를 포함할 수 있다.The analyzing of the user request may include determining whether the actual number of actual server packets for each real server is equally distributed to determine a round robin load balancing operation state.

가상 서버와 실제 서버 간의 대응 관계나 부하 분산 방식, 서버 응답 시간 지연 기준 등을 관리자 입력이나 ADC 접속을 통해 수집하는 설정 정보 수집 단계를 더 포함할 수 있다.The method may further include a configuration information collection step of collecting a correspondence relationship, a load balancing method, a server response time delay criterion, etc. between the virtual server and the real server through an administrator input or an ADC connection.

상기 장애 진단 장치가 상기 사용자 요청 패킷과 실제 서버 요청 패킷 사이의 ADC 요청 처리 시간과, 실제 서버 요청 패킷과 그에 따라 실제 서버가 응답한 응답 패킷 사이의 실제 서버 응답 시간 및 상기 실제 서버의 응답 패킷과 이에 대응되어 사용자에게 제공되는 응답 패킷 사이의 ADC 응답 처리 시간의 총합을 기준 시간과 비교하는 지연시간 검사 단계를 더 포함할 수 있다.The apparatus for diagnosing the error may include an ADC request processing time between the user request packet and an actual server request packet, an actual server response time between an actual server request packet and a response packet responded by the actual server, and a response packet of the actual server. In response thereto, the method may further include a delay time checking step of comparing the sum of the ADC response processing time between the response packets provided to the user with the reference time.

상기 지연시간 검사 단계는 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 소스 주소가 사용자의 IP이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인하고, 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인한 후 각 시간의 차이를 ADC 요청 처리 시간으로 계산할 수 있다.In the delay checking step, a packet having a source address of the user's IP and a TCP flag syn is identified from the packets collected through the ADC inflow packet collecting step, and checking the time, and the source address is the virtual server IP and the destination address is the actual address. After finding the packet with the server IP and the TCP flag syn, the time can be checked and the time difference can be calculated as the ADC request processing time.

상기 지연시간 검사 단계는 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인하고 소스 주소가 실제 서버이고 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인한 후 각 시간의 차이를 실제 서버 응답 시간으로 계산할 수 있다.In the delay checking step, a packet having a source address of virtual server IP, a destination address of real server IP, and a TCP flag syn, and checking the time are identified among the packets collected through the ADC inflow packet collection step, and the source address of the real server And you can find the packet whose destination address is the virtual server and whose TCP flag is synack, check the time, and calculate the difference of each time as the actual server response time.

상기 지연시간 검사 단계는 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 소스 주소가 실제 서버이고 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인하고 소스 주소가 가상 서버이고 목적지 주소가 사용자 IP이면서 TCP 플래그가 synack인 패킷을 찾아 시간을 확인한 후 각 시간의 차이를 ADC 응답 처리 시간으로 계산할 수 있다.
In the delay checking step, a packet having a source address is a real server, a destination address is a virtual server, and a TCP flag is synack among the packets collected through the ADC inflow packet collection step is checked for the time, and the source address is a virtual server. After checking the time by looking for the packet whose address is user IP and whose TCP flag is synack, the time difference can be calculated as the ADC response processing time.

본 발명의 또 다른 실시예에 따른 어플리케이션 전달 컨트롤러 장애 진단 방법은 어플리케이션 전달 컨트롤러와 연동하여 장애를 진단하는 장애 진단 장치를 이용한 장애 진단 방법으로서, 상기 장애 진단 장치가 어플리케이션 전달 컨트롤러에 유입되는 패킷을 수집하는 ADC 유입 패킷 수집 단계; 상기 장애 진단 장치가 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 사용자 단말에서 ADC에 전달되는 syn 패킷의 수를 사용자 요청 패킷 수로 카운트하고 그 시간을 확인하며 선택적으로 해싱값을 계산하여 실제 서버별 할당된 패킷의 수를 확인하는 사용자 요청 분석 단계; 상기 장애 진단 장치가 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 가상 서버에서 실제 서버로 제공되는 syn 패킷의 수를 서버 별로 실제 서버 패킷 수로 카운트하고 그 시간을 확인하는 실제 서버 요청 분석 단계; 상기 장애 진단 장치가 상기 사용자 요청 분석 단계의 요청 패킷 수와 상기 실제 서버 요청 분석 단계의 실제 서버 패킷 수를 기반으로 부하 분산의 동작 상태를 판단하며 선택적으로 사용자 요청 패킷의 실제 서버 할당 수와 서버별 실제 서버 패킷 수가 같은지 판단하거나 실제 서버 패킷 수가 서버 별로 균일하게 분산되었는지 판단하는 부하분산 검증 단계; 상기 장애 진단 장치가 상기 사용자 요청 패킷과 실제 서버 요청 패킷 사이의 ADC 요청 처리 시간과, 실제 서버 요청 패킷과 그에 따라 실제 서버가 응답한 응답 패킷 사이의 실제 서버 응답 시간 및 상기 실제 서버의 응답 패킷과 이에 대응되어 사용자에게 제공되는 응답 패킷 사이의 ADC 응답 처리 시간의 총합을 기준 시간과 비교하는 지연시간 검사 단계를 포함하는 것을 특징으로 한다.
The application delivery controller failure diagnosis method according to another embodiment of the present invention is a failure diagnosis method using a failure diagnosis apparatus for diagnosing a failure by interworking with an application delivery controller, and the failure diagnosis apparatus collects packets flowing into the application delivery controller. ADC incoming packet collection step; The fault diagnosis apparatus counts the number of syn packets transmitted from the user terminal to the ADC among the packets collected through the ADC inflow packet collection step as the number of user request packets, checks the time, and optionally calculates a hashing value for each server. A user request analysis step of confirming the number of allocated packets; An actual server request analysis step of counting the number of syn packets provided from the virtual server to the real server among the packets collected by the fault diagnosis apparatus through the ADC inflow packet collecting step by the number of real server packets for each server and checking the time; The failure diagnosis apparatus determines an operation state of load balancing based on the number of request packets in the user request analysis step and the number of actual server packets in the actual server request analysis step. A load balancing verification step of determining whether the actual number of server packets is the same or determining whether the actual number of server packets is uniformly distributed for each server; The apparatus for diagnosing the error may include an ADC request processing time between the user request packet and an actual server request packet, an actual server response time between an actual server request packet and a response packet responded by the actual server, and a response packet of the actual server. In response thereto, a delay checking step of comparing the sum of the ADC response processing time between the response packets provided to the user and the reference time may be included.

상기한 바와 같이 구성되는 본 발명의 실시예에 따른 어플리케이션 전달 컨트롤러 장애 진단 장치 및 방법은 가상 서버를 판단의 기준으로 하여 부하 분산 장애와 서버 응답시간 지연 장애를 서비스 품질 저하 없이 명확하게 진단할 수 있는 효과가 있다.The apparatus and method for diagnosing an application delivery controller failure according to an embodiment of the present invention configured as described above can clearly diagnose a load balancing failure and a server response time delay failure without degrading the service quality by using a virtual server as a criterion of determination. It works.

본 발명의 실시예에 따른 어플리케이션 전달 컨트롤러 장애 진단 장치 및 방법은 어플리케이션 전달 컨트롤러에 유입되는 패킷을 수집하여 전송계층 상의 TCP 플래그를 기준으로 사용자 요청에 대한 가상 서버의 동작 및 그에 따른 실제 서버의 동작을 구분하고 명시적 요청에 대한 부하 분산 동작이나 처리 시간을 파악함으로써 장애 발생 여부는 물론이고 장애 발생의 가능성도 용이하게 판단할 수 있는 효과가 있다.
The apparatus and method for diagnosing a failure of an application delivery controller according to an exemplary embodiment of the present invention collects packets flowing into the application delivery controller to perform an operation of a virtual server for a user request based on a TCP flag on a transport layer and an operation of an actual server accordingly. By identifying and identifying the load balancing operation or processing time for explicit requests, it is possible to easily determine whether or not a failure occurs.

도 1은 ADC가 사용되는 일반적인 실시예를 개략적으로 도시한 도면.
도 2는 가상 서버와 실제 서버의 대응 방식의 예시도.
도 3은 본 발명의 실시예에 따른 어플리케이션 전달 컨트롤러 장애 진단 장치가 적용된 서버부하 분산 시스템의 구성예.
도 4는 본 발명에 따른 해쉬(Hash) 부하 분산 탐지단계의 흐름을 도시한 순서도.
도 5는 본 발명에 따른 라운드-로빈(Round-robin) 부하 분산 탐지단계의 흐름을 도시한 순서도.
도 6은 본 발명에 따른 서버 응답시간 지연 탐지방법의 흐름을 도시한 순서도.
1 shows schematically a general embodiment in which an ADC is used;
2 is an exemplary diagram of a corresponding method of a virtual server and a real server.
3 is a configuration example of a server load distribution system to which the application delivery controller failure diagnosis apparatus according to an embodiment of the present invention is applied.
Figure 4 is a flow chart illustrating the flow of hash load balancing detection step in accordance with the present invention.
5 is a flow chart illustrating the flow of a round-robin load balancing detection step in accordance with the present invention.
6 is a flow chart showing the flow of the server response time delay detection method according to the present invention.

이하, 본 발명의 바람직한 실시예를 첨부도면들을 참조하여 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 ADC에 의해 논리적으로 설정되는 가상 서버(Virtual Server:VS)와 실제 서버(Real Server:RS)의 대응 관계를 예시한 것으로, 도시한 바와 같이 가상 서버는 실제 서버와 1:1 대응될 수 있고, 하나의 가상 서버가 복수의 실제 서버와 1:n 으로 대응될 수 있으며, 복수의 가상 서버가 하나의 실제 서버와 n:1 로 대응될 수 있고, 복수의 가상 서버와 복수의 실제 서버가 n:n 으로 대응될 수도 있다. FIG. 2 illustrates a correspondence relationship between a Virtual Server (VS) and a Real Server (RS) logically set by the ADC. As shown in FIG. One virtual server may correspond to a plurality of real servers in 1: n, and a plurality of virtual servers may correspond to one real server in n: 1, and a plurality of virtual servers and a plurality of real servers May correspond to n: n.

실질적으로 ADC의 수와 실제 서버의 수 및 서비스의 종류에 따라 대단히 다양한 논리적 가상 서버와 실제 서버의 대응 관계가 이루어지며 이러한 대응 관계는 실제 서버의 교체나 ADC의 교체 등에 의한 물리적 이유로 인하여 변동될 수 있고, 서비스의 확장이나 축소 등과 같은 논리적 이유로 인하여 변동될 수 있으므로 ADC에서의 가상 서버 설정, 네트워크 장비 설정 등은 가변적이어서 이를 지속적으로 관리하는 것이 용이하지 않다.In practice, there are various correspondences between logical virtual servers and real servers depending on the number of ADCs, the number of real servers, and the types of services. These correspondences may change due to physical reasons such as replacement of real servers or replacement of ADCs. As it can be changed due to logical reasons such as expansion or contraction of services, virtual server configuration and network equipment configuration in the ADC are variable and it is not easy to continuously manage them.

한편, ADC의 경우 제조사에 따라 설정 방식이 상이하기 때문에 여러 제조사의 ADC들이 포함된 네트워크의 경우 설정 미숙에 의한 장애 발생 위험이 높으며 이러한 논리적 가상 서버 설정에 의한 장애 시 장비 단위 상태 모니터링 만으로는 이러한 논리적 장애 원인을 명확하게 파악하기 어렵다. On the other hand, the ADC has a different configuration method depending on the manufacturer, so a network containing ADCs from multiple manufacturers has a high risk of failure due to inadequate configuration. It is difficult to clearly identify the cause.

특히, 기존 네트워크 장비의 경우 해당 장비의 기능에 관한 검증을 수행하는 헬쓰체크 기능을 통해서 해당 장비 자체에 대한 장애 판단이 가능했지만 ADC와 같이 부하를 분산시키기 위해 동일 기능의 논리적 가상 서버들을 관리하는 경우는 가상 서버와 실제 서버 간의 관계, 가상 IP를 이용하여 통합적으로 접속하는 사용자와의 관계, 부하 분산 관계 등을 복합적으로 고려해야 할 뿐만 아니라 복수의 ADC에 소정 서비스에 대한 부하 분산 기능이 분산 설정되는 경우도 존재하므로 ADC 장비가 자체적으로 부하 분산에 대한 장애나 서버 응답 시간 지연 장애를 진단하기 어렵다.In particular, in case of existing network equipment, failure check on the equipment itself is possible through the health check function that verifies the function of the equipment, but when managing logical virtual servers of the same function to distribute the load such as ADC In addition to considering the relationship between the virtual server and the real server, the user's relationship with the integrated access using the virtual IP, and the load balancing relationship, the load balancing function for a given service is distributed to a plurality of ADCs. Also, it is difficult for ADC equipment to diagnose load balancing failures or server response time failures.

따라서, 이러한 복합적이고 복잡한 구성을 가진 부하 분산 시스템의 장애를 가상 서버 단위로 명확하게 판단할 수 있는 방안이 요구된다. 한편, 애초에 부하 분산 시스템의 도입 배경이 증가되는 부하를 감소시키기 위한 것이라는 점에서 이러한 장애 진단을 위해 부하가 증가해서는 안된다.
Therefore, there is a need for a method that can clearly determine the failure of the load balancing system having a complex and complex configuration in units of virtual servers. On the other hand, the load should not be increased for diagnosing such a failure in that the background of the introduction of the load balancing system is to reduce the increased load.

전술한 문제점을 해결하기 위한 본 발명의 실시예를 도 3을 참조하여 설명하도록 한다. An embodiment of the present invention for solving the above problems will be described with reference to FIG. 3.

도 3은 본 발명의 실시예에 따른 어플리케이션 전달 컨트롤러 장애 진단 장치가 적용된 서버부하 분산 시스템의 구성예를 보인 것이다. 3 illustrates an example of a configuration of a server load distribution system to which an application delivery controller failure diagnosis apparatus according to an exemplary embodiment of the present invention is applied.

도시된 경우 하나의 ADC(12)를 예로 들어 설명하고 있으나 본 발명의 실시예에 따른 장애 진단 장치(100)는 복수의 ADC에 대해서도 가상 서버를 기준으로 장애 가능성이나 발생을 서비스의 부하를 증가시키지 않으면서 명확하게 진단할 수 있다. Although illustrated as one ADC 12 as an example, the fault diagnosis apparatus 100 according to an embodiment of the present invention does not increase the load of a service for the possibility or occurrence of failure based on a virtual server for a plurality of ADCs. Clear diagnosis can be made without

특히, 본 발명의 실시예에 따른 장애 진단 장치(100)는 ADC의 가상 서버 설정 정보를 알 수 있다면 ADC의 제조사에 무관하게 범용적으로 장애를 진단할 수 있다. In particular, the failure diagnosis apparatus 100 according to the embodiment of the present invention may diagnose a failure universally regardless of the manufacturer of the ADC, if the virtual server configuration information of the ADC is known.

도시된 장애 진단 장치(100)는 ADC(12)에 유입되는 패킷 덤프 내용을 분석하여 장애를 진단한다. 이를 위해 ADC에 유입되는 패킷을 덤프하는 패킷 덤프부(50)가 요구되는데, ADC의 제조사 또는 장비 특성 상 ADC에 대응되는 기능이 내장된 경우가 있으므로 해당 기능이 내장되어 있다면 이를 활용할 수 있고, 이러한 패킷 덤프 기능을 구비하지 않은 ADC의 경우 별도의 패킷 덤프부(50)를 장비 외부에 추가로 구성할 수 있다.The illustrated failure diagnosis apparatus 100 diagnoses a failure by analyzing packet dump contents flowing into the ADC 12. To this end, a packet dump unit 50 for dumping a packet flowing into the ADC is required, and a function corresponding to the ADC may be built in the manufacturer or equipment characteristics of the ADC. In the case of the ADC having no packet dump function, a separate packet dump unit 50 may be additionally configured outside the equipment.

장애 진단 장치(100)는 패킷 덤프부(50)를 통해 ADC에 유입되는 패킷을 수집하는데 ADC 장비에 설정된 특정한 가상 서버 및 가상 서버에 할당된 실제 서버의 IP를 대상으로 할 수 있다. The failure diagnosis apparatus 100 may collect packets flowing into the ADC through the packet dump unit 50 and may target IPs of a specific virtual server set in the ADC equipment and a real server assigned to the virtual server.

이러한 ADC 장비의 가상 서버 IP와 이에 대응되는 실제 서버의 IP 정보 및 이러한 대응 정보는 관리자나 별도의 통합 관리 장치로부터 수신할 수도 있으며, 상기 ADC(12)에 접속하여 그로부터 획득할 수도 있다. ADC는 제조사 별로 접속 방식과 사용 프로토콜 및 환경이 상이한데 이를 위해서 상기 장애 진단 장치(100)는 ADC의 종류를 판단하여 대응되는 ADC의 종류에 적합한 접속 방식으로 ADC에 접속하여 적합한 프로토콜로 해당 정보를 요청 및 수신할 수 있다. The virtual server IP of the ADC equipment and the IP information of the actual server corresponding thereto and the corresponding information may be received from an administrator or a separate integrated management device, or may be obtained by accessing the ADC 12. The ADC has a different access method, protocol, and environment for each manufacturer. For this purpose, the fault diagnosis apparatus 100 determines the type of ADC and accesses the information with an appropriate protocol by accessing the ADC in an appropriate access method for the corresponding ADC type. You can request and receive.

예를 들어 ADC(12)가 특정 제조사의 것인 경우 SSL(Secure Sockets Layer), SNMP(Simple Network Management Protocol) 또는 해당 특정 제조사에서 제공하는 API(Application Progrm Interface)를 이용하여 접속하여 웹 콘솔을 통해 원하는 정보를 수집할 수 있고, 만일 상기 ADC(12)가 다른 특정 제조사의 것인 경우에는, Telnet, SNMP 프로토콜을 이용하여 접속한 후 CLI(Command Line Interface)를 통해 원하는 정보를 수집할 수 있다. 설정이 바뀌는 경우 상기 정보 수집을 다시 실시할 수 있는데, 이는 설정 변경 이벤트를 확인한 관리자나 별도의 ADC 통합 관리 장치의 갱신 요청에 의해서 실시될 수도 있다.
For example, if the ADC 12 is from a specific manufacturer, it can be accessed using a secure sockets layer (SSL), a simple network management protocol (SNMP), or an application program interface (API) provided by the specific manufacturer. Desired information can be collected, and if the ADC 12 is of another specific manufacturer, the desired information can be collected through a CLI (Command Line Interface) after access using Telnet and SNMP protocols. When the setting is changed, the information collection may be performed again, which may be performed by an administrator who checks the setting change event or an update request of a separate ADC integrated management apparatus.

도시된 장애 진단 장치(100)는 상기 패킷 덤프부(50)를 통해 ADC에 유입되는 패킷을 수집하는 ADC 유입 패킷 수집부(110)를 포함한다. 상기 장애 진단 장치(100)는 상기 ADC 유입 패킷들로부터 전송 계층의 TCP(Transmission Control Protocol) 세그먼트를 추출하여 소스 주소(Source address)와 목적지 주소(Destination address) 및 TCP 플래그(TCP flag:Code bits)를 확인하는 것으로 해당 패킷들이 누가 어디로 어떠한 목적으로 제공한 것인지를 알 수 있다. 상기 TCP 플래그를 통해 설정할 수 있는 내용으로 URG(Urgent pointer is vaild), ACK(Acknowledgement is valid), PSH(Request for push), RST(Reset the connection), SYN(Synchronize sequence numbers), FIN(Terminate the connection)이 있으며 이를 통해 해당 신호가 어떠한 용도인지 알 수 있다.The illustrated failure diagnosis apparatus 100 includes an ADC inflow packet collector 110 for collecting packets flowing into the ADC through the packet dump unit 50. The failure diagnosis apparatus 100 extracts a Transmission Control Protocol (TCP) segment of a transport layer from the ADC inflow packets, and thus a source address, a destination address, and a TCP flag (TCP flag: Code bits). By checking, we can know who the packet provided to whom and for what purpose. URG (Urgent pointer is vaild), ACK (Acknowledgement is valid), Request for push (PSH), Reset the connection (RST), Synchronize sequence numbers (SYN), Terminate the connection) to see what the signal is for.

먼저 상기 장애 진단 장치(100)는 상기 ADC 유입 패킷 수집부(110)에서 수집된 패킷을 분석하여 TCP 세그먼트의 소스 주소가 사용자 단말(1, 2)의 IP이면서 TCP 플래그가 syn(동기 상태 호)인 것을 찾아 대응되는 패킷의 수를 카운트한다. 이때 목적지 주소는 ADC의 가상 IP일 수 있다.First, the fault diagnosis apparatus 100 analyzes the packet collected by the ADC inflow packet collecting unit 110 and the TCP flag is syn (synchronized state call) while the source address of the TCP segment is the IP of the user terminals 1 and 2. It is found that the number of corresponding packets is counted. In this case, the destination address may be a virtual IP of the ADC.

하나의 세그먼트는 복수의 패킷으로 분리될 수 있으므로 세그먼트의 수를 카운트해도 되지만 가상 작은 단위의 패킷을 기준으로 카운트할 경우 정확도가 높아진다. Since one segment may be divided into a plurality of packets, the number of segments may be counted, but the accuracy is increased when counting packets based on virtual small units.

한편, TCP 프로토콜은 알려진 바와 같은 3-웨이 핸드쉐이킹을 실시하며 TCP의 syn 은 연결 설정을 요구하는 것이므로 해당 신호는 사용자 단말이 ADC에 가상IP로 접속을 요구하는 상황을 의미한다. 따라서 이러한 신호들을 카운트하면 사용자 단말이 ADC에 접속을 요구하는 총 수를 알 수 있다. Meanwhile, the TCP protocol performs three-way handshaking as known, and since the syn of the TCP requires a connection setup, the corresponding signal means a situation in which the user terminal requires a virtual IP connection to the ADC. Therefore, counting these signals tells you the total number of user terminals that require access to the ADC.

ADC는 이러한 ADC에 접속을 요구하는 사용자 단말을 부하 분산 방식에 따라 가상 서버 중 하나와 연결시키는데, 부하 분산 장애 시 이러한 요청이 가상 서버에 전달되지 않거나, 가상 서버에 대응되는 실제 서버에 전달되지 않게 된다. The ADC connects user terminals that require access to these ADCs with one of the virtual servers according to load balancing, so that in the event of a load balancing failure, these requests are not sent to the virtual server or to the real server corresponding to the virtual server. do.

이를 파악하기 위해서 상기 장애 진단 장치(100)는 덤프된 패킷을 대상으로 소스 주소가 가상 서버 IP이고 목적지 주소가 해당 가상 서버에 할당된 실제 서버IP이며 TCP 플래그가 syn인 것을 찾아 대응되는 패킷의 수를 카운트하는 실제 서버 요청 분석부(130)를 포함한다. To determine this, the failure diagnosis apparatus 100 finds that the source address is the virtual server IP, the destination address is the real server IP assigned to the virtual server, and the TCP flag is syn. It includes a real server request analysis unit 130 to count.

상기 장애 진단 장치(100)는 상기 사용자 요청 분석부(120)에서 얻어진 사용자 요청 패킷의 수와 상기 실제 서버 요청 분석부(130)에서 얻어진 실제 서버 요청 패킷의 수를 비교하여 사용자 요청이 실제 부하 분산 방식에 따라 실제 서버로 분산되어 요청되고 있는지 확인함으로써 부하 분산 장애 가능성이나 장애 발생을 판단한다.The failure diagnosis apparatus 100 compares the number of user request packets obtained by the user request analyzer 120 with the number of actual server request packets obtained by the actual server request analyzer 130, and thus, the user request is actually load balanced. According to the method, it is determined that the request is distributed to the real server and the possibility of load balancing failure or failure occurs.

간단하게 사용자 요청 패킷의 수가 실제 서버 요청 패킷 수의 합과 같은지 판단하고 부하 분산 방식에 따라 실제 서버 요청 패킷이 적절히 분산되고 있는지 판단할 수 있다. It is possible to simply determine whether the number of user request packets is equal to the sum of the actual server request packets and determine whether the actual server request packets are properly distributed according to the load balancing method.

대표적인 부하 분산 방식은 해싱(hashing) 알고리즘에 따라 선택된 서버에 사용자 요청을 배분하는 해쉬 방식과 사용자의 요청을 순차적으로 서버에 분배하는 라운드 로빈(Round-robin) 방식이 있다. Typical load balancing methods include a hash method for distributing user requests to a selected server according to a hashing algorithm, and a round-robin method for distributing user requests sequentially to a server.

이러한 부하 분산 방식의 정상 동작을 확인하기 위해서 부하 분산 방식의 특성을 확인하기 위한 구성이 더 포함될 수 있다. In order to confirm the normal operation of the load balancing method, a configuration for checking the characteristics of the load balancing method may be further included.

예를 들어 해쉬 방식의 장애 확인을 위해서, 상기 사용자 요청 분석부(120)는 추출된 사용자 요청 패킷을 대상으로 해싱값을 계산하고 해싱된 값 별로 패킷의 수를 카운트하여 실제 서버 별로 할당된 패킷의 수를 파악하는 구성을 더 포함할 수 있다. 해싱을 위한 참조 데이터는 소스 주소의 끝자리를 이용하는 등 장비별로 다를 수 있으며 이에 대한 정보를 관리자나 ADC로부터 획득할 수 있다. For example, in order to check a failure of a hash method, the user request analyzer 120 calculates a hashing value for the extracted user request packet, counts the number of packets for each hashed value, and calculates the number of packets allocated for each actual server. It may further comprise a configuration for identifying the number. Reference data for hashing can vary from device to device, such as using the end of a source address and information can be obtained from the administrator or ADC.

또한 상기 부하분산 검증부(140)는 서버 요청 패킷를 실제 서버 별로 구분하여 그 수를 카운트한 후 상기 서버 별로 할당된 사용자 요청 패킷 수와 각각 비교하여 같은지 확인하는 것으로 해쉬 방식의 정상 동작 여부를 파악하는 구성을 포함할 수 있다. In addition, the load balancing verifying unit 140 classifies the server request packets by actual servers, counts the number of them, and compares them with the number of user request packets allocated to each server to determine whether the hash operation is normal. It can include a configuration.

다른 예로서, 라운드 로빈 방식의 장애 확인을 위해 상기 부하분산 검증부(140)에 실제 서버 별로 실제 서버 요청 패킷의 수가 균등하게 분배되고 있는지 아니면 일부 실제 서버로 패킷이 몰리는지 확인하는 구성을 포함할 수 있다.
As another example, a configuration for checking whether the number of real server request packets is distributed evenly or partially to some real servers is distributed to the load balancing verification unit 140 for each real server to check the failure of the round robin method. Can be.

한편, 상기 장애 진단 장치(100)는 사용자 단말의 요청을 ADC가 수신하여 가상 서버를 할당한 후 실제 서버에 연결 요청을 전달하는 ADC 요청 처리 시간, 가상 서버의 요청에 대한 실제 서버의 응답 시간인 실제 서버 응답 시간 및 실제 서버 응답에 따라 ADC가 사용자 단말에 응답하는 ADC 응답 처리 시간의 합으로 서버 응답 지연 시간을 구하고 기준 시간을 초과하는지 판단하는 지연시간 검사부(150)를 포함한다.On the other hand, the fault diagnosis apparatus 100 is the ADC request processing time for transmitting the connection request to the real server after the ADC receives the request of the user terminal to allocate the virtual server, which is the response time of the actual server for the request of the virtual server And a delay time checker 150 that obtains a server response delay time based on the sum of the ADC response processing time of the ADC responding to the user terminal according to the actual server response time and the actual server response and determines whether the reference time is exceeded.

상기 지연시간 검사부(150)는 ADC 유입 패킷 수집부(110)에서 수집된 패킷에서 사용자 요청 패킷을 선별하고 그 요청 시간과 해당 사용자 요청에 따라 ADC가 가상 서버를 할당하여 해당 가상 서버가 실제 서버에 접속을 요청하는 실제 서버 요청 패킷의 요청 시간을 확인한 후 그 차이 시간인 ADC 요청 처리 시간을 계산한다. 그리고, 상기 실제 서버 요청 패킷에 대한 실제 서버의 응답 패킷을 선별하고 그 시간을 확인하여 실제 서버 요청 패킷의 요청 시간과의 차이로부터 실제 서버 응답 시간을 계산한다. 그 다음 이러한 실제 서버의 응답에 의해 ADC가 사용자 단말에 보낸 응답 패킷을 선별하고 그 시간을 확인하여 상기 실제 서버 응답 시간과의 차이로부터 ADC 응답 처리 시간을 계산한다. 이후 상기 각각 계산된 ADC 요청 처리 시간, 실제 서버 응답 시간 및 ADC 응답 처리 시간을 합산하여 전체 응답 시간을 구한 후 그 시간이 기 설정된 기준 시간 내에 속하는지 확인함으로써 장애 여부나 장애 발생 가능성을 판단한다.The delay time checker 150 selects a user request packet from the packets collected by the ADC inflow packet collector 110, and the ADC allocates a virtual server according to the request time and the corresponding user request. After checking the request time of the actual server request packet requesting the connection, calculate the ADC request processing time. The real server response packet is selected for the real server request packet and the time is checked to calculate the real server response time from the difference with the request time of the real server request packet. Then, the response packet of the ADC sent to the user terminal is selected by the response of the real server, and the time is checked to calculate the ADC response processing time from the difference from the real server response time. Then, after calculating the total response time by summing the calculated ADC request processing time, actual server response time, and ADC response processing time, and determining whether the time falls within a preset reference time, it is determined whether or not a failure occurs.

한편, 상기 ADC 처리 시간 계산 시 상기 사용자 요청 패킷 선별은 사용자 요청 분석부(120)를 활용하고 실제 서버 요청 패킷 선별은 실제 서버 요청 분석부(130)를 활용할 수 있는데, 상기 사용자 요청 분석부(120)와 실제 서버 요청 분석부(130)는 각각 원하는 요청 패킷을 선별한 후 해당 패킷의 시간을 확인하여 이를 지연 시간 검사부(150)에 제공할 수 있다.
Meanwhile, when calculating the ADC processing time, the user request packet screening may be utilized by the user request analyzer 120, and the actual server request packet screening may be utilized by the actual server request analyzer 130. And the actual server request analysis unit 130 may select the desired request packet and check the time of the corresponding packet, and provide it to the delay time checker 150.

결국, 상기 장애 진단 장치(100)는 ADC에 유입되는 패킷을 수집하는 ADC 유입 패킷 수집부(110), 사용자 단말에서 ADC에 전달되는 syn 패킷의 수를 파악하고 그 시간을 확인하며 필요한 경우 해싱값을 계산하여 실제 서버별 할당된 패킷의 수를 확인하는 사용자 요청 분석부(120), 가상 서버에서 실제 서버로 제공되는 syn 패킷의 수를 파악하고 그 시간을 확인하는 실제 서버 요청 분석부(130), 상기 사용자 요청(syn) 패킷과 실제 서버 요청(syn) 패킷의 수를 비교하며 필요한 경우 사용자 요청 패킷의 실제 서버 할당 수와 실제 서버 요청의 실제 서버 패킷 수가 같은지 판단하거나 실제 서버에 할당된 패킷의 수가 균일하게 분산되었는지 판단하는 부하분산 검증부(140), 그리고 사용자 요청 패킷과 실제 서버 요청 패킷 사이의 시간과, 실제 서버 요청 패킷과 실제 서버 응답 패킷 사이의 시간 및 실제 서버 응답 패킷과 사용자 응답 패킷 사이의 시간의 총합을 기준 시간과 비교하는 지연시간 검사부(150)를 포함할 수 있다.As a result, the fault diagnosis apparatus 100 determines the number of syn packets transmitted to the ADC from the user terminal, the ADC inflow packet collector 110 collecting the packets flowing into the ADC, checks the time, and if necessary, a hashing value. The user request analysis unit 120 to check the number of packets allocated for each real server by calculating the number, and the actual server request analysis unit 130 for identifying the number of syn packets provided from the virtual server to the real server and checking the time. Compares the number of user request (syn) packets with actual server request (syn) packets, and if necessary, determines whether the actual server allocation number of the user request packet and the actual server packet number of the actual server request are the same, or Load balancing verification unit 140 for determining whether the number is uniformly distributed, and the time between the user request packet and the actual server request packet, the actual server request packet and the actual server The delay time checker 150 may compare the sum of the time between the response packets and the time between the actual server response packet and the user response packet with a reference time.

더하여, 상기 장애 진단 장치(100)는 가상 서버와 실제 서버 간의 대응 관계나 부하 분산 방식, 서버 응답 시간 지연 기준 등을 관리자 입력이나 ADC 접속을 통해 수집하는 설정 정보 수집부(미도시)를 더 구비할 수 있다.
In addition, the failure diagnosis apparatus 100 further includes a configuration information collection unit (not shown) that collects a correspondence relationship, a load balancing method, a server response time delay criterion, etc. between the virtual server and the real server through an administrator input or an ADC connection. can do.

이하, 이러한 본 발명의 실시예에 따른 구성을 이용하여 부하 분산 장애와 서버 응답 시간 지연 장애를 판단하는 개별적인 동작 과정을 도 4 내지 도 6을 참조하여 설명한다.
Hereinafter, an individual operation process of determining a load balancing failure and a server response time delay failure using the configuration according to the embodiment of the present invention will be described with reference to FIGS. 4 to 6.

도 4는 본 발명 실시예에 따른 장애 진단 장치(100)를 이용한 해쉬(Hash) 부하 분산 탐지단계의 흐름을 도시한 순서도로서, 도시된 바와 같이 우선 ADC로 유입되는 패킷을 패킷 덤프부를 통해 수집한다(S10). 4 is a flowchart illustrating a flow of a hash load balancing detection step using the fault diagnosis apparatus 100 according to an exemplary embodiment of the present invention. As shown in FIG. (S10).

상기 패킷 덤프부는 ADC 장비 자체에서 제공되는 패킷의 덤프기능을 이용하거나 ADC 장비 외부에서의 패킷 덤프장비를 구현한 것일 수 있으며, ADC 장비에 설정된 특정한 가상 서버 및 상기 가상 서버에 할당된 실제 서버의 IP를 대상으로 패킷 덤프를 진행한다. The packet dump unit may use a packet dump function provided by the ADC device itself or implement a packet dump device outside the ADC device. The packet dump unit may include an IP of a specific virtual server configured in the ADC device and an actual server assigned to the virtual server. Proceed with packet dump.

이후, 사용자 요청 패킷 개수를 분석한다(S20).Thereafter, the number of user request packets is analyzed (S20).

상기 사용자 요청 패킷 개수를 분석하는 단계는 상기 덤프된 패킷을 대상으로 소스 주소가 사용자의 IP이면서(목적지 주소는 ADC의 가상 IP일 수 있음) TCP 플래그가 syn인 패킷의 개수를 찾고, 상기 패킷을 대상으로 해싱값을 계산한다. 해싱을 위해 참조하는 데이터는 장비별로 다른데, 예를 들어 소스 주소의 끝자리를 이용할 수 있다. 그리고, 상기 해싱된 값 별로 패킷 개수를 계산하여 실제 서버 별로 할당된 패킷 개수를 계산한다. The analyzing of the number of user request packets may include finding the number of packets for which the source address is the user's IP (the destination address may be the virtual IP of the ADC) and the TCP flag is syn. Compute a hashing value for the target. The data referenced for hashing varies from device to device, for example using the end of the source address. The number of packets is calculated for each actual server by calculating the number of packets for each hashed value.

그 다음, 실제 서버 별 요청 개수를 분석한다(S30).Next, the actual number of requests per server is analyzed (S30).

상기 덤프된 패킷을 대상으로 소스 주소가 가상 서버 IP이고 목적지 주소가 해당 가상 서버에 할당된 실제 서버이면서 TCP 플래그가 syn인 패킷의 개수를 계산한다.For the dumped packets, the number of packets whose source address is the virtual server IP and the destination address is the real server assigned to the virtual server and whose TCP flag is syn is calculated.

이후 해쉬 분산 기능의 장애 여부를 검증을 한다(S40).After that, the hash distribution function is verified whether or not a failure (S40).

앞서 사용자 요청 개수 분석 단계(S20)에서 계산된 사용자 요청에 의한 실제 서버 별로 계산된 할당 개수와 상기 실제 서버 별 요청 개수를 분석하는 단계(S30)에서 계산된 실제 서버 별로 계산된 요청 패킷의 수를 비교한다. 만일 실제 서버 별로 수집된 패킷의 개수가 동일하면, 해쉬 분산 방식이 정상적으로 동작하고 있다고 판단한다.
The number of allocations calculated for each real server by the user request calculated in the user request count analysis step S20 and the number of request packets calculated for each real server calculated in the step S30 of analyzing the actual server requests Compare. If the number of packets collected for each real server is the same, it is determined that the hash distribution scheme is operating normally.

도 5는 본 발명 실시예에 따른 장애 진단 장치(100)를 이용한 라운드-로빈(Round-robin) 부하 분산 탐지단계의 흐름을 도시한 순서도로서, 도시된 바와 같이 우선 ADC로 유입되는 패킷을 패킷 덤프부를 통해 수집한다(S110). 구체적인 내용은 도 4에서 언급한 내용과 유사하다.5 is a flowchart illustrating a flow of a round-robin load balancing detection step using the fault diagnosis apparatus 100 according to an exemplary embodiment of the present invention. Collect through wealth (S110). Details are similar to those mentioned in FIG. 4.

이후, 사용자 요청 패킷 개수를 분석한다(S120).Thereafter, the number of user request packets is analyzed (S120).

상기 사용자 요청 패킷 개수를 분석하는 단계는 상기 덤프된 패킷을 대상으로 소스 주소가 사용자의 IP이면서 TCP 플래그가 syn인 패킷의 개수를 찾는데, 본 실시예에서는 해쉬에 관한 처리는 필요하지 않다.In the analyzing of the number of user request packets, the number of packets whose source address is the user's IP and the TCP flag is syn is searched for the dumped packets. In this embodiment, the hash processing is not necessary.

그 다음, 실제 서버별 요청 개수를 분석한다(S130).Then, the actual number of requests per server is analyzed (S130).

상기 덤프된 패킷을 대상으로 소스 주소가 가상 서버 IP이고 목적지 주소가 해당 가상 서버에 할당된 실제 서버이면서 TCP 플래그가 syn인 패킷의 개수를 계산한다. 이때 패킷의 개수는 실제 서버 별로 계산한다.For the dumped packets, the number of packets whose source address is the virtual server IP and the destination address is the real server assigned to the virtual server and whose TCP flag is syn is calculated. At this time, the number of packets is calculated for each server.

이후, 라운드 로빈 부하 분산 검증을 한다(S140).Thereafter, round robin load balancing verification is performed (S140).

상기 사용자 요청 개수 분석 단계(S120)에서 계산된 사용자 요청 패킷 개수가 상기 실제 서버별 요청 개수 분석 단계(S130)에서 실제 서버별로 계산된 요청 개수와 동일한지 비교하여 동일하지 않으면, 부하 분산이 정상 처리되지 않고 있음으로 간주한다. 만일, 실제 서버별로 수집된 패킷의 개수가 동일(혹은 균일하다고 판단할 수 있는 수준)하면, 라운드 로빈 분산 방식이 정상적으로 동작하고 있다고 판단한다. 그러나 일부 실제 서버로 패킷 개수가 몰리는 경우는 비정상적으로 간주한다.
If the number of user request packets calculated in the user request number analysis step S120 is the same as the number of requests calculated for each real server in the request number analysis step S130, the load balancing is normal. Is considered to be not. If the number of packets collected for each actual server is the same (or can be determined to be uniform), it is determined that the round robin distribution method is operating normally. However, it is considered abnormal if the number of packets to some real servers is too high.

또한, 본 발명은, 서버의 응답시간 측정을 위한 방법으로, ADC 장비로 유입되는 네트워크 패킷을 분석하여 서버의 응답시간을 계산하는 방법을 제시한다.In addition, the present invention, as a method for measuring the response time of the server, proposes a method for calculating the response time of the server by analyzing the network packets flowing into the ADC equipment.

도 6은 본 발명 실시예에 따른 장애 진단 장치(100)를 이용한 서버 응답시간 지연 탐지방법의 흐름을 도시한 순서도이다.6 is a flowchart illustrating a method for detecting a server response time delay using the apparatus 100 for diagnosing failure according to an exemplary embodiment of the present invention.

도시된 바와 같이 ADC로 유입되는 패킷을 패킷 덤프부를 통해 수집한다(S210).As shown, the packet flowing into the ADC is collected through the packet dump unit (S210).

이후 사용자 요청 대한 ADC의 처리시간을 계산한다(S220).Since the processing time of the ADC for the user request is calculated (S220).

이를 위해서 우선 덤프한 패킷에서 소스 주소가 사용자의 IP이면서 TCP 플래그가 syn인 패킷을 찾은 후 패킷 덤프시간을 찾는다. 이는 장애 진단 장치의 사용자 요청 분석부에서 실시될 수 있다. 그리고, 패킷에서 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인한다.To do this, first find the packet in the dumped packet with the source address of the user's IP and the TCP flag syn, and then find the packet dump time. This may be performed by the user request analysis unit of the failure diagnosis apparatus. In the packet, find the packet whose source address is the virtual server IP, the destination address is the real server IP, and whose TCP flag is syn.

상기 두 개의 패킷 간의 시간 차이를 사용자 요청에 따른 ADC의 처리시간, 즉 ADC 요청 처리 시간을 얻는다.The time difference between the two packets is used to obtain the processing time of the ADC according to the user request, that is, the processing time of the ADC request.

그 다음 ADC의 요청에 대한 실제 서버의 응답시간을 계산한다(S230).Next, the response time of the actual server for the ADC request is calculated (S230).

이를 위해서 패킷에서 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서, TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인한다. 이는 이미 앞서 단계(S220)에서 수행되었으므로 이를 이용한다. 그리고 패킷에서 소스 주소가 실제 서버이고 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인한다. 즉, 가상 서버가 실제 서버에 연결을 위한 패킷을 전송하면 핸드쉐이킹을 위해서 이를 수신한 실제 서버가 상기 가상 서버에 syn과 ack 비트를 모두 선택한 패킷을 전송한다. 좀 더 구체적으로는 시퀀스 넘버를 통해서 대응되는 패킷 쌍도 확인할 수 있다. To do this, find the packet whose source address is the virtual server IP and the destination address is the real server IP, and whose TCP flag is syn. This is already done in step S220, so use it. In the packet, find the packet whose source address is the real server, the destination address is the virtual server, and whose TCP flag is synack. That is, when the virtual server transmits a packet for connection to the real server, the real server receiving the packet transmits a packet selected with both syn and ack bits to the virtual server for handshaking. More specifically, corresponding packet pairs may be identified through sequence numbers.

상기 두 패킷 간의 시간 차이를 계산하여 실제 서버의 응답시간을 얻는다.The response time of the actual server is obtained by calculating the time difference between the two packets.

그 다음 실제 서버의 응답에 대한 ADC의 처리시간을 계산한다(S240).Next, the processing time of the ADC for the response of the actual server is calculated (S240).

패킷에서 소스 주소가 실제 서버이며, 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인하는데, 이는 앞서 단계인 S230에서 확인한 내용을 활용한다. 그리고 패킷에서 소스 주소가 가상 서버이고 목적지 주소가 사용자 IP이면서 TCP 플래그가 synack인 패킷을 찾아 시간을 확인한다. In the packet, the source address is a real server, the destination address is a virtual server, and a packet whose TCP flag is synack is found to check the time, which utilizes the information checked in step S230. In the packet, find the packet whose source address is the virtual server, the destination address is the user's IP, and whose TCP flag is synack.

상기 두 패킷 간의 시간 차이를 계산하여 실제 ADC의 응답 처리시간으로 간주한다. 즉, ADC가 실제 서버의 응답을 받아 이를 사용자 단말에 중계하는 ADC의 처리 시간을 확인하는 것이다.The time difference between the two packets is calculated and regarded as the response processing time of the actual ADC. In other words, the ADC checks the processing time of the ADC that receives the response from the actual server and relays it to the user terminal.

마지막으로 앞서 단계 S220에서 얻은 ADC 요청 시간, 단계 S230에서 얻은 실제 서버의 응답 시간, 단계 S240에서 얻은 ADC 응답 처리 시간을 합산하여 서버 응답 시간을 얻는다(S250). 이후 해당 서버 응답 시간이 기 설정된 기준 시간 범위에 속하는지 판단하여 서버 응답 시간 지연 장애 여부나 장애 가능성을 확인할 수 있다.
Finally, the server response time is obtained by summing the ADC request time obtained in step S220, the response time of the actual server obtained in step S230, and the ADC response processing time obtained in step S240 (S250). Thereafter, the server response time may determine whether the server response time delay has failed or the possibility of failure by determining whether the server response time falls within a preset reference time range.

이상에서는 본 발명에 따른 바람직한 실시 예들에 대하여 도시하고 또한 설명하였다. 그러나 본 발명은 상술한 실시 예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능할 것이다.
The foregoing embodiments and advantages are merely exemplary and are not to be construed as limiting the present invention. However, the present invention is not limited to the above-described embodiments, and various changes and modifications may be made by those skilled in the art without departing from the scope of the present invention. .

1: 사용자 단말 12: ADC
50: 패킷 덤프부 100: 장애 진단 장치
110: ADC 유입 패킷 수집부 120: 사용자 요청 분석부
130: 실제 서버 요청 분석부 140: 부하분산 검증부
150: 지연시간 검사부
1: user terminal 12: ADC
50: packet dump unit 100: failure diagnosis device
110: ADC incoming packet collection unit 120: user request analysis unit
130: actual server request analysis unit 140: load balancing verification unit
150: delay time inspection unit

Claims (18)

어플리케이션 전달 컨트롤러(ADC)에 유입되는 패킷을 수집하는 ADC 유입 패킷 수집부;
상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 사용자 단말에서 ADC에 전달되는 syn 패킷의 수를 사용자 요청 패킷 수로 카운트하는 사용자 요청 분석부;
상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 가상 서버에서 실제 서버로 제공되는 syn 패킷의 수를 서버 별로 실제 서버 패킷 수로 카운트하는 실제 서버 요청 분석부;
상기 사용자 요청 분석부의 요청 패킷 수와 상기 실제 서버 요청 분석부의 실제 서버 패킷 수를 기반으로 부하 분산의 동작 상태를 판단하는 부하분산 검증부를 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 장치.
An ADC inflow packet collector configured to collect packets flowing into the application delivery controller (ADC);
A user request analyzer configured to count the number of syn packets transmitted from the user terminal to the ADC among the packets collected by the ADC inflow packet collector as the number of user request packets;
An actual server request analyzer configured to count the number of syn packets provided from the virtual server to the real server among the packets collected by the ADC inflow packet collection unit as the number of real server packets for each server;
And a load distribution verifying unit configured to determine an operation state of load balancing based on the number of request packets of the user request analyzer and the number of actual server packets of the actual server request analyzer.
제 1항에 있어서,
상기 사용자 요청 분석부는 해싱값을 계산하여 실제 서버 별로 할당된 사용자 요청 패킷의 수를 확인하고,
상기 부하분산 검증부는 상기 사용자 요청 분석부를 통해 얻은 상기 사용자 요청 패킷의 실제 서버 할당 수와 상기 실제 서버 별 실제 서버 패킷 수가 대응되는 지 확인하여 해시 부하 분산 동작 상태를 판단하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 장치.
The method of claim 1,
The user request analysis unit calculates a hashing value to check the number of user request packets allocated for each actual server,
The load distribution verifying unit determines the hash load balancing operation state by checking whether the actual server allocation number of the user request packet and the actual server packet of the actual server obtained through the user request analysis unit correspond to each other. Fault diagnosis device.
제 1항에 있어서,
상기 사용자 요청 분석부는 상기 실제 서버 별 실제 서버 패킷 수가 균등하게 분산되었는지 확인하여 라운드 로빈 부하 분산 동작 상태를 판단하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 장치.
The method of claim 1,
And the user request analyzer determines a round robin load balancing operation state by checking whether the number of actual server packets for each real server is equally distributed.
제 1항에 있어서,
가상 서버와 실제 서버 간의 대응 관계나 부하 분산 방식, 서버 응답 시간 지연 기준을 관리자 입력이나 ADC 접속을 통해 수집하는 설정 정보 수집부를 더 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 장치.
The method of claim 1,
And a configuration information collection unit configured to collect a correspondence relationship, a load balancing method, and a server response time delay criterion between the virtual server and the real server through an administrator input or an ADC connection.
제 1항에 있어서,
상기 사용자 요청 패킷과 실제 서버 요청 패킷 사이의 ADC 요청 처리 시간과, 실제 서버 요청 패킷과 그에 따라 실제 서버가 응답한 응답 패킷 사이의 실제 서버 응답 시간 및 상기 실제 서버의 응답 패킷과 이에 대응되어 사용자에게 제공되는 응답 패킷 사이의 ADC 응답 처리 시간의 총합을 기준 시간과 비교하는 지연시간 검사부를 더 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 장치.
The method of claim 1,
ADC request processing time between the user request packet and the real server request packet, the real server response time between the real server request packet and the response packet responded by the real server, and the response packet of the real server and correspondingly Application delay controller failure diagnosis apparatus further comprises a delay time checker for comparing the total of the ADC response processing time between the response packets provided with the reference time.
제 5항에 있어서,
상기 지연시간 검사부는 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 소스 주소가 사용자의 IP이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인하고, 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인한 후 각 시간의 차이를 ADC 요청 처리 시간으로 계산하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 장치.
6. The method of claim 5,
The delay time checker finds a packet whose source address is the user's IP and the TCP flag is syn and checks the time among the packets collected by the ADC inflow packet collector, and the source address is the virtual server IP and the destination address is the real server IP. And the TCP flag is syn, finds the packet, checks the time, and calculates the difference in time as the ADC request processing time.
제 5항에 있어서,
상기 지연시간 검사부는 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인하고 소스 주소가 실제 서버이고 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인한 후 각 시간의 차이를 실제 서버 응답 시간으로 계산하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 장치.
6. The method of claim 5,
The delay time checker finds a packet whose source address is a virtual server IP, a destination address is a real server IP, and a TCP flag is syn, and checks the time among the packets collected through the ADC inflow packet collector. Apparatus for diagnosing a failure of an application delivery controller characterized in that the address is found in the virtual server and the TCP flag is synack, the time is checked, and the time difference is calculated as the actual server response time.
제 5항에 있어서,
상기 지연시간 검사부는 상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 소스 주소가 실제 서버이고 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인하고 소스 주소가 가상 서버이고 목적지 주소가 사용자 IP이면서 TCP 플래그가 synack인 패킷을 찾아 시간을 확인한 후 각 시간의 차이를 ADC 응답 처리 시간으로 계산하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 장치.
6. The method of claim 5,
The delay checker finds a packet whose source address is a real server, a destination address is a virtual server, and a TCP flag is synack among the packets collected by the ADC inflow packet collector, and checks the time, and the source address is a virtual server and a destination address is Applied controller failure diagnosis apparatus, characterized in that the time to find the packet of the user IP and the TCP flag synack, check the time and calculate the difference of each time as the ADC response processing time.
어플리케이션 전달 컨트롤러에 유입되는 패킷을 수집하는 ADC 유입 패킷 수집부;
상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 사용자 단말에서 ADC에 전달되는 syn 패킷의 수를 사용자 요청 패킷 수로 카운트하고 그 시간을 확인하며 선택적으로 해싱값을 계산하여 실제 서버별 할당된 패킷의 수를 확인하는 사용자 요청 분석부;
상기 ADC 유입 패킷 수집부를 통해 수집한 패킷 중에서 가상 서버에서 실제 서버로 제공되는 syn 패킷의 수를 서버 별로 실제 서버 패킷 수로 카운트하고 그 시간을 확인하는 실제 서버 요청 분석부;
상기 사용자 요청 분석부의 요청 패킷 수와 상기 실제 서버 요청 분석부의 실제 서버 패킷 수를 기반으로 부하 분산의 동작 상태를 판단하며 선택적으로 사용자 요청 패킷의 실제 서버 할당 수와 서버별 실제 서버 패킷 수가 같은지 판단하거나 실제 서버 패킷 수가 서버 별로 균일하게 분산되었는지 판단하는 부하분산 검증부;
상기 사용자 요청 패킷과 실제 서버 요청 패킷 사이의 ADC 요청 처리 시간과, 실제 서버 요청 패킷과 그에 따라 실제 서버가 응답한 응답 패킷 사이의 실제 서버 응답 시간 및 상기 실제 서버의 응답 패킷과 이에 대응되어 사용자에게 제공되는 응답 패킷 사이의 ADC 응답 처리 시간의 총합을 기준 시간과 비교하는 지연시간 검사부를 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 장치.
An ADC inflow packet collector configured to collect packets flowing into the application delivery controller;
Among the packets collected by the ADC inflow packet collection unit, the number of syn packets transmitted from the user terminal to the ADC is counted as the number of user request packets, the time is checked, and the hashing value is selectively calculated to calculate the number of packets actually allocated for each server. A user request analyzer for checking;
A real server request analysis unit for counting the number of syn packets provided from the virtual server to the real server among the packets collected by the ADC inflow packet collection unit as the number of real server packets for each server and checking the time;
Determine an operation state of load balancing based on the number of request packets of the user request analyzer and the number of actual server packets of the actual server request analyzer; and optionally determine whether the actual server allocation number of the user request packet is equal to the actual number of server packets per server, or A load balancing verifier determining whether the actual number of server packets is uniformly distributed for each server;
ADC request processing time between the user request packet and the real server request packet, the real server response time between the real server request packet and the response packet responded by the real server, and the response packet of the real server and correspondingly Apparatus for diagnosing failure of an application delivery controller comprising a delay time checker for comparing the sum of the ADC response processing time between the provided response packets with a reference time.
어플리케이션 전달 컨트롤러(ADC)와 연동하여 장애를 진단하는 장애 진단 장치를 이용한 장애 진단 방법으로서,
상기 장애 진단 장치가 상기 ADC에 유입되는 패킷을 수집하는 ADC 유입 패킷 수집 단계;
상기 장애 진단 장치가 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 사용자 단말에서 ADC에 전달되는 syn 패킷의 수를 사용자 요청 패킷 수로 카운트하는 사용자 요청 분석 단계;
상기 장애 진단 장치가 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 가상 서버에서 실제 서버로 제공되는 syn 패킷의 수를 서버 별로 실제 서버 패킷 수로 카운트하는 실제 서버 요청 분석 단계;
상기 장애 진단 장치가 상기 사용자 요청 분석 단계의 요청 패킷 수와 상기 실제 서버 요청 분석 단계의 실제 서버 패킷 수를 기반으로 부하 분산의 동작 상태를 판단하는 부하분산 검증 단계를 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러(ADC) 장애 진단 방법.
A failure diagnosis method using a failure diagnosis apparatus that diagnoses a failure by interworking with an application delivery controller (ADC),
ADC inflow packet collection step of the fault diagnosis apparatus collects the packet flowing into the ADC;
A user request analysis step of counting the number of syn packets transmitted from the user terminal to the ADC among the packets collected by the fault diagnosis apparatus through the ADC inflow packet collection step as the number of user request packets;
An actual server request analysis step of counting the number of syn packets provided from the virtual server to the real server among the packets collected by the fault diagnosis apparatus through the ADC inflow packet collection step by the actual number of server packets for each server;
And a load balancing verification step in which the failure diagnosis apparatus determines an operation state of load balancing based on the number of request packets in the user request analysis step and the number of actual server packets in the actual server request analysis step. How to diagnose controller (ADC) faults.
제 10항에 있어서,
상기 사용자 요청 분석 단계는 해싱값을 계산하여 실제 서버 별로 할당된 사용자 요청 패킷의 수를 확인하는 단계를 포함하고,
상기 부하분산 검증 단계는 상기 사용자 요청 분석 단계를 통해 얻은 상기 사용자 요청 패킷의 실제 서버 할당 수와 상기 실제 서버 별 실제 서버 패킷 수가 대응되는지 확인하여 해시 부하 분산 동작 상태를 판단하는 단계를 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 방법.
The method of claim 10,
The analyzing of the user request includes calculating a hashing value and checking the number of user request packets allocated for each actual server.
The load balancing verifying step may include determining a hash load balancing operation state by checking whether the actual server allocation number of the user request packet and the actual server packet number for the actual server correspond to each other through the user request analysis step. Application delivery controller failure diagnosis method.
제 10항에 있어서,
상기 사용자 요청 분석 단계는 상기 실제 서버 별 실제 서버 패킷 수가 균등하게 분산되었는지 확인하여 라운드 로빈 부하 분산 동작 상태를 판단하는 단계를 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 방법.
The method of claim 10,
And analyzing the user request comprises determining whether the number of real server packets for each real server is equally distributed to determine a round robin load balancing operation state.
제 10항에 있어서,
가상 서버와 실제 서버 간의 대응 관계나 부하 분산 방식, 서버 응답 시간 지연 기준을 관리자 입력이나 ADC 접속을 통해 수집하는 설정 정보 수집 단계를 더 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 방법.
The method of claim 10,
And collecting configuration information for collecting a correspondence relationship, a load balancing method, and a server response time delay criterion between the virtual server and the real server through an administrator input or an ADC connection.
제 10항에 있어서,
상기 장애 진단 장치가 상기 사용자 요청 패킷과 실제 서버 요청 패킷 사이의 ADC 요청 처리 시간과, 실제 서버 요청 패킷과 그에 따라 실제 서버가 응답한 응답 패킷 사이의 실제 서버 응답 시간 및 상기 실제 서버의 응답 패킷과 이에 대응되어 사용자에게 제공되는 응답 패킷 사이의 ADC 응답 처리 시간의 총합을 기준 시간과 비교하는 지연시간 검사 단계를 더 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 방법.
The method of claim 10,
The apparatus for diagnosing the error may include an ADC request processing time between the user request packet and an actual server request packet, an actual server response time between an actual server request packet and a response packet responded by the actual server, and a response packet of the actual server. Correspondingly, a delay check step of comparing the total of the ADC response processing time between the response packets provided to the user and the reference time, characterized in that the application delivery controller failure diagnosis method.
제 14항에 있어서,
상기 지연시간 검사 단계는 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 소스 주소가 사용자의 IP이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인하고, 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인한 후 각 시간의 차이를 ADC 요청 처리 시간으로 계산하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 방법.
The method of claim 14,
In the delay checking step, a packet having a source address of the user's IP and a TCP flag syn is identified from the packets collected through the ADC inflow packet collecting step, and checking the time, and the source address is the virtual server IP and the destination address is the actual address. A method for diagnosing a failure of an application delivery controller characterized in that it finds a packet having a server IP and a TCP flag syn, checks the time, and calculates a time difference as an ADC request processing time.
제 14항에 있어서,
상기 지연시간 검사 단계는 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 소스 주소가 가상 서버 IP이고 목적지 주소가 실제 서버 IP 이면서 TCP 플래그가 syn인 패킷을 찾아 그 시간을 확인하고 소스 주소가 실제 서버이고 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인한 후 각 시간의 차이를 실제 서버 응답 시간으로 계산하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 방법.
The method of claim 14,
In the delay checking step, a packet having a source address of virtual server IP, a destination address of real server IP, and a TCP flag syn, and checking the time are identified among the packets collected through the ADC inflow packet collection step, and the source address of the real server And the destination address is a virtual server and finds a packet whose TCP flag is synack, checks the time, and calculates the difference in time as an actual server response time.
제 14항에 있어서,
상기 지연시간 검사 단계는 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 소스 주소가 실제 서버이고 목적지 주소가 가상 서버이면서 TCP 플래그가 synack인 패킷을 찾아 그 시간을 확인하고 소스 주소가 가상 서버이고 목적지 주소가 사용자 IP이면서 TCP 플래그가 synack인 패킷을 찾아 시간을 확인한 후 각 시간의 차이를 ADC 응답 처리 시간으로 계산하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 방법.
The method of claim 14,
In the delay checking step, a packet having a source address is a real server, a destination address is a virtual server, and a TCP flag is synack among the packets collected through the ADC inflow packet collection step is checked for the time, and the source address is a virtual server. A method for diagnosing a failure of an application delivery controller characterized in that the time is determined by finding a packet whose address is a user IP and whose TCP flag is synack, and calculating the time difference as an ADC response processing time.
어플리케이션 전달 컨트롤러와 연동하여 장애를 진단하는 장애 진단 장치를 이용한 장애 진단 방법으로서,
상기 장애 진단 장치가 ADC에 유입되는 패킷을 수집하는 ADC 유입 패킷 수집 단계;
상기 장애 진단 장치가 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 사용자 단말에서 ADC에 전달되는 syn 패킷의 수를 사용자 요청 패킷 수로 카운트하고 그 시간을 확인하며 선택적으로 해싱값을 계산하여 실제 서버별 할당된 패킷의 수를 확인하는 사용자 요청 분석 단계;
상기 장애 진단 장치가 상기 ADC 유입 패킷 수집 단계를 통해 수집한 패킷 중에서 가상 서버에서 실제 서버로 제공되는 syn 패킷의 수를 서버 별로 실제 서버 패킷 수로 카운트하고 그 시간을 확인하는 실제 서버 요청 분석 단계;
상기 장애 진단 장치가 상기 사용자 요청 분석 단계의 요청 패킷 수와 상기 실제 서버 요청 분석 단계의 실제 서버 패킷 수를 기반으로 부하 분산의 동작 상태를 판단하며 선택적으로 사용자 요청 패킷의 실제 서버 할당 수와 서버별 실제 서버 패킷 수가 같은지 판단하거나 실제 서버 패킷 수가 서버 별로 균일하게 분산되었는지 판단하는 부하분산 검증 단계;
상기 장애 진단 장치가 상기 사용자 요청 패킷과 실제 서버 요청 패킷 사이의 ADC 요청 처리 시간과, 실제 서버 요청 패킷과 그에 따라 실제 서버가 응답한 응답 패킷 사이의 실제 서버 응답 시간 및 상기 실제 서버의 응답 패킷과 이에 대응되어 사용자에게 제공되는 응답 패킷 사이의 ADC 응답 처리 시간의 총합을 기준 시간과 비교하는 지연시간 검사 단계를 포함하는 것을 특징으로 하는 어플리케이션 전달 컨트롤러 장애 진단 방법.
Fault diagnosis method using a fault diagnosis device that diagnoses a fault in conjunction with an application delivery controller,
ADC inflow packet collection step of collecting a packet flowing into the ADC by the fault diagnosis device;
The fault diagnosis apparatus counts the number of syn packets transmitted from the user terminal to the ADC among the packets collected through the ADC inflow packet collection step as the number of user request packets, checks the time, and optionally calculates a hashing value for each server. A user request analysis step of confirming the number of allocated packets;
An actual server request analysis step of counting the number of syn packets provided from the virtual server to the real server among the packets collected by the fault diagnosis apparatus through the ADC inflow packet collecting step by the number of real server packets for each server and checking the time;
The failure diagnosis apparatus determines an operation state of load balancing based on the number of request packets in the user request analysis step and the number of actual server packets in the actual server request analysis step. A load balancing verification step of determining whether the actual number of server packets is the same or determining whether the actual number of server packets is uniformly distributed for each server;
The apparatus for diagnosing the error may include an ADC request processing time between the user request packet and an actual server request packet, an actual server response time between an actual server request packet and a response packet responded by the actual server, and a response packet of the actual server. And a delay time checking step of comparing the sum of the ADC response processing time between the response packets provided to the user with the reference time.
KR1020130122093A 2013-10-14 2013-10-14 Trouble diagnosis apparatus and method for application delivery controller KR101364746B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130122093A KR101364746B1 (en) 2013-10-14 2013-10-14 Trouble diagnosis apparatus and method for application delivery controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130122093A KR101364746B1 (en) 2013-10-14 2013-10-14 Trouble diagnosis apparatus and method for application delivery controller

Publications (1)

Publication Number Publication Date
KR101364746B1 true KR101364746B1 (en) 2014-02-27

Family

ID=50271416

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130122093A KR101364746B1 (en) 2013-10-14 2013-10-14 Trouble diagnosis apparatus and method for application delivery controller

Country Status (1)

Country Link
KR (1) KR101364746B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216282A (en) 2000-02-04 2001-08-10 Nec Corp Server, client, client-server system, load distribution method, and recording medium
JP2011237844A (en) 2010-05-06 2011-11-24 Hitachi Ltd Load balancer and system
JP2013105381A (en) 2011-11-15 2013-05-30 Hitachi Ltd Communication system, method, and heartbeat proxy server
KR20130083726A (en) * 2012-01-13 2013-07-23 주식회사 케이티 Virtual machine integration monitoring apparatus and method for cloud system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216282A (en) 2000-02-04 2001-08-10 Nec Corp Server, client, client-server system, load distribution method, and recording medium
JP2011237844A (en) 2010-05-06 2011-11-24 Hitachi Ltd Load balancer and system
JP2013105381A (en) 2011-11-15 2013-05-30 Hitachi Ltd Communication system, method, and heartbeat proxy server
KR20130083726A (en) * 2012-01-13 2013-07-23 주식회사 케이티 Virtual machine integration monitoring apparatus and method for cloud system

Similar Documents

Publication Publication Date Title
US10917322B2 (en) Network traffic tracking using encapsulation protocol
US20210176143A1 (en) Monitoring wireless access point events
CN109951576B (en) Method, apparatus and storage medium for monitoring service
US8443074B2 (en) Constructing an inference graph for a network
US7836341B1 (en) System and method for automatically diagnosing protocol errors from packet traces
US10033602B1 (en) Network health management using metrics from encapsulation protocol endpoints
JP6220625B2 (en) Delay monitoring system and delay monitoring method
JP5560936B2 (en) Configuration information acquisition method, virtual probe, and configuration information acquisition control device
CN108600051B (en) BGP Anycast cluster service quality detection method and detection equipment
WO2012002849A1 (en) Apparatus and method for monitoring of connectivity services
CN111181760B (en) Network fault detection method and device, computer readable medium and electronic equipment
KR20190066741A (en) System for performing anomaly detection using traffic classification
JP4167876B2 (en) Network measurement setting device
KR101364746B1 (en) Trouble diagnosis apparatus and method for application delivery controller
CN102546652B (en) System and method for server load balancing
Roy et al. Understanding the limits of passive realtime datacenter fault detection and localization
WO2022270805A1 (en) Automatic packet analysis-based automatic network failure resolution device and method therefor
US20210218659A1 (en) Abnormality detection apparatus, abnormality detection method, and abnormality detection program
CN109347766A (en) A kind of method and device of scheduling of resource
US20180375751A1 (en) Methods, systems, and computer readable media for conducting and validating network route convergence testing
JP5381247B2 (en) Load distribution device, load distribution method, load distribution program, and load distribution system
JP6928241B2 (en) Traffic analyzers, traffic analysis methods, traffic analysis programs, and communication systems
KR101490316B1 (en) Fault Detection System For Network Device And Fault Detection Method Using The Same
US8875275B2 (en) Rule verification apparatus and rule verification method
US11057478B2 (en) Hybrid cluster architecture for reverse proxies

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170210

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180201

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190211

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200210

Year of fee payment: 7