KR20140090769A - 연속질의 언어 기반의 네트워크 제어 시스템 - Google Patents

연속질의 언어 기반의 네트워크 제어 시스템 Download PDF

Info

Publication number
KR20140090769A
KR20140090769A KR20130002776A KR20130002776A KR20140090769A KR 20140090769 A KR20140090769 A KR 20140090769A KR 20130002776 A KR20130002776 A KR 20130002776A KR 20130002776 A KR20130002776 A KR 20130002776A KR 20140090769 A KR20140090769 A KR 20140090769A
Authority
KR
South Korea
Prior art keywords
packet
query
network
network device
controller
Prior art date
Application number
KR20130002776A
Other languages
English (en)
Inventor
고석갑
유홍연
박일균
이병탁
김영선
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR20130002776A priority Critical patent/KR20140090769A/ko
Priority to US13/921,235 priority patent/US20140195559A1/en
Publication of KR20140090769A publication Critical patent/KR20140090769A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 일 실시예에 따른 네트워크 제어 시스템이 개시된다. 본 발명의 일 실시예에 따른 네트워크 제어시스템은, 중앙 서버와 연결되는 적어도 하나의 이벤트 처리 네트워크를 포함하여 구성되고, 상기 중앙서버는 이벤트조건과 상기 이벤트조건에 따른 동작을 기술하는 명령을 상기 각 이벤트 처리 네트워크로 전달하고, 상기 각 이벤트 처리 네트워크는 중앙서버로부터 전달받은 명령에 기초하여 자신의 센서 데이터 또는 주변 이벤트 처리 네트워크로부터 전달받는 메시지를 분석하고, 이벤트 조건에 해당하는 경우 이에 따른 동작을 수행하도록 구성된다.

Description

연속질의 언어 기반의 네트워크 제어 시스템{NETWORK CONTROL SYSTEM BASED ON CONTINUOUS QUERY LANGUAGE}
본 발명은 연속질의 언어 기반의 네트워크 제어 시스템에 관한 것으로, 더욱 상세하게는 연속질의 언어를 이용한 이벤트 처리 및 라우팅을 위한 네트워크 제어시스템에 관한 것이다.
여러 센서가 광범위하게 설치되어 있는 상품생산라인이나 통합관제시스템 등의 경우, 각 센서노드들은 센서가 센싱한 센서 데이터를 서버로 전달하고 서버는 전달받은 데이터를 분석하고 분석결과에 따라 필요한 동작, 예를 들면, 기계의 작동 중지, 경보발생 및 가스차단 등을 수행하게 된다.
그런데 이와 같은 종래의 구성에서는, 센서 데이터가 서버까지 수집되는 중에 매체변환 및 프로토콜 변환과정에서 지연이 발생하고, 네트워크 경로상에서도 전달 지연을 갖게 된다. 또한 서버까지 데이터가 수집된 후에 분석이 이루어지므로, 서버의 로드에 따라 처리 시간의 지연이 생길 수 있다. 상품생산라인 및 통합관제시스템에서 비상상황 시 빠르게 대처하지 않으면, 불량품생산, 고장, 화재 등 큰 손실을 가져오게 된다. 특히 서버에 장애가 생기거나 서버로의 전달 경로에 문제가 발생하는 경우에 이벤트에 대한 제대로 된 처리를 하지 못해 심각한 문제가 발생할 수 있다.
이와 같은 문제를 해결하기 위하여, 데이터를 분석하는 기능을 분산하여 배치하고, 복수개의 센서와 직접 연결되는 센서 게이트웨이가 데이터를 분석하는 기능을 수행토록 함으로써 센서 웹(SensorWeb)에서, 센서 게이트웨이가 어떤 식으로 데이터를 분석할 것인지에 대해 서버가 명령을 줄 수도 있다.
그러나, 이러한 종래의 방법은 단순한 조건 비교 정도의 수준으로만 제어할 수 있고, 복잡한 연산, 함수처리, 시간 범위 지정 등 다양한 데이터 분석 방법을 서술하여 제어할 수 없는 문제가 있다. 또한, 센서 노드의 수가 많은 경우, 하드웨어적인 센서 게이트웨이의 수도 증가되므로, 설치 및 운용 비용이 증가하는 문제가 발생한다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 측면은, 지연을 발생시키지 않고 복합적인 이벤트처리를 할 수 있는 네트워크 제어 시스템을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 측면은, 지연을 발생시키지 않고 복합적인 이벤트처리를 할 수 있는 네트워크 장치를 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 또 다른 측면은, 지연을 발생시키지 않고 복합적인 이벤트처리를 할 수 있는 제어기를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 측면은, 중앙 서버와 연결되는 적어도 하나의 이벤트 처리 네트워크를 포함하여 구성되고, 상기 중앙서버는 이벤트조건과 상기 이벤트조건에 따른 동작을 기술하는 명령을 상기 각 이벤트 처리 네트워크로 전달하고, 상기 각 이벤트 처리 네트워크는 중앙서버로부터 전달받은 명령에 기초하여 자신의 센서 데이터 또는 주변 이벤트 처리 네트워크로부터 전달받는 메시지를 분석하고, 이벤트 조건에 해당하는 경우 이에 따른 동작을 수행하도록 구성되는 것을 특징으로 하는 네트워크 제어 시스템을 제공한다.
여기서, 상기 각 이벤트 처리 네트워크는 네트워크 장치, 센서를 통해 감지한 센서 데이터를 상기 네트워크 장치로 전달하는 적어도 하나의 센서노드 및
수신한 메시지에 따라 동작하도록 구성되는 액추에이터를 포함하고 상기 네트워크 장치는 중앙서버로부터의 명령에 기초하여, 상기 센서노드로부터 전달받은 센서 데이터 또는 주변 네트워크 장치로부터 전달받은 메시지를 분석하고, 이벤트 조건에 해당하는 경우 이에 따른 동작 메시지를 생성하여, 이를 상기 액추에이터 또는 인접한 네트워크 장치로 전달하도록 구성되는 것을 특징으로 한다.
또한 여기서, 상기 중앙서버로부터 이벤트 처리 네트워크로 전달되는 명령은 연속질의어 기반의 메시지인 것을 특징으로 한다.
또한 여기서, 상기 중앙서버로부터 연속질의언어 기반의 질의메시지를 상기 각 네트워크 제어 시스템로 전달하는 제어기를 더 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 다른 측면은, 질의리스트 관리기, 패킷-스트림 변환기, 질의조회기, 논리연산기, 동작수행기를 포함하여 구성되고, 상기 질의리스트 관리기는 제어기를 통해 중앙서버로부터 연속질의언어 기반의 질의메시지를 전달받아서 메모리에 저장하여 질의리스트로서 관리하고, 상기 패킷-스트림 변환기는 입력인터페이스를 통해 입력된 패킷을 디코딩하고, 상기 질의조회기는 상기 질의리스트 관리기를 통해 상기 디코딩된 패킷에 대응하는 질의 메시지를 획득하고, 상기 논리연산기는 상기 획득한 질의메시지에 명시된 조건과 이에 따른 동작을 결정하기 위한 논리연산을 수행하고, 상기 동작수행기는 상기 논리연산결과에 따른 동작을 수행하도록 구성되는 것을 특징으로 하는 네트워크 장치를 제공한다.
여기서 상기 패킷-스트림 변환기는 상기 질의 리스트를 이용하여 상기 패킷에 대한 응용계층 디코딩을 수행하고, 상기 디코딩된 패킷의 헤더정보로부터 스트림 ID를 식별하고, 상기 질의조회기는 상기 질의리스트 관리기를 통해 상기 스트림 ID에 대응되는 질의 메시지를 획득하는 것을 특징으로 한다.
또한 여기서, 상기 동작수행기는 상기 논리연산결과에 따른 메시지를 생성하거나 패킷을 재구성하여 출력인터페이스를 통해 액추에이터 또는 주변 네트워크 장치로 전송하는 동작을 수행하도록 구성되는 것을 특징으로 한다.
또한, 여기서 이벤트타이머를 더 포함하고, 상기 질의리스트 관리기는 상기 제어기를 통해 전달받은 질의메시지에 기초하여 상기 이벤트 타이머를 리셋하는 것을 특징으로 한다.
또한 여기서, 필터관리기, 네트워크 스위칭 엔진을 더 포함하고, 상기 필터관리기는 상기 질의리스트 관리기로부터 패킷필터 추가요청을 받으면 상기 네트워크 스위칭 엔진 앞단에 패킷필터를 추가함으로써, 상기 입력인터페이스를 통해 입력된 패킷이 상기 패킷필터에 일치하지 않으면, 상기 네트워크 스위칭 엔진을 통해 출력인터페이스로 통과하도록 구성되는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 또 다른 측면은, 소프트웨어 정의 네트워크를 구성하는 적어도 하나의 네트워크 장치를 제어하는 제어기에 있어서, 상기 제어기는 제1 호스트로부터 제2 호스트로의 경로요청을 수신하면, 최적경로를 설정하여 상기 최적경로 상의 각 네트워크 장치로 연속질의언어 기반의 명령을 전달하되, 상기 제어기는 상기 각 네트워크장치 별로 상기 최적경로 상에서 가장 인접한 네트워크장치를 식별하고, 상기 각 네트워크장치로 소스 주소가 제1 호스트이고 목적지 주소가 제2 호스트인 패킷을 수신하면 상기 식별된 가장 인접한 네트워크장치로 상기 패킷을 전송하라는 내용을 포함하는 명령을 전달하도록 구성되는 것을 특징으로 한다.
여기서, 상기 각 네트워크 장치는, 질의리스트 관리기, 패킷-네트워크 전송규칙 변환기, 패킷전달 테이블, 라우팅 테이블 및 네트워크 스위칭 엔진을 포함하여 구성되고, 상기 패킷전달 테이블에는 입력인터페이스로 수신한 패킷에 대한 다음 목적지정보가 저장되고. 상기 질의 리스트 관리기는 상기 제어기로부터 연속질의언어 기반의 명령을 전달받아서 질의리스트로 관리하고, 상기 질의-네트워크 전송규칙 변환기는 상기 질의 리스트 관리기로부터 질의문을 전달받아 네트워크 전송규칙으로 변환하여 상기 패킷전달 테이블에 반영하고, 상기 네트워크 스위칭 엔진은 상기 패킷전달 테이블, 라우팅 테이블을 참조하여 상기 패킷을 처리하도록 구성되는 것을 특징으로 한다.
또한 여기서, 가상랜이 구성되는 경우, 상기 각 네트워크 장치는 태깅 및 전달경로 결정을 위한 가상랜 구성정보가 저장되는 가상랜 테이블을 더 포함하고, 상기 네트워크 스위칭 엔진은 상기 가상랜 테이블도 참조하여 상기 패킷을 처리하도록 구성되는 것을 특징으로 한다.
또한 여기서, 상기 제어기는 또한 중앙서버로부터 이벤트조건과 상기 이벤트조건에 따른 동작을 기술하는 명령을 수신하여 상기 각 네트워크 장치로 전달하도록 구성됨으로써, 상기 각 네트워크 장치가 상기 제어기를 통해 전달받은 명령에 기초하여 자신의 센서 데이터 또는 인접한 각 네트워크 장치로부터 전달받은 메시지를 분석하고, 이벤트 조건에 해당하는 경우 이에 따른 동작을 수행하도록 하는 것을 특징으로 한다.
상기와 같은 본 발명에 따른 네트워크 제어 시스템을 이용할 경우에는 센서 데이터 수집 및 분석, 처리 과정에 있어, 데이터 분석 및 처리를 서버에서 하지 않고, 경로 상의 네트워크 장치 내에 데이터를 분석하고 이를 제어하도록 하여, 이벤트에 대한 검출 및 처리를 빠르게 할 수 있다.
또한 제어기를 통하여 센서 데이터로부터의 이벤트 검출 및 제어뿐만 아니라, 네트워크 경로의 제어까지 일관적인 방법으로 수행할 수 있도록 함으로써, 통합된 네트워크 제어 및 관리 체계를 제공하는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 네트워크 제어 시스템의 구성을 보여주는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 네트워크 제어를 복합이벤트 처리를 위한 네트워크 장치의 구성을 보여주는 블록도이다.
도 3은 본 발명의 다른 실시예에 따른 복합이벤트 처리를 위한 네트워크 장치의 다른 구성을 보여주는 블록도이다.
도 4는 본 발명의 또 다른 실시예에 따른 소프트웨어 정의 네트워크를 구성하는 네트워크 장치를 제어하는 제어기의 동작을 보여주는 개념도이다.
도 5는 도 4의 실시예에 따른 소프트웨어 정의 네트워크를 구성하는 네트워크 장치의 구성을 보여주는 블록도이다.
도 6은 본 발명의 또 다른 실시예에 따른 소프트웨어 정의 네트워크를 구성하는 네트워크 장치의 구성을 보여주는 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부한 도면들을 참조하여 상세하게 설명한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
연속적인 단계로 구성되는 생산 파이프 라인의 경우 각 생산라인에는 온도, 습도, 광량, 가스 등의 각종 센서가 부착되어 계속적으로 측정을 수행하게 되고, 센서노드는 측정된 센서 데이터를 네트워크로 전송할 수 있는 형태로 변환하여 서버를 향하여 전송하게 되는데, 종래의 경우 경로상의 네트워크 스위치들은 측정된 센서 데이터를 담은 패킷을 그대로 서버 쪽으로 전달하게 되지만 본 발명에 따른 복합이벤트 처리시스템에서는 네트워크 장치가 자체적으로 이벤트처리를 수행할 수 있다. 이하 도면을 참조하여 설명한다.
도 1은 본 발명의 일 실시예에 따른 네트워크 제어시스템의 구성을 보여주는 블록도이다.
도 1을 참조하면, 연속적인 단계로 구성되는 생산 파이프 라인에 적용될 수 있는 네트워크 제어시스템의 구성을 보여주는데, 각 생산라인에는 온도, 습도, 광량, 가스 등의 각종 센서가 부착되어 계속적으로 측정을 수행한다.
이러한 환경에서, 본 발명의 일 실시예에 따른 네트워크 제어시스템은 중앙 서버(10), 중앙서버(10)와 연결되는 제어기(20) 및 복수의 이벤트처리 네트워크(30)를 포함하여 구성될 수 있다. 여기서 제어기(20)은 논리적인 모듈로, 실제 물리적인 구성에서는 중앙서버(10) 내에 함께 위치할 수 있다.
또한, 도 1을 참조하면 본 발명의 일 실시예에 따른 네트워크 제어시스템의 세부구성은 다음과 같이 설명될 수 있다.
중앙서버(10)는 연속질의언어 기반의 질의메시지로 구성된 이벤트조건과 이벤트조건에 따른 동작을 기술하는 명령을 제어기(20)로 전달하고, 제어기(20)는 중앙서버(10)로부터 전달받은 명령을 각 이벤트 처리 네트워크(30)로 전달하게 된다.
이에 따라 각 이벤트 처리 네트워크(30)는 제어기(20)를 통해 중앙서버(10)로부터 전달받은 명령에 기초하여 자신의 네트워크 내의 센서 데이터 또는 주변 이벤트 처리 네트워크(30)로부터 전달받는 메시지를 분석하고, 이벤트 조건에 해당하는 경우 이에 따른 동작을 수행하도록 구성될 수 있다.
여기서, 연속질의언어(Continuous Query Language, CQL)는 형태가 관계형 데이터베이스에서 사용되는 SQL과 유사하지만, SQL은 하드디스크와 같은 저장소에 저장된 데이터를 꺼내서 원하는 조건에 맞는 데이터를 찾아내는 것을 기술하는 것이라면, CQL은 연속적으로 유입되는 데이터 스트림에서 원하는 조건을 만족하는 데이터를 찾기 위한 규칙을 기술하는 언어이다. 연속질의언어 기반 명령은, 텍스트 형태의 연속질의언어일 수도 있고, XML 형태로 인코딩할 수도 있으며, 바이너리 형태로 인코딩할 수 있으며, 그 메시지의 의미는 CQL에 대응된다.
또한 도 1을 참조하면, 각 이벤트처리 네트워크(30)는 네트워크 장치(100), 적어도 하나의 센서노드(200) 및 액추에이터(300)를 포함하여 구성될 수 있으며, 각 구성요소의 동작 및 구성요소간의 관계는 다음과 같이 설명될 수 있다.
센서와 연결된 각 센서노드(200)는 센서를 통해 감지한 센서 데이터를 네트워크 장치(100)로 전달하게 되고, 네트워크 장치(100)는 제어기(20)를 통해 전달받은 중앙서버(10)로부터의 명령, 즉 이벤트조건과 이벤트조건에 따른 동작을 기술하는 명령에 기초하여, 센서노드(200)로부터 전달받은 센서 데이터 또는 주변 네트워크 장치(100)로부터 전달받은 메시지를 분석하고, 이벤트 조건에 해당하는 경우 주변 네트워크 장치(100)와 협업하여 동작하게 된다. 즉 이벤트조건에 대응하는 동작 메시지를 생성하여 이를 액추에이터(300) 또는 인접한 네트워크 장치(100)로 전달하도록 구성될 수 있다.
예를 들면, 생산라인에 문제가 발생한 경우, 네트워크 장치 A(100)는 센서노드(200)로부터 측정한 데이터를 분석하고, 분석결과 불량율이 높아질 가능성이 있다고 판단하는 경우, 즉시 인접 네트워크 장치 B(100)로 메시지를 만들어 전송하게 된다. 한편, 네트워크 장치 B(100)는 네트워크 장치 A(100)로부터 수신한 메시지와 자신에게 연결되어 있는 각 센서노드(200)로부터 수집한 센서 데이터를 분석하여, 불량이 발생한 것으로 판단하면 불량품을 제거하라는 명령이 담긴 메시지를 만들어서 액추에이터B(300)로 전송할 수 있다. 이에 따라, 액추에이터B(300)는 불량품을 제거하는 동작을 수행하게 된다.
이와 같이, 본 발명에 따른 네트워크 장치(100)는 기본적인 패킷 전달 기능에 부가적으로 데이터를 분석하고, 이에 따른 행동을 취하도록 하는 기능을 수행할 수 있다.
이하, 본 발명의 일 실시예에 따른 네트워크 장치의 보다 상세한 구성을 설명한다.
일반적으로, 네트워크 라우터나 스위치와 같은 네트워크 장비들은 입력 인터페이스(포트)로 패킷이 들어오면, 목적지 포트를 결정하여, 목적지 포트로 패킷을 전송하는 동작을 하게 된다. 그러나 본 발명에 따른 네트워크 장치(100)는 이러한 패킷을 데이터 스트림으로 변환하여 이벤트처리를 하게 된다.
도 2는 본 발명의 일 실시예에 따른 복합이벤트 처리를 위한 네트워크 장치의 구성을 보여주는 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 복합이벤트 처리를 위한 네트워크 장치(100)는 제어기(20)와 연결되어 연속질의언어 기반의 질의메시지를 전달받게 되는데, 제어기(20)는 물리적으로 네트워크 장치 외부에 있을 수도, 내부에 있을 수도 있다. 또한, 네트워크 장치(100)는 입력인터페이스(110), 질의리스트 관리기(120), 패킷-스트림 변환기(130), 질의조회기(140), 논리연산기(150), 동작수행기(160), 출력인터페이스(170)를 포함하여 구성될 수 있다.
또한 도 2를 참조하면, 본 발명의 일 실시예에 따른 복합이벤트 처리를 위한 네트워크 장치(100)의 각 구성요소와 구성요소간의 연결관계는 다음과 같이 설명될 수 있다.
먼저 제어기(20)는 연속질의언어에 기반한 질의 메시지를 질의 리스트 관리기(120)로 전송하는데, 이 질의 메시지는 물리적 또는 논리적으로 일반적인 데이터 패킷과는 다른 경로로 전송된다.
질의리스트 관리기(120)는 제어기(20)로부터 연속질의언어 기반의 질의메시지를 전달받아서 질의(Query)를 메모리에 저장하고, 고속으로 검색할 수 있도록 질의리스트로서 관리할 수 있다. 예를 들면, 제어기(20)로부터 전달받은 메시지에 이벤트타이머에 관한 내용이 포함되는 경우, 질의리스트 관리기(120)는 이벤트 타이머(121)를 리셋하게 된다.
패킷-스트림 변환기(130)는 입력인터페이스(110)를 통해 입력된 패킷을 디코딩하고, 질의조회기(140)는 질의리스트 관리기(120)에게 요청하여 패킷-스트림 변환기(130)에서 디코딩된 패킷에 대응하는 질의 메시지를 획득하도록 구성될 수 있다. 또한, 패킷-스트림 변환기(130)는 질의 리스트를 이용하여 패킷에 대한 응용계층 디코딩을 수행하여, 디코딩된 패킷의 헤더정보로부터 스트림 ID를 식별하면, 질의조회기(140)는 질의리스트 관리기(120)를 통해 식별된 스트림 ID에 대응되는 질의 메시지를 획득하게 된다.
예를 들면, 네트워크 장치(100)의 입력인터페이스(100)로 패킷이 도착하면, 패킷-스트림 변환기(130)에서 패킷을 디코딩하는데, 기본적으로 Ethernet 헤더, IP 헤더, TCP/UDP 헤더 등으로 분해하고, 추가적으로 응용계층 프로토콜도 디코딩할 수 있다.
응용계층 디코딩은 질의리스트 관리기(120)에서 관리하는 질의 리스트의 내용을 참조로 수행될 수 있다. 예를 들면, 특정 IP 주소를 목적지로하고 TCP 포트가 특정번호라면, HTTP내부에 SensorML(Markup Language)을 담고 있는 것으로 가정하고 응용 계층 디코딩을 수행할 수 있다. 또한 응용계층 플로우는 여러 개의 패킷으로 나뉘어져 전송되기 때문에, 패킷-스트림 변환기(130)는 응용 계층 플로우를 재조합하는 기능도 수행할 수 있으며, 디코딩된 패킷의 헤더 정보는 스트림 ID 역할을 할 수 있게 된다. 이에 따라, 질의 조회기(140)는 스트림 ID를 이용하여 질의 리스트 관리기(120)로부터 대응하는 질의문을 얻어내는데, 이때 질의문은 1개 이상이 될 수 있다.
논리연산기(150)는 질의조회기(140)에서 획득한 질의메시지에 명시된 조건과 이에 따른 동작을 결정하기 위한 논리연산을 수행할 수 있다. 이때, 이전의 다른 스트림에 대한 정보는 스트림 캐쉬(161)에 들어 있으며, 논리연산의 결과는 재사용을 위하여 결과 캐쉬(163)에 저장될 수 있다.
동작수행기(160)는 논리연산기(150)에서 수행한 논리연산결과에 따라, 논리연산결과에 따른 메시지를 생성하거나 패킷을 재구성하여 출력인터페이스를 통해 액추에이터 또는 주변 네트워크 장치로 전송하는 동작을 수행하도록 구성될 수 있다.
예를 들면, 논리연산기(150)의 결과에 따른 일반적인 동작은 "무시" 또는 "서버로 전달"이 될 수 있다. 즉, 특정한 조건을 만족하지 않는 보통 상황인 경우에는, 디폴트 동작인 서버로 전송하는 동작을 수행하게 된다. 이에 따라 출력인터페이스가 결정되고, 필요에 따라 패킷이 재구성 되어 출력 인터페이스(170)로 전송될 수 있다. 그러나 만일, 논리연산기(150) 수행결과로, 질의문에 명시된 조건을 만족하는 결과가 나오면, 질의문에 명시된 특수한 동작을 수행할 수 있다. 예를 들면, 경보메시지를 경보서버 노드로 전송하는 동작을 수행하거나, 특정한 동작을 하도록 명령을 내리는 메시지를 만들어 액추에이터(300)로 전송하는 동작을 수행할 수 있다.
도 3은 본 발명의 일 실시예에 따른 복합이벤트 처리를 위한 네트워크 장치의 다른 구성을 보여주는 블록도이다.
도 3을 참조하면, 본 발명의 다른 실시예에 따른 복합이벤트 처리를 위한 네트워크 장치(100)에는, 도 2의 네트워크 장치(100)가 모든 패킷들을 스트림으로 변환하여 처리하는데 비해서, 네트워크 스위칭 엔진(190)과 필터 관리기(180)가 추가적으로 포함되어 구성되어 요건에 만족되는 패킷에 대해서만 이벤트처리를 하도록 구성될 수 있다.
예를 들어, 제어기(20)로부터 연속질의문이 등록되면 질의 리스트 관리기(120)는 필터관리기(130)에 패킷 필터 추가를 요청할 수 있고, 필터관리기(180)는 질의리스트 관리기(120)의 요청에 따라 네트워크 스위칭 엔진(190) 앞단에 패킷필터(181)를 추가함으로써, 입력인터페이스(110)를 통해 입력된 패킷이 패킷필터(181)에 일치하지 않으면, 네트워크 스위칭 엔진(190)을 통해 출력인터페이스(170)를 통과하도록 구성될 수 있다.
따라서 패킷필터(181) 추가 이후, 패킷이 입력 인터페이스(110)로 들어오면, 패킷필터(181)에 일치하는 패킷들에 대해서만 복합이벤트처리가 수행된다. 이와 같은 구조는 하드웨어 기반의 처리가 가능하므로, 복합이벤트처리가 필요 없는 패킷에 대해서는 기존 네트워크 스위칭 엔진을 통해 빠르게 전달 될 수 있다. 복합이벤트처리 블록(109) 내에서도 빠른 처리를 위해 일부 또는 전체 구성요소를 FPGA(field-programmable gate array), ASIC(Application Specific integrated Circuits) 등을 이용하여 하드웨어화 할 수 있다.
도 4는 본 발명의 또 다른 실시예에 따른 소프트웨어 정의 네트워크를 구성하는 네트워크 장치를 제어하는 제어기의 동작을 보여주는 개념도이다.
도 4를 참조하면 본 발명의 또 다른 실시예에 따른 소프트웨어 정의 네트워크를 구성하는 네트워크 장치를 제어하는 제어기(20)는 네트워크를 모두 관장하는 장치일 수 있으며, 제어기(20)의 소프트웨어는 다른 계층의 소프트웨어와 연결되어 동작할 수 있다.
또한, 도 4를 참조하면, 제어기(20)는 호스트간 통신에 대해서 일반적인 패킷 라우팅 경로가 아닌 별도의 특별한 경로를 설정할 수 있다. 예를 들면, 호스트 a(40)로부터 호스트 b(41)로의 경로요청을 수신하면, 최적경로를 설정하게 되는데, 최적경로를 A-C-D로 설정한 경우, 최적경로(A-C-D) 상의 네트워크 장치A(501), 네트워크 장치C(503), 네트워크 장치D(504)로 연속질의언어 기반의 명령을 내리게 된다.
즉, 예를 들면, 제어기(20)는 네트워크 장치 A(501)로 "패킷의 IP헤더의 소스주소가 호스트 a이고 목적지 주소가 호스트 b인 경우 패킷을 네트워크 장치 C(503)로 보내라"는 내용이 기술된 연속질의언어를 전송할 수 있다. 이때, 메시지에는 패킷 우선순위, 대역폭, VLAN Tag ID 등이 명시될 수 있다.
또한, 제어기(20)는 네트워크 장치C(503), 네트워크 장치D(504)에도 비슷한 연속질의언어를 전송하게 되고, 이후, 호스트 a(40)가 호스트 b(41)로 패킷을 전송하면, 일반적인 경로(A-B-C-D)가 아닌 제어기(20)가 설정한 최적경로(A-C-D)로 전달된다. 이러한 경로 선택 및 제어는 제어기(20) 및 제어기(20)와 연동되는 소프트웨어의 알고리즘에 따라 결정될 수 있다.
도 5는 도 4의 실시예에 따른 소프트웨어 정의 네트워크를 구성하는 네트워크 장치의 구성을 보여주는 블록도이다.
도 5를 참조하면 도 4의 실시예에 따른 소프트웨어 정의 네트워크를 구성하는 네트워크 장치(500)는 입력인터페이스(510), 질의리스트 관리기(520), 패킷-네트워크 전송규칙 변환기(530), 패킷전달 테이블(540), 라우팅 테이블(550), 가상랜 테이블(560), 네트워크 스위칭 엔진(590) 및 출력인터페이스(570)을 포함하여 구성될 수 있다.
또한 도5를 참조하면, 본 발명의 일 실시예에 따른 복합이벤트 처리를 위한 네트워크 장치(500)의 각 구성요소는 다음과 같이 설명될 수 있다.
질의 리스트 관리기(520)는 도 4를 통하여 설명된 제어기(20)로부터 연속질의언어 기반의 명령을 전달받아서 질의리스트로 관리하도록 구성될 수 있다.
한편, 패킷전달 테이블(540)에는 입력인터페이스(510)로 수신한 패킷에 대한 다음 목적지정보가 저장되고, 가상랜 테이블(560)에는 태깅 및 전달경로 결정을 위한 가상랜 구성정보가 저장되는데, 질의-네트워크 전송규칙 변환기(530)는 질의 리스트 관리기(520)로부터 질의문을 전달받고, 이를 네트워크 전송규칙으로 변환하여 패킷전달 테이블(540) 및 가상랜 테이블(560)에 반영한다.
네트워크 스위칭 엔진(590)은 패킷이 도착하면, 다음 목적지가 어디인지 판단하기 위해 패킷전달 테이블(540), 라우팅 테이블(540)을 참조하여, 패킷을 처리하고, 가상랜(VLAN)이 구성된 경우 가상랜 테이블(560)을 참조하여 패킷을 처리하도록 구성된다.
도 6은 본 발명의 또 다른 실시예에 따른 소프트웨어 정의 네트워크를 구성하는 네트워크 장치의 구성을 보여주는 블록도이다.
도 6을 참조하면 본 발명의 또 다른 실시예에 따른 소프트웨어 정의 네트워크를 구성하는 네트워크 장치(600)는, 도 2, 도 3 및 도 5의 네트워크 장치를 통합한 기능을 수행하도록 구성된다. 즉, 네트워크 장치(600)는 제어기(20)로부터 수신한 연속질의 언어 기반의 명령에 기초하여, 복합이벤트 처리부(610)를 통하여 도 2 및 도 3을 통해 설명된 것과 같이 복합이벤트를 처리하는 한편, 네트워크 전송부(620)를 통하여 도 5을 통해 설명된 것과 같이 패킷을 전달하도록 구성될 수 있다.
이때, 제어기(20)는 물리적으로 네트워크 장치 내에 있을 수도, 밖에 있을 수도 있다. 제어기(20)는 이벤트 또는 네트워크 관리 규칙을 연속질의언어 또는 인코딩된 연속질의언어를 이용하여 설정하게 되고, 복합이벤트 처리부(610)는 연속질의언어에 따라 논리연산을 수행하여, 그 결과에 맞는 동작, 예를 들면, 패킷 경로 결정 및 변경, 패킷/프레임 변경, 새로운 메시지 생성, 패킷/메시지 무시 등을 수행할 수 있다.
이하, 본 발명에 따른 네트워크 장치의 제어를 위한 연속질의언어(CQLn)에 대하여 좀 더 상세하게 설명한다.
데이터 스트림 처리를 위한 일반적인 연속질의언어로는 네트워크 패킷이나 플로우를 다루기 어려운데, 본 발명에 따른 네트워크 장치 제어를 위한 연속질의언어(Continuous Query Language for network control, CQLn)의 기본 형태는 다음과 같다.
SELECT select-list
FROM stream-list
WHERE match-condition
위 문장에서FROM 다음에 오는 stream-list 는 데이터 스트림의 리스트를 나타낸다. 네트워크 장치에서 데이터 스트림은 패킷형태로 도착한다. 네트워크 장치에 들어오는 패킷은 MAC 헤더, IP 헤더, UDP/TCP 헤더, 응용계층 데이터로 구성된다. 일반적으로 IP 네트워크에서 플로우는 소스 IP 주소 및 TCP/UDP 여부(프로토콜), TCP/UDP 포트번호, 목적지 IP 주소 및 프로토콜, 포트번호의 묶음으로서 구분된다. 따라서, 이 묶음을 하나의 스트림 ID로 관리한다.
예를 들면 다음과 같이 stream1을 정의할 수 있다.
pstream1 AS packet
응용계층의 데이터 스트림을 얻기 위해서는 다음과 같이 정의할 수 있다.
dstream2 AS data(pkt.dstip=2.2.2.2 AND pkt.dstport=80, decode_as=http/swe)
stream-list는 쉼표로 구분되어 여러 개가 나열될 수 있다.
WHERE 다음에는 match-condition 이 올 수 있으며, CQLn에서는 기존 SQL 보다는 더 많은 연산자와 괄호 및 함수를 사용할 수 있고 스트링 패턴 매칭을 위한 정규표현식을 쓸 수 있다. 또한 범위를 지정할 수 있는 RANGE 문을 사용할 수 있으며, 시간 범위 또는 데이터의 개수 등을 조건으로 지정할 수 있다.
match-condition의 예를 들면 다음과 같은 구문들이 가능하다.
pstream1.srcip=1.1.1.1 AND pstream1.dstip=2.2.2.2 AND pstream1.dstport=8080
max(dstream1.sensor1.temp)>80 AND average(dstream1.sensor1.humid)<10 RANGE 10min
SELECT 다음에는 select-list가 오는데, 일반적인 SQL 및 CQL와는 다르게 action에 대한 부분을 포함할 수 있다. 예를 들어 패킷에 대한 처리는 다음과 같이 할 수 있다.
pkt as type, addtag 0x0101 as action, forward port 7 as action
CQLn은 실제 명령으로 전달될 때, Query ID와 Expire 가 포함된 XML 또는 바이너리 포맷으로 전달될 수 있다. 다음은 특정 네트워크 트래픽의 경로를 변경하는 CQLn의 예이다.
<subscribe>
<cqlId>MYCQLID1</cqlId>
<cql> SELECT packet, route_to 3.3.3.3 AS action
FROM ps1 AS packet
WHERE ps1.srcip=1.1.1.1 AND ps1.dstip=2.2.2.2
</cql>
<expires>1h</expires>
</subscribe>
위 연속질의문은 소스 IP 주소가 1.1.1.1 이고 목적지 IP 주소가 2.2.2.2 패킷들을 3.3.3.3 라우터에게 전달하라는 의미를 가진다.
다음 CQLn의 예는, 네트워크 트래픽에 대한 복합 이벤트 처리를 위한 예이다.
SELECT swe.alert(ds1.temp,http://7.7.7.7:8282) AS action
FROM ds1 AS data(pkt.dstip=2.2.2.2 AND pkt.dstport=80, decode_as=http/swe)
WHERE max(ds1.sensor1.temp)>=80 AND average(ds1.sensor2.humid)<10 RANGE 3min
상기 질의문의 의미는 패킷을 분석하여, HTTP/SWE 센서웹 플로우로 파싱한 다음, 그 내용이 3분간 최고 온도가 80도 이상이고, 습도 평균이 10% 미만이면, 경보메시지를 7.7.7.7 서버에게 전송하도록 하라는 구문이다.
또 다른 예로서, 도1을 참조하면 기본적으로 센서노드(200)에서 생성되는 메시지는 모두 서버(10)로 전송되도록 구성할 수 있는데, 이를 위해서는 센서노드(200)에 서버(10)의 주소를 설정해 주어야 하는 과정이 필요하다. 이러한 설정과정은, 설치자가 직접 해주어야 하는 부분으로 설치시간이 오래 걸리고, 복잡한 작업이다.
따라서, 네트워크 장치(100)에서 센서노드(200)가 연결된 포트로부터 오는 모든 패킷을 서버(10)쪽으로 전송하도록 설정하면, 센서노드(200)에서 별도 설정이 없이도 모두 서버(10)로 전송되도록 할 수 있다. 이를 위한 CQLn문의 예를 들면 다음과 같다.
SELECT packet, change dstip=2.2.2.2 AS action, forward default AS action
FROM ps1 AS packet
WHERE ps1.inport>=1 AND ps1.inport<=3
이와 같이, 네트워크 장치를 제어하기 위하여 본 발명에 따른 연속질의언어를 사용하는 경우, 응용 서비스 소프트웨어와 쉽게 연동되어 다양한 네트워크 구성 및 서비스가 가능하며, 네트워크 관리/확장 비용을 줄일 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (19)

  1. 중앙서버와 연결되는 제어기를 통해 전달받은 연속질의언어 기반의 질의메시지를 메모리에 저장하여 질의리스트로서 관리하도록 구성되는 질의 리스트 관리기;
    입력인터페이스를 통해 입력된 패킷을 디코딩하도록 구성되는 패킷-스트림 변환기;
    상기 질의리스트 관리기를 통해 상기 디코딩된 패킷에 대응하는 질의 메시지를 획득하도록 구성되는 질의 조회기;
    상기 획득한 질의메시지에 명시된 조건과 이에 따른 동작을 결정하기 위한 논리연산을 수행하도록 구성되는 논리연산기; 및
    상기 논리연산결과에 따른 동작을 수행하도록 구성되는 동작수행기를 포함하는 네트워크 장치.
  2. 청구항 1에 있어서,
    상기 패킷-스트림 변환기는 상기 질의 리스트를 이용하여 상기 패킷에 대한 응용계층 디코딩을 수행하고, 상기 디코딩된 패킷의 헤더정보로부터 스트림 ID를 식별하고,
    상기 질의조회기는 상기 질의리스트 관리기를 통해 상기 스트림 ID에 대응되는 질의 메시지를 획득하는 것을 특징으로 하는 네트워크 장치.
  3. 청구항 1 또는 청구항 2에 있어서,
    상기 동작수행기는 상기 논리연산결과에 따른 메시지를 생성하거나 패킷을 재구성하여 출력인터페이스를 통해 액추에이터 또는 주변 네트워크 장치로 전송하는 동작을 수행하도록 구성되는 것을 특징으로 하는 네트워크 장치.
  4. 청구항 1 또는 청구항 2에 있어서,
    이벤트타이머를 더 포함하고,
    상기 질의리스트 관리기는 상기 제어기를 통해 전달받은 질의메시지에 기초하여 상기 이벤트 타이머를 리셋하는 것을 특징으로 하는 네트워크 장치.
  5. 청구항 1 또는 청구항 2에 있어서,
    필터관리기, 네트워크 스위칭 엔진을 더 포함하고,
    상기 필터관리기는 상기 질의리스트 관리기로부터 패킷필터 추가요청을 받으면 상기 네트워크 스위칭 엔진 앞단에 패킷필터를 추가함으로써, 상기 입력인터페이스를 통해 입력된 패킷이 상기 패킷필터에 일치하지 않으면, 상기 네트워크 스위칭 엔진을 통해 출력인터페이스로 통과하도록 구성되는 것을 특징으로 하는 네트워크 장치.
  6. 소프트웨어 정의 네트워크를 구성하는 적어도 하나의 네트워크 장치를 제어하는 제어기에 있어서,
    상기 제어기는 제1 호스트로부터 제2 호스트로의 경로요청을 수신하면, 최적경로를 설정하여 상기 최적경로 상의 각 네트워크 장치로 연속질의언어 기반의 명령을 전달하되,
    상기 제어기는 상기 각 네트워크장치 별로 상기 최적경로 상에서 가장 인접한 네트워크장치를 식별하고, 상기 각 네트워크장치로 소스 주소가 제1 호스트이고 목적지 주소가 제2 호스트인 패킷을 수신하면 상기 식별된 가장 인접한 네트워크장치로 상기 패킷을 전송하라는 내용을 포함하는 명령을 전달하도록 구성되는 것을 특징으로 하는 제어기.
  7. 청구항 6에 있어서,
    상기 명령에는 패킷 우선순위, 대역폭, 가상랜 태그 ID 중 적어도 하나가 포함되는 것을 특징으로 하는 제어기.
  8. 청구항 6 또는 청구항 7에 있어서, 상기 각 네트워크 장치는,
    질의리스트 관리기, 패킷-네트워크 전송규칙 변환기, 패킷전달 테이블, 라우팅 테이블 및 네트워크 스위칭 엔진을 포함하여 구성되고,
    상기 패킷전달 테이블에는 입력인터페이스로 수신한 패킷에 대한 다음 목적지정보가 저장되고;
    상기 질의 리스트 관리기는 상기 제어기로부터 연속질의언어 기반의 명령을 전달받아서 질의리스트로 관리하고;
    상기 질의-네트워크 전송규칙 변환기는 상기 질의 리스트 관리기로부터 질의문을 전달받아 네트워크 전송규칙으로 변환하여 상기 패킷전달 테이블에 반영하고,
    상기 네트워크 스위칭 엔진은 상기 패킷전달 테이블, 라우팅 테이블을 참조하여 상기 패킷을 처리하도록 구성되는 것을 특징으로 하는, 제어기.
  9. 청구항 8에 있어서, 가상랜이 구성되는 경우, 상기 각 네트워크 장치는
    태깅 및 전달경로 결정을 위한 가상랜 구성정보가 저장되는 가상랜 테이블을 더 포함하고, 상기 네트워크 스위칭 엔진은 상기 가상랜 테이블도 참조하여 상기 패킷을 처리하도록 구성되는 것을 특징으로 하는, 제어기.
  10. 청구항 8에 있어서,
    상기 제어기는 또한 중앙서버로부터 이벤트조건과 상기 이벤트조건에 따른 동작을 기술하는 명령을 수신하여 상기 각 네트워크 장치로 전달하도록 구성됨으로써,
    상기 각 네트워크 장치가 상기 제어기를 통해 전달받은 명령에 기초하여 자신의 센서 데이터 또는 인접한 각 네트워크 장치로부터 전달받은 메시지를 분석하고, 이벤트 조건에 해당하는 경우 이에 따른 동작을 수행하도록 하는 것을 특징으로 하는, 제어기.
  11. 중앙 서버와 연결되는 적어도 하나의 이벤트 처리 네트워크를 포함하여 구성되고,
    상기 각 이벤트 처리 네트워크는 상기 중앙서버로부터 이벤트조건과 상기 이벤트조건에 따른 동작을 기술하는 명령을 전달받고,
    상기 각 이벤트 처리 네트워크는 중앙서버로부터 전달받은 명령에 기초하여 자신의 센서 데이터 또는 주변 이벤트 처리 네트워크로부터 전달받는 메시지를 분석하고, 이벤트 조건에 해당하는 경우 이에 따른 동작을 수행하도록 구성되는 것을 특징으로 하는 네트워크 제어 시스템.
  12. 청구항 11에 있어서, 상기 각 이벤트 처리 네트워크는 적어도 하나의 센서노드 및 액추에이터와 연결되어 동작하도록 구성되는 네트워크 장치를 포함하고,
    상기 센서노드는 센서를 통해 감지한 센서 데이터를 상기 네트워크 장치로 전달하고
    상기 네트워크 장치는 상기 중앙서버로부터의 명령에 기초하여, 상기 센서노드로부터 전달받은 센서 데이터 또는 주변 네트워크 장치로부터 전달받은 메시지를 분석하고, 이벤트 조건에 해당하는 경우 이에 따른 동작 메시지를 생성하여, 이를 상기 액추에이터 또는 주변 네트워크 장치로 전달하도록 구성되는 것을 특징으로 하는 네트워크 제어 시스템.
  13. 청구항 12에 있어서, 상기 네트워크 장치는
    제어기를 통해 중앙서버로부터 연속질의언어 기반의 질의메시지를 전달받아서 메모리에 저장하여 질의리스트로서 관리하는 질의리스트 관리기;
    입력인터페이스를 통해 입력된 패킷을 디코딩하도록 구성되는 패킷-스트림 변환기;
    상기 질의리스트 관리기를 통해 상기 디코딩된 패킷에 대응하는 질의 메시지를 획득하도록 구성되는 질의조회기;
    상기 획득한 질의메시지에 명시된 조건과 이에 따른 동작을 결정하기 위한 논리연산을 수행하도록 구성되는 논리연산기; 및
    상기 논리연산결과에 따른 동작을 수행하도록 구성되는 동작수행기를 포함하는 것을 특징으로 하는 네트워크 제어 시스템.
  14. 청구항 13에 있어서,
    상기 패킷-스트림 변환기는 상기 질의 리스트를 이용하여 상기 패킷에 대한 응용계층 디코딩을 수행하고, 상기 디코딩된 패킷의 헤더정보로부터 스트림 ID를 식별하고,
    상기 질의조회기는 상기 질의리스트 관리기를 통해 상기 스트림 ID에 대응되는 질의 메시지를 획득하는 것을 특징으로 하는 네트워크 제어 시스템.
  15. 청구항 13에 있어서,
    상기 동작수행기는 상기 논리연산결과에 따른 메시지를 생성하거나 패킷을 재구성하여 출력인터페이스를 통해 액추에이터 또는 주변 네트워크 장치로 전송하는 동작을 수행하도록 구성되는 것을 특징으로 하는 네트워크 제어 시스템.
  16. 청구항 13에 있어서, 상기 네트워크 장치는
    이벤트타이머를 더 포함하고,
    상기 질의리스트 관리기는 상기 제어기를 통해 전달받은 질의메시지에 기초하여 상기 이벤트 타이머를 리셋하는 것을 특징으로 하는 네트워크 제어 시스템.
  17. 청구항 13에 있어서, 상기 네트워크 장치는
    필터관리기, 네트워크 스위칭 엔진을 더 포함하고,
    상기 필터관리기는 상기 질의리스트 관리기로부터 패킷필터 추가요청을 받으면 상기 네트워크 스위칭 엔진 앞단에 패킷필터를 추가함으로써, 상기 입력인터페이스를 통해 입력된 패킷이 상기 패킷필터에 일치하지 않으면, 상기 네트워크 스위칭 엔진을 통해 출력인터페이스로 통과하도록 구성되는 것을 특징으로 하는 네트워크 제어 시스템.
  18. 청구항 11 또는 청구항 12에 있어서,
    상기 중앙서버로부터 연속질의언어 기반의 질의메시지를 상기 각 네트워크 제어 시스템으로 전달하는 제어기를 더 포함하는 것을 특징으로 하는 네트워크 제어 시스템.
  19. 청구항 18에 있어서,
    상기 제어기는 제1 호스트로부터 제2 호스트로의 경로요청을 수신하면, 최단 경로를 설정하여 상기 최단 경로상의 각 네트워크 장치에게 연속질의 언어 기반의 명령을 전달하되,
    상기 제어기는 상기 각 네트워크장치 별로 상기 최적경로상에서 가장 인접한 네트워크장치를 식별하고, 상기 각 네트워크장치로 소스 주소가 제1 호스트이고 목적지 주소가 제2 호스트인 패킷을 수신하면 상기 식별된 가장 인접한 네트워크장치로 상기 패킷을 전송하라는 내용을 포함하는 명령을 전달하도록 구성되는 것을 특징으로 하는 네트워크 제어 시스템.
KR20130002776A 2013-01-10 2013-01-10 연속질의 언어 기반의 네트워크 제어 시스템 KR20140090769A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20130002776A KR20140090769A (ko) 2013-01-10 2013-01-10 연속질의 언어 기반의 네트워크 제어 시스템
US13/921,235 US20140195559A1 (en) 2013-01-10 2013-06-19 Network device, controller for controlling network device, and network control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130002776A KR20140090769A (ko) 2013-01-10 2013-01-10 연속질의 언어 기반의 네트워크 제어 시스템

Publications (1)

Publication Number Publication Date
KR20140090769A true KR20140090769A (ko) 2014-07-18

Family

ID=51061817

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130002776A KR20140090769A (ko) 2013-01-10 2013-01-10 연속질의 언어 기반의 네트워크 제어 시스템

Country Status (2)

Country Link
US (1) US20140195559A1 (ko)
KR (1) KR20140090769A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160034810A (ko) * 2014-09-22 2016-03-30 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 네트워크 제어 보안

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10956422B2 (en) 2012-12-05 2021-03-23 Oracle International Corporation Integrating event processing with map-reduce
EP3044770A4 (en) * 2013-09-10 2017-05-17 Telefonaktiebolaget LM Ericsson (publ) Method and monitoring centre for supporting supervision of events
WO2016114701A1 (en) * 2015-01-12 2016-07-21 Telefonaktiebolaget Lm Ericsson (Publ) Methods and modules for managing packets in a software defined network
CN105634974B (zh) * 2015-12-31 2019-03-01 杭州华为数字技术有限公司 软件定义网络中的路由确定方法和装置
US11087236B2 (en) 2016-07-29 2021-08-10 Splunk Inc. Transmitting machine learning models to edge devices for edge analytics
US10460255B2 (en) 2016-07-29 2019-10-29 Splunk Inc. Machine learning in edge analytics
US10536351B2 (en) 2016-07-29 2020-01-14 Splunk Inc. Analytics for edge devices
US11977549B2 (en) 2016-09-15 2024-05-07 Oracle International Corporation Clustering event processing engines
US10789250B2 (en) 2016-09-15 2020-09-29 Oracle International Corporation Non-intrusive monitoring output of stages in micro-batch streaming
WO2018169430A1 (en) 2017-03-17 2018-09-20 Oracle International Corporation Integrating logic in micro batch based event processing systems
WO2018169429A1 (en) 2017-03-17 2018-09-20 Oracle International Corporation Framework for the deployment of event-based applications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160034810A (ko) * 2014-09-22 2016-03-30 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 네트워크 제어 보안

Also Published As

Publication number Publication date
US20140195559A1 (en) 2014-07-10

Similar Documents

Publication Publication Date Title
KR20140090769A (ko) 연속질의 언어 기반의 네트워크 제어 시스템
US9590888B2 (en) Link keepalive method, controller and switch
US9473414B2 (en) Method and system for supporting packet prioritization at a data network
US8559302B2 (en) Systems and methods for distributed service protection across plug-in units
US9614759B2 (en) Systems and methods for providing anycast MAC addressing in an information handling system
RU2554543C2 (ru) Блок связи, система связи, способ связи и носитель записи
CN101095316A (zh) 通信系统以及通信方法
US8462636B2 (en) Systems and methods for communication of management traffic over link aggregation group interface for a network element with distributed architecture
CN110324165A (zh) 网络设备的管理方法、装置及系统
KR102025680B1 (ko) Sdn 기반의 arp 구현 방법 및 장치
EP3200399B1 (en) Automated mirroring and remote switch port analyzer (rspan)/encapsulated remote switch port analyzer (erspan) functions using fabric attach (fa) signaling
WO2015032026A1 (zh) 一种链路发现方法、sdn控制器及设备
US9743367B2 (en) Link layer discovery protocol (LLDP) on multiple nodes of a distributed fabric
KR20140106235A (ko) 오픈플로우 스위치 및 그 패킷 처리 방법
JP6637196B2 (ja) ネットワークにおいてパケットフロー群を転送する方法及びネットワークシステム
CN103825759A (zh) 获取网络拓扑信息的方法和系统
CN107517143A (zh) 一种基于bgp协议的网络流量采集和监控方法
US9218356B2 (en) Systems and methods for accelerating networking functionality
WO2014175423A1 (ja) 通信ノード、通信システム、パケット処理方法及びプログラム
US8659994B2 (en) Method and system for communicating multicast traffic over protected paths
CN104579704B (zh) 组播数据报文的转发方法及装置
CN107135166B (zh) 一种流量管理系统及方法
WO2019041944A1 (zh) 一种处理报文的方法和装置
CN111211982B (zh) 数据转发方法及装置、电子设备、存储介质
CN104767720A (zh) 一种软件定义网络中OpenFlow消息跟踪和过滤的方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid