KR20170116356A - 감시 조건을 효율적으로 저장하는 통신 감시 장치, 통신 감시 방법 및 이를 구현하는 미들박스 운영체제 프로그램을 기록한 저장 매체 - Google Patents

감시 조건을 효율적으로 저장하는 통신 감시 장치, 통신 감시 방법 및 이를 구현하는 미들박스 운영체제 프로그램을 기록한 저장 매체 Download PDF

Info

Publication number
KR20170116356A
KR20170116356A KR1020160043976A KR20160043976A KR20170116356A KR 20170116356 A KR20170116356 A KR 20170116356A KR 1020160043976 A KR1020160043976 A KR 1020160043976A KR 20160043976 A KR20160043976 A KR 20160043976A KR 20170116356 A KR20170116356 A KR 20170116356A
Authority
KR
South Korea
Prior art keywords
monitoring
packet
application
hash
event
Prior art date
Application number
KR1020160043976A
Other languages
English (en)
Other versions
KR101855265B1 (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 KR1020160043976A priority Critical patent/KR101855265B1/ko
Publication of KR20170116356A publication Critical patent/KR20170116356A/ko
Application granted granted Critical
Publication of KR101855265B1 publication Critical patent/KR101855265B1/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/14Arrangements for monitoring or testing data switching networks using software, i.e. software packages
    • 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/0695Management of faults, events, alarms or notifications the faulty arrangement being the maintenance, administration or management system
    • 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
    • H04L67/2804
    • H04L67/2842

Landscapes

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

Abstract

통신 감시 장치는 패킷 수신부, 메모리부 및 어플리케이션 구동부를 포함한다. 패킷 수신부는 통신 프로토콜에 따라 생성된 패킷을 수신한다. 메모리부는 해시 함수(hash function), 해시 함수에 대응되는 해시 테이블(hash table) 및 패킷이 전송되는 각각의 통신 연결에 대응되는 감시 조건을 저장한다. 어플리케이션 구동부는 운영체제 상에서 구동되는 응용 어플리케이션에 기초하여 패킷을 감시한다. 또한, 어플리케이션은 패킷 또는 패킷이 누적됨으로써 형성되는 누적 데이터 각각이 감시 조건에 해당하는 감시 대상 패킷 또는 감시 대상 데이터인지 운영체제 상에서 판단하고, 감시 대상 패킷 또는 감시 대상 데이터 중 적어도 하나 이상을 응용 어플리케이션에 전달한다. 나아가, 메모리부는 감시 조건을 해시 함수 및 해시 테이블에 기초하여 저장한다.

Description

감시 조건을 효율적으로 저장하는 통신 감시 장치, 통신 감시 방법 및 이를 구현하는 미들박스 운영체제 프로그램을 기록한 저장 매체{COMMUNICATION MONITORING DEVICE, METHOD OF MONITORING COMMUNICATION AND STORAGE MEDIA OF MIDDLE-BOX OPERATING SYSTEM IMPLEMENTING THE SAME}
본 발명은 통신 감시 장치, 통신 감시 방법 및 이를 구현하는 운영체제 프로그램에 관한 것으로, 보다 상세하게는 감시 조건을 효율적으로 저장하는 미들박스(middle-box), 미들박스에서의 통신 감시 방법 및 이를 구현하는 미들박스 운영체제 프로그램에 관한 것이다.
최근 클라우드 등 통신 네트워크를 기반으로 하는 서비스가 증가하고 있고, 이에 따라 일반적인 사업체뿐만 아니라 가정에서 생성되는 데이터량 역시 증가하고 있다. 그 결과, 통신 네트워크를 통해 전송되어야 하는 데이터량이 지속적으로 증가하고 있다.
한편, 네트워크 중간에 위치하는 미들박스(middle-box)를 운영하는 통신 사업자 등은 실제로 송수신되는 데이터량을 측정하거나 네트워크로 제공되는 일부 서비스의 질을 향상시키는 등 여러가지 목적을 위해 네트워크에서 송수신되는 데이터를 감시할 필요가 있다.
하지만, 통신 네트워크를 감시하기 위한 기존의 하드웨어 장비는 상대적으로 고가의 장비인 경우가 많다. 나아가, 하드웨어 장비의 제조사에서 제공해주는 기능 외에 새로운 감시 방법을 정의해 추가하는 것이 용이하지 않다. 그 결과, 늘어나는 통신 데이터량에 따라 효율적인 새로운 감시 방법을 도입하기 위해 고가의 장비를 추가적으로 구매해야 한다. 다시 말해, 기존의 통신 감시를 위한 하드웨어 장비는 새로운 감시 방법에 대응하는 유연성이 부족해 효율적이지 못하다는 문제점이 있다.
아래 선행기술문헌은 미들박스에서 중복되는 컨텐츠를 제거하는 기술을 설명하고 있다. 그러나, 새로운 감시 방법에 대한 유연성 부족이 여전히 해결되지 못하고 있고, 나아가 감시 조건이 효율적으로 저장되지도 못한다.
한국 공개특허 10-2015-0023896(공개일자 2015년 03월 05일)
본 발명의 일 목적은 효율적인 감시 방법을 용이하게 추가할 수 있을 뿐 아니라 감시 조건을 효율적으로 저장할 수 있는 통신 감시 장치를 제공하는 것이다.
본 발명의 일 목적은 효율적인 감시 방법을 용이하게 추가할 수 있을 뿐 아니라 감시 조건을 효율적으로 저장할 수 있는 통신 감시 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 효율적인 감시 방법을 용이하게 추가할 뿐 아니라 감시 조건을 효율적으로 저장할 수 있는 프로그램을 기록한 저장 매체를 제공하는 것이다.
다만, 본 발명의 목적은 상기 목적들로 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
본 발명의 일 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 통신 감시 장치는 통신 프로토콜에 따라 생성된 패킷을 수신하는 패킷 수신부, 해시 함수(hash function), 상기 해시 함수에 대응되는 해시 테이블(hash table) 및 상기 패킷이 전송되는 각각의 통신 연결에 대응되는 감시 조건을 저장하는 메모리부 및 운영체제 상에서 구동되는 응용 어플리케이션에 기초하여 상기 패킷을 감시하는 어플리케이션 구동부를 포함하고, 상기 어플리케이션 구동부는 상기 패킷 또는 상기 패킷이 누적됨으로써 형성되는 누적 데이터 각각이 상기 감시 조건에 해당하는 감시 대상 패킷 또는 감시 대상 데이터인지 상기 운영체제 상에서 판단하고, 상기 감시 대상 패킷 또는 상기 감시 대상 데이터 중 적어도 하나 이상을 상기 응용 어플리케이션에 전달하며, 상기 메모리부는 상기 감시 조건을 상기 해시 함수 및 상기 해시 테이블에 기초하여 저장한다.
일 실시예에 의하면, 상기 통신 연결에 대응되는 포인터는 상기 감시 조건이 저장된 메모리 주소를 포함함으로써 상기 통신 연결과 상기 감시 조건을 대응시킬 수 있고, 상기 메모리 주소는 상기 해시 테이블에서 도출될 수 있다.
일 실시예에 의하면, 상기 어플리케이션 구동부는 상기 패킷 또는 상기 누적 데이터가 상기 감시 조건에 포함된 감시 이벤트에 해당하는지 판단할 수 있고, 상기 감시 이벤트를 상기 해시 함수에 입력함으로써 해시값을 생성할 수 있으며, 상기 메모리부는 상기 해시 테이블에 기초하여 상기 해시값에 대응되는 메모리 주소에 상기 감시 이벤트를 저장할 수 있다.
일 실시예에 의하면, 상기 어플리케이션 구동부는 상기 패킷 또는 상기 누적 데이터가 상기 감시 조건에 포함된 감시 이벤트에 해당하는지 판단할 수 있고, 상기 감시 대상 패킷 또는 상기 감시 대상 데이터 중 적어도 하나 이상에 기초하여 생성된 상기 응용 어플리케이션의 지시에 따라 상기 감시 이벤트에 대응되는 처리작업을 수행할 수 있으며, 상기 감시 이벤트 및 상기 처리작업을 상기 해시 함수에 입력함으로써 해시값을 생성할 수 있고, 상기 메모리부는 상기 해시 테이블에 기초하여 상기 해시값에 대응되는 메모리 주소에 상기 감시 이벤트 및 상기 처리작업을 저장할 수 있다.
일 실시예에 의하면, 상기 어플리케이션 구동부는 상기 패킷 또는 상기 누적 데이터가 상기 감시 조건에 포함된 복수의 감시 이벤트들에 해당하는지 판단할 수 있고, 상기 감시 이벤트들을 상기 해시 함수에 입력함으로써 해시값들을 생성할 수 있으며, 상기 해시값들을 배타적 논리합(eXclusive OR; XOR)으로 연산하여 연산값을 생성할 수 있고, 상기 메모리부는 상기 해시 테이블에 기초하여 상기 연산값에 대응되는 메모리 주소에 상기 감시 이벤트들을 저장할 수 있다.
일 실시예에 의하면, 상기 어플리케이션 구동부는 상기 패킷 또는 상기 누적 데이터가 상기 감시 조건에 포함된 복수의 감시 이벤트들에 해당하는지 판단할 수 있고, 상기 감시 대상 패킷 또는 상기 감시 대상 데이터 중 적어도 하나 이상에 기초하여 생성된 상기 응용 어플리케이션의 지시에 따라 상기 감시 이벤트들에 대응되는 처리작업들을 수행할 수 있으며, 상기 감시 이벤트들 및 상기 처리작업들을 상기 해시 함수에 입력함으로써 해시값들을 생성할 수 있고, 상기 해시값들을 배타적 논리합으로 연산하여 연산값을 생성할 수 있으며, 상기 메모리부는 상기 해시 테이블에 기초하여 상기 연산값에 대응되는 메모리 주소에 상기 감시 이벤트들 및 상기 처리작업들을 저장할 수 있다.
일 실시예에 의하면, 상기 어플리케이션 구동부는 상기 패킷 또는 상기 누적 데이터가 상기 감시 조건이 포함하는 감시 이벤트에 포함된 복수의 서브 이벤트들에 해당하는지 판단할 수 있고, 상기 서브 이벤트들을 상기 해시 함수에 입력함으로써 해시값들을 생성할 수 있으며, 상기 해시값들을 배타적 논리합으로 연산하여 연산값을 생성할 수 있고, 상기 메모리부는 상기 해시 테이블에 기초하여 상기 연산값에 대응되는 메모리 주소에 상기 서브 이벤트들을 저장할 수 있다.
일 실시예에 의하면, 상기 어플리케이션 구동부는 상기 패킷 또는 상기 누적 데이터가 상기 감시 조건이 포함하는 감시 이벤트에 포함된 복수의 서브 이벤트들에 해당하는지 판단할 수 있고, 상기 감시 대상 패킷 또는 상기 감시 대상 데이터 중 적어도 하나 이상에 기초하여 생성된 상기 응용 어플리케이션의 지시에 따라 상기 서브 이벤트들에 대응되는 처리작업들을 수행할 수 있으며, 상기 서브 이벤트들 및 상기 처리작업들을 상기 해시 함수에 입력함으로써 해시값들을 생성할 수 있고, 상기 해시값들을 배타적 논리합으로 연산하여 연산값을 생성할 수 있으며, 상기 메모리부는 상기 해시 테이블에 기초하여 상기 연산값에 대응되는 메모리 주소에 상기 서브 이벤트들 및 상기 처리작업들을 저장할 수 있다.
본 발명의 다른 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 통신 감시 방법은 통신 프로토콜에 따라 생성된 패킷을 수신하는 단계, 해시 함수, 상기 해시 함수에 대응되는 해시 테이블 및 상기 패킷이 전송되는 각각의 통신 연결에 대응되는 감시 조건을 저장하는 단계 및 운영체제 상에서 구동되는 응용 어플리케이션에 기초하여 상기 패킷을 감시하는 단계를 포함하고, 상기 패킷을 감시하는 단계는 상기 패킷 또는 상기 패킷이 누적됨으로써 형성되는 누적 데이터 각각이 상기 감시 조건인 감시 이벤트에 해당하는 감시 대상 패킷 또는 감시 대상 데이터인지 상기 운영체제 상에서 판단하는 단계, 상기 감시 대상 패킷 또는 상기 감시 대상 데이터 중 적어도 하나 이상을 상기 응용 어플리케이션에 전달하는 단계 및 상기 감시 대상 패킷 또는 상기 감시 대상 데이터 중 적어도 하나 이상에 기초하여 생성된 상기 응용 어플리케이션의 지시에 따라 상기 감시 이벤트에 대응되는 처리작업을 수행하는 단계를 포함하며, 상기 감시 조건은 상기 해시 함수 및 상기 해시 테이블에 기초하여 저장된다.
일 실시예에 의하면, 상기 감시 조건을 저장하는 단계는 상기 감시 이벤트 및 상기 처리작업을 상기 해시 함수에 입력함으로써 해시값을 생성하는 단계 및 상기 해시 테이블에 기초하여 상기 해시값에 대응되는 메모리 주소에 상기 감시 이벤트 및 상기 처리작업을 저장하는 단계를 포함할 수 있다.
본 발명의 또 다른 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 저장 매체는 패킷이 전송되는 각각의 통신 연결에 대응되는 감시 조건을 해시 함수 및 상기 해시 함수에 대응되는 해시 테이블에 기초하여 저장하는 단계, 상기 패킷 또는 상기 패킷이 누적됨으로써 형성되는 누적 데이터 각각이 상기 감시 조건인 감시 이벤트에 해당하는 감시 대상 패킷 또는 감시 대상 데이터인지 판단하는 단계, 상기 감시 대상 패킷 또는 상기 감시 대상 데이터 중 적어도 하나 이상을 응용 어플리케이션에 전달하는 단계 및 상기 감시 대상 패킷 또는 상기 감시 대상 데이터 중 적어도 하나 이상에 기초하여 생성된 상기 응용 어플리케이션의 지시에 따라 상기 감시 이벤트에 대응되는 처리작업을 수행하는 단계를 포함하는 통신 감시 방법을 단말 상에서 실행시키는 운영체제 프로그램을 기록한다.
일 실시예에 의하면, 상기 감시 조건을 저장하는 단계는 상기 감시 이벤트 및 상기 처리작업을 상기 해시 함수에 입력함으로써 해시값을 생성하는 단계 및 상기 해시 테이블에 기초하여 상기 해시값에 대응되는 메모리 주소에 상기 감시 이벤트 및 상기 처리작업을 저장하는 단계를 포함할 수 있다.
본 발명의 실시예들에 따른 통신 감시 장치 및 통신 감시 방법은 운영체제 상에서 패킷 및 누적 데이터를 감시해 운영체제 상에서 구동되는 응용 어플리케이션에 전달함으로써 용이하게 새로운 감시 방법을 추가할 수 있다. 즉, 사용자는 운영체제에서 제공하는 개발도구에 기초하여 응용 어플리케이션을 개발함으로써, 효율적인 감시 방법을 용이하게 추가할 수 있다.
뿐만 아니라, 본 발명의 실시예들에 따른 통신 감시 장치 및 통신 감시 방법은 감시 조건을 해시 함수 및 해시 테이블에 기초하여 효율적으로 저장할 수 있다.
또한, 본 발명의 실시예들에 따른 저장 매체는 상기 통신 감시 장치 및 상기 통신 감시 방법에 이용되는 운영체제 프로그램을 제공할 수 있다.
다만, 본 발명의 효과는 상기 효과들로 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
도 1은 본 발명의 실시예들에 따른 통신 감시 장치를 나타내는 블록도이다.
도 2는 도 1의 통신 감시 장치에 포함된 어플리케이션 구동부가 동작하는 일 예를 나타내는 블록도이다.
도 3은 도 1의 통신 감시 장치에 포함된 메모리부가 통신 연결에 대응되는 감시 조건을 저장하는 일 예를 나타내는 도면이다.
도 4는 도 1의 통신 감시 장치에 포함된 어플리케이션 구동부가 일 통신 연결에 대응되는 메모리 주소를 생성하는 일 예를 나타내는 도면이다.
도 5는 도 4의 어플리케이션 구동부가 다른 통신 연결에 대응되는 메모리 주소를 생성하는 일 예를 나타내는 도면이다.
도 6은 도 4의 어플리케이션 구동부가 또 다른 통신 연결에 대응되는 메모리 주소를 생성하는 일 예를 나타내는 도면이다.
도 7은 도 1의 통신 감시 장치에 포함된 메모리부가 통신 연결에 대응되는 감시 조건을 저장하는 다른 예를 나타내는 도면이다.
도 8은 본 발명의 실시예들에 따른 통신 감시 방법을 나타내는 순서도이다.
도 9는 본 발명의 실시예들에 따른 저장 매체에 기록된 운영체제 프로그램이 실행시키는 통신 감시 방법을 나타내는 순서도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 통신 감시 장치를 나타내는 블록도이다.
도 1을 참조하면, 통신 감시 장치(100)는 패킷 수신부(120), 메모리부(140) 및 어플리케이션 구동부(160)를 포함할 수 있다.
패킷 수신부(120)는 패킷(PKT)을 수신할 수 있다. 여기서, 패킷 수신부(120)를 포함하는 통신 감시 장치(100)는 데이터를 통신 네트워크를 통해 보내는 발신자 또는 데이터를 통신 네트워크를 통해 받는 수신자가 아닌 제3자일 수 있다. 예를 들어, 통신 감시 장치(100)는 통신 네트워크 상에서 발신자와 수신자 사이에 위치한 중간자일 수 있다.
발신자는 보내고자 하는 데이터를 분할함으로써 적어도 하나 이상의 패킷(PKT)을 생성할 수 있다. 이 때, 패킷(PKT)은 통신 프로토콜에 따라 생성될 수 있다. 즉, 발신자는 통신 프로토콜에서 정해진 규칙에 따라 패킷(PKT)을 생성할 수 있다. 예를 들어, 통신 프로토콜은 전송 제어 프로토콜(Transmission Control Protocol; TCP)일 수 있고, 발신자는 전송 제어 프로토콜에서 정해진 규칙에 맞추어 패킷(PKT)을 생성할 수 있다.
생성된 패킷(PKT)은 통신 네트워크를 통해 송신될 수 있고, 패킷(PKT)을 수신한 수신자에 의해 재조립될 수 있다. 수신자 역시 발신자와 동일한 통신 프로토콜에 따라 패킷(PKT)을 재조립할 수 있고, 데이터를 복원할 수 있다. 예를 들어, 수신자는 전송 제어 프로토콜에 따라 패킷(PKT)을 재조립함으로써 데이터를 복원할 수 있다.
중간자인 통신 감시 장치(100)에 포함된 패킷 수신부(120)는 패킷(PKT)을 수신할 수 있고, 수신된 패킷(PKT)을 수신자에 전달할 수 있다. 패킷 수신부(120)는 어플리케이션 구동부(160)의 제어 신호(CTRL)에 의해 제어될 수 있다. 예를 들어, 어플리케이션 구동부(160)는 수신된 패킷(PKT)이 수신자에게 전달되지 않도록 패킷 수신부(120)를 제어하는 제어 신호(CTRL)를 생성할 수 있다.
메모리부(140)는 해시 함수(hash function, HF), 해시 테이블(hash table, HT) 및 감시 조건(CON)을 저장할 수 있다. 실시예에 따라, 메모리부(140)는 처리작업(HD)을 더 저장할 수 있다. 여기서, 해시 테이블(HT)은 해시 함수(HF)에 대응될 수 있고, 감시 조건(CON)은 패킷(PKT)이 전송되는 각각의 통신 연결에 대응될 수 있다.
메모리부(140)는 감시 조건(CON)을 해시 함수(HF) 및 해시 테이블(HT)에 기초하여 저장할 수 있다. 감시 조건(CON)은 감시 이벤트를 포함할 수 있다. 실시예에 따라, 감시 조건(CON)은 복수의 감시 이벤트들을 포함할 수 있다. 실시예에 따라, 감시 조건(CON)은 복수의 서브 이벤트들을 포함하는 감시 이벤트를 포함할 수 있다.
메모리부(140)는 해시 테이블(HT)에 기초하여 해시값에 대응되는 메모리 주소에 감시 이벤트 또는 감시 이벤트에 대응되는 처리작업(HD)을 저장할 수 있다. 이를 위해, 어플리케이션 구동부(160)는 감시 이벤트 또는 처리작업(HD)을 해시 함수(HF)에 입력함으로써 해시값을 생성할 수 있다.
메모리부(140)는 해시 테이블(HT)에 기초하여 해시값에 대응되는 메모리 주소에 감시 이벤트 및 처리작업(HD)을 저장할 수 있다. 이를 위해, 어플리케이션 구동부(160)는 감시 이벤트 및 처리작업(HD)을 해시 함수(HF)에 입력함으로써 해시값을 생성할 수 있다.
메모리부(140)는 해시 테이블(HT)에 기초하여 연산값에 대응되는 메모리 주소에 감시 이벤트들 또는 감시 이벤트들에 대응되는 처리작업들(HD) 중 적어도 하나 이상을 저장할 수 있다. 이를 위해, 어플리케이션 구동부(160)는 감시 이벤트들 또는 처리작업들(HD)을 해시 함수(HF)에 입력함으로써 해시값들을 생성할 수 있고, 생성된 해시값들을 배타적 논리합(eXclusive OR; XOR)으로 연산하여 연산값을 생성할 수 있다.
메모리부(140)는 해시 테이블(HT)에 기초하여 연산값에 대응되는 메모리 주소에 감시 이벤트들 및 처리작업들(HD)을 저장할 수 있다. 여기서, 처리작업들(HD)은 감시 이벤트들에 대응될 수 있다. 이를 위해, 어플리케이션 구동부(160)는 감시 이벤트들 및 처리작업들(HD)을 해시 함수(HF)에 입력함으로써 해시값들을 생성할 수 있고, 해시값들을 배타적 논리합으로 연산하여 연산값을 생성할 수 있다.
메모리부(140)는 해시 테이블(HT)에 기초하여 연산값에 대응되는 메모리 주소에 서브 이벤트들 또는 서브 이벤트들에 대응되는 처리작업들(HD) 중 적어도 하나 이상을 저장할 수 있다. 이를 위해, 어플리케이션 구동부(160)는 서브 이벤트들 또는 처리작업들(HD)을 해시 함수(HF)에 입력함으로써 해시값들을 생성할 수 있고, 해시값들을 배타적 논리합으로 연산하여 연산값을 생성할 수 있다.
메모리부(140)는 해시 테이블(HT)에 기초하여 연산값에 대응되는 메모리 주소에 서브 이벤트들 및 처리작업들(HD)을 저장할 수 있다. 여기서, 처리작업들(HD)은 서브 이벤트들에 대응될 수 있다. 이를 위해, 어플리케이션 구동부(160)는 서브 이벤트들 및 처리작업들(HD)을 해시 함수(HF)에 입력함으로써 해시값들을 생성할 수 있고, 해시값들을 배타적 논리합으로 연산하여 연산값을 생성할 수 있다.
메모리부(140)에 저장된 해시 함수(HF), 해시 테이블(HT), 감시 조건(CON) 또는 처리작업(HD) 중 적어도 하나 이상은 어플리케이션 구동부(160)의 요청에 의해 독출될 수 있다.
어플리케이션 구동부(160)는 패킷(PKT)을 운영체제 상에서 구동되는 응용 어플리케이션에 기초하여 감시할 수 있다. 이를 위해, 어플리케이션 구동부(160)는 패킷(PKT) 또는 누적 데이터가 기 설정된 감시 조건(CON)에 해당하는 것인지 운영체제 상에서 판단할 수 있다.
어플리케이션 구동부(160)는 운영체제에 기초하여 동작할 수 있다. 여기서, 운영체제 상에는 적어도 하나 이상의 응용 어플리케이션이 구동될 수 있다. 예를 들어, 사용자는 일 목적에 따라 운영체제 상에 제1 응용 어플리케이션을 구동시킬 수 있고, 다른 목적에 따라 운영체제 상에 제2 응용 어플리케이션을 구동시킬 수 있다.
어플리케이션 구동부(160)는 패킷(PKT)이 기 설정된 감시 조건(CON)에 해당하는 감시 대상 패킷인지 판단할 수 있다. 또한, 어플리케이션 구동부(160)는 패킷(PKT)이 누적됨으로써 형성되는 누적 데이터가 기 설정된 감시 조건(CON)에 해당하는 감시 대상 데이터인지 판단할 수 있다. 여기서, 어플리케이션 구동부(160)는 상기 감시 조건(CON)에 해당하는지 여부를 운영체제 상에서 판단할 수 있다.
감시 조건(CON)은 운영체제에서 기본적으로 제공되는 것일 수 있고, 응용 어플리케이션에서 생성된 것일 수 있다. 다시 말해, 응용 어플리케이션은 운영체제에서 기본적으로 제공되는 감시 조건(CON)만을 이용하도록 제작될 수도 있지만, 스스로 생성한 감시 조건(CON)도 함께 이용하도록 제작될 수 있다.
운영체제는 응용 어플리케이션에 필수적이거나 자주 사용되는 감시 조건(CON)을 기본적으로 제공할 수 있다. 예를 들어, 운영체제에서 제공되는 감시 조건(CON)은 패킷(PKT)이 신규 패킷인지 여부, 패킷(PKT)이 개시(initiation) 패킷인지 여부, 패킷(PKT)이 재송신(retransmission) 패킷인지 여부, 패킷(PKT)이 제1 전환 패킷인지 여부, 패킷(PKT)이 제2 전환 패킷인지 여부, 패킷(PKT)이 종료(termination) 패킷인지 여부, 패킷(PKT)이 범위 밖(out-of-flow) 패킷인지 여부, 누적 데이터가 목표 데이터에 도달했는지 여부, 누적 데이터가 목표 데이터에 도달하지 못했는지 여부, 선행 패킷의 수신 시점으로부터 기 설정된 시간이 경과된 후에 수신된 패킷이 선행 패킷을 수신한 이후에 수신될 것으로 기대되는 후행 패킷인지 여부 중 적어도 하나 이상을 포함할 수 있다.
어플리케이션 구동부(160)는 패킷(PKT)이 기존에 수신되지 않은 신규 패킷인지 여부를 판단할 수 있다. 어플리케이션 구동부(160)는 수신된 시점까지의 누적 데이터에 기초하여 수신된 패킷(PKT)이 기존에 패킷 수신부(120)가 수신했던 패킷(PKT)인지 여부를 판단할 수 있다.
어플리케이션 구동부(160)는 패킷(PKT)이 새로운 통신 연결이 시작됨을 선언하는 개시 패킷인지 여부를 판단할 수 있다. 개시 패킷은 발신자와 수신자 사이의 상호확인절차가 종료된 후 새로운 통신 연결이 시작됨을 선언하기 위해 생성된 패킷(PKT)일 수 있다. 어플리케이션 구동부(160)는 발신자 및 수신자가 사용하는 통신 프로토콜과 실질적으로 동일한 통신 프로토콜을 이용할 수 있고, 동일한 통신 프로토콜에 기초하여 수신된 패킷(PKT)이 개시 패킷인지 여부를 판단할 수 있다.
어플리케이션 구동부(160)는 패킷(PKT)이 재송신 패킷인지 여부를 판단할 수 있다. 재송신 패킷은 발신자가 일 패킷을 발송한 후 수신자로부터 재송신의 요청을 받은 때 생성될 수 있다. 또는, 재송신 패킷은 발신자가 일 패킷(PKT)을 발송한 후 소정의 시간이 경과되었음에도 수신자로부터 일 패킷(PKT)에 대한 수신확인을 받지 못한 때 생성될 수 있다. 어플리케이션 구동부(160)는 발신자 및 수신자가 사용하는 통신 프로토콜과 실질적으로 동일한 통신 프로토콜을 이용할 수 있고, 동일한 통신 프로토콜에 기초하여 수신된 패킷(PKT)이 재송신 패킷인지 여부를 판단할 수 있다.
어플리케이션 구동부(160)는 패킷(PKT)이 상태 전환 패킷인지 여부를 판단할 수 있다. 상태 전환 패킷은 통신 연결에서 발신자 상태(state)가 전환될 때 생성되는 제1 상태 전환 패킷일 수 있고, 통신 연결의 수신자가 수신함으로써 수신자 상태가 전환되는 제2 상태 전환 패킷일 수 있다. 발신자는 발신자 상태에 따라 상이한 패킷(PKT)을 생성할 수 있고, 수신자는 수신자 상태에 따라 수신한 패킷(PKT)에 대해 상이한 처리를 수행할 수 있다. 발신자 상태 및 수신자 상태는 통신 프로토콜의 정의에 따라 상이할 수 있다. 패킷 수신부(120)는 발신자와 수신자 사이에서 패킷(PKT)을 수신할 수 있고, 어플리케이션 구동부(160)는 패킷(PKT)에 포함된 내용에 기초하여 수신된 패킷(PKT)이 상태 전환 패킷인지 여부를 판단할 수 있다. 이를 위해, 어플리케이션 구동부(160)는 발신자 및 수신자가 사용하는 통신 프로토콜과 실질적으로 동일한 통신 프로토콜을 이용할 수 있다.
어플리케이션 구동부(160)는 패킷(PKT)이 통신 연결이 종료됨을 선언하는 종료 패킷인지 여부를 판단할 수 있다. 종료 패킷은 발신자와 수신자 사이의 데이터 교환이 종료된 후 생성되었던 통신 연결이 종료됨을 선언하기 위해 생성된 패킷(PKT)일 수 있다. 어플리케이션 구동부(160)는 발신자 및 수신자가 사용하는 통신 프로토콜과 실질적으로 동일한 통신 프로토콜을 이용할 수 있고, 동일한 통신 프로토콜에 기초하여 수신된 패킷(PKT)이 종료 패킷인지 여부를 판단할 수 있다.
어플리케이션 구동부(160)는 패킷(PKT)이 범위 밖 패킷인지 여부를 판단할 수 있다. 범위 밖 패킷은 통신 프로토콜에서 정의되지 않은 방식으로 생성된 패킷(PKT)일 수 있다. 이를 위해, 어플리케이션 구동부(160)는 감시 범위로 삼고자 하는 특정 통신 프로토콜에 기초하여 패킷(PKT)을 감시할 수 있다. 예를 들어, 어플리케이션 구동부(160)는 패킷(PKT)이 전송 제어 프로토콜에서 정의되지 않은 방식으로 생성된 패킷(PKT)인지 여부를 판단할 수 있다.
어플리케이션 구동부(160)는 누적 데이터가 목표 데이터에 도달했는지 여부를 판단할 수 있다. 또한, 어플리케이션 구동부(160)는 누적 데이터가 목표 데이터에 도달하지 못했는지 여부를 판단할 수 있다. 여기서, 누적 데이터는 패킷(PKT)이 누적됨으로써 형성될 수 있고, 목표 데이터는 통신 연결의 전송 목표일 수 있다.
일 통신 연결은 목표 데이터를 손실없이 수신자에게 보내는 것을 목표로 할 수 있다. 목표 데이터는 복수의 구성 패킷들로 분할될 수 있고, 구성 패킷들은 순차적으로 전송될 수 있다. 발신자와 수신자 사이에 위치하는 패킷 수신부(120)는 중간에서 패킷(PKT)을 수신할 수 있고, 어플리케이션 구동부(160)는 패킷(PKT)이 누적됨으로써 형성되는 누적 데이터가 목표 데이터에 도달했는지 여부를 판단할 수 있다. 나아가, 패킷 수신부(120)가 네트워크 장애로 인해 발신자가 보낸 순서와 상이한 순서로 구성 패킷들을 수신한 경우, 어플리케이션 구동부(160)는 최종적으로 형성된 누적 데이터가 목표 데이터에 도달할 때까지 대기할 수 있다. 이 때, 누적 데이터는 별도의 저장소에 저장될 수 있다.
그러나, 누적 데이터가 목표 데이터에 도달하지 못할 때 누적 데이터의 크기는 지속적으로 증가할 수 있고, 결국 저장소가 갖는 한계치를 넘어설 수 있다. 따라서, 어플리케이션 구동부(160)는 누적 데이터가 기 설정된 크기를 초과하였음에도 누적 데이터가 목표 데이터에 도달하지 못했는지 여부를 판단할 수 있다. 그 결과, 누적 데이터의 크기가 저장소의 한계치를 초과하지 않을 수 있다.
어플리케이션 구동부(160)는 선행 패킷이 수신된 시점으로부터 기 설정된 시간이 경과되었음에도 선행 패킷 이후에 수신될 것으로 기대되는 후행 패킷이 수신되지 않았는지 여부를 판단할 수 있다. 통신 프로토콜에 따라 생성된 패킷(PKT)은 2 이상이 시간적으로 선후관계를 가질 수 있다. 예를 들어, 패킷 수신부(120)가 일 패킷(PKT)을 선행 패킷으로서 수신할 때, 어플리케이션 구동부(160)는 선행 패킷에 대응되는 후행 패킷을 곧 수신할 것이라는 것을 예측할 수 있다. 그러나, 선행 패킷이 수신된 시점으로부터 기 설정된 시간이 경과되었음에도 후행 패킷이 수신되지 않은 경우 어플리케이션 구동부(160)는 일반적인 절차에서 벗어난 것임을 판단할 수 있고, 선행 패킷에 포함된 내용에 따라 발신자 상태 및 수신자 상태를 추측할 수 있다.
감시 조건(CON)은 운영체제 상에서 구동되는 응용 어플리케이션에서 생성될 수 있다. 즉, 감시 조건(CON) 중 일부는 운영체제에서 기본적으로 제공되지 않은 것일 수 있다. 또한, 어플리케이션에서 생성된 감시 조건(CON)은 운영체제에서 기본적으로 제공된 감시 조건(CON)을 2 이상 조합한 것일 수 있다. 생성된 감시 조건(CON) 또한 기본적으로 제공되는 감시 조건(CON)과 마찬가지로 운영체제 상에서 이용될 수 있다. 예를 들어, 어플리케이션 구동부(160)는 응용 어플리케이션에서 생성된 감시 조건(CON)에 기초하여 운영체제 상에서 패킷(PKT) 또는 누적 데이터를 판단할 수 있다.
어플리케이션 구동부(160)는 복수의 응용 어플리케이션들에 기초하여 패킷(PKT)을 감시할 수 있다. 예를 들어, 사용자는 제1 감시 조건을 생성하는 제1 응용 어플리케이션을 운영체제 상에서 구동시킬 수 있고, 어플리케이션 구동부(160)는 제1 감시 조건에 기초하여 제1 감시 대상 데이터를 찾을 수 있다. 또한, 사용자는 동시에 제2 감시 조건을 생성하는 제2 응용 어플리케이션을 운영체제 상에서 구동시킬 수 있고, 어플리케이션 구동부(160)는 제2 감시 조건에 기초하여 감시 대상 패킷 및 제2 감시 대상 데이터를 찾을 수 있다.
어플리케이션 구동부(160)는 패킷(PKT) 또는 누적 데이터가 감시 조건(CON)에 포함된 감시 이벤트에 해당하는지 판단할 수 있다. 실시예에 따라, 어플리케이션 구동부(160)는 패킷(PKT) 또는 누적 데이터가 감시 조건(CON)에 포함된 복수의 감시 이벤트들에 해당하는지 판단할 수 있다. 실시예에 따라, 어플리케이션 구동부(160)는 패킷(PKT) 또는 누적 데이터가 감시 조건(CON)이 포함하는 감시 이벤트에 포함된 복수의 서브 이벤트들에 해당하는지 판단할 수 있다.
어플리케이션 구동부(160)는 감시 대상 패킷 또는 감시 대상 데이터 중 적어도 하나 이상을 응용 어플리케이션에 전달할 수 있다. 즉, 어플리케이션 구동부(160)는 패킷(PKT) 또는 누적 데이터가 감시 조건(CON)에 해당하는 때, 감시 대상 패킷 또는 감시 대상 데이터 중 적어도 하나 이상을 응용 어플리케이션에 전달할 수 있다. 여기서, 감시 대상 패킷 및 감시 대상 데이터를 전달하는 범위는 응용 어플리케이션에 의해 정해질 수 있다. 예를 들어, 제1 응용 어플리케이션은 제1 감시 대상 데이터를 전달하도록 운영체제에 지시할 수 있고, 제2 응용 어플리케이션은 제2 감시 대상 데이터 및 감시 대상 패킷을 함께 전달하도록 운영체제에 지시할 수 있다.
어플리케이션 구동부(160)는 응용 어플리케이션이 지시한 처리작업(HD)을 수행할 수 있다. 여기서, 처리작업(HD)은 감시 대상 패킷 또는 감시 대상 데이터 중 적어도 하나 이상에 기초하여 생성될 수 있다. 예를 들어, 패킷 수신부(120)가 수신한 패킷(PKT)을 수신자에게 전달하지 않도록 하는 처리작업(HD)이 응용 어플리케이션에서 생성될 수 있고, 어플리케이션 구동부(160)는 패킷 수신부(120)가 패킷(PKT)을 전달하지 않도록 하는 제어 신호(CTRL)를 생성할 수 있다.
실시예에 따라, 복수의 응용 어플리케이션들에서 상이한 처리작업(HD)들이 생성될 수 있고, 일부 응용 어플리케이션에서만 처리작업(HD)이 생성될 수 있다. 예를 들어, 제1 응용 어플리케이션은 제1 처리작업을 생성하여 운영체제에 전달할 수 있으나, 제2 응용 어플리케이션은 처리작업(HD)을 생성하지 않을 수 있다.
어플리케이션 구동부(160)는 응용 어플리케이션의 지시에 따라 감시 이벤트에 대응되는 처리작업(HD)을 수행할 수 있다. 여기서, 응용 어플리케이션의 지시는 감시 대상 패킷 또는 감시 대상 데이터 중 적어도 하나 이상에 기초하여 생성될 수 있다. 실시예에 따라, 어플리케이션 구동부(160)는 응용 어플리케이션의 지시에 따라 감시 이벤트들에 대응되는 처리작업들(HD)을 수행할 수 있다. 실시예에 따라, 어플리케이션 구동부(160)는 응용 어플리케이션의 지시에 따라 서브 이벤트들에 대응되는 처리작업들(HD)을 수행할 수 있다.
본 발명의 실시예들에 따른 통신 감시 장치(100)는 운영체제 상에서 패킷(PKT) 및 누적 데이터를 감시해 운영체제 상에서 구동되는 응용 어플리케이션에 전달함으로써 용이하게 새로운 감시 방법을 추가할 수 있다. 즉, 사용자는 운영체제에서 제공하는 개발도구에 기초하여 응용 어플리케이션을 개발함으로써, 효율적인 감시 방법을 용이하게 추가할 수 있다.
뿐만 아니라, 본 발명의 실시예들에 따른 통신 감시 장치(100)는 감시 조건(CON)을 해시 함수(HF) 및 해시 테이블(HT)에 기초하여 효율적으로 저장할 수 있다.
도 2는 도 1의 통신 감시 장치에 포함된 어플리케이션 구동부가 동작하는 일 예를 나타내는 블록도이다.
도 2를 참조하면, 어플리케이션 구동부(260)는 패킷(PKT)을 운영체제(262) 상에서 구동되는 응용 어플리케이션(264)에 기초하여 감시할 수 있다. 이를 위해, 어플리케이션 구동부(260)는 패킷(PKT) 또는 누적 데이터가 기 설정된 감시 조건(CON)에 해당하는 것인지 운영체제(262) 상에서 판단할 수 있다.
어플리케이션 구동부(260)는 운영체제(262)에 기초하여 동작할 수 있다. 여기서, 운영체제(262) 상에는 적어도 하나 이상의 응용 어플리케이션(264)이 구동될 수 있다. 예를 들어, 사용자는 일 목적에 따라 운영체제(262) 상에 제1 응용 어플리케이션을 구동시킬 수 있고, 다른 목적에 따라 운영체제(262) 상에 제2 응용 어플리케이션을 구동시킬 수 있다.
어플리케이션 구동부(260)는 패킷(PKT)이 기 설정된 감시 조건(CON)에 해당하는 감시 대상 패킷(CPK)인지 판단할 수 있다. 또한, 어플리케이션 구동부(260)는 패킷(PKT)이 누적됨으로써 형성되는 누적 데이터가 기 설정된 감시 조건(CON)에 해당하는 감시 대상 데이터(DATA)인지 판단할 수 있다. 여기서, 어플리케이션 구동부(260)는 상기 감시 조건(CON)에 해당하는지 여부를 운영체제(262) 상에서 판단할 수 있다.
감시 조건(CON)은 운영체제(262)에서 기본적으로 제공되는 것일 수 있고, 응용 어플리케이션(264)에서 생성된 것일 수 있다. 다시 말해, 응용 어플리케이션(264)은 운영체제(262)에서 기본적으로 제공되는 감시 조건만을 이용하도록 제작될 수도 있지만, 스스로 생성한 감시 조건(CON)도 함께 이용하도록 제작될 수 있다.
운영체제(262)는 응용 어플리케이션(264)에 필수적이거나 자주 사용되는 감시 조건을 기본적으로 제공할 수 있다. 예를 들어, 운영체제에서 제공되는 감시 조건은 패킷(PKT)이 신규 패킷인지 여부, 패킷(PKT)이 개시 패킷인지 여부, 패킷(PKT)이 재송신 패킷인지 여부, 패킷(PKT)이 제1 전환 패킷인지 여부, 패킷(PKT)이 제2 전환 패킷인지 여부, 패킷(PKT)이 종료 패킷인지 여부, 패킷(PKT)이 범위 밖 패킷인지 여부, 누적 데이터가 목표 데이터에 도달했는지 여부, 누적 데이터가 목표 데이터에 도달하지 못했는지 여부, 선행 패킷의 수신 시점으로부터 기 설정된 시간이 경과된 후에 수신된 패킷이 선행 패킷을 수신한 이후에 수신될 것으로 기대되는 후행 패킷인지 여부 중 적어도 하나 이상을 포함할 수 있다.
감시 조건(CON)은 운영체제(262) 상에서 구동되는 응용 어플리케이션(264)에서 생성될 수 있다. 즉, 감시 조건(CON)은 운영체제(262)에서 기본적으로 제공되지 않은 것일 수 있다. 또한, 어플리케이션(264)에서 생성된 감시 조건(CON)은 운영체제(262)에서 기본적으로 제공된 감시 조건을 2 이상 조합한 것일 수 있다. 생성된 감시 조건(CON) 또한 기본적으로 제공되는 감시 조건과 마찬가지로 운영체제(262) 상에서 이용될 수 있다. 예를 들어, 어플리케이션 구동부(260)는 응용 어플리케이션(264)에서 생성된 감시 조건(CON)에 기초하여 운영체제(262) 상에서 패킷(PKT) 또는 누적 데이터를 판단할 수 있다.
어플리케이션 구동부(260)는 복수의 응용 어플리케이션들(264)에 기초하여 패킷(PKT)을 감시할 수 있다. 예를 들어, 사용자는 제1 감시 조건을 생성하는 제1 응용 어플리케이션을 운영체제(262) 상에서 구동시킬 수 있고, 어플리케이션 구동부(260)는 제1 감시 조건에 기초하여 제1 감시 대상 데이터를 찾을 수 있다. 또한, 사용자는 동시에 제2 감시 조건을 생성하는 제2 응용 어플리케이션을 운영체제(262) 상에서 구동시킬 수 있고, 어플리케이션 구동부(260)는 제2 감시 조건에 기초하여 감시 대상 패킷(CPK) 및 제2 감시 대상 데이터를 찾을 수 있다.
어플리케이션 구동부(260)는 패킷(PKT) 또는 누적 데이터가 감시 조건(CON)에 포함된 감시 이벤트에 해당하는지 판단할 수 있다. 실시예에 따라, 어플리케이션 구동부(260)는 패킷(PKT) 또는 누적 데이터가 감시 조건(CON)에 포함된 복수의 감시 이벤트들에 해당하는지 판단할 수 있다. 실시예에 따라, 어플리케이션 구동부(260)는 패킷(PKT) 또는 누적 데이터가 감시 조건(CON)이 포함하는 감시 이벤트에 포함된 복수의 서브 이벤트들에 해당하는지 판단할 수 있다.
어플리케이션 구동부(260)는 감시 대상 패킷(CPK) 또는 감시 대상 데이터(DATA) 중 적어도 하나 이상을 응용 어플리케이션(264)에 전달할 수 있다. 즉, 어플리케이션 구동부(260)는 패킷(PKT) 또는 누적 데이터가 감시 조건(CON)에 해당하는 때, 감시 대상 패킷(CPK) 또는 감시 대상 데이터(DATA) 중 적어도 하나 이상을 응용 어플리케이션(264)에 전달할 수 있다. 여기서, 감시 대상 패킷(CPK) 및 감시 대상 데이터(DATA)를 전달하는 범위는 응용 어플리케이션(264)에 의해 정해질 수 있다. 예를 들어, 제1 응용 어플리케이션은 제1 감시 대상 데이터를 전달하도록 운영체제(262)에 지시할 수 있고, 제2 응용 어플리케이션은 제2 감시 대상 데이터 및 감시 대상 패킷(CPK)을 함께 전달하도록 운영체제(262)에 지시할 수 있다.
어플리케이션 구동부(260)는 응용 어플리케이션(264)이 지시한 처리작업(HD)을 수행할 수 있다. 여기서, 처리작업(HD)은 감시 대상 패킷(CPK) 또는 감시 대상 데이터(DATA) 중 적어도 하나 이상에 기초하여 생성될 수 있다.
실시예에 따라, 복수의 응용 어플리케이션들(264)에서 상이한 처리작업(HD)들이 생성될 수 있고, 일부 응용 어플리케이션에서만 처리작업(HD)이 생성될 수 있다. 예를 들어, 제1 응용 어플리케이션은 제1 처리작업을 생성하여 운영체제(262)에 전달할 수 있으나, 제2 응용 어플리케이션은 처리작업(HD)을 생성하지 않을 수 있다.
어플리케이션 구동부(260)는 응용 어플리케이션(264)의 지시에 따라 감시 이벤트에 대응되는 처리작업(HD)을 수행할 수 있다. 여기서, 응용 어플리케이션(264)의 지시는 감시 대상 패킷(CPK) 또는 감시 대상 데이터(DATA) 중 적어도 하나 이상에 기초하여 생성될 수 있다. 실시예에 따라, 어플리케이션 구동부(260)는 응용 어플리케이션(264)의 지시에 따라 감시 이벤트들에 대응되는 처리작업들(HD)을 수행할 수 있다. 실시예에 따라, 어플리케이션 구동부(260)는 응용 어플리케이션(264)의 지시에 따라 서브 이벤트들에 대응되는 처리작업들(HD)을 수행할 수 있다.
어플리케이션 구동부(260)는 감시 조건(CON) 또는 감시 조건(CON)에 대응되는 처리작업(HD) 중 적어도 하나 이상을 메모리부에 저장할 수 있다. 또한, 어플리케이션 구동부(260)는 메모리부에 저장된 해시 함수(HF), 해시 테이블(HT), 감시 조건(CON) 또는 처리작업(HD) 중 적어도 하나 이상을 독출할 수 있다.
도 3은 도 1의 통신 감시 장치에 포함된 메모리부가 통신 연결에 대응되는 감시 조건을 저장하는 일 예를 나타내는 도면이고, 도 4는 도 1의 통신 감시 장치에 포함된 어플리케이션 구동부가 일 통신 연결에 대응되는 메모리 주소를 생성하는 일 예를 나타내는 도면이며, 도 5는 도 4의 어플리케이션 구동부가 다른 통신 연결에 대응되는 메모리 주소를 생성하는 일 예를 나타내는 도면이고, 도 6은 도 4의 어플리케이션 구동부가 또 다른 통신 연결에 대응되는 메모리 주소를 생성하는 일 예를 나타내는 도면이다.
도 3 내지 도 6을 참조하면, 메모리부는 제1 통신 연결(FLOW1), 제2 통신 연결(FLOW2), 제3 통신 연결(FLOW3) 및 제4 통신 연결(FLOW4)에 대응되는 제1 감시 조건(CON1), 제2 감시 조건(CON2) 및 제3 감시 조건(CON3)을 저장할 수 있다.
여기서, 제1 내지 제4 통신 연결들(FLOW1, FLOW2, FLOW3, FLOW4)은 어플리케이션 구동부가 실시간으로 감시하고 있는 통신 연결들 중 일부일 수 있다. 예를 들어, 제1 발신자와 제1 수신자는 제1 통신 연결(FLOW1)을 통해 데이터를 발신하거나 수신할 수 있고, 제2 발신자와 제2 수신자는 제4 통신 연결(FLOW4)을 통해 데이터를 발신하거나 수신할 수 있다. 중간자인 통신 감시 장치는 제1 내지 제4 통신 연결들(FLOW1, FLOW2, FLOW3, FLOW4)에서 각각 생성된 패킷을 수신할 수 있고, 수신된 패킷에 기초하여 제1 내지 제4 통신 연결들(FLOW1, FLOW2, FLOW3, FLOW4) 각각을 독립적으로 감시할 수 있다.
제1 내지 제3 감시 조건들(CON1, CON2, CON3) 각각은 소정의 메모리 주소에 저장될 수 있고, 제1 내지 제4 포인터들(PT1, PT2, PT3, PT4)은 제1 내지 제4 통신 연결들(FLOW1, FLOW2, FLOW3, FLOW4) 각각에 대응되는 감시 조건을 지정할 수 있다. 즉, 제1 내지 제4 포인터들(PT1, PT2, PT3, PT4)은 제1 내지 제4 통신 연결들(FLOW1, FLOW2, FLOW3, FLOW4)과 제1 내지 제3 감시 조건들(CON1, CON2, CON3)을 대응시킬 수 있다. 예를 들어, 제1 포인터(PT1)는 제1 통신 연결(FLOW1)에 대응되는 감시 조건을 지정할 수 있고, 제4 포인터(PT4)는 제4 통신 연결(FLOW4)에 대응되는 감시 조건을 지정할 수 있다.
제1 감시 조건(CON1)은 제1 감시 이벤트(EVENT1)를 포함할 수 있다. 예를 들어, 제1 감시 조건(CON1)은 누적 데이터가 제1 감시 대상 데이터인지 여부를 제1 감시 이벤트(EVENT1)로서 포함할 수 있다.
메모리부는 제1 처리작업(HD1)을 더 저장할 수 있다. 예를 들어, 응용 어플리케이션은 누적 데이터가 제1 감시 대상 데이터일 때 어플리케이션 구동부가 제1 처리작업(HD1)을 수행하도록 지시할 수 있다. 이 때, 메모리부는 제1 감시 이벤트(EVENT1)에 대응되는 제1 처리작업(HD1)을 제1 감시 이벤트(EVENT1)와 함께 저장할 수 있다.
제2 감시 조건(CON2)은 제1 감시 이벤트(EVENT1) 및 제2 감시 이벤트(EVENT2)를 포함할 수 있다. 예를 들어, 제2 감시 조건(CON2)은 누적 데이터가 제1 감시 대상 데이터인지 여부 및 수신된 패킷이 제1 감시 대상 패킷인지 여부를 제1 감시 이벤트(EVENT1) 및 제2 감시 이벤트(EVENT2)로서 포함할 수 있다.
메모리부는 제1 처리작업(HD1) 및 제2 처리작업(HD2)을 더 저장할 수 있다. 예를 들어, 응용 어플리케이션은 누적 데이터가 제1 감시 대상 데이터일 때 어플리케이션 구동부가 제1 처리작업(HD1)을 수행하도록 지시할 수 있고, 수신된 패킷이 제1 감시 대상 패킷일 때 어플리케이션 구동부가 제2 처리작업(HD2)을 수행하도록 지시할 수 있다. 이 때, 메모리부는 제1 감시 이벤트(EVENT1)에 대응되는 제1 처리작업(HD1)을 제1 감시 이벤트(EVENT1)와 함께 저장할 수 있고, 제2 감시 이벤트(EVENT2)에 대응되는 제2 처리작업(HD2)을 제2 감시 이벤트(EVENT2)와 함께 저장할 수 있다.
제3 감시 조건(CON3)은 제3 감시 이벤트 및 제4 감시 이벤트를 포함할 수 있다. 여기서, 제3 감시 이벤트는 제1 내지 제3 서브 이벤트들(e1, e2, e3)을 포함할 수 있고, 제4 감시 이벤트는 제4 내지 제7 서브 이벤트들(e4, e5, e6, e7)을 포함할 수 있다.
서브 이벤트들은 서로 시간적인 선후관계를 가질 수 있다. 제1 서브 이벤트(e1)가 발생한 이후 제2 서브 이벤트(e2)가 발생할 수 있고, 제2 서브 이벤트(e2)가 발생한 이후 제3 서브 이벤트(e3)가 발생할 수 있다. 예를 들어, 어플리케이션 구동부는 수신된 패킷이 제2 감시 대상 패킷인지 여부를 제1 서브 이벤트(e1)로서 감시한 이후 누적 데이터가 제2 감시 대상 데이터인지 여부를 제2 서브 이벤트(e2)로서 감시할 수 있고, 누적 데이터가 제2 감시 대상 데이터인지 여부를 제2 서브 이벤트(e2)로서 감시한 이후 수신된 패킷이 제3 감시 대상 패킷인지 여부를 제3 서브 이벤트(e3)로서 감시할 수 있다. 어플리케이션 구동부는 제1 서브 이벤트(e1)가 발생하지 않을 경우 제2 서브 이벤트(e2)를 감시하지 않을 수 있고, 제2 서브 이벤트(e2)가 발생하지 않을 경우 제3 서브 이벤트(e3)를 감시하지 않을 수 있다. 여기서, 메모리부는 상호 연관된 제1 내지 제3 서브 이벤트들(e1, e2, e3)을 제3 감시 이벤트로서 저장할 수 있다.
또한, 일 선행 서브 이벤트에 대해 2 이상의 후행 서브 이벤트들이 존재할 수 있다. 제4 서브 이벤트(e4)가 발생한 이후 제5 서브 이벤트(e5)가 발생할 수 있고, 제5 서브 이벤트(e5)가 발생한 이후에 제6 서브 이벤트(e6) 및/또는 제7 서브 이벤트(e7)가 발생할 수 있다. 예를 들어, 어플리케이션 구동부는 수신된 패킷이 제4 감시 대상 패킷인지 여부를 제4 서브 이벤트(e4)로서 감시한 이후 누적 데이터가 제3 감시 대상 데이터인지 여부를 제5 서브 이벤트(e5)로서 감시할 수 있다. 또한, 어플리케이션 구동부는 누적 데이터가 제3 감시 대상 데이터인지 여부를 제5 서브 이벤트(e5)로서 감시한 이후 누적 데이터가 제4 감시 대상 데이터인지 여부를 제6 서브 이벤트(e6)로서 감시할 수 있고, 누적 데이터가 제3 감시 대상 데이터인지 여부를 제5 서브 이벤트(e5)로서 감시한 이후 수신된 패킷이 제5 감시 대상 패킷인지 여부를 제7 서브 이벤트(e7)로서 감시할 수 있다. 어플리케이션 구동부는 제5 서브 이벤트(e5)가 발생하지 않을 경우 제6 서브 이벤트(e6)를 감시하지 않을 수 있고, 제5 서브 이벤트(e5)가 발생하지 않을 경우 제7 서브 이벤트(e7)를 감시하지 않을 수 있다. 여기서, 메모리부는 상호 연관된 제4 내지 제7 서브 이벤트들(e4, e5, e6, e7)을 제4 감시 이벤트로서 저장할 수 있다.
메모리부는 제3 내지 제6 처리작업들(HD3, HD4, HD5, HD6)을 더 저장할 수 있다. 제3 내지 제6 처리작업들(HD3, HD4, HD5, HD6)은 서브 이벤트들(e1 내지 e7) 중 일부(e3, e5, e6, e7)에 대응될 수 있다.
예를 들어, 응용 어플리케이션은 제1 서브 이벤트(e1) 및 제2 서브 이벤트(e2)가 발생한 이후 제3 서브 이벤트(e3)가 발생할 때 어플리케이션 구동부가 제3 처리작업(HD3)을 수행하도록 지시할 수 있고, 제4 서브 이벤트(e4)가 발생한 이후 제5 서브 이벤트(e5)가 발생할 때 어플리케이션 구동부가 제4 처리작업(HD4)을 수행하도록 지시할 수 있다. 나아가, 응용 어플리케이션은 제4 서브 이벤트(e4) 및 제5 서브 이벤트(e5)가 발생한 이후 제6 서브 이벤트(e6)가 발생할 때 어플리케이션 구동부가 제5 처리작업(HD5)을 수행하도록 지시할 수 있고, 제4 서브 이벤트(e4) 및 제5 서브 이벤트(e5)가 발생한 이후 제7 서브 이벤트(e7)가 발생할 때 어플리케이션 구동부가 제6 처리작업(HD6)을 수행하도록 지시할 수 있다.
이 때, 메모리부는 제3 서브 이벤트(e3)에 대응되는 제3 처리작업(HD3)을 제3 서브 이벤트(e3)와 함께 저장할 수 있고, 제5 서브 이벤트(e5)에 대응되는 제4 처리작업(HD4)을 제5 서브 이벤트(e5)와 함께 저장할 수 있다. 또한, 메모리부는 제6 서브 이벤트(e6)에 대응되는 제5 처리작업(HD5)을 제6 서브 이벤트(e6)와 함께 저장할 수 있고, 제7 서브 이벤트(e7)에 대응되는 제6 처리작업(HD6)을 제7 서브 이벤트(e7)와 함께 저장할 수 있다.
제1 통신 연결(FLOW1) 및 제3 통신 연결(FLOW3)은 제1 감시 조건(CON1)에 대응될 수 있고, 제2 통신 연결(FLOW2)는 제2 감시 조건(CON2)에 대응될 수 있으며, 제4 통신 연결(FLOW4)은 제3 감시 조건(CON3)에 대응될 수 있다.
예를 들어, 어플리케이션 구동부는 제1 통신 연결(FLOW1) 및 제3 통신 연결(FLOW3)에 대해 제1 감시 조건(CON1)에 기초하여 패킷 또는 누적 데이터를 감시할 수 있다. 이를 위해, 제1 포인터(PT1) 및 제3 포인터(PT3)는 제1 감시 조건(CON1)이 저장된 메모리 주소를 포함할 수 있다. 제1 포인터(PT1) 및 제3 포인터(PT3)는 실질적으로 동일한 메모리 주소를 포함함으로써 실질적으로 동일한 감시 조건을 지정할 수 있다. 제1 통신 연결(FLOW1) 및 제3 통신 연결(FLOW3)이 실질적으로 동일한 감시 조건을 공유하므로, 감시 조건이 효율적으로 저장될 수 있다.
메모리부는 해시 함수(HF), 해시 테이블(HT) 및 제1 내지 제3 감시 조건들(CON1, CON2, CON3)을 저장할 수 있다. 실시예에 따라, 메모리부는 제1 내지 제6 처리작업들(HD1 내지 HD6)을 더 저장할 수 있다. 여기서, 해시 테이블(HT)은 해시 함수(HF)에 대응될 수 있고, 제1 내지 제3 감시 조건들(CON1, CON2, CON3)은 패킷이 전송되는 제1 내지 제4 통신 연결들(FLOW1, FLOW2, FLOW3, FLOW4)에 대응될 수 있다.
메모리부는 제1 내지 제3 감시 조건들(CON1, CON2, CON3)을 해시 함수(HF) 및 해시 테이블(HT)에 기초하여 저장할 수 있다. 제1 감시 조건(CON1)은 제1 감시 이벤트(EVENT1)를 포함할 수 있다. 제2 감시 조건(CON2)은 제1 감시 이벤트(EVENT1) 및 제2 감시 이벤트(EVENT2)를 포함할 수 있다. 제3 감시 조건(CON3)은 복수의 서브 이벤트들(e1 내지 e7)을 각각 포함하는 제3 감시 이벤트 및 제4 감시 이벤트를 포함할 수 있다.
메모리부는 해시 테이블(HT)에 기초하여 제1 해시값(HV1)에 대응되는 제1 메모리 주소(ADDRESS1)에 제1 감시 이벤트(EVENT1) 및 제1 처리작업(HD1)을 저장할 수 있다. 이를 위해, 어플리케이션 구동부는 제1 감시 이벤트(EVENT1) 및 제1 처리작업(HD1)을 해시 함수(HF)에 입력함으로써 제1 해시값(HV1)을 생성할 수 있다.
실시예에 따라, 메모리부는 해시 테이블(HT)에 기초하여 제1 해시값(HV1)에 대응되는 제1 메모리 주소(ADDRESS1)에 제1 감시 이벤트(EVENT1) 또는 제1 처리작업(HD1)을 저장할 수 있다. 이를 위해, 어플리케이션 구동부는 제1 감시 이벤트(EVENT1) 또는 제1 처리작업(HD1)을 해시 함수(HF)에 입력함으로써 제1 해시값(HV1)을 생성할 수 있다.
메모리부는 해시 테이블(HT)에 기초하여 제1 연산값(CV1)에 대응되는 제2 메모리 주소(ADDRESS2)에 제1 감시 이벤트(EVENT1), 제2 감시 이벤트(EVENT2), 제1 처리작업(HD1) 및 제2 처리작업(HD2)을 저장할 수 있다. 여기서, 제1 처리작업(HD1)은 제1 감시 이벤트(EVENT1)에 대응될 수 있고, 제2 처리작업(HD2)은 제2 감시 이벤트(EVENT2)에 대응될 수 있다. 이를 위해, 어플리케이션 구동부는 제1 감시 이벤트(EVENT1) 및 제1 처리작업(HD1)을 해시 함수(HF)에 입력함으로써 제2 해시값(HV2)을 생성할 수 있고, 제2 감시 이벤트(EVENT2) 및 제2 처리작업(HD2)을 해시 함수(HF)에 입력함으로써 제3 해시값(HV3)을 생성할 수 있다. 또한, 어플리케이션 구동부는 제2 해시값(HV2)과 제3 해시값(HV3)을 배타적 논리합(eXclusive OR; XOR)으로 연산하여 제1 연산값(CV1)을 생성할 수 있다.
실시예에 따라, 메모리부는 해시 테이블(HT)에 기초하여 제1 연산값(CV1)에 대응되는 제2 메모리 주소(ADDRESS2)에 제1 감시 이벤트(EVENT1), 제2 감시 이벤트(EVENT2), 제1 처리작업(HD1) 및 제2 처리작업(HD2) 중 적어도 하나 이상을 저장할 수 있다. 이를 위해, 어플리케이션 구동부는 제1 감시 이벤트(EVENT1) 또는 제1 처리작업(HD1)을 해시 함수(HF)에 입력함으로써 제2 해시값(HV2)을 생성할 수 있고, 제2 감시 이벤트(EVENT2) 또는 제2 처리작업(HD2)을 해시 함수(HF)에 입력함으로써 제3 해시값(HV3)을 생성할 수 있다. 또한, 어플리케이션 구동부는 제2 해시값(HV2)과 제3 해시값(HV3)을 배타적 논리합으로 연산하여 제1 연산값(CV1)을 생성할 수 있다.
메모리부는 해시 테이블(HT)에 기초하여 제2 연산값(CV2)에 대응되는 제3 메모리 주소(ADDRESS3)에 제1 내지 제7 서브 이벤트들(e1 내지 e7) 및 제3 내지 제6 처리작업들(HD3 내지 HD6)을 저장할 수 있다. 여기서, 제3 처리작업(HD3)은 제3 서브 이벤트(e3)에 대응될 수 있고, 제4 처리작업(HD4)은 제5 서브 이벤트(e5)에 대응될 수 있으며, 제5 처리작업(HD5)은 제6 서브 이벤트(e6)에 대응될 수 있고, 제6 처리작업(HD6)은 제7 서브 이벤트(e7)에 대응될 수 있다. 이를 위해, 어플리케이션 구동부는 제3 서브 이벤트(e3) 및 제3 처리작업(HD3)을 해시 함수(HF)에 입력함으로써 제4 해시값(HV4)을 생성할 수 있고, 제5 서브 이벤트(e5) 및 제4 처리작업(HD4)을 해시 함수(HF)에 입력함으로써 제5 해시값(HV5)을 생성할 수 있다. 또한, 어플리케이션 구동부는 제6 서브 이벤트(e6) 및 제5 처리작업(HD5)을 해시 함수(HF)에 입력함으로써 제6 해시값(HV6)을 생성할 수 있고, 제7 서브 이벤트(e7) 및 제6 처리작업(HD6)을 해시 함수(HF)에 입력함으로써 제7 해시값(HV7)을 생성할 수 있다. 마지막으로, 어플리케이션 구동부는 제4 내지 제7 해시값들(HV4 내지 HV7)을 배타적 논리합으로 연산하여 제2 연산값(CV2)을 생성할 수 있다.
실시예에 따라, 메모리부는 해시 테이블(HT)에 기초하여 제2 연산값(CV2)에 대응되는 제3 메모리 주소(ADDRESS3)에 제1 내지 제7 서브 이벤트들(e1 내지 e7) 또는 제3 내지 제6 처리작업들(HD3 내지 HD6) 중 적어도 하나 이상을 저장할 수 있다. 이를 위해, 어플리케이션 구동부는 제3 서브 이벤트(e3) 또는 제3 처리작업(HD3)을 해시 함수(HF)에 입력함으로써 제4 해시값(HV4)을 생성할 수 있고, 제5 서브 이벤트(e5) 또는 제4 처리작업(HD4)을 해시 함수(HF)에 입력함으로써 제5 해시값(HV5)을 생성할 수 있다. 또한, 어플리케이션 구동부는 제6 서브 이벤트(e6) 또는 제5 처리작업(HD5)을 해시 함수(HF)에 입력함으로써 제6 해시값(HV6)을 생성할 수 있고, 제7 서브 이벤트(e7) 또는 제6 처리작업(HD6)을 해시 함수(HF)에 입력함으로써 제7 해시값(HV7)을 생성할 수 있다. 마지막으로, 어플리케이션 구동부는 제4 내지 제7 해시값들(HV4 내지 HV7)을 배타적 논리합으로 연산하여 제2 연산값(CV2)을 생성할 수 있다.
제1 내지 제4 포인터들(PT1 내지 PT4)은 제1 내지 제3 메모리 주소들(ADDRESS1, ADDRESS2, ADDRESS3) 중 하나를 포함할 수 있다. 그 결과, 제1 내지 제4 포인터들(PT1 내지 PT4)은 제1 내지 제3 메모리 주소들(ADDRESS1, ADDRESS2, ADDRESS3)에 저장된 제1 내지 제3 감시 조건들(CON1, CON2, CON3) 중 하나를 지정할 수 있다.
이렇듯, 메모리 주소들이 감시 이벤트들, 서브 이벤트들 또는 처리작업들 중 적어도 하나 이상에 기초하여 결정되므로, 어플리케이션 구동부가 2 이상의 통신 연결들(예를 들어, 제1 통신 연결 및 제3 통신 연결)을 실질적으로 동일한 감시 조건(예를 들어, 제1 감시 이벤트)에 따라 감시하고 상기 통신 연결들에 대해 실질적으로 동일한 처리작업(예를 들어, 제1 처리작업)을 수행할 때, 상기 통신 연결들에 대응되는 포인터들(예를 들어, 제1 포인터 및 제3 포인터)은 실질적으로 동일한 메모리 주소(예를 들어, 제1 메모리 주소)를 포함할 수 있다. 다시 말해, 상기 통신 연결들은 실질적으로 동일한 메모리 주소에 저장된 감시 조건 및 처리작업을 공유할 수 있다. 그 결과, 메모리부는 감시 조건 및 처리작업을 효율적으로 저장할 수 있다.
도 7은 도 1의 통신 감시 장치에 포함된 메모리부가 통신 연결에 대응되는 감시 조건을 저장하는 다른 예를 나타내는 도면이다.
도 7을 참조하면, 메모리부는 제1 통신 연결(FLOW1), 제2 통신 연결(FLOW2), 제3 통신 연결(FLOW3) 및 제4 통신 연결(FLOW4)에 대응되는 제1 감시 조건(CON1), 제2 감시 조건(CON2) 및 제3 감시 조건(CON3)을 저장할 수 있다.
제1 내지 제3 감시 조건들(CON1, CON2, CON3) 각각은 소정의 메모리 주소에 저장될 수 있고, 제1 내지 제4 포인터들(PT1, PT2, PT3, PT4)은 제1 내지 제4 통신 연결들(FLOW1, FLOW2, FLOW3, FLOW4) 각각에 대응되는 감시 조건을 지정할 수 있다.
제1 내지 제4 통신 연결들(FLOW1, FLOW2, FLOW3, FLOW4) 각각에 대응되는 감시 조건은 시간의 흐름에 따라 동적으로 변화될 수 있다. 즉, 제1 내지 제4 포인터들(PT1, PT2, PT3, PT4)은 시간의 흐름에 따라 실질적으로 상이한 감시 조건을 지정하도록 변화될 수 있다.
예를 들어, 도 7에 도시된 메모리부는 도 3에 도시된 메모리부보다 시간적으로 후행할 수 있다. 이 경우, 제1 감시 조건(CON1)을 지정하던 제3 포인터(PT3)가 제2 감시 조건(CON2)을 지정하도록 변화될 수 있다. 한편, 도 7에 도시된 메모리부는 도 3에 도시된 메모리부보다 시간적으로 선행할 수 있다. 이 경우, 제2 감시 조건(CON2)을 지정하던 제3 포인터(PT3)가 제1 감시 조건(CON1)을 지정하도록 변화될 수 있다.
제3 통신 연결(FLOW3)에 대해 제1 감시 이벤트(EVENT1)를 감시하고 제1 처리방법(HD1)을 수행하던 어플리케이션 구동부가 제2 감시 이벤트(EVENT2)를 더 감시하고 제2 처리작업(HD2)을 더 수행해야 할 경우, 도 7에 도시된 메모리부가 도 3에 도시된 메모리부보다 시간적으로 후행할 수 있다.
이 경우, 어플리케이션 구동부는 제3 통신 연결(FLOW3)에 대한 감시 이벤트들(즉, 제1 감시 이벤트 및 제2 감시 이벤트)과 처리 방법들(즉, 제1 처리작업 및 제2 처리작업)에 기초하여 제3 포인터(PT3)가 포함해야 하는 새로운 메모리 주소(즉, 제2 메모리 주소)를 도 5에 도시된 연산에 따라 생성할 수 있다. 제3 포인터(PT3)가 제2 메모리 주소(ADDRESS2)를 포함함으로써, 제3 통신 연결(FLOW3)은 도 7에 도시된 것과 같이 제2 감시 조건(CON2)에 대응될 수 있다.
실시예에 따라, 제1 감시 조건(CON1)은 도 4의 제1 해시값(HV1)을 더 포함할 수 있다. 실질적으로 동일한 해시 함수(HF)에 실질적으로 동일한 제1 감시 이벤트(EVENT1) 및 제1 처리방법(HD1)가 입력되므로, 도 4의 제1 해시값(HV1)과 도 5의 제2 해시값(HV2)은 실질적으로 동일할 수 있다. 이 경우, 어플리케이션 구동부는 추가되는 제2 감시 이벤트(EVENT2) 및 제2 처리방법(HD2)에 기초하여 도 5의 제3 해시값(HV3)을 연산할 수 있고, 연산된 제3 해시값(HV3)과 메모리부로부터 독출된 제1 해시값(HV1)을 배타적 논리합으로 연산함으로써 제1 연산값(CV1)을 생성할 수 있다.
상대적으로 연산과정이 단순한 도 5의 연산과 달리, 감시 이벤트 및 처리작업의 개수가 증가될수록 매번 새롭게 연산하는 전자는 어플리케이션 구동부에게 부담이 될 수 있다. 따라서, 이 경우 기존에 연산된 값을 메모리부에서 독출하여 이용하는 후자가 더 효율적일 수 있다.
제3 통신 연결(FLOW3)에 대해 제1 감시 이벤트(EVENT1) 및 제2 감시 이벤트(EVENT2)를 감시하고 제1 처리방법(HD1) 및 제2 처리방법(HD2)을 수행하던 어플리케이션 구동부가 더 이상 제2 감시 이벤트(EVENT2)를 감시하지 않고 제2 처리방법(HD2)을 수행하지 않을 경우, 도 7에 도시된 메모리부가 도 3에 도시된 메모리부보다 시간적으로 선행할 수 있다.
이 경우, 어플리케이션 구동부는 제3 통신 연결(FLOW3)에 대한 감시 이벤트(즉, 제1 감시 이벤트)와 처리 방법(즉, 제1 처리작업)에 기초하여 제3 포인터(PT3)가 포함해야 하는 새로운 메모리 주소(즉, 제1 메모리 주소)를 도 4에 도시된 연산에 따라 생성할 수 있다. 제3 포인터(PT3)가 제1 메모리 주소(ADDRESS1)를 포함함으로써, 제3 통신 연결(FLOW3)은 도 3에 도시된 것과 같이 제1 감시 조건(CON1)에 대응될 수 있다.
실시예에 따라, 제2 감시 조건(CON2)은 도 5의 제1 연산값(CV1)을 더 포함할 수 있다. 이 경우, 어플리케이션 구동부는 제거되는 제2 감시 이벤트(EVENT2) 및 제2 처리방법(HD2)에 기초하여 도 5의 제3 해시값(HV3)을 연산할 수 있고, 연산된 제3 해시값(HV3)과 메모리부로부터 독출된 제1 연산값(CV1)을 배타적 논리합으로 연산함으로써 제1 해시값(HV1)을 생성할 수 있다.
상대적으로 연산과정이 단순한 도 4의 연산과 달리, 감시 이벤트 및 처리작업의 개수가 증가될수록 매번 새롭게 연산하는 전자는 어플리케이션 구동부에게 부담이 될 수 있다. 따라서, 이 경우 기존에 연산된 값을 메모리부에서 독출하여 이용하는 후자가 더 효율적일 수 있다.
도 8은 본 발명의 실시예들에 따른 통신 감시 방법을 나타내는 순서도이다.
도 8을 참조하면, 본 발명의 실시예들에 따른 통신 감시 방법에 있어서, 통신 프로토콜에 따라 생성된 패킷이 수신(S120)될 수 있고, 해시 함수, 해시 테이블 및 감시 조건이 저장(S140)될 수 있으며, 패킷이 응용 어플리케이션에 기초하여 감시(S160)될 수 있다.
통신 프로토콜에 따라 생성된 패킷이 수신(S120)될 수 있다. 여기서, 패킷은 발신자 또는 수신자가 아닌 제3자가 수신할 수 있다. 예를 들어, 통신 네트워크 상에서 발신자와 수신자 사이에 위치한 중간자가 패킷을 수신할 수 있다. 따라서, 수신된 패킷은 다시 수신자에게 전달될 수 있다. 실시예에 따라, 통신 프로토콜은 전송 제어 프로토콜일 수 있다.
해시 함수, 해시 테이블 및 감시 조건이 저장(S140)될 수 있다. 실시예에 따라, 처리작업이 더 저장될 수 있다. 여기서, 해시 테이블은 해시 함수에 대응될 수 있고, 감시 조건은 패킷이 전송되는 각각의 통신 연결에 대응될 수 있다.
감시 조건은 해시 함수 및 해시 테이블에 기초하여 저장될 수 있다. 감시 조건은 감시 이벤트를 포함할 수 있다. 실시예에 따라, 감시 조건은 복수의 감시 이벤트들을 포함할 수 있다. 실시예에 따라, 감시 조건은 복수의 서브 이벤트들을 포함하는 감시 이벤트를 포함할 수 있다.
해시 테이블에 기초하여 해시값에 대응되는 메모리 주소에 감시 이벤트 또는 감시 이벤트에 대응되는 처리작업이 저장될 수 있다. 이를 위해, 감시 이벤트 또는 처리작업을 해시 함수에 입력함으로써 해시값이 생성될 수 있다.
해시 테이블에 기초하여 해시값에 대응되는 메모리 주소에 감시 이벤트 및 처리작업이 저장될 수 있다. 이를 위해, 감시 이벤트 및 처리작업을 해시 함수에 입력함으로써 해시값이 생성될 수 있다.
해시 테이블에 기초하여 연산값에 대응되는 메모리 주소에 감시 이벤트들 또는 감시 이벤트들에 대응되는 처리작업들 중 적어도 하나 이상이 저장될 수 있다. 이를 위해, 감시 이벤트들 또는 처리작업들을 해시 함수에 입력함으로써 해시값들이 생성될 수 있고, 생성된 해시값들을 배타적 논리합으로 연산하여 연산값이 생성될 수 있다.
해시 테이블에 기초하여 연산값에 대응되는 메모리 주소에 감시 이벤트들 및 처리작업들이 저장될 수 있다. 여기서, 처리작업들은 감시 이벤트들에 대응될 수 있다. 이를 위해, 감시 이벤트들 및 처리작업들을 해시 함수에 입력함으로써 해시값들이 생성될 수 있고, 해시값들을 배타적 논리합으로 연산하여 연산값이 생성될 수 있다.
해시 테이블에 기초하여 연산값에 대응되는 메모리 주소에 서브 이벤트들 또는 서브 이벤트들에 대응되는 처리작업들 중 적어도 하나 이상이 저장될 수 있다. 이를 위해, 서브 이벤트들 또는 처리작업들을 해시 함수에 입력함으로써 해시값들이 생성될 수 있고, 해시값들을 배타적 논리합으로 연산하여 연산값이 생성될 수 있다.
해시 테이블에 기초하여 연산값에 대응되는 메모리 주소에 서브 이벤트들 및 처리작업들이 저장될 수 있다. 여기서, 처리작업들은 서브 이벤트들에 대응될 수 있다. 이를 위해, 서브 이벤트들 및 처리작업들을 해시 함수에 입력함으로써 해시값들이 생성될 수 있고, 해시값들을 배타적 논리합으로 연산하여 연산값이 생성될 수 있다.
패킷은 운영체제 상에서 구동되는 응용 어플리케이션에 기초하여 감시(S160)될 수 있다. 운영체제 상에는 적어도 하나 이상의 응용 어플리케이션이 구동될 수 있다. 예를 들어, 사용자는 일 목적에 따라 운영체제 상에 제1 응용 어플리케이션을 구동시킬 수 있고, 다른 목적에 따라 운영체제 상에 제2 응용 어플리케이션을 구동시킬 수 있다.
패킷이 감시(S160)됨에 있어서, 패킷 또는 누적 데이터가 감시 대상 패킷 또는 감시 대상 데이터인지 운영체제 상에서 판단(S162)될 수 있고, 감시 대상 패킷 또는 감시 대상 데이터 중 적어도 하나 이상이 응용 어플리케이션에 전달(S164)될 수 있다. 또한, 실시예에 따라, 응용 어플리케이션이 지시한 처리작업이 수행(S166)될 수 있다.
패킷 또는 패킷이 누적됨으로써 형성되는 누적 데이터가 기 설정된 감시 조건에 해당하는 감시 대상 패킷 또는 감시 대상 데이터인지 운영체제 상에서 판단(S162)될 수 있다. 패킷이 기 설정된 감시 조건에 해당하는 감시 대상 패킷인지 판단될 수 있다. 또한, 패킷이 누적됨으로써 형성되는 누적 데이터가 기 설정된 감시 조건에 해당하는 감시 대상 데이터인지 판단될 수 있다. 여기서, 상기 감시 조건에 해당하는지 여부는 운영체제 상에서 판단될 수 있다.
감시 조건은 운영체제 상에서 구동되는 응용 어플리케이션에서 생성될 수 있다. 즉, 감시 조건 중 일부는 운영체제에서 기본적으로 제공되지 않은 것일 수 있다. 또한, 어플리케이션에서 생성된 감시 조건은 운영체제에서 기본적으로 제공된 감시 조건을 2 이상 조합한 것일 수 있다. 생성된 감시 조건 또한 기본적으로 제공되는 감시 조건과 마찬가지로 운영체제 상에서 이용될 수 있다.
패킷 또는 누적 데이터가 감시 조건에 포함된 감시 이벤트에 해당하는지 판단될 수 있다. 실시예에 따라, 패킷 또는 누적 데이터가 감시 조건에 포함된 복수의 감시 이벤트들에 해당하는지 판단될 수 있다. 실시예에 따라, 패킷 또는 누적 데이터가 감시 조건이 포함하는 감시 이벤트에 포함된 복수의 서브 이벤트들에 해당하는지 판단될 수 있다.
감시 대상 패킷 또는 감시 대상 데이터 중 적어도 하나 이상이 응용 어플리케이션에 전달(S164)될 수 있다. 즉, 패킷 또는 누적 데이터가 감시 조건에 해당하는 때, 감시 대상 패킷 또는 감시 대상 데이터 중 적어도 하나 이상이 응용 어플리케이션에 전달될 수 있다. 여기서, 감시 대상 패킷 및 감시 대상 데이터를 전달하는 범위는 응용 어플리케이션에 의해 정해질 수 있다.
응용 어플리케이션이 지시한 처리작업이 수행(S166)될 수 있다. 여기서, 처리작업은 감시 대상 패킷 또는 감시 대상 데이터 중 적어도 하나 이상에 기초하여 생성될 수 있다. 실시예에 따라, 복수의 응용 어플리케이션들에서 상이한 처리작업들이 생성될 수 있고, 일부 응용 어플리케이션에서만 처리작업이 생성될 수 있다.
응용 어플리케이션의 지시에 따라 감시 이벤트에 대응되는 처리작업이 수행될 수 있다. 여기서, 응용 어플리케이션의 지시는 감시 대상 패킷 또는 감시 대상 데이터 중 적어도 하나 이상에 기초하여 생성될 수 있다. 실시예에 따라, 응용 어플리케이션의 지시에 따라 감시 이벤트들에 대응되는 처리작업들이 수행될 수 있다. 실시예에 따라, 응용 어플리케이션의 지시에 따라 서브 이벤트들에 대응되는 처리작업들이 수행될 수 있다.
본 발명의 실시예들에 따른 통신 감시 방법은 운영체제 상에서 패킷 및 누적 데이터를 감시해 운영체제 상에서 구동되는 응용 어플리케이션에 전달함으로써 용이하게 새로운 감시 방법을 추가할 수 있다. 즉, 사용자는 운영체제에서 제공하는 개발도구에 기초하여 응용 어플리케이션을 개발함으로써, 효율적인 감시 방법을 용이하게 추가할 수 있다.
뿐만 아니라, 본 발명의 실시예들에 따른 통신 감시 방법은 감시 조건을 해시 함수 및 해시 테이블에 기초하여 효율적으로 저장할 수 있다.
도 9는 본 발명의 실시예들에 따른 저장 매체에 기록된 운영체제 프로그램이 실행시키는 통신 감시 방법을 나타내는 순서도이다.
도 9를 참조하면, 본 발명의 실시예들에 따른 저장 매체에 기록된 운영체제 프로그램은 통신 연결에 대응되는 감시 조건을 해시 함수 및 해시 테이블에 기초하여 저장(S220)하도록 할 수 있고, 패킷 또는 누적 데이터가 기 설정된 감시 조건에 해당하는 감시 대상 패킷 또는 감시 대상 데이터인지 판단(S240)하도록 할 수 있으며, 감시 대상 패킷 또는 감시 대상 데이터 중 적어도 하나 이상을 응용 어플리케이션에 전달하도록(S260) 할 수 있고, 감시 대상 패킷 또는 감시 대상 데이터 중 적어도 하나 이상에 기초하여 응용 어플리케이션이 지시한 처리작업을 수행(S280)하도록 할 수 있다.
통신 프로토콜에 따라 패킷을 생성하는 통신 연결에 대응되는 감시 조건이 해시 함수 및 해시 함수에 대응되는 해시 테이블에 기초하여 저장(S220)될 수 있다.
감시 조건은 해시 함수 및 해시 테이블에 기초하여 저장될 수 있다. 감시 조건은 감시 이벤트를 포함할 수 있다. 실시예에 따라, 감시 조건은 복수의 감시 이벤트들을 포함할 수 있다. 실시예에 따라, 감시 조건은 복수의 서브 이벤트들을 포함하는 감시 이벤트를 포함할 수 있다.
해시 테이블에 기초하여 해시값에 대응되는 메모리 주소에 감시 이벤트 또는 감시 이벤트에 대응되는 처리작업이 저장될 수 있다. 이를 위해, 감시 이벤트 또는 처리작업을 해시 함수에 입력함으로써 해시값이 생성될 수 있다.
해시 테이블에 기초하여 해시값에 대응되는 메모리 주소에 감시 이벤트 및 처리작업이 저장될 수 있다. 이를 위해, 감시 이벤트 및 처리작업을 해시 함수에 입력함으로써 해시값이 생성될 수 있다.
해시 테이블에 기초하여 연산값에 대응되는 메모리 주소에 감시 이벤트들 또는 감시 이벤트들에 대응되는 처리작업들 중 적어도 하나 이상이 저장될 수 있다. 이를 위해, 감시 이벤트들 또는 처리작업들을 해시 함수에 입력함으로써 해시값들이 생성될 수 있고, 생성된 해시값들을 배타적 논리합으로 연산하여 연산값이 생성될 수 있다.
해시 테이블에 기초하여 연산값에 대응되는 메모리 주소에 감시 이벤트들 및 처리작업들이 저장될 수 있다. 여기서, 처리작업들은 감시 이벤트들에 대응될 수 있다. 이를 위해, 감시 이벤트들 및 처리작업들을 해시 함수에 입력함으로써 해시값들이 생성될 수 있고, 해시값들을 배타적 논리합으로 연산하여 연산값이 생성될 수 있다.
해시 테이블에 기초하여 연산값에 대응되는 메모리 주소에 서브 이벤트들 또는 서브 이벤트들에 대응되는 처리작업들 중 적어도 하나 이상이 저장될 수 있다. 이를 위해, 서브 이벤트들 또는 처리작업들을 해시 함수에 입력함으로써 해시값들이 생성될 수 있고, 해시값들을 배타적 논리합으로 연산하여 연산값이 생성될 수 있다.
해시 테이블에 기초하여 연산값에 대응되는 메모리 주소에 서브 이벤트들 및 처리작업들이 저장될 수 있다. 여기서, 처리작업들은 서브 이벤트들에 대응될 수 있다. 이를 위해, 서브 이벤트들 및 처리작업들을 해시 함수에 입력함으로써 해시값들이 생성될 수 있고, 해시값들을 배타적 논리합으로 연산하여 연산값이 생성될 수 있다.
저장 매체에 기록된 운영체제 프로그램에 의해, 통신 프로토콜에 따라 생성된 패킷 또는 패킷이 누적됨으로써 형성되는 누적 데이터가 기 설정된 감시 조건에 해당하는 감시 대상 패킷 또는 감시 대상 데이터인지 운영체제 상에서 판단(S240)될 수 있다. 실시예에 따라, 통신 프로토콜은 전송 제어 프로토콜일 수 있다.
저장 매체에 기록된 운영체제 프로그램에 의해, 감시 대상 패킷 또는 감시 대상 데이터 중 적어도 하나 이상이 응용 어플리케이션에 전달(S260)될 수 있다. 즉, 패킷 또는 누적 데이터가 감시 조건에 해당하는 때, 감시 대상 패킷 또는 감시 대상 데이터 중 적어도 하나 이상이 응용 어플리케이션에 전달될 수 있다. 여기서, 감시 대상 패킷 및 감시 대상 데이터를 전달하는 범위는 응용 어플리케이션에 의해 정해질 수 있다.
저장 매체에 기록된 운영체제 프로그램에 의해, 응용 어플리케이션이 지시한 처리작업이 수행(S280)될 수 있다. 여기서, 처리작업은 감시 대상 패킷 또는 감시 대상 데이터 중 적어도 하나 이상에 기초하여 생성될 수 있다. 실시예에 따라, 복수의 응용 어플리케이션들에서 상이한 처리작업들이 생성될 수 있고, 일부 응용 어플리케이션에서만 처리작업이 생성될 수 있다.
본 발명의 실시예들에 따른 저장 매체는 상기 통신 감시 장치 및 상기 통신 감시 방법에 이용되는 운영체제 프로그램을 제공할 수 있다.
이상, 본 발명의 실시예들에 따른 통신 감시 장치, 통신 감시 방법 및 이를 구현하는 미들박스 운영체제 프로그램을 기록한 저장 매체에 대하여 도면을 참조하여 설명하였지만, 상기 설명은 예시적인 것으로서 본 발명의 기술적 사상을 벗어나지 않는 범위에서 해당 기술 분야에서 통상의 지식을 가진 자에 의하여 수정 및 변경될 수 있을 것이다. 예를 들어, 도 7에서는 감시 이벤트를 기준으로 포인터의 변경을 설명하였으나, 포인터의 변경은 감시 이벤트에 한정되는 것이 아니다. 예를 들어, 포인터가 포함하는 메모리 주소는 서브 이벤트에 기초하여 연산될 수 있다.
본 발명은 네트워크 보안 산업에 다양하게 적용될 수 있다. 예를 들어, 본 발명은 통신 사업자, 네트워크 서비스 제공업체 등에 적용될 수 있다.
상기에서는 본 발명의 실시예들을 참조하여 설명하였지만, 해당 기술분야에서 통상의 지식을 가진 자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.
120: 패킷 수신부
140: 메모리부
160, 260: 어플리케이션 구동부
262: 운영체제
264: 응용 어플리케이션

Claims (12)

  1. 통신 프로토콜에 따라 생성된 패킷을 수신하는 패킷 수신부;
    해시 함수(hash function), 상기 해시 함수에 대응되는 해시 테이블(hash table) 및 상기 패킷이 전송되는 각각의 통신 연결에 대응되는 감시 조건을 저장하는 메모리부; 및
    운영체제 상에서 구동되는 응용 어플리케이션에 기초하여 상기 패킷을 감시하는 어플리케이션 구동부;를 포함하고,
    상기 어플리케이션 구동부는 상기 패킷 또는 상기 패킷이 누적됨으로써 형성되는 누적 데이터 각각이 상기 감시 조건에 해당하는 감시 대상 패킷 또는 감시 대상 데이터인지 상기 운영체제 상에서 판단하고, 상기 감시 대상 패킷 또는 상기 감시 대상 데이터 중 적어도 하나 이상을 상기 응용 어플리케이션에 전달하며,
    상기 메모리부는 상기 감시 조건을 상기 해시 함수 및 상기 해시 테이블에 기초하여 저장하는 것을 특징으로 하는 통신 감시 장치.
  2. 제 1 항에 있어서, 상기 통신 연결에 대응되는 포인터는 상기 감시 조건이 저장된 메모리 주소를 포함함으로써 상기 통신 연결과 상기 감시 조건을 대응시키고,
    상기 메모리 주소는 상기 해시 테이블에서 도출되는 것을 특징으로 하는 통신 감시 장치.
  3. 제 1 항에 있어서, 상기 어플리케이션 구동부는 상기 패킷 또는 상기 누적 데이터가 상기 감시 조건에 포함된 감시 이벤트에 해당하는지 판단하고, 상기 감시 이벤트를 상기 해시 함수에 입력함으로써 해시값을 생성하며,
    상기 메모리부는 상기 해시 테이블에 기초하여 상기 해시값에 대응되는 메모리 주소에 상기 감시 이벤트를 저장하는 것을 특징으로 하는 통신 감시 장치.
  4. 제 3 항에 있어서, 상기 어플리케이션 구동부는 상기 감시 대상 패킷 또는 상기 감시 대상 데이터 중 적어도 하나 이상에 기초하여 생성된 상기 응용 어플리케이션의 지시에 따라 상기 감시 이벤트에 대응되는 처리작업을 수행하고, 상기 처리작업을 상기 해시 함수에 더 입력함으로써 상기 해시값을 생성하는 것을 특징으로 하는 통신 감시 장치.
  5. 제 1 항에 있어서, 상기 어플리케이션 구동부는 상기 패킷 또는 상기 누적 데이터가 상기 감시 조건에 포함된 복수의 감시 이벤트들에 해당하는지 판단하고, 상기 감시 이벤트들을 상기 해시 함수에 입력함으로써 해시값들을 생성하며, 상기 해시값들을 배타적 논리합(eXclusive OR; XOR)으로 연산하여 연산값을 생성하고,
    상기 메모리부는 상기 해시 테이블에 기초하여 상기 연산값에 대응되는 메모리 주소에 상기 감시 이벤트들을 저장하는 것을 특징으로 하는 통신 감시 장치.
  6. 제 5 항에 있어서, 상기 어플리케이션 구동부는 상기 감시 대상 패킷 또는 상기 감시 대상 데이터 중 적어도 하나 이상에 기초하여 생성된 상기 응용 어플리케이션의 지시에 따라 상기 감시 이벤트들에 대응되는 처리작업들을 수행하고, 상기 처리작업들을 상기 해시 함수에 더 입력함으로써 상기 해시값들을 생성하는 것을 특징으로 하는 통신 감시 장치.
  7. 제 1 항에 있어서, 상기 어플리케이션 구동부는 상기 패킷 또는 상기 누적 데이터가 상기 감시 조건이 포함하는 감시 이벤트에 포함된 복수의 서브 이벤트들에 해당하는지 판단하고, 상기 서브 이벤트들을 상기 해시 함수에 입력함으로써 해시값들을 생성하며, 상기 해시값들을 배타적 논리합으로 연산하여 연산값을 생성하고,
    상기 메모리부는 상기 해시 테이블에 기초하여 상기 연산값에 대응되는 메모리 주소에 상기 서브 이벤트들을 저장하는 것을 특징으로 하는 통신 감시 장치.
  8. 제 7 항에 있어서, 상기 어플리케이션 구동부는 상기 감시 대상 패킷 또는 상기 감시 대상 데이터 중 적어도 하나 이상에 기초하여 생성된 상기 응용 어플리케이션의 지시에 따라 상기 서브 이벤트들에 대응되는 처리작업들을 수행하고, 상기 처리작업들을 상기 해시 함수에 더 입력함으로써 상기 해시값들을 생성하는 것을 특징으로 하는 통신 감시 장치.
  9. 통신 프로토콜에 따라 생성된 패킷을 수신하는 단계;
    해시 함수, 상기 해시 함수에 대응되는 해시 테이블 및 상기 패킷이 전송되는 각각의 통신 연결에 대응되는 감시 조건을 저장하는 단계; 및
    운영체제 상에서 구동되는 응용 어플리케이션에 기초하여 상기 패킷을 감시하는 단계;를 포함하고,
    상기 패킷을 감시하는 단계는
    상기 패킷 또는 상기 패킷이 누적됨으로써 형성되는 누적 데이터 각각이 상기 감시 조건인 감시 이벤트에 해당하는 감시 대상 패킷 또는 감시 대상 데이터인지 상기 운영체제 상에서 판단하는 단계;
    상기 감시 대상 패킷 또는 상기 감시 대상 데이터 중 적어도 하나 이상을 상기 응용 어플리케이션에 전달하는 단계; 및
    상기 감시 대상 패킷 또는 상기 감시 대상 데이터 중 적어도 하나 이상에 기초하여 생성된 상기 응용 어플리케이션의 지시에 따라 상기 감시 이벤트에 대응되는 처리작업을 수행하는 단계;를 포함하며,
    상기 감시 조건은 상기 해시 함수 및 상기 해시 테이블에 기초하여 저장되는 것을 특징으로 하는 통신 감시 방법.
  10. 제 9 항에 있어서, 상기 감시 조건을 저장하는 단계는
    상기 감시 이벤트 및 상기 처리작업을 상기 해시 함수에 입력함으로써 해시값을 생성하는 단계; 및
    상기 해시 테이블에 기초하여 상기 해시값에 대응되는 메모리 주소에 상기 감시 이벤트 및 상기 처리작업을 저장하는 단계;를 포함하는 것을 특징으로 하는 통신 감시 방법.
  11. 패킷이 전송되는 각각의 통신 연결에 대응되는 감시 조건을 해시 함수 및 상기 해시 함수에 대응되는 해시 테이블에 기초하여 저장하는 단계;
    상기 패킷 또는 상기 패킷이 누적됨으로써 형성되는 누적 데이터 각각이 상기 감시 조건인 감시 이벤트에 해당하는 감시 대상 패킷 또는 감시 대상 데이터인지 판단하는 단계;
    상기 감시 대상 패킷 또는 상기 감시 대상 데이터 중 적어도 하나 이상을 응용 어플리케이션에 전달하는 단계; 및
    상기 감시 대상 패킷 또는 상기 감시 대상 데이터 중 적어도 하나 이상에 기초하여 생성된 상기 응용 어플리케이션의 지시에 따라 상기 감시 이벤트에 대응되는 처리작업을 수행하는 단계;를 포함하는 통신 감시 방법을 단말 상에서 실행시키는 운영체제 프로그램을 기록한 저장 매체.
  12. 제 11 항에 있어서, 상기 감시 조건을 저장하는 단계는
    상기 감시 이벤트 및 상기 처리작업을 상기 해시 함수에 입력함으로써 해시값을 생성하는 단계; 및
    상기 해시 테이블에 기초하여 상기 해시값에 대응되는 메모리 주소에 상기 감시 이벤트 및 상기 처리작업을 저장하는 단계;를 포함하는 것을 특징으로 하는 운영체제 프로그램을 기록한 저장 매체.
KR1020160043976A 2016-04-11 2016-04-11 감시 조건을 효율적으로 저장하는 통신 감시 장치, 통신 감시 방법 및 이를 구현하는 미들박스 운영체제 프로그램을 기록한 저장 매체 KR101855265B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160043976A KR101855265B1 (ko) 2016-04-11 2016-04-11 감시 조건을 효율적으로 저장하는 통신 감시 장치, 통신 감시 방법 및 이를 구현하는 미들박스 운영체제 프로그램을 기록한 저장 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160043976A KR101855265B1 (ko) 2016-04-11 2016-04-11 감시 조건을 효율적으로 저장하는 통신 감시 장치, 통신 감시 방법 및 이를 구현하는 미들박스 운영체제 프로그램을 기록한 저장 매체

Publications (2)

Publication Number Publication Date
KR20170116356A true KR20170116356A (ko) 2017-10-19
KR101855265B1 KR101855265B1 (ko) 2018-06-25

Family

ID=60298536

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160043976A KR101855265B1 (ko) 2016-04-11 2016-04-11 감시 조건을 효율적으로 저장하는 통신 감시 장치, 통신 감시 방법 및 이를 구현하는 미들박스 운영체제 프로그램을 기록한 저장 매체

Country Status (1)

Country Link
KR (1) KR101855265B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108809731A (zh) * 2018-06-28 2018-11-13 珠海兴业新材料科技有限公司 一种基于地铁调光投影系统业务数据链的控制方法
KR102229554B1 (ko) * 2019-12-20 2021-03-18 한국과학기술원 해시 키 생성 방법 및 그 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100587612B1 (ko) * 2003-11-14 2006-06-07 엘지엔시스(주) 침입 탐지 시스템에서 중복 이벤트 제거 방법
US9832122B2 (en) * 2013-11-05 2017-11-28 Cisco Technology, Inc. System and method for identification of large-data flows

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108809731A (zh) * 2018-06-28 2018-11-13 珠海兴业新材料科技有限公司 一种基于地铁调光投影系统业务数据链的控制方法
CN108809731B (zh) * 2018-06-28 2021-05-04 珠海兴业新材料科技有限公司 一种基于地铁调光投影系统业务数据链的控制方法
KR102229554B1 (ko) * 2019-12-20 2021-03-18 한국과학기술원 해시 키 생성 방법 및 그 장치

Also Published As

Publication number Publication date
KR101855265B1 (ko) 2018-06-25

Similar Documents

Publication Publication Date Title
US11503004B2 (en) Distributed IPSec gateway
CN111132138B (zh) 一种移动应用程序透明通信保护方法与装置
CN110418376B (zh) 数据传输方法及装置
WO2016160533A1 (en) Methods and systems for orchestrating physical and virtual switches to enforce security boundaries
CN107104897B (zh) 基于路径的数据传输方法及系统
CN106470136B (zh) 平台测试方法以及平台测试系统
CN104378422A (zh) 一种移动终端及其文件传输方法和系统
EP3142306A1 (en) Openflow communication method, system, controller, and service gateway
KR101855265B1 (ko) 감시 조건을 효율적으로 저장하는 통신 감시 장치, 통신 감시 방법 및 이를 구현하는 미들박스 운영체제 프로그램을 기록한 저장 매체
US11706290B2 (en) Direct server reply for infrastructure services
CN105187796A (zh) 一种数据传输方法、装置及系统
JP2016537884A (ja) リモートアクセス環境におけるクライアントサイドのフロー制御装置及び方法
CN107409427B (zh) 一种数据业务的数据传输方法及装置
EP3171565B1 (en) Methods, devices and system for netconf hello packets interaction
CN111741006B (zh) 一种离散采集网关及其实现方法
CN115865332A (zh) 请求处理方法、装置及电子设备
WO2017070751A1 (en) A network communication system
CN101753588B (zh) 一种融合业务使用控制方法及系统
US8856304B2 (en) Accelerating UDP traffic
CN115941600B (zh) 报文分流方法、系统与计算机可读存储介质
CN111835812B (zh) 全球的数据获取方法、装置、电子设备及计算机存储介质
CN108319511B (zh) 实现即时通讯中自定义透传命令的方法及系统
TWI652575B (zh) 通信系統、資料壓縮裝置、終端機裝置、資料壓縮控制方法及程式
KR101820117B1 (ko) 통신 감시 장치, 통신 감시 방법 및 이를 구현하는 미들박스 운영체제 프로그램을 기록한 저장 매체
KR101933175B1 (ko) 서버와 클라이언트간 통신을 중개하는 중개장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)