KR101912778B1 - Ip 네트워크 주위로 흐르는 데이터스트림으로부터 데이터를 추출하기 위한 방법 및 장치 - Google Patents

Ip 네트워크 주위로 흐르는 데이터스트림으로부터 데이터를 추출하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR101912778B1
KR101912778B1 KR1020137027662A KR20137027662A KR101912778B1 KR 101912778 B1 KR101912778 B1 KR 101912778B1 KR 1020137027662 A KR1020137027662 A KR 1020137027662A KR 20137027662 A KR20137027662 A KR 20137027662A KR 101912778 B1 KR101912778 B1 KR 101912778B1
Authority
KR
South Korea
Prior art keywords
data
state
stream
state machine
network
Prior art date
Application number
KR1020137027662A
Other languages
English (en)
Other versions
KR20140040120A (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 꼬스모스 테크
Publication of KR20140040120A publication Critical patent/KR20140040120A/ko
Application granted granted Critical
Publication of KR101912778B1 publication Critical patent/KR101912778B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4498Finite state machines

Abstract

환경설정 단계에서, 상태 기계(20)는 IP 네트워크 쥐위로 흐르는 데이터스트림으로부터 추출되는 적어도 한가지 타입의 데이터에 따라 환경설정된 사애 및 전환으로 구성된다. 상태들 간의 전환은 애플리케이션층 프로토콜에 따라 데이터스트림의 구성을 위한 규칙들의 함수로 정의된 각각의 조건에 의해 활성화된다. 더욱이 하나 이상의 상태들이 스트림으로부터 데이터의 추출 위해 선택된다. 그런 후, 스트림의 실시간 분석단계에서, 네트워크 주위로 연이어 흐르는 IP 패킷으로부터 발생한 스트림 데이터가 관찰된다. 상태 기계가 현재 상태에 있을 때, 타겟 상태로의 전환의 활성화 조건이 스트림으로부터 관찰된 데이터에 의해 구현되는지 여부에 관해 검색이 수행되고, 이런 활성화 조건이 구현되면, 상태 기계는 타겟 상태로 이동한다. 상태 기계가 환경설정 단계에서 선택된 한 상태에 있을 때 스트림으로부터 데이터가 추출된다.

Description

IP 네트워크 주위로 흐르는 데이터스트림으로부터 데이터를 추출하기 위한 방법 및 장치{METHOD AND DEVICE FOR EXTRACTING DATA FROM A DATA STREAM TRAVELLING AROUND AN IP NETWORK}
본 발명은 IP("Internet Protocol") 패킷들로 통신 네트워크를 통해 흐르는 데이터스트림에 대한 분석기술에 관한 것이다. 보다 상세하게, 이 경우, 네트워크를 통해 흐르는 막대한 양의 데이터를 다루어야 하지 않고도 하나 이상의 특정 카테고리들로부터 실시간으로 데이터를 추출하도록 추구된다.
가령 Wireshark라는 이름으로 배포된 IP 패킷분석은 데이터를 운반하는 패킷들의 컨텐츠 스트림으로부터 전체 추출을 실행하고 그런 후 이 컨텐츠를 구성하는 각각의 다른 요소들이 식별되게 하는 완전한 분석을 받게 한다. 이 방법은 분석을 위한 모든 스트림의 실시간 추출을 필요로 하기 때문에 다수의 스트림들의 실시간 관찰에 잘 맞지 않는다. 더욱이, 프로토콜에 따라 스트림이 구성되는 프로토콜에서의 변경의 경우, 그 변경이 미미하거나 추구되는 정보와 관련없는 프로토콜의 측면에 관한 것이라도 분석기를 수정하는 것이 필요하다.
IP 타입 네트워크를 통해 데이트스트림에 있는 타겟 정보의 효율적인 추출 및 동기 맵핑을 가능하게 하는 기술이 필요하다.
IP 네트워크를 통해 흐르고, 애플리케이션층 프로토콜(OSI 모델의 층(7))에 따라 구성되는 데이터스트림으로부터 데이터를 추출하는 방법이 제안되어 있다. 애플리케이션층과 관련해 이런 관점에서, 스트림은 네트워크(IP)층 및/또는 트랜스포트(TCP, UDP, 등)층의 프로세스에 의해 가상으로 랜덤하게 분할된다. 그럼에도 불구하고, IP 네트워크를 통한 매우 높은 비트속도로 트래픽이 흐른다면, 처리를 위해 스트림에 포함된 특정 데이터를 추출하는 능력을 갖는 것이 바람직하다. 상기 방법은:
- 상태 기계(state machine)가 스트림으로부터 추출된 적어도 한가지 타입의 데이터에 따라 만들어진 상태 및 전환으로 구성되고, 스트림으로부터 데이터 추출을 위해 적어도 한 상태가 선택되는 환경설정 단계; 및
- 데이터스트림의 실시간 분석단계를 포함하고,
상태들 간에 전환은 애플리케이션층 프로토콜에 따라 스트림의 데이터 구성을 위한 규칙들의 함수로 정의된 각각의 조건들에 의해 활성화된다.
실시간 분석단계는
· 네트워크를 통해 연이어 흐르는 IP 패킷으로부터 발생한 스트림의 데이터를 관찰하는 단계;
· 상태 기계가 현재 상태에 있을 때, 현재 상태에서 타겟 상태로 전환을 위한 활성화 조건이 관찰된 스트림의 데이터에 의해 이행되는지를 판단하는 단계, 및 이 활성화 조건이 이행된 경우, 상태 기계를 타겟 상태로 바꾸는 단계;
· 상태 기계가 스트림으로부터 데이터의 추출을 위한 환경설정 단계에서 선택된 한 상태에 있을 경우 스트림으로부터 데이터를 추출하는 단계;
· 상태 기계가 환경설정 단계에서 선택되지 않은 한 상태에 있는 경우 스트림의 데이터를 무시하는 단계를 포함한다.
노드가 상태 기계, 프로토콜 문법의 관련된 구조적 요소들을 설명하는 상태 기계로 유용한 의미론적 정보 및 포함 정보가 스트림에 나타날 때 추출되게 할 수 있다. 상태 기계는 상태와 전환으로 구성된다. 한 상태에서 또 다른 상태로 이동하게 할 수 있는 전환은 일반적으로 데이터스트림의 관찰 동안 어휘소들(lexemes)에 의해 활성화된다.
사용된 상태 기계는 매우 가변적인 컨텐츠(원문 또는 이진수)를 가질 수 있는 데이터스트림에 작동하며, 컨텐츠의 신택스는 반드시 완벽하게 알려질 필요가 없고, 오류를 포함할 가능성이 있으며 시간상 각 순간에 전체적으로 이용될 수 없다.
스트림 모두를 추출해야 하지 않고도 이렇게 하기 위해, 상기 방법은 실시간으로 스트림의 데이터를 분석함으로써 다른 전환들의 활성을 가능하게 하는 조건들에 대해 검색한다. 2개 상태들 간에 있는 전환 활성화 및 데이터는 별개로 관리될 수 있다.
더욱이, 상기 방법은 데이터의 단편이 있는 상태에서 전환의 활성화 조건을 검색하는 것이 필요한 스트림의 이들 부분들만의 버퍼 메모리에 저장 관리를 가능하게 한다. 이런 실시예에서, 상태 기계의 전환의 활성화 조건은 데이터스트림에서 각각의 어휘소가 있는 것을 포함하고, 데이터스트림의 실시간 분석은 상태가 기계가 현재 상태에 있을 경우:
·IP 패킷에 관찰된 데이터스트림의 끝에 위치된 적어도 N-1개 문자들을 버퍼 메모리에 저장하는 단계; 및
·네트워크를 통해 연이어 흐르는 IP 패킷으로부터 발생한 다음 데이터스트림 수신시, 2개 패킷들 간에 분할된 가능한 어휘소의 존재를 검색하기 위해 수신된 데이터 앞에 버퍼 메모리의 컨텐츠를 두는 단계를 포함하며, N은 현재 상태 밖의 전환에 해당하는 어휘소의 가장 큰 문자 개수이다.
환경설정 단계에서 선택된 상태 기계의 상태는 스트림으로부터 추출된 데이터가 외부 프로세서로 바로 전달되는 하나 이상의 상태들을 포함할 수 있다.
상태 기계의 선택된 상태는 상기 상태 기계가 상기 선택된 상태를 떠난 다음 스트림으로부터 추출된 데이터가 버퍼 메모리에 저장된 다음 외부 프로세서에 전달되는 하나 이상의 상태들을 또한 포함할 수 있다. 이러한 상태 기계의 선택된 상태에서 스트림으로부터 추출된 데이터를 수신한 버퍼 메모리는 환경설정가능한 문자 개수로 제한된 크기를 갖는다.
본 발명의 또 다른 태양은 상기 방법을 실행하기에 적합한 장치에 관한 것이다. 이 장치는:
- 스트림으로부터 추출되는 적어도 하나의 데이터 타입에 따라 구성되는 상태 및 전환들을 갖는 상태 기계;
- 네트워크를 통해 연이어 흐르는 IP 패킷으로부터 발생한 데이터스트림을 실시간으로 수신하기 위한 입력부;
- 상태 기계가 현재 상태에 있을 경우, 현재 상태로부터 타겟 상태로 전환의 활성화 조건이 입력부에 수신된 데이터스트림에 의해 이행되는지 판단하고 상기 활성화 조건이 이행될 경우 상태 기계를 타겟 상태로 바꾸기 위한 전환 검출기를 구비하고,
상태들 간의 전환은 상기 애플리케이션층 프로토콜에 따라 데이터스트림의 구성을 위한 규칙들의 함수로 정의된 각각의 조건에 의해 활성화되며, 상태 기계의 적어도 한 상태는 스트림으로부터 데이터의 추출을 위해 선택된다. 데이터스트림은 상태 기계가 상기 스트림으로부터 데이터의 추출을 위해 선택된 상태에 있을 경우 추출되며, 상태 기계가 스트림으로부터 데이터의 추출을 위해 선택되지 않은 상태에 있을 경우 무시된다.
본 발명의 내용에 포함됨.
본 발명의 다른 특징 및 이점은 첨부도면을 참조로 하기의 비제한적인 실시예의 설명으로부터 명백해진다.
도 1은 본 발명이 적용될 수 있는 IP 네트워크의 간략한 도면이다.
도 2는 본 발명의 실행을 위해 도 1의 네트워크에 연결될 수 있는 장비의 블록도이다.
도 3은 본 발명에 따른 데이터 추출장치의 일예의 블록도이다.
도 4는 예로써 나타내진 특정한 경우에 사용될 수 있는 상태 장치의 도면이다.
도 1을 참조하면, 인터넷과 같은 IP 네트워크는 표준형태로 다른 라운팅 장비들을 구비하며, 일부(2)는 네트워크에 나머지(3)는 사용자 단말기(3), 사용자 컴퓨터 장치(4), 네트워크 운영자가 그들의 가입자, 다른 네트워크로의 게이트웨이 등을 관리하는 서버와 같은 다양한 장치들에 연결하기 위해 주변에 위치해 있다.
라우터들(2,3) 간의 링크들은 가령 광섬유 라인에 의해 제공된 매우 높은 비트속도 연결에 의해 수행된다. 대표적인 비트속도 값들은 초당 수십 기가바이트이다.
이들 높은 비트속도 링크들에 의해 수행된 다른 데이터스트림들로, 몇몇 애플리케이션들은 가령 청구서 작성, 보안, 서비스 품질의 관리 등을 위해 특정 데이터의 추출을 필요로 한다.
이런 식으로 추출된 데이터를 수신하는 장치들은 IP 네트워크(1)를 통해 흐르는 어쩌면 막대한 양의 데이터에 의해 압도되지 않는 것이 바람직하다. 이를 위해, 장비(10)는 도 2에 개략적으로 나타낸 바와 같이 사용될 수 있다.
이 장비(10)는 일반적으로 라우터(2,3)의 수준에서 설치되어 라우터들 간에 높은 비트속도 링크들 중 하나와 인터페이스한다. 그러나, 장비(10)는 엔드 라우터(3)와 게이트웨이 또는 사용자 장치들 간에 놓인 링크에 설치될 수 있는 것을 알게 된다.
도 2에 나타낸 장비(10)는 물리층 및 장비가 장착되는 링크의 하부 프로토콜층에 적용되는 네트워크 인터페이스(11)를 구비한다. 네트워크 인터페이스(11)에 의해 나타난 트래픽은 연속 IP 패킷들이 속하는 데이터스트림을 식별할 수 있는 분류기(12)에 맡겨진다. 분류기(12)는 가령 WO 2004/017595 A2에 기술된 것과 같은 인식 및 프로토콜 분석기술을 실행한다. 그 아키텍쳐는 WO 2006/120039 A1에 기술된 바와 같이 선택적으로 분포될 수 있다.
트래픽 분류기(12)는 시스템 관리자에 의해 특정된 하나 이상의 데이터스트림으로부터 취해진 IP 패킷들을 데이터 추출장치(13)에 선택적으로 나타내도록 구성된다. 이들 스트림들 각각에 대해, 데이터 추출장치(13)는 사용자에 의해 수행된 환경설정의 기능으로서 관련된 데이터를 선택하고, 스트림으로부터 데이터를 추출하여 추출된 데이터에 대한 필요한 처리(가령, 청구서 작성, 보안 또는 서비스 애플리케이션 품질 등에 대한 처리)를 수행하는 외부 프로세서(14)로 보낸다. 이 경우에 참조되는 사용자는 외부 프로세서(14)에 의해 실행된 애플리케이션을 관리하는 자이다. 이 사용자를 피실행 데이터스트림을 특정하는 시스템 관리자와 결합시킬 수 있다. 또 다른 서비스 지향 아키텍처로, 시스템 관리자가 데이터 추출 서비스를 수행할 다른 타입의 처리를 갖는 여러 사람들에 제공하는 경우, 사용자는 시스템 관리자와 똑같이 별개일 수 있다.
데이터 추출기(13)는 도 3에 도시된 바와 같은 아키텍처를 가질 수 있다. 이 아키텍처는 적절한 휴먼/머신 인터페이스(22)를 통해 사용자가 구성하는 상태 기계(20) 및 전환 검출기(21)에 집중되어 있다. 환경설정 단계에서, 사용자는 인터페이스(22)를 통해 상태 기계(20)의 상태와 전환뿐만 아니라 상태들 간의 전환의 활성화 조건들을 정의한다. 인터페이스(22)는 환경설정 동작시 사용자를 보조하기 위해 프로토콜의 문법에 대한 지식을 포함할 수 있다.
데이터 추출기(13)는 트래픽 분류기(12)에 의해 나타내어 지는 IP 패킷으로부터 발생한 스트림의 데이터를 실시간으로 수신하는 입력부(24)를 갖는다. 인터페이스(22)를 통해 수행된 환경설정에 따라 이 스트림으로부터 추출된 데이터는 데이터 출력부(25)에 의해 외부 프로세서(14)로 보내진다.
IP 타입의 네트워크의 경우 상태 기계의 사용은 동작 구속조건을 부여한다. 실제로, 스트림은 그런 후 단편화되고, IP 패킷에서 발생한 각 단편은 가변 크기가 된다. 이 단편화는 프로토콜의 문법에서 임의의 순간에 배치될 수 있다. 다음의 2가지 경우들이 고려되어야 한다:
- 패킷의 끝과 다음 패킷의 시작 사이에 전환 조건의 활성화에 필요한 데이터가 나누어질 수 있다;
- 한 상태에서 처리될 유용한 데이터는 여러 패킷들로 나타내질 수 있으나, 사용자는 데이터가 단편화식으로 처리되지 않는 것을 요청할 수 있다.
이들 2가지 경우를 고려하기 위해, 데이터 추출기(13)는 2개의 버퍼 메모리(26,27)를 구비한다(실제로, 이들 버퍼(26,27)는 하나의 메모리 면내에서 형성될 수 있다).
버퍼 메모리(26)는 전환 검출기(21)에 의해 추구된 어휘소들이 입력부(24)에서 연이어 수신된 2개의 IP 패킷들 사이에서 나누어지는 것으로 발견되는 상황을 관리하는데 이용된다. 주어진 상태 기계(20)의 상태에서, 이 상태 밖에서 이용될 수 있는 가능한 전환들의 활성화를 위해 여러 어휘소들이 찾아질 수 있다. N이 이들 어휘소들의 문자들의 최대 개수를 나타내는 경우, 상태 기계가 이 주어진 상태에 있을 경우에 수신된 각 IP 패킷에 수신된 데이터스트림의 마지막 N-1 문자들을 버퍼 메모리(26)에 기록하기가 편하다. 스트림의 데이터를 포함하는 다음 IP 패킷의 수신시, 버퍼 메모리(26)의 컨텐츠가 입력부(24)에 수신된 데이터의 첫번째 문자 앞에 배치되므로 전환 검출기(21)가 찾아진 어휘소들 중 가능한 하나의 존재를 관찰할 수 있다. 전환 검출기(21)와 버퍼 메모리(26) 간에 이런 협동은 찾아진 어휘소들이 IP 레벨에서 스트림의 분할로 인해 상실되지 않는 것을 보장한다. 버퍼 메모리(26)는 선택적으로 N-1개 문자들보다 약간 더 많은 문자들을 포함할 수 있고, 버퍼 메모리의 크기는 그럼에도 불구하고 추출되는 데이터의 크기보다 상당히 적게 남아 있어야 한다는 것이 주목된다.
상태 기계(20)는 스트림의 문법 구조에 따라 구축된 상태 리스트를 포함한다. 각 상태는 전환 리스트를 포함하고, 전환 검출기(21)에 의해 찾아지는 전환 리스트의 활성화 조건은 일반적으로 데이터스트림에 수신된 어휘소들이 있는가 하는 것이다. 더욱이 각 상태는 상태 기계(20)가 이 상태에 있는 동안 수신된 데이터를 처리하기 위한 방식을 나타내는 절차와 관련 있다.
상태의 각 전환은 활성화 조건 및 관련된 타겟 상태뿐만 아니라 조건의 동작을 보장하기 위해 분석할 필요가 있는 데이터의 최소 길이를 특정한다. 상태 및 이에 따른 전환에 특정한 활성화 조건은 다음 형태들 중 하나를 취할 수 있다:
- 가령, 보이어-무어 검색 알고리즘(Boyer- Moore search algorithm)을 이용한 주어진 문자열의 발견;
- 검색 트리(프리픽스 트리 또는 순서 트리 데이터 구조)를 이용한 주어진 문자열의 발견;
- 주어진 바이트 개수의 스트림에서 프로그레션;
- 이전 경우의 일반화인 가변 바이트 개수의 스트림에서 프로그레션; 이 경우, 홉의 크기는 상태 기계의 설명에 나타나지 않고 상태의 입력에 주어지며, 전환은 상기 상태의 밖에 있다:
- 일반 조건: 실제로, 상태 기계에 모든 선행 경우들을 포함하는 일반화를 만드는 전환을 찾을 수 있는 기능을 통해 이 조건이 통보된다.
조건들은 일반적으로 입력부(24)에 수신된 데이터스트림을 읽는데 있어 프로그레션을 따라 활성화된다. 이런 전환이 활성화되면, 다음 상태로 전환을 허용하는 전환의 활성화 전에 있는 데이터를 이용할 수 있다. 사용자가 요청한 환경설정에 따라, 상태의 2가지 변경들 사이에 있는 데이터는:
- 무시될 수 있다; 또는
- 처리를 위해 첫번째 상태와 링크된 기능에 전달될 수 있다. 이 기능은 대표적으로 출력부(25)를 통한 데이터의 즉각적 전송이다; 또는
- 처리를 위한 첫번째 상태와 링크된 기능에 전달된 다음 버퍼 메모리(27)에 저장될 수 있다. 이 기능은 대표적으로 상태 기계(20)가 현재 상태를 떠나는 순간 출력부(25)를 통한 데이터의 전송이다. 버퍼 메모(27)는 문자 개수 면에서 최대 크기를 갖도록 구성될 수 있다. 상태 기계(20)는 이 최대 개수의 문자들이 버퍼 메모리(27)에 저장되었을 때 현재 상태를 떠나도록 강제될 수 있다. 이는 이 버퍼 메모리의 오버플로우를 방지하게 한다.
예로써, 본 발명의 실행의 이 특별한 예들은 이하 XML("Extensible Markup Language") 언어를 기반으로 한 Jabber 또는 XMPP("Extensible Messaging and Presence Protocol")으로 알려진 인스턴트 메시징 프로토콜의 경우에 나타나 있다. 이들 예들은 Jabber/XMPP 프로토콜의 다른 확장 또는 다른 프로토콜에 대해 어려움 없이 일반화될 수 있다.
성능(메모리 및 텍스트 분석의 처리시간) 및 강건함을 위해, Jabber 프로토콜의 문법이 완전히 설명되어 있지 않다. 추출하고 싶은 정보 주변에 불변량을 구성하는 단지 이들 마커들만이 검토되어 있다.
예 1에서, 사용자는 Jabber 프로토콜에 전송된 메시지의 컨텐츠를 추출하고자 한다.
예 2에서, 추출은 Jabber 프로토콜에 전송된 접촉(이메일 어드레스)에 관한 것이다.
상태 기계(20)는 이들 실시예들을 실행하기 위해 도 4에 도시된 도면에 따라 구성될 수 있다. 데이터의 추출을 실행하기 위한 상태 기계(20)에서 2개 타입의 상태들이 사용자에 의해 선택된다. 제 1 타입으로("NODE_BODY"라고 하는 상태(30)), 메시지의 컨텐츠는 아주 클 수 있기 때문에 추출장치(13)에 결코 기억되지 않을 것이다. 제 2 타입으로("TR_CONTACT_ENTRY"라고 하는 상태(31)), 이메일 어드레스가 외부 프로세서(14)로 모두 한꺼번에 전송되도록 버퍼 메모리(27)에 저장될 수 있다.
상기 2가지의 경우, 선택된 상태에서 데이터의 전달을 위한 콜백 절차 동안, 추출기(13)는 프로세서(14)에 현재 상태(NODE_BODY 또는 TR_CONTACT_ENTRY)뿐만 아니라 추출된 데이터에 대한 정보를 제공하며, 이는 데이터의 정확한 해석에 필요한 의미적 및 포함 정보를 제시한다.
상태 기계(20)의 초기 위치인 "NODE_BASE"라고 하는 노드(32)로부터, 상태 기계를 설명하는 그래프의 가지는 어휘소 <message의 검출로부터 메시지의 컨텐츠의 시작을 검출하는 한편, 또 다른 가지는 어휘소:iq:roster에 의해 지정된 신호 데이터에만 있는 정보의 아이템에 대해 검색한다.
도 4에 나타난 상태 기계(20)의 상태 및 전환은 환경설정 단계에서 하기의 방식으로 정의된다:
{ node: NODE_BASE, nextnode: NODE_MESSAGE, start: " <message " },
{ node: NODE_BASE, nextnode: NODE_CONTACT_LIST, start: ":iq:roster " },
{ node: NODE_MESSAGE, nextnode: NODE_BODY, start: " <body> " },
{ node: NODE_BODY, nextnode: NODE_BASE, start: " </body> " },
{ node: NODE_CONTACT_LIST, nextnode: NODE_BASE, start: " </query> " },
{ node: NODE_CONTACT_LIST, nextnode: NODE_CONTACT_ENTRY, start: " <item " },
{ node: NODE_CONTACT_ENTRY, transnode: TR_CONTACT_ENTRY, start: " jid=' ", end: " '/> ", flag:SM_TRUNCATE },
{ node: NODE_CONTACT_ENTRY, nextnode: NODE_BASE, start: " </query> " },
여기서:
·"node"는 현재 상태의 이름이고;
·"nextnode"는 전환 조건이 활성화될 때 다음 상태의 이름이며;
·"start"는 이 전환을 활성화하기 위해 스트림에서 검색하기 위한 마커를 나타낸다.
버퍼 메모리(27)에 있는 기억장치에 링크된 임시 상태가 상태 기계에 의해 사용되는 경우, 2가지 추가 정보 아이템들이 있다:
·"transnode" (임시노드): 급격한 전환의 임시 상태에 대한 이름;
·"end": 급격한 전환을 나가도록 추구되는 마커;
·"flag": 선택적 마커. 이 경우, 이는 버퍼 메모리(27)가 가득 찼을 때 엔드 마커를 찾을 수 없는 경우 데이터의 절단을 나타낸다.
예 1:
어휘소 <message의 검출 후, 제 1 가지는 상태 기계(20)를 아직 추출이 전혀 수행되지 않은 NODE_MESSAGE(33) 상태에 이르게 한다. NODE_MESSAGE 상태에서 어휘소 <body>의 검출은 상태 기계(20)를 NODE_BODY 상태에 이르게 한다. 이 상태(30)에서, 콜백은 초기 상태(32)로 바로 복귀하는 엔드 마커</body>가 검출될 때까지 연이은 IP 패킷으로부터 모든 수신된 데이터를 출력(25)으로 보낸다.
즉, 데이터 추출기(13)는 프로토콜에 정의된 XML 태그 <body> 및 </body> 사이에 포함된 스트림의 메시지 중 임의의 컨텐츠를 분리한다. 메시지의 컨텐츠는 용량이 클 수 있기 때문에, 버퍼 메모리(27)를 통과하지 않는다. 이는 IP 패킷의 연속 수신시 하나 이상의 순서대로 전송될 것이다.
이에 따라 애플리케이션 스트림은 가령 아래와 같이 나타내질 수 있다:
< message xmlns =" jabber : client " type =" chat " to ="cyberic99@gmail.com" id =" aac3a ">
< body > Bonjour Eric</ body >
< active xmlns ="http://jabber.org/protocol/chatstates"/>
< nick xmlns ="http://jabber.org/protocol/nick"> sir swiss</ nick >
</ message >
추출기(13)는 외부 프로세서(14)에 메시지의 바디 "Bonjour Eric"를 제공할 것이다.
이는 가령 스타트 마커가 2개의 IP 패킷을 통해 분할되는 것이 발생될 수 있다:
A. < message xmlns =" jabber : client " type =" chat " to ="cyberic99@gmail.com" id =" aac3a "><b
B. ody > Bonjour Eric </ body >< active
xmlns ="http://jabber.org/protocol/chatstates"/>< nick
xmlns ="http://jabber.org/protocol/nick"> sir swiss </ nick >
상태 기계(20)가 패킷(A)의 끝에 있는 NODE_MESSAGE 상태에서, 전환, 즉 한개 적은 문자(1 바이트), 즉, 5개 문자를 활성시키는 최장 어휘소(< body > = 6 문자)의 길이가 버퍼 메모리(26)에 저장된다. 패킷(A) 끝에, 메모리(26)는 "a"><"b"를 포함한다. 패킷 B의 수신시, 문자 "<b" 및 "ody>" 열이 재조립되고 패킷(2)에서 완성될 때 메시지가 1회 전송된다. 스트림의 나머지는 추출기(13)에 의해 무시된다.
가령, 메시지의 컨텐츠가 여러 IP 패킷들에 대해 분할되는 것이 또한 발생될 수 있다:
C. < message xmlns =" jabber : client " type =" chat " to="cyberic99@gmail.com" id =" aac3a ">< body > Bonjour
D. Eric</ body >< active
xmlns ="http://jabber.org/protocol/chatstates"/>< nick
xmlns ="http://jabber.org/protocol/nick"> sir swiss </ nick ></ message >
상태 기계(20)가 패킷(C)의 끝에 있는 NODE_BODY 상태에서, 전환, 즉 한개 적은 문자(1 바이트), 즉, 6개 문자를 활성시키는 최장 어휘소(< body > = 7 문자)의 길이가 버퍼 메모리(26)에 저장된다. 이 패킷 C의 수신시 "B"만이 프로세서(14)에 전송되고 "onjour"가 메모리(26) 보유된다. 패킷 D의 수신시, 엔드 마커</body>가 검출되며, 이는 메모리(26) 및 엔드 마커 전에 위치된 새 패킷의 데이터, 즉, 모두: "onjour Eric"를 출력부(25)로 보낸다. 그런 후 프로세서(14)에 추출기(13)로부터 연이어 수신된 "B" 및 "onjour Eric" 열의 재조립이 처리될 수 있다.
가령, 이는 엔드 마커</body>가 2개의 IP 패킷들에 대해 분할되는 것이 발생할 수 있다;
E. < message xmlns =" jabber : client " type =" chat " to ="cyberic99@gmail.com" id="aac3a"><body>Bonjour Eric </ bo
F. dy >< active xmlns ="http://jabber.org/protocol/chatstates"/>< nick xmlns="http://jabber.org/protocol/nick">sir swiss </ nick ></ message >
상태 기계(20)가 패킷(E)의 끝에 있는 NODE_BODY 상태에서, 6개 문자들이 각 IP 패킷의 끝에서 버퍼 메모리(26)에 저장된다. 패킷(E)의 끝에서, 메모리(26)는 그후 "ic</bo"를 포함한다 "Bonjour Er" 만이 이 패킷(E)의 수신 동안 프로세서(14)에 전달된다. 패킷(F)의 수신시, 엔드 마커</body>가 재조립되고 검출되며, 이는 검출된 마커, 즉 "ic"와 함께 속하는 것들을 제외하고 메모리(26)의 데이터를 출력부(25)로 보낸다.
2개의 패킷들(C,D 또는 E,F)에 대해 설명된 방법은 일반적으로 데이터스트림의 임의의 분할에 대한 것이다. 메시지 바디의 크기보다 적은 여러 패킷들이 연이어 수신되면, 이들은 현재 상태(30) 밖의 가장 큰 전환을 검색할 수 있게 하기 위해 스트림의 다음 패킷의 수신 때까지 버퍼 메모리(26)에 보유된 6개의 마지막 문자들을 제외하고 수신되면 그리고 수신됨에 따라 전송된다.
예 2:
어휘소: iq:roster의 검출 후, 도 4의 그래프의 제 2 가지는 상태 기계(20)를 추출이 아직까지 전혀 발생하지 않은 NODE_CONTACT_LIST 상태(34)에 이르게 한다. 어휘소 </item가 NODE_CONTACT_LIST 상태에서 스트림에 검출되면, 상태 기계(20)는 추출이 전혀 수생되지 않은 NODE_CONTACT_LIST 상태(35)로 이동한다. 그런 후 전환 검출기(21)는 TR_CONTACT_ENTRY 상태로 이동하기 위해 스트림에서 어휘소 jid='를 관찰한다. 이 상태(31)에서, 입력부(24)에 수신된 스트림의 컨텐츠는 NODE_CONTACT_LIST 상태(35)로 재전송되는 엔드 마커 '/>가 검출될 때까지 버퍼 메모리(27)에 기록된다. 어휘소 </query가 상태(34 또는 35)(NODE_CONTACT_LIST 또는 NODE_CONTACT_ENTRY)에서 스트림에 검출되면, 상태 기계(20)는 베이스 상태(32)로 복귀한다. TR_CONTACT_ENTRY 상태로 전환을 급격한 전환이라 하는데, 상태 기계(20)가 2개 스타트 및 엔드 마커 jid=' 및 '/>들 간에 컨텐츠를 버퍼 메모리에 저장하는 요건에 대해 이 상태(31)에만 유지될 수 있기 때문이다. 엔드 마커 '/>가 검출되면, 상태 기계(20)는 NODE_CONTACT_ENTRY 상태로 복귀한다. 따라서, 전환 검출기(21)는 신호 끝의 마커 </query가 검출될 때까지 연락 이메일 어드레스를 계속 읽을 수 있다.
따라서, 데이터 추출기(13)는 <item>으로 표시된 XML에서 속성 jid의 컨텐츠, 즉, jid=' 및 '/> 간에 포함된 텍스트에 대해 검색한다. 이메일 어드레스가 본래 상대적으로 적음에 따라, 여러 패킷들에 걸쳐 분할된 경우 한 번에 전송되는 것이 요청될 수 있다. 상태 기계는 선택적으로 엔드 마커 '/>의 수신 때까지 버퍼 메모리(27)에 컨텐츠를 두어야 한다.
따라서, 가령, 애플리케이션 스트림은 다음과 같이 표현될 수 있다:
< iq from ='qosmojab@swissjabber.org/ dev1' type =' result' id =' aab6a' >
< query xmlns =' jabber : iq : roster' >
< item subscription =' both' jid ='qosmojab@im.apinc.org'/>
< item subscription =' both' name =' babydaisy' jid ='babydaisy@binaryfreedom.info'/>
< item subscription =' to' jid =' roiboo .crusher@gmail.com'/>
< item subscription =' to' jid ='cyberic99@gmail.com'/>
</ query ></ iq >
이메일 어드레스가 단편화되지 않으면, 스트림의 동일 패킷에 있는 2개 스타트 및 엔드 마커 jid=' 및 '/>, 어드레스의 추출 및 프로세서(14)에 의한 전송은 버퍼 메모리(27)를 사용함이 없어 한 번에 수행된다.
스타트 마커 jid='가 2개 IP 패킷들 사이에 분할되면, 절차는 예 1에서와 같으며, 1 바이트 적은 제 1 전환의 길이의 버퍼 메모리(26)에 기록된다. 제 2 패킷의 수신시, 마커 jid='가 재구성되고 임시 TR_CONTACT_ENTRY 상태로 들어가도록 전환이 활성화된다.
가령, 이메일 어드레스가 2개 IP 패킷들 사이에 분할될 수 있다:
G. < iq from ='qosmojab@swissjabber.org/ dev1' type =' result'
id =' aab6a' >< query xmlns =' jabber : iq : roster' >< item
subscription =' both' jid ='qosmojab@im
H. . apinc . org' />< item subscription =' both'
name =' babydaisy'
jid ='babydaisy@binaryfreedom.info'/>< item
subscription =' to'
jid =' roiboo .crusher@gmail.com'/>< item
subscription =' to'
jid ='cyberic99@gmail.com'/></ query ></ iq >
마커 jid='의 전환이 활성화되고 나서, 상태 기계(20)는 엔드 전환 '> 때까지 데이터가 버퍼 메모리(27)에 기록되는 임시 TR_CONTACT_ENTRY 상태 들어간다. 이 버퍼 메모리(27)는 제한된 크기로 되며, 최대 값은 가령 (구성가능한) 50 바이트 더하기 찾아지는 엔드 마커 '/>의 크기(즉, 총 53 바이트)이다. 패킷(G)에서, 문자 "qosmojab@im" 열이 메모리에 저장된다. 그런 후, 패킷(H)에서, 데이터는 앞서 계산된 최대 크기에 도달될 때까지 이 메모리(27)에 추가된다. 엔드 마커 '/>가 발견되면, 메모리(27)에 기록된 모든 데이터가 출력부(25)로 전송되고 상태 기계(20)는 NODE_CONTACT_ENTRY 상태(35)로 복귀하도록 TR_CONTACT_ENTRY 상태를 나간다.
엔드 마커가 발견되지 않으면, 전환 선택을 이용한 환경설정 동안 사이에 선택이 이루어지는 2개 가능성들이 있다. 일반적인 경우는 가장 오래 저장된 데이터를 스트림에 읽어지는 데이터로 교체함으로써 엔드 마커 '/>를 계속 검색하는 것이다. 엔드 마커가 발견될 경우 전송된 데이터는 앞서 있는 50바이트이다. 또 다른 가능성은 저장될 수 있는 최대 크기로 데이터를 절단하는 것과 상태의 변화(SM_TRUNCATE 선택)를 강제하도록 엔드 전환을 활성화하는 것으로 구성된다.
상술한 실시예들은 본 발명의 예시이다. 특허청구범위로부터 명백해지는 본 발명의 범위를 초과함이 없이 다양한 변형들이 이들에 행해질 수 있다.

Claims (10)

  1. 애플리케이션층 프로토콜에 따라 구성되고, IP 네트워크를 통해 흐르는 데이터스트림으로부터 데이터를 추출하는 방법으로서,
    - 상태 기계가 스트림으로부터 추출되는 적어도 하나의 데이터 타입에 따라 구성되는 상태 및 전환들로 구성되는 환경설정 단계; 및
    - 네트워크를 통해 연이어 흐르는 IP 패킷으로부터 발생한 데이터스트림을 관찰하는 단계; 상태 기계가 현재 상태에 있을 경우, 현재 상태로부터 타겟 상태로의 전환의 활성화 조건이 관찰된 데이터스트림에 의해 이행되는지 여부를 판단하는 단계, 및 이 활성화 조건이 이행될 경우, 상태 기계를 타겟 상태로 바꾸는 단계; 상태 기계가 스트림으로부터 데이터의 추출을 위한 환경설정 단계에서 선택된 하나의 상태에 있을 경우 스트림으로부터 데이터를 추출하는 단계; 및 상태 기계가 환경설정 단계에서 선택되지 않은 하나의 상태에 있을 경우 데이터스트림을 무시하는 단계를 포함하는 데이터스트림의 실시간 분석 단계를 포함하고,
    상태들 간의 전환은 상기 애플리케이션층 프로토콜에 따라 데이터스트림의 구성을 위한 규칙들의 함수로 정의된 각각의 조건에 의해 활성화되며, 상태 기계의 선택된 상태는 상기 상태 기계가 상기 선택된 상태를 떠난 다음 스트림으로부터 추출된 데이터가 버퍼 메모리에 저장된 이후 외부 프로세서에 전달되는 상태를 포함하는 IP 네트워크를 통해 흐르는 데이터스트림으로부터 데이터를 추출하는 방법.
  2. 제 1 항에 있어서,
    상태 기계의 전환의 활성화 조건은 데이터스트림 내의 각각의 어휘소의 존재를 포함하고, 데이터스트림의 실시간 분석 상태는 또한, 상태 기계가 현재 상태에 있을 경우:
    ·IP 패킷에서 관찰된 데이터스트림의 끝에 위치된 적어도 N-1개 문자들을 버퍼 메모리에 저장하는 단계; 및
    ·네트워크를 통해 후속하여 흐르는 IP 패킷으로부터 발생한 다음 데이터스트림 수신시, 2개 패킷들 간에 분할된 가능한 어휘소의 존재를 검색하기 위해 수신된 데이터 앞에 버퍼 메모리의 컨텐츠를 배치하는 단계를 포함하고,
    N은 현재 상태 밖의 전환에 해당하는 어휘소의 가장 큰 문자 개수인 IP 네트워크를 통해 흐르는 데이터스트림으로부터 데이터를 추출하는 방법.
  3. 제 1 항에 있어서,
    상태 기계의 선택된 상태는 스트림으로부터 추출된 데이터가 외부 프로세서로 바로 전송되는 상태를 포함하는 IP 네트워크를 통해 흐르는 데이터스트림으로부터 데이터를 추출하는 방법.
  4. 제 1 항에 있어서,
    상태 기계의 상기 선택된 상태에서 스트림으로부터 추출된 데이터를 수신하는 버퍼 메모리는 환경설정가능한 문자 개수로 제한된 크기를 갖는 IP 네트워크를 통해 흐르는 데이터스트림으로부터 데이터를 추출하는 방법.
  5. 애플리케이션층 프로토콜에 따라 구성되고, IP 네트워크를 통해 흐르는 데이터스트림으로부터 데이터를 추출하는 장치로서,
    - 스트림으로부터 추출되는 적어도 하나의 데이터 타입에 따라 구성되는 상태 및 전환들을 갖는 상태 기계;
    - 네트워크를 통해 연이어 흐르는 IP 패킷으로부터 발생한 데이터스트림을 실시간으로 수신하기 위한 입력부;
    - 상태 기계가 현재 상태에 있을 경우, 현재 상태로부터 타겟 상태로의 전환의 활성화 조건이 입력부에 수신된 데이터스트림에 의해 이행되는지 판단하고 상기 활성화 조건이 이행될 경우 상태 기계를 타겟 상태로 바꾸기 위한 전환 검출기를 포함하고,
    상태들 간의 전환은 상기 애플리케이션층 프로토콜에 따라 데이터스트림의 구성을 위한 규칙들의 함수로 정의된 각각의 조건에 의해 활성화되며, 상태 기계의 적어도 하나의 상태는 스트림으로부터 데이터의 추출을 위해 선택되고, 상태 기계의 선택된 상태는 상기 상태 기계가 상기 선택된 상태를 떠난 다음 스트림으로부터 추출된 데이터가 버퍼 메모리에 저장된 이후 외부 프로세서에 전달되는 상태를 포함하며,
    데이터스트림은 상태 기계가 상기 스트림으로부터 데이터의 추출을 위해 선택된 상태에 있을 경우 추출되며, 상태 기계가 스트림으로부터 데이터의 추출을 위해 선택되지 않은 상태에 있을 경우 무시되는 IP 네트워크를 통해 흐르는 데이터스트림으로부터 데이터를 추출하는 장치.
  6. 제 5 항에 있어서,
    상태 기계의 전환의 활성화 조건은 데이터스트림 내의 각각의 어휘소의 존재를 포함하고, 전환 검출기는 상태 기계가 현재 상태에 있을 경우 IP 패킷에서 관찰된 데이터스트림의 끝에 위치된 적어도 N-1개 문자들을 수신하도록 컨트롤되는 버퍼 메모리와 연관되고, N은 현재 상태 밖의 전환에 해당하는 어휘소의 가장 큰 문자 개수이며, 전환 검출기는 네트워크를 통해 후속하여 흐르는 IP 패킷으로부터 발생한 다음 데이터스트림을 수신시 수신된 데이터 앞에 버퍼 메모리의 컨텐츠를 배치함으로써 2개의 패킷들 간에 분할된 가능한 어휘소의 존재를 찾도록 배열되는 IP 네트워크를 통해 흐르는 데이터스트림으로부터 데이터를 추출하는 장치.
  7. 제 5 항에 있어서,
    상태 기계의 선택된 상태는 스트림으로부터 추출된 데이터가 외부 프로세서로 바로 전달되는 상태를 포함하는 IP 네트워크를 통해 흐르는 데이터스트림으로부터 데이터를 추출하는 장치.
  8. 제 5 항에 있어서,
    상태 기계의 상기 선택된 상태의 스트림으로부터 추출된 데이터를 수신하는 버퍼 메모리는 크기가 환경설정 가능한 문자 개수로 제한되는 IP 네트워크를 통해 흐르는 데이터스트림으로부터 데이터를 추출하는 장치.
  9. 삭제
  10. 삭제
KR1020137027662A 2011-03-25 2012-03-21 Ip 네트워크 주위로 흐르는 데이터스트림으로부터 데이터를 추출하기 위한 방법 및 장치 KR101912778B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1152475 2011-03-25
FR1152475A FR2973188B1 (fr) 2011-03-25 2011-03-25 Procede et dispositif d'extraction de donnees
PCT/FR2012/050585 WO2012131229A1 (fr) 2011-03-25 2012-03-21 Procede et dispositif d'extraction de donnees d'un flux de donnees circulant sur un reseau ip

Publications (2)

Publication Number Publication Date
KR20140040120A KR20140040120A (ko) 2014-04-02
KR101912778B1 true KR101912778B1 (ko) 2018-10-29

Family

ID=45974438

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137027662A KR101912778B1 (ko) 2011-03-25 2012-03-21 Ip 네트워크 주위로 흐르는 데이터스트림으로부터 데이터를 추출하기 위한 방법 및 장치

Country Status (9)

Country Link
US (1) US9973372B2 (ko)
EP (1) EP2689560B1 (ko)
JP (1) JP5955943B2 (ko)
KR (1) KR101912778B1 (ko)
CN (1) CN103765821B (ko)
CA (1) CA2830750C (ko)
FR (1) FR2973188B1 (ko)
SG (1) SG193627A1 (ko)
WO (1) WO2012131229A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3350962B1 (en) * 2015-09-18 2021-11-03 Telefonaktiebolaget LM Ericsson (PUBL) Management of communication between m2m device and m2m server
US10091077B1 (en) * 2016-06-27 2018-10-02 Symantec Corporation Systems and methods for detecting transactional message sequences that are obscured in multicast communications
US10776086B2 (en) * 2016-08-22 2020-09-15 Oracle International Corporation System and method for metadata-driven external interface generation of application programming interfaces
US10298482B2 (en) * 2017-01-25 2019-05-21 Ringcentral, Inc. Systems and methods for regulating network resources to improve data-transmission quality
US20200134308A1 (en) * 2018-10-29 2020-04-30 Barefoot Networks, Inc. Configuring and performing character pattern recognition in a data plane circuit

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101282362A (zh) * 2008-05-13 2008-10-08 中兴通讯股份有限公司 深度报文检测方法和装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000307643A (ja) * 1999-04-16 2000-11-02 Sony Corp データ解析装置及びデータ解析方法
US6952756B1 (en) * 2001-05-08 2005-10-04 Lewiz Communications Method and apparatus for speculative loading of a memory
US20030110208A1 (en) * 2001-09-12 2003-06-12 Raqia Networks, Inc. Processing data across packet boundaries
FR2842970B1 (fr) 2002-07-29 2005-03-18 Qosmos Procede de reconnaissance et d'analyse de protocoles dans des reseaux de donnees
US7305391B2 (en) * 2003-02-07 2007-12-04 Safenet, Inc. System and method for determining the start of a match of a regular expression
US7586851B2 (en) 2004-04-26 2009-09-08 Cisco Technology, Inc. Programmable packet parsing processor
US7600257B2 (en) * 2004-10-13 2009-10-06 Sonicwall, Inc. Method and an apparatus to perform multiple packet payloads analysis
DE602005004130T2 (de) 2005-05-13 2009-01-08 Qosmos Verteilte Verkehrsanalyse
US7890692B2 (en) * 2007-08-17 2011-02-15 Pandya Ashish A FSA context switch architecture for programmable intelligent search memory
US7899978B2 (en) * 2006-12-08 2011-03-01 Pandya Ashish A Dynamic programmable intelligent search memory
JP2008192122A (ja) * 2007-01-09 2008-08-21 Nec Corp 悪意メール検出装置、検出方法およびプログラム
US8347384B1 (en) * 2007-07-31 2013-01-01 Hewlett-Packard Development Company, L.P. Methods and systems for using incremental operation for processing regular expressions in intrusion-prevention systems
JP2009152953A (ja) * 2007-12-21 2009-07-09 Nec Corp ゲートウェイ装置およびパケット転送方法
US8473523B2 (en) * 2008-10-31 2013-06-25 Cavium, Inc. Deterministic finite automata graph traversal with nodal bit mapping
CN101883081A (zh) * 2009-05-05 2010-11-10 昆明智讯达科技开发有限公司 一种基于网络数据包内容进行视频流传输过滤的方法
US8854996B2 (en) * 2010-12-16 2014-10-07 International Business Machines Corporation Accelerating data packet parsing
US8578024B1 (en) * 2012-01-05 2013-11-05 Narus, Inc. Network application signatures for binary protocols

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101282362A (zh) * 2008-05-13 2008-10-08 中兴通讯股份有限公司 深度报文检测方法和装置

Also Published As

Publication number Publication date
WO2012131229A1 (fr) 2012-10-04
FR2973188A1 (fr) 2012-09-28
US20140019636A1 (en) 2014-01-16
JP2014511073A (ja) 2014-05-01
US9973372B2 (en) 2018-05-15
CN103765821A (zh) 2014-04-30
SG193627A1 (en) 2013-11-29
CA2830750C (fr) 2019-03-12
CN103765821B (zh) 2017-03-22
EP2689560A1 (fr) 2014-01-29
EP2689560B1 (fr) 2019-12-18
FR2973188B1 (fr) 2013-04-19
KR20140040120A (ko) 2014-04-02
JP5955943B2 (ja) 2016-07-20
CA2830750A1 (fr) 2012-10-04

Similar Documents

Publication Publication Date Title
US20110125748A1 (en) Method and Apparatus for Real Time Identification and Recording of Artifacts
US8489390B2 (en) System and method for generating vocabulary from network data
US8577817B1 (en) System and method for using network application signatures based on term transition state machine
KR101912778B1 (ko) Ip 네트워크 주위로 흐르는 데이터스트림으로부터 데이터를 추출하기 위한 방법 및 장치
US8494985B1 (en) System and method for using network application signatures based on modified term transition state machine
US7631046B2 (en) Method and apparatus for lawful interception of web based messaging communication
CN102685177B (zh) 资源的透明代理缓存方法、网络设备及系统
US9210090B1 (en) Efficient storage and flexible retrieval of full packets captured from network traffic
CN106921637A (zh) 网络流量中的应用信息的识别方法和装置
CN103139315A (zh) 一种适用于家庭网关的应用层协议解析方法
CN102882703A (zh) 一种基于http分析的url自动分类分级的系统及方法
CN112672381B (zh) 一种数据关联方法、装置、终端设备及介质
CN114095274B (zh) 一种攻击研判方法及装置
CN101184002A (zh) 一种点对点流量深度监测方法和设备
CN102984242A (zh) 一种应用协议的自动识别方法和装置
CN106656735A (zh) 表情图像发送方法及装置
CN112350986B (zh) 一种音视频网络传输碎片化的整形方法及系统
CN116418865A (zh) 网络数据的控制方法、装置和存储介质及电子设备
US7272644B1 (en) Internet based network topology discovery
Jiang et al. Characterizing HTTP traffic of mobile internet services in provincial network
CN109688043B (zh) 一种imap协议多链接关联解析方法及系统
JP2001125821A (ja) データ通信方法およびサーバ装置
CN117640445A (zh) 一种多功能便携式流量分析装置
KR101278669B1 (ko) 고속 회선 트래픽 분석을 위한 트래픽 관리 시스템 및방법과 패킷 수집 장치
CN114615231A (zh) 一种基于名字提取的网络包处置方法及系统

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant