KR101724778B1 - Adaptive content inspection - Google Patents

Adaptive content inspection Download PDF

Info

Publication number
KR101724778B1
KR101724778B1 KR1020127018395A KR20127018395A KR101724778B1 KR 101724778 B1 KR101724778 B1 KR 101724778B1 KR 1020127018395 A KR1020127018395 A KR 1020127018395A KR 20127018395 A KR20127018395 A KR 20127018395A KR 101724778 B1 KR101724778 B1 KR 101724778B1
Authority
KR
South Korea
Prior art keywords
input data
content inspection
data
inspection processor
processor
Prior art date
Application number
KR1020127018395A
Other languages
Korean (ko)
Other versions
KR20120093441A (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 마이크론 테크놀로지, 인크.
Publication of KR20120093441A publication Critical patent/KR20120093441A/en
Application granted granted Critical
Publication of KR101724778B1 publication Critical patent/KR101724778B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0245Filtering by information in the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Abstract

적응형 컨텐츠 검사를 포함하는 방법 및 장치를 제공한다. 일 실시예에서, 컨텐츠 검사 프로세서는 입력 데이터에 관한 정보를 식별하고 상기 정보를 호스트 제어기에 제공할 수 있다. 호스트 제어기는 탐색 기준 또는 다른 파라미터를 적응시키며 적응된 파라미터를 컨텐츠 검사 프로세서에 제공할 수 있다. 다른 실시예는 결과 데이터를 컨텐츠 검사 프로세서로 피드백되도록 통합 피드백을 갖는 컨텐츠 검사 프로세서를 포함할 수 있다. 결과 데이터는 컨텐츠 검사 프로세서에 제공되기 전에 프로세싱될 수 있다.A method and apparatus are provided that include adaptive content inspection. In one embodiment, the content inspection processor may identify information about the input data and provide the information to the host controller. The host controller may adapt the search criteria or other parameters and may provide the adapted parameters to the content inspection processor. Other embodiments may include a content inspection processor with integrated feedback to feed the resulting data back to the content inspection processor. The resulting data may be processed before being provided to the content inspection processor.

Description

적응형 컨텐츠 검사{ADAPTIVE CONTENT INSPECTION}[0001] ADAPTIVE CONTENT INSPECTION [

본 발명은 일반적으로 컨텐츠 검사 프로세서에 관한 것으로서, 더 상세하게는 이러한 프로세서들의 프로그래밍 및 동작에 관한 것이다.The present invention relates generally to content inspection processors, and more particularly to programming and operation of such processors.

컴퓨터 분야에서, 컨텐츠 검사 태스크는 증가하는 도전 과제이다. 예를 들어, 컨텐츠 검사 태스크의 일 서브세트로서 패턴-인식은 사용자가 식별하기 원하는 데이터의 양과 패턴의 개수가 커짐에 따라 구현하는 것이 더 어려워질 수 있다. 예를 들어, 스팸 또는 멀웨어는 컨텐츠, 예를 들어 특정 코드의 구절 또는 조각들과 같은, 데이터 스트림에서의 패턴을 검색함으로써 검출될 수도 있다. 패턴들의 개수는 스팸 및 멀웨어가 다양할수록 증가하며, 새로운 패턴들은 새로운 변종을 탐색하기 위해 구현될 수 있다. 이들 패턴 각각의 데이터 스트림을 탐색하는 것은 계산 병목(computing bottleneck)을 형성할 수 있다. 데이터 스트림이 수신됨에 따라, 한번에 하나씩 각각의 패턴이 탐색될 수도 있다. 시스템이 데이터 스트림의 다음 부위를 탐색할 준비가 되기 전의 지연은 패턴들의 수에 따라 증가한다. 따라서, 컨텐츠 검사는 데이터 수신을 느리게 할 수 있다.In the computer field, content inspection tasks are an increasing challenge. For example, pattern-aware as a subset of content inspection tasks may be more difficult to implement as the amount of data and the number of patterns that the user desires to identify. For example, spam or malware may be detected by retrieving patterns in the data stream, such as content, e.g., phrases or fragments of a particular code. The number of patterns increases as spam and malware vary, and new patterns can be implemented to explore new variants. Searching each data stream of these patterns may form a computing bottleneck. As the data stream is received, each pattern may be searched one at a time. The delay before the system is ready to search for the next part of the data stream increases with the number of patterns. Therefore, content inspection can slow data reception.

또한, 여러 패턴 인식, 탐색, 또는 다른 컨텐츠 검사 태스크에서, 컨텐츠 검사 프로세스는 고정적이고 정의된 탐색 기준 세트를 사용하여(예를 들어, 이들에 따라서, 이들과 비교하여, 이들에 대하여) 수행된다. 컨텐츠 검사 프로세스를 수행하는 장치는 입력 데이터 및/또는 결과 데이터의 변경을 조절하지 않는다.In addition, in various pattern recognition, searching, or other content inspection tasks, the content inspection process is performed using a fixed and defined set of search criteria (e.g., compared to, and against these). The device performing the content inspection process does not regulate the change of input data and / or result data.

도 1은 본 발명의 일 실시예에 따른 컨텐츠 검사 프로세서를 구비한 장치의 실시예의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 컨텐츠 검사 프로세서 및 호스트 제어기의 동작을 예시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 컨텐츠 검사 프로세서를 위한 동적 적응 프로세스의 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 적응 가능 프로그래밍을 갖는 컨텐츠 검사 프로세서를 도시한다.
도 5는 본 발명의 일 실시예에 따른 컨텐츠 검사 프로세서의 적응 가능 프로그래밍의 제2 레벨을 도시한다.
도 6은 본 발명의 일 실시예에 따른 통합 피드백(integrated feedback)을 갖는 컨텐츠 검사 프로세서를 도시한다.
도 7은 본 발명의 다른 실시예에 따른 결과 프로세싱과의 통합 피드백을 갖는 컨텐츠 검사 프로세서를 도시한다.
도 8은 본 발명의 일 실시예에 따른 통합 피드백을 갖는 컨텐츠 검사 프로세서의 동적 적응 프로세스를 도시한다.
1 is a block diagram of an embodiment of an apparatus having a content inspection processor according to an embodiment of the present invention.
2 is a block diagram illustrating operations of a content inspection processor and a host controller according to an embodiment of the present invention.
3 is a flow diagram of a dynamic adaptation process for a content inspection processor in accordance with an embodiment of the invention.
Figure 4 illustrates a content inspection processor with adaptive programming in accordance with an embodiment of the present invention.
Figure 5 illustrates a second level of adaptive programming of a content inspection processor in accordance with an embodiment of the present invention.
Figure 6 illustrates a content inspection processor with integrated feedback in accordance with an embodiment of the present invention.
Figure 7 illustrates a content inspection processor with integrated feedback with result processing in accordance with another embodiment of the present invention.
Figure 8 illustrates a dynamic adaptation process of a content inspection processor with integrated feedback in accordance with one embodiment of the present invention.

도 1은 참조 부호(10)로 일반적으로 표기되어 있는 장치 또는 시스템과 같은 전자 장치의 일 실시예를 도시한 블록도이다. 장치(10)는 컴퓨터, 무선호출기, 무선전화기, 전자 수첩, 휴대용 오디오 플레이어, 네트워크 장치(예를 들어, 라우터, 방화벽, 스위치 또는 이들의 임의의 조합), 제어 회로, 카메라 등과 같이 임의의 다양한 타입의 장치일 수 있다. 장치(10)는 장치(10) 내의 기능 및 요청의 프로세싱을 제어하는 마이크로 프로세서와 같은 장치 프로세서(12)를 포함할 수 있다. 또한, 프로세서(12)는 장치 제어를 공유하는 복수의 프로세서를 포함할 수 있다. 프로세서(12)는 범용 프로세서 또는 장치(10)의 기능 및 요청들을 위한 특수 목적 프로세서일 수도 있다.Figure 1 is a block diagram illustrating one embodiment of an electronic device such as a device or system generally designated by the reference numeral 10. The device 10 may be any of various types of devices such as a computer, a wireless pager, a cordless telephone, an electronic organizer, a portable audio player, a network device (e.g., a router, a firewall, a switch or any combination thereof) Lt; / RTI > The device 10 may include a device processor 12, such as a microprocessor, for controlling the processing of functions and requests within the device 10. [ In addition, the processor 12 may include a plurality of processors that share device control. The processor 12 may be a general purpose processor or a special purpose processor for the functions and requests of the device 10. [

장치(10)는 컨텐츠 검사 프로세서(14)를 포함할 수도 있다. 컨텐츠 검사 프로세서(14)는 탐색 기준을 사용하여 데이터를 검사하도록 구성된 하나 이상의 프로세서일 수 있다. 예를 들어, 컨텐츠 검사 프로세서(14)는 탐색 기준을 사용하여 컨텐츠 검사 프로세서(14)에 제공되는 데이터 스트림 또는 데이터 세트 내의 패턴을 매칭할 수 있다. 컨텐츠 검사 프로세서(14)는 하나 이상의 버스를 통해 컨텐츠 검사 프로세서(14)와 통신하는 호스트 제어기(16)와 같은 프로세싱 로직에 연결되어 이에 따라 제어될 수 있다. 호스트 제어기(16)는 동작 중에 컨텐츠 검사 프로세서(14)에 의해 사용되는 탐색 기준 또는 임의의 다른 파라미터로 컨텐츠 검사 프로세서(14)를 프로그래밍할 수 있다. 컨텐츠 검사 프로세서(14)는 장치(10)의 1차적 또는 2차적 기능들을 제공할 수 있다. 일 실시예에서, 컨텐츠 검사 프로세서(14)는 미국 특허출원 제12/350,132호에 설명된 바와 같은 패턴 인식 프로세서일 수 있다.The device 10 may include a content inspection processor 14. The content inspection processor 14 may be one or more processors configured to inspect data using search criteria. For example, the content inspection processor 14 may match the pattern in the data stream or data set provided to the content inspection processor 14 using the search criteria. The content inspection processor 14 may be coupled to processing logic, such as the host controller 16, that communicates with the content inspection processor 14 via one or more buses and may be controlled accordingly. The host controller 16 may program the content inspection processor 14 with a search criteria or any other parameter used by the content inspection processor 14 during operation. The content inspection processor 14 may provide primary or secondary functions of the device 10. In one embodiment, content inspection processor 14 may be a pattern recognition processor as described in U. S. Patent Application No. 12 / 350,132.

통상적으로 장치(10)는 전원 공급기(18)를 포함한다. 예를 들어, 장치(10)가 휴대용 시스템이라면, 전원 공급기(18)는 유익하게 영구 배터리, 교체가능 배터리, 및/또는 충전용 배터리를 포함할 수도 있다. 전원 공급기(18)는 AC 어댑터를 포함할 수도 있는데, 이로써 장치(10)는 예를 들어, 콘센트(wall outlet)에 플러그인(plug-in)될 수도 있다. 전원 공급기(18)는 DC 어댑터를 포함할 수도 있는데, 이로써 장치(10)는 예를 들어, 차량용 담배 라이터에 플러그인될 수도 있다.Typically, the apparatus 10 includes a power supply 18. For example, if the device 10 is a portable system, the power supply 18 may advantageously include a permanent battery, a replaceable battery, and / or a rechargeable battery. The power supply 18 may include an AC adapter, whereby the device 10 may be plugged into a wall outlet, for example. The power supply 18 may include a DC adapter, whereby the device 10 may be plugged into, for example, a car cigarette lighter.

장치(10)가 수행하는 기능들에 따라 다른 다양한 장치들이 프로세서(12)에 연결될 수 있다. 예를 들어, 입력 장치(20)가 프로세서(12)에 연결될 수 있다. 입력 장치(20)는 예를 들어, 버튼, 스위치, 키보드, 광전 펜(light pen), 스타일러스, 마우스, 및/또는 음성 인식 시스템을 포함할 수 있다. 디스플레이(22)는 프로세서(12)에 연결될 수도 있다. 디스플레이(22)는 예를 들어, LCD, CRT, LED, 및/또는 임의의 다른 적합한 디스플레이를 포함할 수 있다.Various other devices may be coupled to the processor 12 depending on the functions performed by the device 10. For example, the input device 20 may be coupled to the processor 12. The input device 20 may include, for example, a button, a switch, a keyboard, a light pen, a stylus, a mouse, and / or a speech recognition system. The display 22 may be coupled to the processor 12. Display 22 may comprise, for example, an LCD, CRT, LED, and / or any other suitable display.

또한, RF 서브 시스템/베이스밴드 프로세서(24)가 프로세서(12)에 연결될 수도 있다. RF 서브 시스템/베이스밴드 프로세서(24)는 RF 수신기 및 RF 송신기(미도시)에 연결되는 안테나를 포함할 수 있다. 통신 포트(26)가 프로세서(12)에 연결될 수도 있다. 통신 포트(26)는 모뎀, 프린터, 컴퓨터와 같은 하나 이상의 주변 장치(28)에 연결되거나, 로컬 영역 네트워크, 원거리 네트워크, 인트라넷, 또는 인터넷과 같은 네트워크에 연결되도록 적응될 수 있다.The RF subsystem / baseband processor 24 may also be coupled to the processor 12. The RF subsystem / baseband processor 24 may include an RF receiver and an antenna coupled to an RF transmitter (not shown). A communication port 26 may be coupled to the processor 12. The communication port 26 may be coupled to one or more peripheral devices 28 such as a modem, printer, computer, or may be adapted to be connected to a network, such as a local area network, a remote network, an intranet, or the Internet.

일반적으로, 메모리는 프로세서(12)에 연결되어 다양한 프로그램들을 저장하거나 이들의 실행을 용이하게 한다. 예를 들어, 프로세서(12)는 메모리 제어기(32)를 통해 시스템 메모리(30)에 연결될 수도 있다. 시스템 메모리(30)는 DRAM(Dynamic Random Access Memory) 및/또는 SRAM(Static Random Access Memory)과 같은 휘발성 메모리를 포함할 수 있다. 시스템 메모리(30)는 휘발성 메모리와 함께 사용될 ROM(read-only memory), 다양한 아키텍처의 플래시 메모리(예를 들어, NAND 메모리, NOR 메모리 등)와 같은 비휘발성 메모리를 포함할 수도 있다. 추가적으로, 장치(10)는 자기 기억 장치와 같은 하드 드라이브(34)를 포함할 수 있다.In general, a memory is coupled to the processor 12 to store various programs or facilitate their execution. For example, the processor 12 may be coupled to the system memory 30 via the memory controller 32. The system memory 30 may include a volatile memory such as a dynamic random access memory (DRAM) and / or a static random access memory (SRAM). The system memory 30 may include non-volatile memory such as read-only memory (ROM) for use with volatile memory, flash memory of various architectures (e.g., NAND memory, NOR memory, etc.). In addition, the device 10 may include a hard drive 34 such as a magnetic storage device.

도 2는 본 발명의 일 실시예에 따른 컨텐츠 검사 프로세서(14) 및 호스트 제어기(16)의 동작을 도시한다. 도 2에 도시된 바와 같이, 호스트 제어기(16)는 프로그램 버스(36) 및 입력 버스(38)를 통해 컨텐츠 검사 프로세서(14)와 통신할 수 있다. 입력 버스(38)는 컨텐츠 검사 프로세서(14)에 의해 검사될 입력 데이터를 전송한다. 일부 실시예에서, 입력 데이터는 (“정적 데이터”라고 지칭되는) 고정 데이터 세트 또는 (“동적 데이터”라고 지칭되는) 스트리밍 데이터로서 전달될 수 있다. 입력 데이터는 장치(10)에 연결된 데이터베이스, 센서, 네트워크 등과 같은 임의의 소스로부터 수신될 수 있다. 예를 들어, 입력 데이터는 통신 포트(26)를 통해 장치(10)와 통신하는 임의의 장치 또는 시스템으로부터 수신될 수 있다.Figure 2 illustrates the operation of the content inspection processor 14 and the host controller 16 in accordance with an embodiment of the present invention. 2, the host controller 16 may communicate with the content inspection processor 14 via the program bus 36 and the input bus 38. The input bus 38 transmits the input data to be checked by the content inspection processor 14. In some embodiments, input data may be delivered as a fixed data set (referred to as " static data ") or as streaming data (referred to as " dynamic data "). The input data may be received from any source, such as a database, sensor, network, etc., coupled to the device 10. For example, the input data may be received from any device or system that communicates with the device 10 via the communications port 26.

프로그램 버스(36)는 호스트 제어기(16)로부터 컨텐츠 검사 프로세서(14)로 프로그래밍 데이터를 전송한다. 이러한 프로그래밍 데이터는 검사 프로세스 중에 사용되는 동작 파라미터로 컨텐츠 검사 프로세서(14)를 프로그래밍하는데 사용된다. 예를 들어, 일 실시예에서, 프로그래밍 데이터는 컨텐츠 검사 프로세서(14)에 의해 사용되는 탐색 기준(예를 들어, 패턴 또는 다른 관심 기준)을 포함하여 입력 버스(38)를 통해 수신되는 입력 데이터와 매칭할 수 있다. 탐색 기준은 임의의 길이 및 복잡도를 갖는 하나 이상의 패턴들을 포함할 수 있다.The program bus 36 transfers the programming data from the host controller 16 to the content inspection processor 14. This programming data is used to program the content inspection processor 14 as operating parameters used during the inspection process. For example, in one embodiment, the programming data includes input data received over the input bus 38, including search criteria (e.g., patterns or other interest criteria) used by the content inspection processor 14 Can be matched. The search criteria may include one or more patterns having any length and complexity.

컨텐츠 검사 프로세서(14)의 출력은 결과 버스(40)를 통해 전송될 수 있다. 결과 버스(40)는 컨텐츠 검사 프로세서(14)에 의한 입력 데이터의 프로세싱으로부터의 결과 데이터(예를 들어, 탐색 결과)를 호스트 제어기(16)에 제공할 수 있다. 예를 들어, 일부 실시예에서, 결과 버스(40)를 통해 제공되는 결과 데이터는 매칭 또는 비-매칭(no match)을 나타낼 수 있으며, 매칭되는 특정 탐색 기준 및/또는 매칭이 발생한 경우의 입력 데이터에서의 위치를 포함할 수 있다. 일부 실시예에서, 컨텐츠 검사 프로세서(14)는 결과 버스(40)를 통해 출력에 전송함으로써 임의의 특정 결과 데이터를 호스트 제어기(16)에 통지할 수 있다.The output of the content inspection processor 14 may be transmitted via the result bus 40. The result bus 40 may provide the host controller 16 with result data (e.g., search results) from the processing of the input data by the content inspection processor 14. For example, in some embodiments, the result data provided through the result bus 40 may represent a match or no match, and may include input data when a particular match criteria and / As shown in FIG. In some embodiments, the content inspection processor 14 may notify the host controller 16 of any specific result data by sending to the output via the result bus 40. [

일부 실시예에서, 입력 버스(38), 프로그램 버스(36), 및 결과 버스(40)는 물리적으로 구분되는 버스일 수 있으며, 입력 버스(38), 프로그램 버스(36), 및 결과 버스(40)의 임의의 조합은 단일 버스 인터페이스에 물리적으로 구현될 수 있다. 예를 들어, 이러한 실시예에서, 단일 버스 인터페이스는 컨텐츠 검사 프로세서(14)에 제공되고, 이로부터 수신되는 상이한 타입들의 데이터를 송신하는 임의의 적합한 기법을 통해 다중화되거나 제어될 수 있다. In some embodiments, the input bus 38, the program bus 36, and the result bus 40 may be physically separate buses, and may include input bus 38, program bus 36, and result bus 40 ) May be physically implemented in a single bus interface. For example, in this embodiment, a single bus interface may be provided to the content inspection processor 14 and multiplexed or controlled via any suitable technique for transmitting different types of data received therefrom.

도 3은 본 발명의 일 실시예에 따른 컨텐츠 검사 프로세서(14)를 위한 동적 적응형 프로세스(44)를 도시한다. 초기에, 블록(46)에 도시된 바와 같이, 컨텐츠 검사 프로세서(14)는 예를 들어, 입력 버스(38)를 통해 입력 데이터(예를 들어, 데이터 세트 또는 데이터 스트림)를 수신할 수 있다. 컨텐츠 검사 프로세서(14)는 컨텐츠 검사 프로세서(14)에 제공되는 입력 데이터에 관한 정보를 식별할 수 있다(블록(48)). 이러한 정보는 데이터의 특성, 포맷, 프로토콜, 및/또는 임의의 다른 타입의 식별 정보를 포함할 수 있다. 입력 데이터에 관한 정보를 식별한 후, 이 정보는 수집, 분석되어, 컨텐츠 검사 프로세서의 탐색 기준 및/또는 다른 동작 파라미터들을 적응하는데 사용될 수 있다(블록(50)). 예를 들어, 호스트 제어기(16) 또는 다른 프로세싱 로직은 입력 데이터의 식별 특성에 기반하여 탐색 기준들을 수집, 분석, 및/또는 적응시킬 수 있다. 그 다음, 컨텐츠 검사 프로세서(14)는 적응된 탐색 기준들로 프로그래밍될 수 있다(블록(52)). 마지막으로, 컨텐츠 검사 프로세서(14)는 적응된 탐색 기준들을 사용하여 입력 데이터를 검사할 수 있다(블록(54)). 아래 설명하는 바와 같이, 프로세스(44)는 입력 데이터에서 발견되는 추가 식별 정보가 탐색 기준의 추가적인 적응을 허용하도록 하기 위해 반복될 수도 있다(화살표(56)에 의해 도시됨).Figure 3 illustrates a dynamic adaptive process 44 for a content inspection processor 14 in accordance with an embodiment of the present invention. Initially, as illustrated in block 46, the content inspection processor 14 may receive input data (e.g., a data set or a data stream) via the input bus 38, for example. The content inspection processor 14 may identify information regarding the input data provided to the content inspection processor 14 (block 48). This information may include the nature of the data, format, protocol, and / or any other type of identification information. After identifying information about the input data, this information may be collected, analyzed, and used to adapt the search criteria and / or other operational parameters of the content inspection processor (block 50). For example, the host controller 16 or other processing logic may collect, analyze, and / or adapt the search criteria based on the identification characteristics of the input data. The content inspection processor 14 may then be programmed with the adapted search criteria (block 52). Finally, the content inspection processor 14 may examine the input data using the adapted search criteria (block 54). As described below, the process 44 may be repeated (shown by arrow 56) to allow additional identification found in the input data to allow further adaptation of the search criteria.

도 4 내지 도 6은 컨텐츠 검사 프로세서의 동적 적응형 프로그래밍을 위해 실행 시간 중에 입력 데이터에 적합한 능력을 컨텐츠 검사 프로세서에 제공하는 상이한 기법들을 설명한다. 컨텐츠 검사 프로세서의 실시예에는 도 4 내지 도 6에 설명한 기법들 중 어느 하나 또는 이들의 조합을 포함할 수 있다.Figures 4-6 illustrate different techniques for providing the content inspection processor with capabilities appropriate for input data during runtime for dynamic adaptive programming of the content inspection processor. Embodiments of the content inspection processor may include any one or a combination of the techniques described in Figures 4-6.

도 4는 본 발명의 일 실시예에 따른 적응 가능 프로그래밍(예를 들어, 탐색 기준)을 갖는 컨텐츠 검사 프로세서(14)를 도시한다. 도 4에 도시된 바와 같이, 컨텐츠 검사 프로세서(14)는 입력 데이터에 관한 식별 정보에 기초하여 탐색 기준을 동적으로 적응시키는 능력을 포함한다.Figure 4 illustrates a content inspection processor 14 with adaptive programming (e.g., search criteria) in accordance with an embodiment of the present invention. As shown in FIG. 4, the content inspection processor 14 includes the ability to dynamically adapt the search criteria based on the identification information about the input data.

예를 들어, 도 4는 컨텐츠 검사 프로세서(14)가 다양한 가능한 타입의 입력 데이터(60)(예를 들어, 데이터 세트 또는 데이터 스트림)를 수신할 수 있는 실시예를 도시한다. 각 타입의 입력 데이터(60)는 (도 4에 아이덴티티 1(identity 1), 아이덴티티 2, 아이덴티티 3 등으로 설명된) 상이한 식별 정보를 가질 수 있다. 예를 들어, 입력 데이터(60A)는 아이덴티티 1을 가지며, 입력 데이터(60B)는 아이덴티티 2를 가지며, 입력 데이터(60C)는 아이덴티티 3을 가질 수 있는 등이다. 예를 들어, 일 실시예에서, 컨텐츠 검사 프로세서(14)는 자연 언어(natural language) 번역을 수행할 수 있다. 들어오는 입력 데이터(60)는 컨텐츠 검사 프로세서에 의한 번역을 위한 임의의 가능한 자연 언어를 포함할 수 있다. 이러한 실시예에서, 아이덴티티들은 상이한 자연 언어일 수 있는데, 아이덴티티 1은 프랑스어, 아이덴티티 2는 스페인어, 아이덴티티 3은 영어, 아이덴티티 4는 러시아어, 아이덴티티 5는 폴란드어, 아이덴티티 6은 만다린 중국어, 아이덴티티 7은 일본어 등일 수 있다. For example, FIG. 4 illustrates an embodiment in which content inspection processor 14 may receive various possible types of input data 60 (e.g., data sets or data streams). Each type of input data 60 may have different identification information (described in FIG. 4 as identity 1, identity 2, identity 3, etc.). For example, the input data 60A has the identity 1, the input data 60B has the identity 2, the input data 60C can have the identity 3, and so on. For example, in one embodiment, the content inspection processor 14 may perform a natural language translation. The incoming input data 60 may include any possible natural language for translation by the content inspection processor. In such an embodiment, the identities may be different natural languages: Identity 1 is in French, Identity 2 in Spanish, Identity 3 in English, Identity 4 in Russian, Identity 5 in Polish, Identity 6 in Mandarin Chinese, Identity 7 in Japanese, etc. .

컨텐츠 검사 프로세서(14)는 예를 들어 탐색 기준을 사용하여 입력 데이터의 일정한 특성들을 매칭함으로써, 입력 데이터에 관한 정보를 식별할 수 있는 탐색 기준들로 프로그래밍될 수 있다. 또한, 컨텐츠 검사 프로세서(14)는 컨텐츠 검사 프로세서(14)의 기능(예를 들어, 자연 언어 번역, 네트워크 방화벽 등)에 기반한 탐색 기준으로 프로그래밍될 수 있다. 따라서, 자연 언어 번역을 제공하는 실시예에서, 컨텐츠 검사 프로세서(14)는 들어오는 입력 데이터(60)의 자연 언어를 식별하도록 프로그래밍될 수 있다. 이러한 실시예에서, 컨텐츠 검사 프로세서(14)는 각각의 타입의 입력 데이터(60)(예를 들어, 각각 가능한 자연 언어)에 관한 탐색 기준 전부를 저장하기에 충분한 메모리가 없을 수도 있다. 입력 데이터(60)가 식별된 후에, 아이덴티티는 결과 버스(40)를 통해 호스트 제어기(16)에 제공될 수 있다. 호스트 제어기(16)는 입력 데이터(60)의 아이덴티티에 기초하여 탐색 기준들을 적응시킬 수 있으며, 특히 식별된 타입의 입력 데이터를 위해 적응된 탐색 기준으로 컨텐츠 검사 프로세서(14)를 프로그래밍할 수 있다. 예를 들어, 입력 데이터가 영어로 식별된다면, 탐색 기준들은 영어로 관심 패턴들을 매칭시키도록 적응될 수 있다.The content inspection processor 14 can be programmed with search criteria that can identify information about the input data, for example, by matching certain characteristics of the input data using search criteria. The content inspection processor 14 may also be programmed with search criteria based on the functionality of the content inspection processor 14 (e.g., natural language translation, network firewall, etc.). Thus, in an embodiment that provides natural language translation, the content inspection processor 14 may be programmed to identify the natural language of the incoming input data 60. In such an embodiment, the content inspection processor 14 may not have sufficient memory to store all of the search criteria for each type of input data 60 (e.g., each possible natural language). After the input data 60 is identified, the identity may be provided to the host controller 16 via the result bus 40. The host controller 16 may adapt the search criteria based on the identity of the input data 60 and may program the content inspection processor 14 with a search criterion adapted specifically for the input data of the identified type. For example, if the input data is identified in English, the search criteria may be adapted to match interest patterns in English.

또한, 임의의 개수의 적응성 레벨들이 컨텐츠 검사 프로세서(14)에 의해 제공될 수 있다. 예를 들어, 도 5는 입력 데이터의 아이덴티티에 기반하여 추가 적응성 레벨을 도시한다. (입력 데이터(60A)를 “아이덴티티 1”로 식별하는 바와 같이) 입력 데이터에 관한 정보를 식별한 후, 컨텐츠 검사 프로세서(14)는 입력 데이터(60A)의 추가 정보(예를 들어, 서브-아이덴티티)를 식별하도록 적응된 탐색 기준들로 프로그래밍될 수 있다. 도 5에 도시된 바와 같이, 입력 데이터(60A)는 “서브 아이덴티티 1”, “서브 아이덴티티 2", “서브 아이덴티티 3” 등과 같은 추가적이고 잠재적인 식별 정보(62)를 가질 수 있다. 예를 들어, 특정 자연 언어를 식별한 (예를 들어, 입력 데이터(60A)를 “영어”라고 식별한) 실시예에서, 언어를 식별한 후, 컨텐츠 검사 프로세서(14)는 지역 방언, 억양, 또는 식별된 언어의 다른 서브-아이덴티티를 식별할 수 있다. 컨텐츠 검사 프로세서(14)가 이러한 서브 아이덴티티를 일단 식별하면, 이러한 서브 아이덴티티는 결과 버스(40)를 통해 호스트 제어기(14)에 제공될 수 있다. 호스트 제어기(16)는 탐색 기준을 더 적응시켜서, 추가 적응된 탐색 기준으로 컨텐츠 검사 프로세서(14)를 프로그래밍할 수 있다. 이 프로세스는 임의의 원하는 레벨의 입력 데이터의 서브 식별자에 관해 반복될 수 있다. 앞서 설명한 탐색 기준들의 연속적인 적응은 컨텐츠 검사 프로세서가 검사 프로세스에 관해 더 높은 레벨의 정확도를 달성하게 할 수 있다는 장점이 있다.In addition, any number of adaptation levels may be provided by the content inspection processor 14. For example, Figure 5 shows an additional level of adaptability based on the identity of the input data. (Such as identifying the input data 60A as " identity 1 "), the content inspection processor 14 determines the additional information (e.g., sub- , ≪ / RTI > As shown in Figure 5, the input data 60A may have additional and potential identification information 62, such as "subidentity 1", "subidentity 2", "subidentity 3", etc. For example, (E.g., identifying input data 60A as " English "), after identifying the language, the content inspection processor 14 determines whether the localized dialect, intonation, or identified Identity of the language can be provided to the host controller 14 via the result bus 40. Once the content inspection processor 14 has identified this subidentity, The controller 16 may further adapt the search criteria and program the content inspection processor 14 with the further adapted search criteria. The successive adaptation of the search criteria described above has the advantage that the content inspection processor can achieve a higher level of accuracy with respect to the inspection process.

다른 실시예에서, 입력 데이터의 식별은 네트워크 보안을 향상시키는데 사용될 수 있다. 예를 들어, 컨텐츠 검사 프로세서(14)는 바이러스, 웜, 또는 다른 멀웨어의 공격의 징후에 근접하여 공통적으로 발견되는 코드 조각(code fragment)들에 대응하는 입력 데이터의 코드 조각들을 식별할 수 있다. 이러한 코드 조각들이 식별된 후, 호스트 제어기(16)는 이러한 코드 조각들과 관련하여 공지되어 있는 공격 징후와 매칭하도록 탐색 기준을 적응시킬 수 있다. 이들 적응된 탐색 기준이 컨텐츠 검사 프로세서(14)에 제공됨으로써, 컨텐츠 검사 프로세서(14)는 이들 코드 조각들과 관련된 각각의 공격 징후를 더 잘 탐색하며, 검사 프로세스의 정확도를 증가시킬 수 있다.In another embodiment, identification of input data can be used to improve network security. For example, the content inspection processor 14 may identify code fragments of input data corresponding to code fragments that are commonly found in proximity to an indication of an attack by a virus, worm, or other malware. After such code snippets are identified, the host controller 16 may adapt the search criteria to match known attack indications with respect to such snippets. These adapted search criteria are provided to the content inspection processor 14 so that the content inspection processor 14 can better navigate each attacking indication associated with these code fragments and increase the accuracy of the inspection process.

다른 실시예에서, 입력 데이터에서 탐색된 식별 정보는 HTTP(hypertext transfer protocol), FTP(file transfer protocol), DNS 요청등과 같은 네트워크 프로토콜일 수 있다. 프로토콜을 식별하고 이 아이덴티티를 호스트 제어기(16)에 제공함으로써, 호스트 제어기(16)는 특정 프로토콜을 위한 탐색 기준을 적응시켜 그에 따라 컨텐츠 검사 프로세서(14)를 프로그래밍할 수 있다. 다른 실시예에서, 탐색된 식별 정보(예를 들어, 아이덴티티)는 입력 데이터의 인코딩/디코딩 정보일 수 있으며, 이 경우 입력 데이터의 식별 정보는 인코더 또는 디코더로 피드백되어 인코딩 또는 디코딩 프로세스를 조정한다. 예를 들어, 비디오 또는 다른 매체 인코더는 컨텐츠 검사 프로세서(14)를 사용하여 인코딩 프로세스의 출력을 검사하고, 인코더에 피드백을 제공함으로써 인코더가 인코딩 프로세스를 동적으로 적응시킬 수 있게 한다. 또 다른 실시예에서, 식별 정보는 임의의 디지털 인코딩 정보일 수 있다.In another embodiment, the identification information searched in the input data may be a network protocol such as hypertext transfer protocol (HTTP), file transfer protocol (FTP), DNS request, and the like. By identifying the protocol and providing this identity to the host controller 16, the host controller 16 can adapt the search criteria for the particular protocol and program the content inspection processor 14 accordingly. In another embodiment, the identified identification information (e.g., identity) may be encoding / decoding information of the input data, wherein the identification information of the input data is fed back to the encoder or decoder to coordinate the encoding or decoding process. For example, a video or other media encoder may use the content inspection processor 14 to check the output of the encoding process and provide feedback to the encoder so that the encoder can dynamically adapt the encoding process. In yet another embodiment, the identification information may be any digital encoding information.

다른 실시예에서, 컨텐츠 검사 프로세서(14)는 입력 데이터에 기초하여 컨텐츠 검사 프로세서(14)에 동적 적응성을 제공하는 피드백 메커니즘을 포함할 수 있다. 도 6은 본 발명의 일 실시예에 따른 통합 피드백을 갖는 컨텐츠 검사 프로세서(14)를 도시한다. 도 6에 도시된 바와 같이, 컨텐츠 검사 프로세서(14)로부터의 결과 데이터는 결과 버스(40)를 통해 프로그램 버스(36)로 전송되어, 피드백 루프(66)를 생성할 수 있다. 이러한 피드백 루프(66)는 검사 프로세스의 결과에 기초하여 (예를 들어, 컨텐츠 검사 프로세서(14)로 프로그래밍된 탐색 기준과 매칭되거나 매칭되지 않는 입력 데이터에 기초하여) 컨텐츠 검사 프로세서(14)가 입력 데이터에 동적으로 적응할 수 있게 한다. In another embodiment, the content inspection processor 14 may include a feedback mechanism that provides dynamic adaptation to the content inspection processor 14 based on the input data. Figure 6 illustrates a content inspection processor 14 with integrated feedback in accordance with one embodiment of the present invention. 6, the result data from the content inspection processor 14 may be transferred to the program bus 36 via the result bus 40 to create a feedback loop 66. [ This feedback loop 66 is based on the results of the inspection process (e.g., based on input data that is matched or not matched to the search criteria programmed into the content inspection processor 14) Allows to dynamically adapt to data.

다른 실시예에서, 피드백 루프는 추가적인 포스트-결과 프로세싱을 포함할 수 있다. 도 7은 본 발명의 다른 실시예에 따른 결과 프로세싱과의 통합 피드백을 갖는 컨텐츠 검사 프로세서(14)를 도시한다. 도 7에 도시된 바와 같이, 컨텐츠 검사 프로세서(14)로부터의 결과 버스(40)는 결과 프로세싱 로직(68)에 연결될 수 있다. 컨텐츠 검사 프로세서(14)로부터 출력된 결과 데이터는 프로그램 버스(36)에 제공되기 전에 결과 프로세싱 로직(68)에 의해 프로세싱될 수 있다. 결과 프로세싱 로직(68)은 결과 검사를 수행하는 추가 컨텐츠 검사 프로세서, 로컬 저장소로부터 새로운 탐색 기준을 가져 오는 룩업 동작(lookup operation) 등과 같은 임의의 적합한 하드웨어 및/또는 소프트웨어 로직을 포함할 수 있다.In another embodiment, the feedback loop may include additional post-result processing. Figure 7 illustrates a content inspection processor 14 with integrated feedback with result processing in accordance with another embodiment of the present invention. As shown in FIG. 7, the result bus 40 from the content inspection processor 14 may be coupled to the result processing logic 68. The result data output from the content inspection processor 14 may be processed by the result processing logic 68 before being provided to the program bus 36. [ The resulting processing logic 68 may include any suitable hardware and / or software logic, such as an additional content inspection processor to perform a result check, a lookup operation to fetch new search criteria from a local repository, and the like.

도 8은 본 발명의 일 실시예에 따른 통합 피드백을 갖는 컨텐츠 검사 프로세서의 동적 적응 프로세스(70)를 도시한다. 초기에, 컨텐츠 검사 프로세서(14)는 입력 버스(38)를 통해 수신된 데이터 세트 또는 데이터 스트림과 같은 입력 데이터를 수신한다(블록(72)). 컨텐츠 검사 프로세서(14) 안에 프로그래밍되어 있는 탐색 기준을 사용하여 입력 데이터를 검사할 수 있다(블록(74)). 일부 실시예에서, 앞서 설명한 바와 같이, 이러한 탐색 기준은 입력 데이터에 관한 정보를 식별하는데 사용될 수 있다. 일부 실시예에서, 검사 프로세스의 결과 데이터는 결과 프로세싱 로직(68)에 제공될 수 있다(블록(76)). 결과 데이터는 결과 프로세싱 로직(68)에 의해 프로세싱될 수 있다(블록(78)). 프로세싱된 결과 데이터는 예를 들어, 프로그램 버스(36)를 통해 컨텐츠 검사 프로세서(14)로 피드백될 수 있다(블록(80)). 화살표(82)에 의해 도시된 바와 같이, 프로세스(70)는 컨텐츠 검사 프로세서(14)에 지속적인 피드백을 계속 제공할 수 있다. 다른 실시예에서, 앞서 설명한 바와 같이, 프로그램 버스(36)로 결과 데이터를 피딩함으로써 결과 데이터는 (화살표(84)에 의해 도시된 바와 같이) 프로세싱 없이 컨텐츠 검사 프로세서(14)에 직접 제공될 수 있다.Figure 8 illustrates a dynamic adaptation process 70 of a content inspection processor with integrated feedback in accordance with one embodiment of the present invention. Initially, content inspection processor 14 receives input data, such as a data set or a data stream received via input bus 38 (block 72). The input data may be examined using the search criteria programmed in the content inspection processor 14 (block 74). In some embodiments, as described above, such search criteria may be used to identify information about the input data. In some embodiments, the result data of the inspection process may be provided to result processing logic 68 (block 76). The resulting data may be processed by the result processing logic 68 (block 78). The processed result data may be fed back to the content inspection processor 14 via, for example, the program bus 36 (block 80). As shown by the arrow 82, the process 70 may continue to provide continuous feedback to the content inspection processor 14. In another embodiment, the result data may be provided directly to the content inspection processor 14 without processing (as shown by arrow 84) by feeding the result data to the program bus 36, as described above .

Claims (28)

입력 데이터를 검사하고 상기 입력 데이터의 검사에 적어도 부분적으로 기초하여 제1 결과 데이터를 출력하도록 구성된 컨텐츠 검사 프로세서; 및
하나 이상의 버스를 통해 상기 컨텐츠 검사 프로세서에 통신가능하게 연결된 호스트 제어기
를 포함하고,
상기 호스트 제어기는,
상기 입력 데이터를 상기 하나 이상의 버스를 통해 상기 컨텐츠 검사 프로세서에 전달하고,
상기 하나 이상의 버스를 통해 상기 컨텐츠 검사 프로세서로부터 상기 제1 결과 데이터를 수신하고,
상기 제1 결과 데이터에 적어도 부분적으로 기초하여 프로그래밍 데이터를 결정하도록 구성되고,
상기 컨텐츠 검사 프로세서는 상기 컨텐츠 검사 프로세서의 동작을 적응시키기 위해 상기 프로그래밍 데이터를 이용하여 프로그래밍되는 장치.
A content inspection processor configured to inspect input data and output first result data based at least in part on inspection of the input data; And
A host controller communicatively coupled to the content inspection processor via one or more buses;
Lt; / RTI >
The host controller,
Delivering the input data to the content inspection processor via the one or more buses,
Receive the first result data from the content inspection processor over the one or more buses,
And to determine programming data based at least in part on the first result data,
Wherein the content inspection processor is programmed using the programming data to adapt the operation of the content inspection processor.
제1항에 있어서, 상기 하나 이상의 버스는,
상기 컨텐츠 검사 프로세서로부터 상기 호스트 제어기로 상기 제1 결과 데이터를 전달하도록 구성되는 결과 버스;
상기 호스트 제어기로부터 상기 컨텐츠 검사 프로세서로 상기 입력 데이터를 전달하도록 구성되는 입력 버스; 및
상기 호스트 제어기로부터 상기 컨텐츠 검사 프로세서로 상기 프로그래밍 데이터를 전달하도록 구성되는 프로그램 버스를 포함하는 장치.
The system of claim 1, wherein the at least one bus comprises:
A result bus configured to transfer the first result data from the content checking processor to the host controller;
An input bus configured to transfer the input data from the host controller to the content inspection processor; And
And a program bus configured to transfer the programming data from the host controller to the content inspection processor.
제1항에 있어서, 상기 호스트 제어기는,
상기 컨텐츠 검사 프로세서에 의해 사용되는 제1 탐색 기준을 상기 제1 결과 데이터에 적어도 부분적으로 기초하여 상기 입력 데이터를 검사하도록 적응시켜 제2 탐색 기준을 결정하고,
상기 프로그래밍 데이터가 상기 제2 탐색 기준을 나타내도록 결정하고,
상기 프로그래밍 데이터를 상기 컨텐츠 검사 프로세서에 전달하여 상기 컨텐츠 검사 프로세서가 상기 제2 탐색 기준을 이용하여 상기 입력 데이터를 검사하는 것을 가능하게 하도록 구성되는 장치.
2. The apparatus of claim 1,
Determine a second search criterion by adapting a first search criterion used by the content inspection processor to inspect the input data based at least in part on the first result data,
Determine that the programming data represents the second search criteria,
And to communicate the programming data to the content inspection processor to enable the content inspection processor to examine the input data using the second search criteria.
제1항에 있어서, 상기 컨텐츠 검사 프로세서는,
제1 탐색 기준을 이용하여 상기 입력 데이터를 검사하여 상기 제1 결과 데이터를 결정하고 - 상기 제1 결과 데이터는 상기 입력 데이터와 연관된 제1 특성 타입의 제1 식별 특성을 나타냄 - ,
상기 호스트 제어기로부터 상기 프로그래밍 데이터를 수신하고 - 상기 프로그래밍 데이터는 상기 제1 식별 특성에 적어도 부분적으로 기초하여 상기 제1 탐색 기준을 적응시킴으로써 결정되는 제2 탐색 기준을 포함함 - ,
상기 제2 탐색 기준을 이용하여 상기 입력 데이터를 검사함으로써 제2 결과 데이터를 결정하도록 구성되고,
상기 제2 결과 데이터는 상기 입력 데이터와 연관된 상기 제1 특성 타입과는 상이한 제2 특성 타입의 제2 식별 특성을 나타내는 장치.
The content inspection system according to claim 1,
Wherein the first result data is indicative of a first identification characteristic of a first characteristic type associated with the input data,
Wherein the programming data comprises a second search criterion determined by adapting the first search criterion based at least in part on the first identification characteristic,
And to determine second result data by inspecting the input data using the second search criteria,
Wherein the second result data represents a second identification characteristic of a second characteristic type that is different from the first characteristic type associated with the input data.
제4항에 있어서, 상기 컨텐츠 검사 프로세서는,
공격의 징후에 근접하여 발견되는 것으로 예상되는 상기 입력 데이터 내의 코드 조각들을 식별하기 위해 상기 제1 탐색 기준을 사용하도록 구성되고,
상기 호스트 제어기는 상기 공격 징후에 기초하여 상기 제1 탐색 기준을 적응시킴으로써 상기 제2 탐색 기준을 결정하도록 구성되는 장치.
The content inspection system according to claim 4,
Configured to use the first search criteria to identify code fragments in the input data that are expected to be found in proximity to an indication of an attack,
And the host controller is configured to determine the second search criterion by adapting the first search criterion based on the attack indication.
제4항에 있어서,
상기 제1 특성 타입은 상기 입력 데이터의 자연 언어를 포함하고,
상기 제2 특성 타입은 상기 자연 언어의 지역 방언을 포함하는 장치.
5. The method of claim 4,
Wherein the first characteristic type includes a natural language of the input data,
Wherein the second characteristic type comprises a local dialect of the natural language.
제4항에 있어서, 상기 제1 식별 특성, 상기 제2 식별 특성, 또는 양자는 상기 입력 데이터의 인코딩/디코딩 정보를 포함하고,
상기 컨텐츠 검사 프로세서는,
상기 인코딩/디코딩 정보를 인코더에 전달하여 상기 인코더가 상기 입력 데이터의 인코딩을 조정하는 것을 가능하게 하거나,
상기 인코딩/디코딩 정보를 디코더에 전달하여 상기 디코더가 상기 입력 데이터의 디코딩을 조정하는 것을 가능하게 하거나,
양쪽 모두 가능하게 하는 장치.
5. The method of claim 4, wherein the first identification characteristic, the second identification characteristic, or both comprise encoding / decoding information of the input data,
The content inspection processor,
Transmitting the encoding / decoding information to an encoder to enable the encoder to adjust encoding of the input data,
And transmitting the encoding / decoding information to a decoder to enable the decoder to adjust decoding of the input data,
Devices that enable both.
제4항에 있어서,
상기 컨텐츠 검사 프로세서는 상기 입력 데이터를 전달하기 위해 사용되는 네트워크 프로토콜을 식별하기 위해 상기 제1 탐색 기준을 사용하도록 구성되고,
상기 호스트 제어기는 상기 네트워크 프로토콜에 기초하여 상기 제1 탐색 기준을 적응시킴으로써 상기 제2 탐색 기준을 결정하도록 구성되는 장치.
5. The method of claim 4,
Wherein the content inspection processor is configured to use the first search criteria to identify a network protocol used to convey the input data,
And the host controller is configured to determine the second search criterion by adapting the first search criterion based on the network protocol.
제1항에 있어서,
상기 장치는 컴퓨터, 무선호출기, 무선전화기, 전자 수첩, 휴대용 오디오 플레이어, 네트워크 장치, 제어 회로, 또는 카메라를 포함하는 장치.
The method according to claim 1,
The apparatus includes a computer, a wireless pager, a wireless telephone, an electronic organizer, a portable audio player, a network device, a control circuit, or a camera.
제1항에 있어서, 상기 프로그래밍 데이터는 탐색 기준을 포함하는 장치.2. The apparatus of claim 1, wherein the programming data comprises a search criteria. 전자 장치를 동작시키는 방법으로서,
컨텐츠 검사 프로세서를 이용하여, 호스트 제어기로부터 입력 데이터를 수신하는 단계;
상기 컨텐츠 검사 프로세서를 사용하여, 제1 결과 데이터를 결정하기 위해 상기 입력 데이터를 검사하는 단계;
상기 컨텐츠 검사 프로세서를 이용하여, 상기 호스트 제어기에 상기 제1 결과 데이터를 출력하여 상기 호스트 제어기가 상기 제1 결과 데이터에 적어도 부분적으로 기초하여 프로그래밍 데이터를 결정하는 것을 가능하게 하는 단계; 및
상기 컨텐츠 검사 프로세서를 이용하여, 상기 호스트 제어기로부터 상기 프로그래밍 데이터를 수신하는 단계 - 상기 프로그래밍 데이터는 상기 컨텐츠 검사 프로세서의 동작을 적응시키기 위해 상기 컨텐츠 검사 프로세서를 프로그래밍하는데 사용됨 -
를 포함하는 방법.
A method of operating an electronic device,
Receiving input data from a host controller using a content inspection processor;
Inspecting the input data to determine first result data using the content inspection processor;
Outputting the first result data to the host controller using the content inspection processor to enable the host controller to determine programming data based at least in part on the first result data; And
Receiving the programming data from the host controller using the content inspection processor, the programming data being used to program the content inspection processor to adapt the operation of the content inspection processor;
≪ / RTI >
제11항에 있어서,
상기 컨텐츠 검사 프로세서를 이용하여, 제1 탐색 기준을 이용하여 상기 입력 데이터를 검사함으로써 상기 입력 데이터의 제1 식별 특성을 결정하는 단계 - 상기 제1 식별 특성은 상기 입력 데이터와 연관된 제1 특성 타입을 포함함 - ;
상기 컨텐츠 검사 프로세서를 이용하여, 상기 입력 데이터를 검사하는데 사용될 제2 탐색 기준을 결정하는 단계 - 상기 제2 탐색 기준은 상기 제1 식별 특성에 적어도 부분적으로 기초하여 상기 제1 탐색 기준을 적응시킴으로써 결정됨 - ;
상기 컨텐츠 검사 프로세서를 이용하여, 상기 제2 탐색 기준을 이용하여 상기 입력 데이터를 검사함으로써 상기 입력 데이터의 제2 식별 특성을 결정하는 단계 - 상기 제2 식별 특성은 상기 입력 데이터와 연관된 상기 제1 특성 타입과는 상이한 제2 특성 타입을 포함함 - ; 및
상기 컨텐츠 검사 프로세서를 이용하여, 장치 프로세서가 상기 제1 결과 데이터 및 제2 결과 데이터에 적어도 부분적으로 기초하여 상기 전자 장치의 동작을 제어하는 것을 가능하게 하기 위해 상기 장치 프로세서에 상기 제1 결과 데이터 및 상기 제2 결과 데이터를 전달하는 단계 - 상기 제1 결과 데이터는 상기 입력 데이터의 상기 제1 식별 특성을 포함하고 상기 제2 결과 데이터는 상기 입력 데이터의 상기 제2 식별 특성을 포함함 -
를 포함하는 방법.
12. The method of claim 11,
Determining a first identification characteristic of the input data by inspecting the input data using a first search criterion using the content inspection processor, the first identification characteristic comprising a first characteristic type associated with the input data, Included -;
Using the content inspection processor to determine a second search criterion to be used to examine the input data, the second search criterion being determined by adapting the first search criterion based at least in part on the first identification characteristic -;
Determining a second identification characteristic of the input data by inspecting the input data using the second search criterion using the content inspection processor, the second identification characteristic including a first characteristic of the first characteristic associated with the input data A second characteristic type different from the type; And
Using the content inspection processor to cause the device processor to receive the first resultant data and the second resultant data to enable the device processor to control operation of the electronic device based at least in part on the first resultant data and the second resultant data, Transmitting the second result data, wherein the first result data comprises the first identification characteristic of the input data and the second result data comprises the second identification characteristic of the input data,
≪ / RTI >
제12항에 있어서,
상기 제1 특성 타입은 상기 입력 데이터의 자연 언어를 포함하고,
상기 제2 특성 타입은 상기 자연 언어의 지역 방언을 포함하는 방법.
13. The method of claim 12,
Wherein the first characteristic type includes a natural language of the input data,
Wherein the second characteristic type includes a local dialect of the natural language.
제12항에 있어서,
상기 제1 식별 특성을 결정하는 단계는,
공격 징후에 근접하여 발견되는 것으로 예상되는 상기 입력 데이터 내의 코드 조각들;
상기 입력 데이터를 전달하는데 사용되는 네트워크 프로토콜;
상기 입력 데이터를 인코딩하는데 사용되는 인코딩 정보;
상기 입력 데이터를 디코딩하는데 사용되는 디코딩 정보; 또는
그들의 임의의 조합
을 식별하기 위해 상기 제1 탐색 기준을 이용하여 상기 입력 데이터를 검사하는 단계를 포함하는 방법.
13. The method of claim 12,
Wherein the determining the first identification characteristic comprises:
Code fragments in the input data expected to be found in proximity to an attack sign;
A network protocol used to communicate the input data;
Encoding information used to encode the input data;
Decoding information used to decode the input data; or
Their arbitrary combination
And inspecting the input data using the first search criteria to identify the input data.
제11항에 있어서,
상기 호스트 제어기를 사용하여, 상기 컨텐츠 검사 프로세서에 의해 사용되는 제1 탐색 기준을 상기 제1 결과 데이터에 적어도 부분적으로 기초하여 상기 입력 데이터를 검사하도록 적응시켜 제2 탐색 기준을 결정하는 단계;
상기 호스트 제어기를 사용하여, 상기 제2 탐색 기준을 나타내는 상기 프로그래밍 데이터를 결정하는 단계; 및
상기 호스트 제어기를 사용하여, 상기 컨텐츠 검사 프로세서가 상기 제2 탐색 기준을 사용하여 상기 입력 데이터를 검사하는 것을 가능하게 하도록 상기 컨텐츠 검사 프로세서에 상기 프로그래밍 데이터를 전달하는 단계
를 포함하는 방법.
12. The method of claim 11,
Using the host controller to adapt a first search criteria used by the content inspection processor to inspect the input data based at least in part on the first result data to determine a second search criterion;
Using the host controller, determining the programming data indicative of the second search criteria; And
Transferring the programming data to the content inspection processor to enable the content inspection processor to inspect the input data using the second search criteria using the host controller
≪ / RTI >
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020127018395A 2009-12-15 2010-12-07 Adaptive content inspection KR101724778B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/638,767 US8489534B2 (en) 2009-12-15 2009-12-15 Adaptive content inspection
US12/638,767 2009-12-15
PCT/US2010/059311 WO2011081800A1 (en) 2009-12-15 2010-12-07 Adaptive content inspection

Publications (2)

Publication Number Publication Date
KR20120093441A KR20120093441A (en) 2012-08-22
KR101724778B1 true KR101724778B1 (en) 2017-04-07

Family

ID=43770635

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127018395A KR101724778B1 (en) 2009-12-15 2010-12-07 Adaptive content inspection

Country Status (7)

Country Link
US (4) US8489534B2 (en)
EP (1) EP2514163B1 (en)
JP (1) JP5701316B2 (en)
KR (1) KR101724778B1 (en)
CN (1) CN102714660B (en)
TW (1) TWI433520B (en)
WO (1) WO2011081800A1 (en)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100138575A1 (en) 2008-12-01 2010-06-03 Micron Technology, Inc. Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices
US20100174887A1 (en) 2009-01-07 2010-07-08 Micron Technology Inc. Buses for Pattern-Recognition Processors
US8489534B2 (en) * 2009-12-15 2013-07-16 Paul D. Dlugosch Adaptive content inspection
US9323994B2 (en) 2009-12-15 2016-04-26 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
US8601013B2 (en) 2010-06-10 2013-12-03 Micron Technology, Inc. Analyzing data using a hierarchical structure
US8766666B2 (en) 2010-06-10 2014-07-01 Micron Technology, Inc. Programmable device, hierarchical parallel machines, and methods for providing state information
KR101551045B1 (en) 2011-01-25 2015-09-07 마이크론 테크놀로지, 인크. State grouping for element utilization
EP2668577B1 (en) 2011-01-25 2019-08-14 Micron Technology, INC. Unrolling quantifications to control in-degree and/or out degree of automaton
US8726253B2 (en) 2011-01-25 2014-05-13 Micron Technology, Inc. Method and apparatus for compiling regular expressions
US8843911B2 (en) 2011-01-25 2014-09-23 Micron Technology, Inc. Utilizing special purpose elements to implement a FSM
US8680888B2 (en) 2011-12-15 2014-03-25 Micron Technologies, Inc. Methods and systems for routing in a state machine
US8648621B2 (en) 2011-12-15 2014-02-11 Micron Technology, Inc. Counter operation in a state machine lattice
US8782624B2 (en) 2011-12-15 2014-07-15 Micron Technology, Inc. Methods and systems for detection in a state machine
US9443156B2 (en) 2011-12-15 2016-09-13 Micron Technology, Inc. Methods and systems for data analysis in a state machine
US8593175B2 (en) 2011-12-15 2013-11-26 Micron Technology, Inc. Boolean logic in a state machine lattice
US20130275709A1 (en) 2012-04-12 2013-10-17 Micron Technology, Inc. Methods for reading data from a storage buffer including delaying activation of a column select
US9367745B2 (en) 2012-04-24 2016-06-14 Liveclips Llc System for annotating media content for automatic content understanding
US20130283143A1 (en) 2012-04-24 2013-10-24 Eric David Petajan System for Annotating Media Content for Automatic Content Understanding
US9524248B2 (en) 2012-07-18 2016-12-20 Micron Technology, Inc. Memory management for a hierarchical memory system
US9235798B2 (en) 2012-07-18 2016-01-12 Micron Technology, Inc. Methods and systems for handling data received by a state machine engine
US9389841B2 (en) 2012-07-18 2016-07-12 Micron Technology, Inc. Methods and systems for using state vector data in a state machine engine
US9304968B2 (en) * 2012-07-18 2016-04-05 Micron Technology, Inc. Methods and devices for programming a state machine engine
US9075428B2 (en) 2012-08-31 2015-07-07 Micron Technology, Inc. Results generation for state machine engines
US9501131B2 (en) 2012-08-31 2016-11-22 Micron Technology, Inc. Methods and systems for power management in a pattern recognition processing system
US9703574B2 (en) 2013-03-15 2017-07-11 Micron Technology, Inc. Overflow detection and correction in state machine engines
US9448965B2 (en) 2013-03-15 2016-09-20 Micron Technology, Inc. Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine
WO2016109570A1 (en) 2014-12-30 2016-07-07 Micron Technology, Inc Systems and devices for accessing a state machine
US11366675B2 (en) 2014-12-30 2022-06-21 Micron Technology, Inc. Systems and devices for accessing a state machine
US10769099B2 (en) 2014-12-30 2020-09-08 Micron Technology, Inc. Devices for time division multiplexing of state machine engine signals
US10846103B2 (en) 2015-10-06 2020-11-24 Micron Technology, Inc. Methods and systems for representing processing resources
US10977309B2 (en) 2015-10-06 2021-04-13 Micron Technology, Inc. Methods and systems for creating networks
US10691964B2 (en) 2015-10-06 2020-06-23 Micron Technology, Inc. Methods and systems for event reporting
US10028145B2 (en) * 2016-04-15 2018-07-17 Microsoft Technology Licensing, Llc Blocking undesirable communications in voice over internet protocol systems
US10146555B2 (en) 2016-07-21 2018-12-04 Micron Technology, Inc. Adaptive routing to avoid non-repairable memory and logic defects on automata processor
US10019311B2 (en) 2016-09-29 2018-07-10 Micron Technology, Inc. Validation of a symbol response memory
US10268602B2 (en) 2016-09-29 2019-04-23 Micron Technology, Inc. System and method for individual addressing
US10592450B2 (en) 2016-10-20 2020-03-17 Micron Technology, Inc. Custom compute cores in integrated circuit devices
US10929764B2 (en) 2016-10-20 2021-02-23 Micron Technology, Inc. Boolean satisfiability

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090141634A1 (en) * 2007-12-04 2009-06-04 Jesse Abraham Rothstein Adaptive Network Traffic Classification Using Historical Context
JP2009223908A (en) 2001-04-16 2009-10-01 Xaxon R & D Corp Computer virus check device and semiconductor integrated circuit
WO2009130203A1 (en) 2008-04-22 2009-10-29 Alcatel Lucent Attack protection for a packet-based network

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04167069A (en) * 1990-10-31 1992-06-15 Oki Electric Ind Co Ltd Dictionary division type speech translating machine
US5331227A (en) 1992-05-15 1994-07-19 Micron Semiconductor, Inc. Programmable logic device macrocell with an exclusive feedback line and an exclusive external input line
US5300830A (en) 1992-05-15 1994-04-05 Micron Semiconductor, Inc. Programmable logic device macrocell with an exclusive feedback and exclusive external input lines for registered and combinatorial modes using a dedicated product term for control
JP4010589B2 (en) * 1997-02-18 2007-11-21 株式会社東芝 Document retrieval system and retrieval document presentation method applied to the system
CA2287689C (en) 1998-12-03 2003-09-30 P. Krishnan Adaptive re-ordering of data packet filter rules
US6880087B1 (en) 1999-10-08 2005-04-12 Cisco Technology, Inc. Binary state machine system and method for REGEX processing of a data stream in an intrusion detection system
US6240003B1 (en) 2000-05-01 2001-05-29 Micron Technology, Inc. DRAM content addressable memory using part of the content as an address
TWI263920B (en) 2002-06-12 2006-10-11 Chunghwa Telecom Co Ltd Right protection method for remote registration and local authentication
JP4145582B2 (en) * 2002-06-28 2008-09-03 Kddi株式会社 Computer virus inspection device and mail gateway system
JP4309102B2 (en) * 2002-07-16 2009-08-05 Necネクサソリューションズ株式会社 Illegal command / data detection method, illegal command / data detection method, and illegal command / data detection program
US20040044907A1 (en) 2002-08-30 2004-03-04 Hung-Ming Sun Method of self-adjusting sensitivity for filtering documents
US7146643B2 (en) 2002-10-29 2006-12-05 Lockheed Martin Corporation Intrusion detection accelerator
US7089352B2 (en) 2002-12-23 2006-08-08 Micron Technology, Inc. CAM modified to be used for statistic calculation in network switches and routers
US6944710B2 (en) 2002-12-30 2005-09-13 Micron Technology, Inc. Multiple category CAM
US10110632B2 (en) * 2003-03-31 2018-10-23 Intel Corporation Methods and systems for managing security policies
US7685254B2 (en) * 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
US6906938B2 (en) 2003-08-15 2005-06-14 Micron Technology, Inc. CAM memory architecture and a method of forming and operating a device according to a CAM memory architecture
JP4201263B2 (en) * 2003-10-27 2008-12-24 日本電信電話株式会社 Intrusion detection system and recording medium
US7392229B2 (en) 2005-02-12 2008-06-24 Curtis L. Harris General purpose set theoretic processor
CA2604544A1 (en) * 2005-04-18 2006-10-26 The Trustees Of Columbia University In The City Of New York Systems and methods for detecting and inhibiting attacks using honeypots
JP2006350749A (en) * 2005-06-17 2006-12-28 Ricoh Co Ltd Document filtering device, document filtering method, program, and recording medium
FR2891075B1 (en) 2005-09-21 2008-04-04 St Microelectronics Sa MEMORY CIRCUIT FOR AHO-CORASICK TYPE RECOGNITION AUTOMATA AND METHOD FOR MEMORIZING DATA IN SUCH A CIRCUIT
JP4774307B2 (en) * 2006-02-06 2011-09-14 アラクサラネットワークス株式会社 Unauthorized access monitoring device and packet relay device
US7512634B2 (en) 2006-06-05 2009-03-31 Tarari, Inc. Systems and methods for processing regular expressions
EP2018013A1 (en) 2007-07-17 2009-01-21 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and telecommunications apparatus for protecting VoIP services against attacks
US20090064337A1 (en) * 2007-09-05 2009-03-05 Shih-Wei Chien Method and apparatus for preventing web page attacks
JP4488074B2 (en) * 2008-02-13 2010-06-23 日本電気株式会社 Pattern detection device, pattern detection system, pattern detection program, and pattern detection method
US20100057695A1 (en) * 2008-08-28 2010-03-04 Microsoft Corporation Post-processing search results on a client computer
US8209521B2 (en) 2008-10-18 2012-06-26 Micron Technology, Inc. Methods of indirect register access including automatic modification of a directly accessible address register
US8938590B2 (en) 2008-10-18 2015-01-20 Micron Technology, Inc. Indirect register access method and system
US8850571B2 (en) * 2008-11-03 2014-09-30 Fireeye, Inc. Systems and methods for detecting malicious network content
US7970964B2 (en) 2008-11-05 2011-06-28 Micron Technology, Inc. Methods and systems to accomplish variable width data input
US9639493B2 (en) 2008-11-05 2017-05-02 Micron Technology, Inc. Pattern-recognition processor with results buffer
US7917684B2 (en) 2008-11-05 2011-03-29 Micron Technology, Inc. Bus translator
US8402188B2 (en) * 2008-11-10 2013-03-19 Micron Technology, Inc. Methods and systems for devices with a self-selecting bus decoder
GB2465378A (en) * 2008-11-14 2010-05-19 Want2Bthere Ltd Image based search system and method
US10007486B2 (en) 2008-12-01 2018-06-26 Micron Technology, Inc. Systems and methods to enable identification of different data sets
US9348784B2 (en) 2008-12-01 2016-05-24 Micron Technology, Inc. Systems and methods for managing endian mode of a device
US9164945B2 (en) 2008-12-01 2015-10-20 Micron Technology, Inc. Devices, systems, and methods to synchronize parallel processing of a single data stream
US20100138575A1 (en) 2008-12-01 2010-06-03 Micron Technology, Inc. Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices
US8140780B2 (en) 2008-12-31 2012-03-20 Micron Technology, Inc. Systems, methods, and devices for configuring a device
US8214672B2 (en) 2009-01-07 2012-07-03 Micron Technology, Inc. Method and systems for power consumption management of a pattern-recognition processor
US20100174887A1 (en) 2009-01-07 2010-07-08 Micron Technology Inc. Buses for Pattern-Recognition Processors
US8281395B2 (en) 2009-01-07 2012-10-02 Micron Technology, Inc. Pattern-recognition processor with matching-data reporting module
US8843523B2 (en) 2009-01-12 2014-09-23 Micron Technology, Inc. Devices, systems, and methods for communicating pattern matching results of a parallel pattern search engine
US9836555B2 (en) 2009-06-26 2017-12-05 Micron Technology, Inc. Methods and devices for saving and/or restoring a state of a pattern-recognition processor
US8489534B2 (en) * 2009-12-15 2013-07-16 Paul D. Dlugosch Adaptive content inspection
US8782624B2 (en) * 2011-12-15 2014-07-15 Micron Technology, Inc. Methods and systems for detection in a state machine
US9443156B2 (en) * 2011-12-15 2016-09-13 Micron Technology, Inc. Methods and systems for data analysis in a state machine
US8648621B2 (en) * 2011-12-15 2014-02-11 Micron Technology, Inc. Counter operation in a state machine lattice
US8593175B2 (en) * 2011-12-15 2013-11-26 Micron Technology, Inc. Boolean logic in a state machine lattice
US9448965B2 (en) * 2013-03-15 2016-09-20 Micron Technology, Inc. Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine
US10019311B2 (en) * 2016-09-29 2018-07-10 Micron Technology, Inc. Validation of a symbol response memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009223908A (en) 2001-04-16 2009-10-01 Xaxon R & D Corp Computer virus check device and semiconductor integrated circuit
US20090141634A1 (en) * 2007-12-04 2009-06-04 Jesse Abraham Rothstein Adaptive Network Traffic Classification Using Historical Context
WO2009130203A1 (en) 2008-04-22 2009-10-29 Alcatel Lucent Attack protection for a packet-based network

Also Published As

Publication number Publication date
US20190180191A1 (en) 2019-06-13
US20130290235A1 (en) 2013-10-31
US10235627B2 (en) 2019-03-19
EP2514163B1 (en) 2020-09-02
US8489534B2 (en) 2013-07-16
TW201145940A (en) 2011-12-16
CN102714660A (en) 2012-10-03
JP2013513895A (en) 2013-04-22
WO2011081800A1 (en) 2011-07-07
US9684867B2 (en) 2017-06-20
KR20120093441A (en) 2012-08-22
TWI433520B (en) 2014-04-01
US20170278002A1 (en) 2017-09-28
US20110145182A1 (en) 2011-06-16
EP2514163A1 (en) 2012-10-24
CN102714660B (en) 2015-06-03
JP5701316B2 (en) 2015-04-15

Similar Documents

Publication Publication Date Title
KR101724778B1 (en) Adaptive content inspection
CN108984529B (en) Real-time court trial voice recognition automatic error correction method, storage medium and computing device
US10599645B2 (en) Bidirectional probabilistic natural language rewriting and selection
CN100452025C (en) System and method for auto-detecting collcation mistakes of file
CN110490246B (en) Garbage category determination method and device, storage medium and electronic equipment
CN111433736A (en) Machine control system, machine control method, and program
KR101864361B1 (en) Method and system for providing translated result
BR0306696A (en) Electronic Ink Processing
ATE443297T1 (en) SAMPLE IDENTIFICATION METHOD, APPARATUS AND PROGRAM
CN108009244A (en) Feed Translation For A Social Network
US20150244737A1 (en) Detecting malicious advertisements using source code analysis
TW200731074A (en) Hardware-assisted device configuration detection
EP3016350A1 (en) Systems, devices, and methods for separating malware and background events
CN106649253A (en) Auxiliary control method and system based on post verification
US20070027668A1 (en) Signal simulator for generating a string of user input signals to stimulate redundant operation of a user input device of a computerized apparatus
CN114298039A (en) Sensitive word recognition method and device, electronic equipment and storage medium
Hahn et al. Optimizing CRFs for SLU tasks in various languages using modified training criteria
CN112989805A (en) Text detection method, device, equipment and storage medium
CN116992448B (en) Sample determination method, device, equipment and medium based on importance degree of data source
CN105630928B (en) The identification method and device of text
CN114327615B (en) Interface document generation method and system based on big data
CN114417162A (en) Data processing method based on big data
CN109545200A (en) Edit the method and storage device of voice content
Bhagat Role of Positional Error Analysis in Automatic Text Error Correction of Punjabi
JP2004046470A (en) Automatic calibration printing system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant