KR20070003488A - 효율적인 패턴검색을 위한 tcam에서의 정규수식표현방법 및 이를 이용한 패턴 검색방법 - Google Patents

효율적인 패턴검색을 위한 tcam에서의 정규수식표현방법 및 이를 이용한 패턴 검색방법 Download PDF

Info

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
Application number
KR1020050059502A
Other languages
English (en)
Inventor
권택근
송일섭
강석민
Original Assignee
충남대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 충남대학교산학협력단 filed Critical 충남대학교산학협력단
Priority to KR1020050059502A priority Critical patent/KR20070003488A/ko
Publication of KR20070003488A publication Critical patent/KR20070003488A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/108Transfer of content, software, digital rights or licenses
    • G06F21/1085Content sharing, e.g. peer-to-peer [P2P]
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern 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

효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현방법 및 이를 이용한 패턴 검색방법{Regular expression representing method for efficient pattern matching in TCAM and Pattern matching method}
도 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)

  1. 데이터 패턴을 기술하는 정규수식을 TCAM (Ternary Content Addressable Memory)에 표현하는 방법에 있어, 상기 정규수식(Regular Expression)에 나타나는 메타문자나 문자 클래스들의 반복 또는 메타문자나 문자 클래스들을 포함한 패턴의 반복을 적정 개수의 TCAM 엔트리 및 TCAM 연관데이터(associate data)로 구성하여 표현하는 것을 특징으로 하는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현방법
  2. 제1항에 있어서,
    상기 TCAM 엔트리는 패턴의 시작 또는 패턴의 일부 다음에 오는 패턴임을 의미하는 이전 식별자(previous identifier)를 포함하는 것을 특징으로 하는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현방법
  3. 제1항에 있어서,
    상기 TCAM 연관데이터(associate data)는 패턴의 끝이나 계속 이어지는 패턴임을 의미하는 다음 식별자(next identifier)를 포함하는 것을 특징으로 하는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현방법
  4. 제2항 또는 제3항에 있어서,
    상기 TCAM 연관데이터(associate data)는 매치된 TCAM 엔트리에 의해 몇 바이트만큼을 이동하여 다음 패턴을 검사할지를 나타내는 이동값(shift) 및 몇 번 반복되어야 매치되는지를 판단할 수 있는 반복 수량 값(quantifier)을 더 포함하는 것을 특징으로 하는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현방법
  5. 제4항에 있어서,
    상기 TCAM 엔트리 및 TCAM 연관데이터의 구성은 메타문자나 문자 클래스들 또는 특정한 문자들을 포함하지 않음을 나타내는 메타문자나 부정을 의미하는 문자를 포함한 문자 클래스들을 TCAM의 돈케어-비트(don't care bit)를 이용하는 것을 특징으로 하는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현방법
  6. 제5항에 있어서,
    실제 매치하고자 하는 문자 클래스 대신에 매치하고자 하는 문자의 부정을 이용한 매치되지 않는 문자 클래스를 이용하여 TCAM 엔트리를 구성함으로써 TCAM 엔트리 수를 줄이고 최대 TCAM 엔트리 크기만큼 이동하면서 검색하는 것을 특징으로 하는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현방법
  7. 제5항에 있어서,
    TCAM 엔트리 크기를 넘는 정규수식의 패턴에 대해서는 특정패턴의 연속임을 의미하는 식별자(identifier)와 이동값(shift)을 이용하여 최대 TCAM 엔트리 크기만큼 이동하면서 대상의 내용을 검색하는 것을 특징으로 하는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현방법
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 정규수식은 컴퓨터 바이러스와 웜, 그리고 파일 공유를 위한 P2P (Peer-to-Peer) 트래픽 등을 식별하기 위한 데이터 패턴인 것을 특징으로 하는 효율적인 패턴검색을 위한 TCAM에서의 정규수식 표현방법
  9. TCAM에서의 정규수식 표현방법을 이용한 패턴 검색방법에 있어,
    (a) 패턴의 시작을 의미하는 이전 식별자를 엔트리의 제일 앞에 포함하여 TCAM에서 검색하는 단계;
    (b) 상기 (a) 단계에서 매치되는 TCAM 엔트리가 있다면, 그 엔트리에 해당하는 TCAM 연관데이터를 읽고 다음 식별자를 검사하는 단계;
    (c) 상기 (b) 단계에서 패턴이 계속 이어진다면, 반복 수량 값과 이동값의 차를 이용하여 남은 수량 값(remained quantity)을 계산하고 이동값만큼 대상의 검색할 위 치를 오른쪽으로 조정하고 다음 식별자를 다음 검색할 대상의 이전 식별자로 대치하는 단계;
    (d) 상기 (b) 단계에서 패턴의 끝이라면, 남은 수량 값 중 최소값이 0보다 작거나 같은지 그리고 최대값이 0보다 크거나 같은지를 조사하여 반복해야할 범위 안에 있는지를 검사하여 최종적으로 매치가 되는지를 검사하는 단계를 포함하여 메타문자나 문자 클래스들을 포함한 패턴이나 그 패턴의 반복을 찾아내는 단계;
    로 이루어지고 제1항의 정규수식 표현방법을 이용한 패턴 검색방법
KR1020050059502A 2005-07-02 2005-07-02 효율적인 패턴검색을 위한 tcam에서의 정규수식표현방법 및 이를 이용한 패턴 검색방법 KR20070003488A (ko)

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)

* Cited by examiner, † Cited by third party
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

Cited By (4)

* Cited by examiner, † Cited by third party
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