KR20070003488A - 효율적인 패턴검색을 위한 tcam에서의 정규수식표현방법 및 이를 이용한 패턴 검색방법 - Google Patents
효율적인 패턴검색을 위한 tcam에서의 정규수식표현방법 및 이를 이용한 패턴 검색방법 Download PDFInfo
- Publication number
- KR20070003488A KR20070003488A KR1020050059502A KR20050059502A KR20070003488A KR 20070003488 A KR20070003488 A KR 20070003488A KR 1020050059502 A KR1020050059502 A KR 1020050059502A KR 20050059502 A KR20050059502 A KR 20050059502A KR 20070003488 A KR20070003488 A KR 20070003488A
- Authority
- KR
- South Korea
- Prior art keywords
- tcam
- pattern
- regular expression
- entry
- search
- Prior art date
Links
- 230000014509 gene expression Effects 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 36
- 241000700605 Viruses Species 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 8
- 238000010276 construction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/108—Transfer of content, software, digital rights or licenses
- G06F21/1085—Content sharing, e.g. peer-to-peer [P2P]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99936—Pattern matching access
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본원 발명은 주어진 패턴의 데이터를 고속으로 검색하기 위하여 정규수식(Regular Expression)을 TCAM(Ternary Content Addressable Memory)에서 표현하는 방법에 관한 것으로서, 특히 TCAM으로 표현하기 힘든 정규수식의 문자 클래스들과 반복에 대한 표현을 TCAM에서 효율적으로 기술하여 보다 체계적인 TCAM 엔트리 구성 및 검색 방법을 구현하고, 이를 통하여 TCAM의 검색 횟수를 줄임으로써 검색 성능을 향상시킬 수 있는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현 방법 및 이를 이용한 패턴의 검색방법을 제공하는 것이다.
TCAM, 정규수식, 문자, 클래스, 검색방법, 패턴검색
Description
도 1 정규수식의 표현식 중 메타문자인 ‘\w’를 TCAM으로 표현하기 위한 방법의 설명도
도 2 정규수식 중 메타문자의 반복에 대한 표현인 ‘\w5,10’을 위한 TCAM 엔트리 구성도
도 3 도 2에서 구성한 TCAM 엔트리를 통한 TCAM 검색 방법의 설명도
도 4 정규수식의 메타문자나 문자 클래스들을 포함한 패턴들과 그 문자들을 포함하여 반복되는 패턴들을 TCAM 엔트리로 구성하고 검색 가능함을 나타내는 설명도
본원 발명은 주어진 패턴의 데이터를 고속으로 검색하기 위한 TCAM에서의 정규수식(Regular Expression) 기술방법에 관한 것으로서, 특히 TCAM으로 표현하기 힘든 정규수식의 문자 클래스들과 반복에 대한 표현을 TCAM에서 효율적으로 기술하 여 보다 체계적인 TCAM 엔트리 구성 및 검색 방법을 구현하고, 이를 통하여 TCAM 검색 횟수를 줄임으로써 검색 성능을 향상시킬 수 있는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현 방법을 제공하는 것이다. TCAM(Ternary Content Addressable Memory)이란 0과 1 그리고 임의의 비트 값 (즉, don't care bit)의 값으로 일치되는 데이터를 검색하기에 적합한 하드웨어로 고속 패턴 검색에 사용되어진다.
침입탐지 시스템을 위한 대부분의 소프트웨어에서는 침입에 대한 특징을 이용하여 규칙을 만들고, 그 규칙과 패킷의 내용을 검사하여 탐지를 하게 된다. 그리고 최근 이러한 침입탐지 시스템은 개인용 컴퓨터나 서버 컴퓨터를 벗어나 네트워크단의 라우터나 스위치에서도 채용되고 있는 추세이다. 더욱이 수 기가비트 혹은 수십 기가비트의 초고속의 처리속도를 갖는 라우터나 스위치에서 매 패킷마다 침입에 대한 규칙을 검사하기 위해서는 TCAM이라는 하드웨어의 도움이 반드시 필요하게 되었다.
따라서 침입에 대한 특징을 이용하여 만든 규칙은 물론 규칙에서 표현되는 정규수식들도 TCAM에서 표현될 수 있어야 한다. 그러나 하나의 문자가 여러 개의 문자를 의미하는 메타문자나 문자 클래스들 그리고 특정 문자들이 되풀이되어 나타나는 반복에 대한 정규수식들을 TCAM에서 기술하는 것은 매우 어려운 작업이다. 또한 정규수식에 대한 잘못된 TCAM의 표현은 TCAM의 검색 횟수를 증가시켜 초고속의 패킷 처리를 요구하는 라우터나 스위치의 성능저하를 야기할 수 있는 문제점을 안고 있다.
최근 웜과 바이러스의 유형이 다양화해짐에 따라 이러한 웜과 바이러스의 패턴 을 기술하는 방법도 다양해지고 있다. 이에 따라 패턴을 기술하는데 용이한 정규수식(regular expression)이 널리 사용되고 있다. 그러나 정규수식을 TCAM에 표현하여 고속으로 패턴을 검색하는 방법이 없어 전용의 하드웨어를 ASIC(Application Specification Integrated Circuit)으로 만들거나 정규수식만을 처리하는 별도의 하드웨어 엔진을 구비하는 경우가 있는데 이 경우에 개발 비용과 개발 기간, 그리고 새로운 바이러스와 웜 패턴에 유연하게 대처하지 못하는 문제가 발생하고 있다.
본원 발명이 이루고자 하는 기술적 과제는 TCAM으로 표현하기 힘든 정규수식의 문자 클래스들과 반복에 대한 표현을 효율적으로 기술하고, 정규수식에 대한 보다 체계적인 TCAM 엔트리 구성 및 검색 방법을 통하여 TCAM의 검색 횟수를 줄임으로써 검색성능을 높일 수 있는 방법을 제공하는데 있다. 이를 통하여 고성능 인터넷 상에서 바이러스와 웜 패턴을 고속으로 탐색하여 인터넷 침해피해를 차단하고 사전에 예방하는데 그 주요한 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본원 발명에서는 청구항 제1항에 기재한 바와 같이, 데이터 패턴을 기술하는 정규수식을 TCAM (Ternary Content Addressable Memory)에 표현하는 방법에 있어, 상기 정규수식(Regular Expression)에 나타나는 메타문자나 문자 클래스들의 반복 또는 메타문자나 문자 클래스들을 포함한 패턴의 반복을 적정 개수의 TCAM 엔트리 및 TCAM 연관데이터(associate data)로 구성하여 표현하는 것을 특징으로 하는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현방법을 제공한다.
그리고 상기 TCAM 엔트리는 패턴의 시작 또는 패턴의 일부 다음에 오는 패턴임을 의미하는 이전 식별자(previous identifier)를 포함하며, 상기 TCAM 연관데이터(associate data)는 패턴의 끝이나 계속 이어지는 패턴임을 의미하는 다음 식별자(next identifier)를 포함하는 구성을 제공한다.
또한, 상기 TCAM 연관데이터(associate data)는 매치된 TCAM 엔트리에 의해 몇 바이트만큼을 이동하여 다음 패턴을 검사할지를 나타내는 이동값(shift) 및 몇 번 반복되어야 매치되는지를 판단할 수 있는 반복 수량 값(quantifier)을 더 포함하는 것을 특징으로 한다.
위와 같은 구서에 의하여 본원 발명은 상기 TCAM 엔트리 및 TCAM 연관 데이터의 구성은 메타문자나 문자 클래스들 또는 특정한 문자들을 포함하지 않음을 나타내는 메타문자나 부정을 의미하는 문자를 포함한 문자 클래스들을 TCAM의 돈케어-비트(don't care bit)를 이용하며, 실제 매치하고자 하는 문자 클래스 대신에 매치하고자 하는 문자의 부정을 이용한 매치되지 않는 문자 클래스를 이용하여 TCAM 엔트리를 구성함으로써 TCAM 엔트리 수를 줄이고 최대 TCAM 엔트리 크기만큼 이동하면서 검색하는 것이 특징이다. 또한 검색의 효율성을 높이기 위하여 TCAM 엔트리 크기를 넘는 정규수식의 패턴에 대해서는 특정패턴의 연속임을 의미하는 식별자(identifier)와 이동값(shift)을 이용하여 최대 TCAM 엔트리 크기만큼 이동하면서 대상의 내용을 검색하는 것을 특징으로 한다.
본원 발명은 위와 같은 구성을 바탕으로 최근 네트워크상에서 문제화 되고 있는 컴퓨터 바이러스와 웜, 그리고 파일 공유를 위한 P2P (Peer-to-Peer) 트래픽 등을 식별하기 위한 데이터 패턴을 제공함으로써 이들의 검색을 효율적으로 처리할 수 있는 특징을 추가로 갖는다.
한편, 본원 발명의 TCAM에서의 정규수식 표현방법을 이용한 패턴 검색방법에 있어서는, (a) 패턴의 시작을 의미하는 이전 식별자를 엔트리의 제일 앞에 포함하여 TCAM에서 검색하는 단계; (b) 상기 (a) 단계에서 매치되는 TCAM 엔트리가 있다면, 그 엔트리에 해당하는 TCAM 연관데이터를 읽고 다음 식별자를 검사하는 단계; (c) 상기 (b) 단계에서 패턴이 계속 이어진다면, 반복 수량 값과 이동값의 차를 이용하여 남은 수량 값(remained quantity)을 계산하고 이동값만큼 대상의 검색할 위치를 오른쪽으로 조정하고 다음 식별자를 다음 검색할 대상의 이전 식별자로 대치하는 단계; (d) 상기 (b) 단계에서 패턴의 끝이라면, 남은 수량 값 중 최소값이 0보다 작거나 같은지 그리고 최대값이 0보다 크거나 같은지를 조사하여 반복해야할 범위 안에 있는지를 검사하여 최종적으로 매치가 되는지를 검사하는 단계를 포함하여 메타문자나 문자 클래스들을 포함한 패턴이나 그 패턴의 반복을 찾아내는 단계;를 포함한다.
이하에서, 첨부된 도면을 참조하여 본원 발명의 바람직한 실시 예에 대하여 상세히 설명한다.
도 1은 여러 개의 문자를 의미하는 메타문자나 여러 문자들을 포함하는 문자 클래스를 TCAM에서 표현하는 방법 중 간단한 예를 보여주는 도면이다. 단어를 만들 때 사용되는 문자들을 의미하는 메타문자 ‘\w'는 TCAM의 돈케어-비트를 이용하면 10개의 엔트리로 표현(101)이 가능하며, '\w' 메타문자를 포함하지 않는 문자를 의미하는 '\W' 메타문자도 12개의 엔트리로 표현(102)이 가능하다. 마찬가지로 다른 메타문자나 문자 클래스들도 여러 개의 엔트리들로 표현이 가능하다.
도 2는 메타문자의 반복 표현 중 “\w5,10"의 표현을 TCAM 엔트리로 구성하는 방법을 보여주는 도면이다. 정규수식의 “\w5,10"은 문자가 최소 5회, 최대 10회 나타나는 패턴을 기술한다. (201)는 지금 검색할 패턴이 새로운 패턴의 시작인지 또는 이전 패턴에 이어지는 패턴의 일부인지를 나타내는 이전 식별자(previous identifier)이며, (203)는 다음 검색에 사용된 이전 식별자를 위한 값으로 다음에 이어지는 것이 패턴의 연속인지 혹은 끝인지를 판단하는 다음 식별자(next identifier)이다. 그리고 (204)는 다음 검색할 대상의 위치를 오른쪽으로 얼마만큼 이동할지를 나타내는 이동 값(shift)이며, (205)는 현재 또는 다음에 이어지는 패턴이 최소 5번, 최대 10번이 반복되어 나타나야 한다는 반복 수량 값(quantifier)을 나타낸다. (206~210)는 하나의 TCAM 엔트리와 그 엔트리의 관계 데이터의 구조를 보여주며, 엔트리의 순서가 바뀌면 전여 다른 행동을 보여줄 수 있기에 순서도 매우 중요한 요소이다. (211)는 TCAM 엔트리에서 중복되지 않은 유일한 값이어야 한다. (212~216)는 이전 식별자가 같아, 모두 이전의 패턴이 ‘\w' 메타문자를 포함하고 있었음을 의미한다.
도 3은 메타문자의 반복에 대한 TCAM의 검색 과정을 보여주는 도면으로, TCAM 엔트리와 TCAM의 관련 데이터의 내용은 도 2 의 내용을 바탕으로 한다. 검색하고자 하는 대상(301)이 “REPETITION-'\w'"라는 문자열이고, 검출하고자 하는 패턴이 "\w5,10"일 때의 예제이다.
처음 (302)에서처럼 이전 식별자가 패턴의 시작임을 의미하는 초기 값이 대상(301)의 처음 바이트에 들어가 TCAM을 검색하게 된다. 검색 결과 도 2 의 (210)의 엔트리에 매치되어 (303)에서와 같은 관계 데이터의 값을 얻게 된다. 이 패턴은 다음에 계속 이어지는 패턴이 있다는 의미로 다음 식별자 값으로 1을 가지며, 이는 (305)에서처럼 다음 검색에서 대상(301)의 이전 식별자로 사용된다. 그리고 다음 검색 대상(301)의 위치가 4바이트만큼 오른쪽으로 이동해서 검색해야 된다는 의미로 이동 값이 4를 갖는다. 또한 지금의 패턴이 5번 이상 10번 이하로 반복되어서 나타나야 한다는 의미로 반복 수량 값(quantifier)을 갖고 있다. 마지막으로 다음 TCAM의 검색 전에 남은 반복 횟수를 의미하는 남은 수량 값(304)을 최소값 최대값 모두 이동 값만큼을 빼준다. 그리고 이동 값만큼 조정된 다음 대상 위치에서부터 새로운 이전 식별자 값(305)을 포함시켜 패턴의 끝일 때(309)까지 검색한다. 도 3 의 예제에서는 "REPETITION" 다음에 오는 문자 ‘-'가 단어를 의미하는 문자 ’\w'에 포함이 되지 않기에 (308)와 같은 TCAM 엔트리에 매치되게 된다.
마지막으로 계산된 남은 수량 값이 (310)처럼 최소값이 0보다 작거나 같고, 최대값이 0보다 크거나 같으면 반복 수량 값(303)에 범위에 만족함으로 결국 매치됨을 알 수 있다. 만약 최소값이 0보다 크거나 최대값이 0보다 작으면 최종적으로 매치되지 않는다.
도 4는 정규수식의 복합적인 표현으로 “/^SITE\s+CHMOD\s[^\n] 100 /”에 대한 TCAM 엔트리 및 관계 데이터의 구성도를 나타내는 도안이다.
이상에서 설명한 바와 같이, 본원 발명에 의한 TCAM에서의 정규수식 기술 방법을 이용하면, TCAM으로 표현하기 힘든 정규수식의 메타문자나 문자 클래스들과 반복에 대한 표현을 효율적으로 기술할 수 있다. 또한 TCAM 엔트리 크기만큼 이동하면서 TCAM을 검색하여 TCAM의 검색 횟수를 줄임으로써 검색성능을 크게 향상시킬 수 있는 작용효과를 갖는다.
Claims (9)
- 데이터 패턴을 기술하는 정규수식을 TCAM (Ternary Content Addressable Memory)에 표현하는 방법에 있어, 상기 정규수식(Regular Expression)에 나타나는 메타문자나 문자 클래스들의 반복 또는 메타문자나 문자 클래스들을 포함한 패턴의 반복을 적정 개수의 TCAM 엔트리 및 TCAM 연관데이터(associate data)로 구성하여 표현하는 것을 특징으로 하는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현방법
- 제1항에 있어서,상기 TCAM 엔트리는 패턴의 시작 또는 패턴의 일부 다음에 오는 패턴임을 의미하는 이전 식별자(previous identifier)를 포함하는 것을 특징으로 하는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현방법
- 제1항에 있어서,상기 TCAM 연관데이터(associate data)는 패턴의 끝이나 계속 이어지는 패턴임을 의미하는 다음 식별자(next identifier)를 포함하는 것을 특징으로 하는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현방법
- 제2항 또는 제3항에 있어서,상기 TCAM 연관데이터(associate data)는 매치된 TCAM 엔트리에 의해 몇 바이트만큼을 이동하여 다음 패턴을 검사할지를 나타내는 이동값(shift) 및 몇 번 반복되어야 매치되는지를 판단할 수 있는 반복 수량 값(quantifier)을 더 포함하는 것을 특징으로 하는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현방법
- 제4항에 있어서,상기 TCAM 엔트리 및 TCAM 연관데이터의 구성은 메타문자나 문자 클래스들 또는 특정한 문자들을 포함하지 않음을 나타내는 메타문자나 부정을 의미하는 문자를 포함한 문자 클래스들을 TCAM의 돈케어-비트(don't care bit)를 이용하는 것을 특징으로 하는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현방법
- 제5항에 있어서,실제 매치하고자 하는 문자 클래스 대신에 매치하고자 하는 문자의 부정을 이용한 매치되지 않는 문자 클래스를 이용하여 TCAM 엔트리를 구성함으로써 TCAM 엔트리 수를 줄이고 최대 TCAM 엔트리 크기만큼 이동하면서 검색하는 것을 특징으로 하는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현방법
- 제5항에 있어서,TCAM 엔트리 크기를 넘는 정규수식의 패턴에 대해서는 특정패턴의 연속임을 의미하는 식별자(identifier)와 이동값(shift)을 이용하여 최대 TCAM 엔트리 크기만큼 이동하면서 대상의 내용을 검색하는 것을 특징으로 하는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현방법
- 제1항 내지 제7항 중 어느 한 항에 있어서,상기 정규수식은 컴퓨터 바이러스와 웜, 그리고 파일 공유를 위한 P2P (Peer-to-Peer) 트래픽 등을 식별하기 위한 데이터 패턴인 것을 특징으로 하는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현방법
- TCAM에서의 정규수식 표현방법을 이용한 패턴 검색방법에 있어,(a) 패턴의 시작을 의미하는 이전 식별자를 엔트리의 제일 앞에 포함하여 TCAM에서 검색하는 단계;(b) 상기 (a) 단계에서 매치되는 TCAM 엔트리가 있다면, 그 엔트리에 해당하는 TCAM 연관데이터를 읽고 다음 식별자를 검사하는 단계;(c) 상기 (b) 단계에서 패턴이 계속 이어진다면, 반복 수량 값과 이동값의 차를 이용하여 남은 수량 값(remained quantity)을 계산하고 이동값만큼 대상의 검색할 위 치를 오른쪽으로 조정하고 다음 식별자를 다음 검색할 대상의 이전 식별자로 대치하는 단계;(d) 상기 (b) 단계에서 패턴의 끝이라면, 남은 수량 값 중 최소값이 0보다 작거나 같은지 그리고 최대값이 0보다 크거나 같은지를 조사하여 반복해야할 범위 안에 있는지를 검사하여 최종적으로 매치가 되는지를 검사하는 단계를 포함하여 메타문자나 문자 클래스들을 포함한 패턴이나 그 패턴의 반복을 찾아내는 단계;로 이루어지고 제1항의 정규수식 표현방법을 이용한 패턴 검색방법
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050059502A KR20070003488A (ko) | 2005-07-02 | 2005-07-02 | 효율적인 패턴검색을 위한 tcam에서의 정규수식표현방법 및 이를 이용한 패턴 검색방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050059502A KR20070003488A (ko) | 2005-07-02 | 2005-07-02 | 효율적인 패턴검색을 위한 tcam에서의 정규수식표현방법 및 이를 이용한 패턴 검색방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20070003488A true KR20070003488A (ko) | 2007-01-05 |
Family
ID=37870333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050059502A KR20070003488A (ko) | 2005-07-02 | 2005-07-02 | 효율적인 패턴검색을 위한 tcam에서의 정규수식표현방법 및 이를 이용한 패턴 검색방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20070003488A (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402611A (zh) * | 2011-12-12 | 2012-04-04 | 盛科网络(苏州)有限公司 | 一种用tcam实现关键字快速查找并读表的方法 |
US9093151B2 (en) | 2012-06-13 | 2015-07-28 | International Business Machines Corporation | Programmable regular expression and context free grammar matcher |
US10489455B2 (en) | 2014-11-18 | 2019-11-26 | Globalfoundries U.S. Inc. | Scoped search engine |
-
2005
- 2005-07-02 KR KR1020050059502A patent/KR20070003488A/ko not_active Application Discontinuation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402611A (zh) * | 2011-12-12 | 2012-04-04 | 盛科网络(苏州)有限公司 | 一种用tcam实现关键字快速查找并读表的方法 |
CN102402611B (zh) * | 2011-12-12 | 2013-07-24 | 盛科网络(苏州)有限公司 | 一种用tcam实现关键字快速查找并读表的方法 |
US9093151B2 (en) | 2012-06-13 | 2015-07-28 | International Business Machines Corporation | Programmable regular expression and context free grammar matcher |
US10489455B2 (en) | 2014-11-18 | 2019-11-26 | Globalfoundries U.S. Inc. | Scoped search engine |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6785677B1 (en) | Method for execution of query to search strings of characters that match pattern with a target string utilizing bit vector | |
JP4855400B2 (ja) | マルチパターン検索のための方法およびシステム | |
US7725510B2 (en) | Method and system for multi-character multi-pattern pattern matching | |
CN101398820B (zh) | 一种大规模关键词匹配方法 | |
EP2446363B1 (en) | Algorithm for generating a digital DNA sequence | |
US8250016B2 (en) | Variable-stride stream segmentation and multi-pattern matching | |
US8191142B2 (en) | Detecting whether an arbitrary-length bit string input matches one of a plurality of known arbitrary-length bit strings using a hierarchical data structure | |
Koppula et al. | Learning url patterns for webpage de-duplication | |
SaiKrishna et al. | String matching and its applications in diversified fields | |
US11386135B2 (en) | System and method for maintaining a dynamic dictionary | |
US20060259508A1 (en) | Method and apparatus for detecting semantic elements using a push down automaton | |
US11093534B2 (en) | System and method for keyword searching using both static and dynamic dictionaries | |
EP2539834A1 (en) | System, method, and computer program product for applying a regular expression to content based on required strings of the regular expression | |
EP3077922B1 (en) | Method and apparatus for generating a plurality of indexed data fields | |
Najam et al. | Speculative parallel pattern matching using stride-k DFA for deep packet inspection | |
Regéciová et al. | Pattern Matching in YARA: Improved Aho-Corasick Algorithm | |
Pao et al. | Multi-stride string searching for high-speed content inspection | |
KR20070003488A (ko) | 효율적인 패턴검색을 위한 tcam에서의 정규수식표현방법 및 이를 이용한 패턴 검색방법 | |
Lin et al. | Optimization of pattern matching algorithm for memory based architecture | |
AU2017248417B2 (en) | Fuzzy hash algorithm | |
Ho et al. | PERG-Rx: a hardware pattern-matching engine supporting limited regular expressions | |
Shishibori et al. | An efficient compression method for Patricia tries | |
Chitrakar et al. | CRBP-OpType: A constrained approximate search algorithm for detecting similar attack patterns | |
Chang et al. | A memory efficient DFA using compression and pattern segmentation | |
JP2005215716A (ja) | テキスト検索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
WITB | Written withdrawal of application |