JP2009535747A - 近似パターン合致の方法および装置 - Google Patents

近似パターン合致の方法および装置 Download PDF

Info

Publication number
JP2009535747A
JP2009535747A JP2009509952A JP2009509952A JP2009535747A JP 2009535747 A JP2009535747 A JP 2009535747A JP 2009509952 A JP2009509952 A JP 2009509952A JP 2009509952 A JP2009509952 A JP 2009509952A JP 2009535747 A JP2009535747 A JP 2009535747A
Authority
JP
Japan
Prior art keywords
pattern
patterns
match
data stream
data
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2009509952A
Other languages
English (en)
Other versions
JP5240475B2 (ja
JP2009535747A5 (ja
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 JP2009535747A publication Critical patent/JP2009535747A/ja
Publication of JP2009535747A5 publication Critical patent/JP2009535747A5/ja
Application granted granted Critical
Publication of JP5240475B2 publication Critical patent/JP5240475B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/71Hardware identity

Abstract

各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査するシステムおよび方法であって、複数の並列フィルタ機構を用いて、複数のパターンのシンボルの組み合わせに関してデータストリームをフィルタリングすることと、複数の可能性のあるパターン断片の合致を検出することと、複数の可能性のある合致パターンを特定することと、削減ステージを用いて、特定された複数の可能性のある合致パターンを、可能性のある合致パターンのセットへと削減することと、関連するデータ、および各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンの削減されたセットを検証ステージに提供することと、検証ステージを用いて、複数のパターンのシンボルの組み合わせおよび関連する許容可能な誤りからデータストリームでのパターン合致の存在を検証することとを含む。

Description

本発明は、パターンの大きなセットを用いた近似パターン合致の分野に関する。特に、本発明は、多数のグループのパターンを用いた近似パターン合致のためのスケーラブルフィルタ回路および削減ステージに関する。
近似パターンまたは文字列合致は、多数の重要なアプリケーションで生じる重要な問題である。限定ではないが、これらは、コンピュータ利用生命工学、データベースおよびコンピュータ通信を含み得る。このタスクは、通常、特定の数の誤りを許しながらの、特定のパターンまたはパターンセットの間での合致の検索を含む。一例として、2つの誤りを許しながら、単語「queuing」を検索することを望むことが可能である。これは、1つの文字が挿入されている単語「queueing」、および1つの文字が置換されて1つの文字が削除されている「cueing」等の結果を返す可能性がある。特定の数の誤りを許可することによって、これは、通常のつづりの変化または誤りを捕捉して検索し、それでも所望のパターンの発見を可能にする。近似パターン合致は、複雑なタスクであるだけではなく、途方もない量のコンピュータリソースを必要とする。
通常、高速のフィルタリングステップがあり、次に全部の近似合致機能を実行する検証ステップが続く。この従来技術のフィルタ技術の一例は、図1を参照すると示されており、図番10で概略的に示されている。この通常の手法は、図番12で示されるようなパターン「P」を、重複しない一連のサブパターンであるk+1個のパターン断片にスライスし、テキストとパターン断片との間の正確な合致を検索する。この場合、「k」は、最大編集距離ed(Ti...j,P)であり、この限定でない例では図番14で示されるように数字2(2)で示されている、許容可能な誤りの数と等しい。
データ文字列Ti...j16は、次に、データ文字列16のうちの少なくとも1つのサブ文字列が、パターン「P」12と関連する重複しないサブパターンのうちの少なくとも1つと合致する出現に関して解析される。この手法は、以下の特性に依存する:
a.文字列S=Ta...bが最大kの誤りでパターンPと合致し、P=p...p(重複しないサブパターンの配列)である場合、Sのいくつかのサブ文字列は複数のpのうちの少なくとも1つと最大
Figure 2009535747
の誤りで合致する。
b.ed(Ti...j,P)≦kである文字位置i≦jが存在する場合、Tj−m+1...jは、Pのうちの少なくともm−k個の文字を含み、ここでmはパターンの(文字の)大きさである。
c.それゆえに、Pをk+1個の断片(重複しないサブパターン)にスライスする場合、断片のうちの少なくとも1つが正確に合致するはずである。
それゆえに、「P」12を、誤りの総数「k」14に一個(1)加えた数の重複しないサブパターン断片にスライスする場合、重複しないサブパターン断片のうちの少なくとも1つが正確に合致するはずである。図1の例に示されるように、データ文字列Ti...j16が、重複しないサブパターンのk+1または三個(3)の断片に分割されている。それゆえに、この三個(3)の断片は、図番18で示される「abra」、図番20で示される「cada」、および図番22で示される「bra」である。この例では、文字「br」が置換され、文字「b」が削除されている2つの誤りと共に、図番20で示される「cada」が正確に合致している。
可能性のある合致パターンの大きなセットを用いた、大量の入力データを利用するパターン合致に関する高速で費用効率が高い機構に対する著しい必要性が存在する。
本発明の一態様では、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査する方法が開示されている。この方法は、各々のパターンが関連する許容可能な誤りを有する1つまたは複数のパターンを検出するように各々の並列フィルタ機構が構成されている複数の並列フィルタ機構を用いて、複数のパターンのシンボルの組み合わせに関してデータストリームをフィルタリングすることと、複数の並列フィルタ機構を用いて複数の可能性のあるパターン断片の合致を検出することと、複数の並列フィルタ機構から、各々の合致パターンが関連する許容可能な誤りを有する、複数の可能性のある合致パターンを特定することと、削減ステージを用いて、特定された複数の可能性のある合致パターンを、各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンのセットへと削減することと、関連するデータ、および各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンの削減されたセットを検証ステージに提供することと、関連するデータおよび可能性のある合致パターンの削減されたセットを利用する近似合致エンジンを含む検証ステージを用いて、複数のパターンのシンボルの組み合わせおよび関連する許容可能な誤りからデータストリームでのパターン合致の存在を検証することとを含む。
本発明の別の態様では、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査する方法が開示されている。この方法は、並列ブルーム(Bloom)フィルタのセット、並列ブルームフィルタ配列のセットまたは単一のハッシュキージェネレータを利用する並列ブルームフィルタ配列のセットから成るグループであり、各々のパターンが関連する許容可能な誤りを有する1つまたは複数のパターンを検出するように各々の並列フィルタ機構が構成されている、複数の並列フィルタ機構を用いて、複数のパターンのシンボルの組み合わせに関してデータストリームをフィルタリングすることと、複数の並列フィルタ機構を用いて複数の可能性のあるパターン断片の合致を検出することと、複数の並列フィルタ機構から、各々の合致パターンが関連する許容可能な誤りを有する、複数の可能性のある合致パターンを特定することと、特定された複数の可能性のある合致パターンを、各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンのセットへと削減することと、関連するデータ、および各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンの削減されたセットを検証ステージに提供することと、関連するデータおよび可能性のある合致パターンの削減されたセットを利用する近似合致エンジンを含む検証ステージを用いて、複数のパターンのシンボルの組み合わせおよび関連する許容可能な誤りからデータストリームでのパターン合致の存在を検証することとを含む。
本発明のさらに別の態様では、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査する方法およびシステムが開示されている。この方法は、少なくとも1つの検索エンジンを用いて、誤検出誤りを有する1つまたは複数のパターン断片と合致するデータセグメントについてデータストリームを検査するために、単一のハッシュ値から複数のハッシュ値を抽出するために単一のハッシュキージェネレータを利用することと、複数の並列ブルームフィルタ配列を用いて複数のハッシュ値を利用することとを含む。
本発明のさらに別の態様では、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査するシステムが開示されている。このシステムは、各々のパターンが関連する許容可能な誤りを有する1つまたは複数のパターンを検出するように各々の並列フィルタ機構が構成されている複数の並列フィルタ機構を利用し、複数のパターンのシンボルの組み合わせに関してデータストリームをフィルタリングし、複数の可能性のあるパターン断片の合致を検出し、各々の合致パターンが関連する許容可能な誤りを有する、複数の可能性のある合致パターンを特定するフィルタステージと、特定された複数の可能性のある合致パターンを、各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンのセットへと削減する削減ステージと、複数のパターンのシンボルの組み合わせからデータストリームでのパターン合致の存在を検証するために、関連するデータおよび可能性のある合致パターンの削減されたセットおよび関連する許容可能な誤りを受信および利用する、近似合致エンジンを含む検証ステージとを含む。
本発明のさらに別の態様では、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査するシステムが開示されている。このシステムは、並列ブルームフィルタのセット、並列ブルームフィルタ配列のセットまたは単一のハッシュキージェネレータを利用する並列ブルームフィルタ配列のセットから成るグループであり、各々のパターンが関連する許容可能な誤りを有する1つまたは複数のパターンを検出するように各々の並列フィルタ機構が構成され、複数のパターンのシンボルの組み合わせに関してデータストリームをフィルタリングし、複数の可能性のあるパターン断片の合致を検出し、各々の合致パターンが関連する許容可能な誤りを有する、複数の可能性のある合致パターンを特定する複数の並列フィルタ機構と、特定された複数の可能性のある合致パターンを、各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンのセットへと削減する削減ステージと、複数のパターンのシンボルの組み合わせからデータストリームでのパターン合致の存在を検証するために、関連するデータおよび可能性のある合致パターンの削減されたセットおよび関連する許容可能な誤りを受信および利用する、近似合致エンジンを含む検証ステージとを含む。
例示的であり、限定ではないが、本発明の可能性のあるアプリケーションの例は、コンピュータ通信ネットワークに関する侵入検知システム(IDS)、コンピュータ計算による生物学および遺伝学、構造化および非構造化テキストに対するテキスト検索、および光学文字走査(OCS)からのテキスト検索を含む。
本発明の付加的な態様は、限定ではないが、各パターンが、例えば何万パターン以上の多数のパターン断片を含み得るその許容可能な誤りを特定し得る、複数のパターンを用いた近似合致に関するフィルタリング技術と、並列合致動作を実行するために、および多種多様の(パターン長、許容可能な誤り)組み合わせをサポートするために、1つが各パターン断片長のためのものである、正確な合致エンジンの並列セットを利用することと、各パターンに特定の数の誤りを許容することと、並列ハードウェア検索実装に対する従順さおよびそのような実装が高速の検索結果を提供し得ることと、テキストの範囲に関して可能性のある合致パターンの数を限定することによって検証ステージを単純化し、検索エンジンが付加的な可能性のある検索結果をより短い周期で処理することを可能にして、全システムが非常に高速で動作しながら能力を向上させることと、各正確な合致エンジンに対してブルームフィルタ配列を利用することと、1つだけのハッシュ関数ジェネレータを使用することによって各ブルームフィルタ配列を効果的に実装することとを含む。
本発明のさらに別の態様は、検証ステージでの検索の範囲が可能性のある合致パターンのより小さいセットへと削減される削減ステージである。これらの技術は、各パターンおよびその許容可能な誤りが一度だけ記憶されることを可能にする、断片およびパターンの間の間接層を使用する。データ構造を単純化し、それらをハードウェア実装に従順にする第1の例示的な技術が存在する。この技術は、可能性のある合致断片に関する断片識別子を取り出すために、ビンインデックスを使用する参照を含む。第2の参照は、断片を含むパターンに関するパターン識別子を取り出すために断片識別子を使用する。第3の参照は、検証エンジンによって考慮されるパターンおよび関連する許容可能な誤りの対を取り出すためにパターン識別子を使用する。断片を含むパターンに関するパターン識別子を解決するために、正確な合致エンジンでの合致を生じたテキスト断片を使用する第2の例示的であるが、限定ではない技術が存在する。パターン識別子は、検索エンジンによって考慮されるパターンおよび関連する許容可能な誤りの対を取り出すために使用される。
これらは、本発明の無数の態様のうちのただ一部であり、本発明に関連付けられている無数の態様の全てを含むリストとみなされるべきではない。
本発明をより理解するために、添付の図面を参照されたい。
以下の詳細な説明では、本発明の完全な理解をもたらすために多数の特定の詳細が示されている。しかしながら、当業者は、本発明がこれらの特定の詳細なしで実施され得ることを理解するであろう。別の例では、よく知られている方法、手順および構成要素は、本発明を分かりにくくさせるので詳細には説明されていない。
本発明は、パターンの大きなセットを用いた近似パターン合致のためのスケーラブルなフィルタ回路である。フィルタ回路は、記憶されているパターンのセットの間で可能性のある合致を検証し、各パターンが許容可能な誤りの数および文字の入力ストリームを特定する。許容可能な誤りの数は、所定のものであるか、または単一文字の付加、削除および置換の数を数える一般的な編集距離尺度を使用して特定される。可能性のある合致が検出されると、合致パターンまたは複数の可能性のある合致パターン同様に、入力データストリームでの単数または複数の位置が特定される。本発明は、可能性のある合致パターンの総数から、前に特定された可能性のある合致パターン(単数または複数)を利用し、入力データストリームのデータセグメント(単数または複数)での近似合致を検索する検証ステージと協働して動作するように設計されている。
単一パターンに関する検索の方法論は、以下のように規定され得る:「k」の許容可能な誤りでテキスト「T」でのパターン「P」のインスタンスを特定する、ここで「k」は最大編集距離である。編集距離は、全ての誤りが、必ずではないが通常は、同じ重み付けを共有する、単一文字の挿入、削除および置換の数として規定されている。一般に、転置等の別の種類の誤りが距離尺度に含まれてもよく、各種類の誤りは固有の重み付けが割り当てられ得る。
「m」がパターンの文字としての大きさであり、「n」がテキストの文字としての大きさであると仮定すると、誤りレベルは、特定のパターンに対して、許容可能誤りの数とパターンの大きさの比率、即ち「α=k/m」として規定され得る。誤りレベルならびにパターンおよびテキストが構成されるアルファベットの大きさ「σ」は、合致が見つかる確率に影響を及ぼす。無作為に構成されているテキストおよび無作為に構成されているパターンを仮定しての合致確率の式「f(m,k)」は、以下の式:
Figure 2009535747
で提供される。ここで「e」は自然対数の底である。
フィルタリングアルゴリズムは種々の近似パターン合致問題に対してより良い成績を達成すると考えられている。一般的な手法は、可能性のある合致を特定するためにテキストの小セクションに対し単純な検索を実行するものである。可能性のある合致が見つかると、テキストのその範囲は、それが実際に特定パターンに対する近似合致であるか否かを確かめるために検査される。一般に、検証は、あらゆる近似パターン合致アルゴリズムで実行され、多かれ少なかれフィルタリング動作に結び付いている可能性がある。
本発明のシステムの概略的な模式図が図2に示されており、図番30によって示されている。高いデータ転送速度でフィルタ回路に供給可能な種々の他のデータソースと同様に、通信リンク、ディスク、レイド(redundant array of independent disks,RAID)またはストレージエリアネットワーク(SAN)のいずれかを介して大量のデータが入力として提供され得る。このデータ入力は図番32で示され、図番34で示されるネットワーク入力を介して同様に提供され得る。高速データは、図番36で示される高帯域相互接続を介して高速で提供され得る。この高速データは、可能性のある合致に対して入力データを入力パターンのセットに関してスキャンするフィルタ回路38を次に通される。次に、フィルタ回路38で合致を取り出すデータセグメントを処理する際に、検証ステージ42によって考慮される必要がある可能性のある合致パターンのセットを削減する削減ステージ40がフィルタ回路38と検証ステージ42との間に存在する。検証ステージ42は、入力パターン46のセットに対し、合致が存在するか否かを検証するための全ての適切な動作を実行する。次に、検索結果が、図番44で示されるように提供される。所定の入力パターン46がフィルタ回路38、削減ステージ40および検証ステージ42に提供される。
テキストの特定の窓では、正確な合致を検索することが可能であり、パターン断片のいずれもが所定数「r」のパターンによって特定される。特定のパターン「i」が「k」個の誤りを許容する場合、パターン断片の総数は式:
Figure 2009535747
によって示される。
このフィルタリング手法は、ブルームフィルタの並列セット、並列ブルームフィルタ配列のセット、または単一ハッシュ関数ジェネレータを利用するブルームフィルタ配列のセットを含み得る、並列フィルタ(parallel filter)機構と共に利用される。本発明の基本的なハードウェア実装の概略図である図3で示されるように、本発明が図番50で示されており、図番54で示される多数のブルームフィルタを含む。従来のブルームフィルタ54では、「b」個のハッシュ値を使用してセットに要素が挿入され、要素がキーとして利用され、そこで各ハッシュ値がB−ビットベクトルでのビット位置を特定する。bビット位置の各々でのビットは1に設定されるのが好ましい。ビットが既に1に設定されている場合、変更はされない。特定の要素が、ブルームフィルタ54によって示されるセットの構成要素であるか否かを検査するために、要素および同じbハッシュ関数がbハッシュ値を計算するのに利用される。ベクトルの全てのbビットが1に設定されている場合、その要素がセットの構成要素であることが宣言される。
ブルームフィルタ54は、検出漏れを生じない。要素がセットの構成要素である場合、要素がセットに挿入される際にB−ビットベクトルのbビット位置が1に設定される。付加的な要素のセットへの挿入は、ベクトル内のいずれのビットをもリセットしない。しかしながら、ブルームフィルタ54は、所定の確率で検出漏れを生じる。この確率は、式:
Figure 2009535747
で計算され得る。以下の関係が成り立つ場合:
Figure 2009535747
複数のパターンでの近似合致フィルタリングと、各パターンがその許容可能な誤りを特定することとは、種々の長さのパターン断片のセットを生じる。好ましくは、必ずではないが、ブルームフィルタ54は、可能性のある各パターン断片長に対して1つのブルームフィルタ回路54の固定長要素を記憶している。それゆえに、可能性のあるパターン断片長の範囲は、ある範囲内に制限される。
minが最小パターン断片長である場合、lminは、パターンmの大きさを最大編集距離kに1を加えたもので割った値より小さいか等しい:
Figure 2009535747
maxが最大断片長である場合、lmaxは、パターンmの大きさを最大編集距離kに1を加えたもので割った値より大きいか等しい:
Figure 2009535747
ブルームフィルタ54の各ブルームフィルタがパターン断片長に対応する際に必要であるブルームフィルタ54の総数は:
max−lmin+1
である。
好ましい手法は、図3の図番50で概略的に示されているように、ブルームフィルタ54の各々に並行して問い合わせることである。種々のストライドのテキスト窓が各ブルームフィルタ54への入力キーとして選択可能であるように、ブルームフィルタ54の各々は、パターン断片長に対応している。
ブルームフィルタ54のいずれかが検出の合致56を生じると、データのセグメントまたはテキスト窓58、入力ストリームのデータのセグメントの位置59および付加的な合致メタデータ60が削減ステージ40に送信される。削減ステージ40で利用される技術は、可能性のある合致パターンを著しく、例えば、10000超を10未満へと、削減することが可能である。
削減ステージ40から渡された結果は、近似合致検索エンジンを含む検証ステージ42に進む。検証ステージ42によって考慮される候補パターンの数を削減することによって、検証ステージが所与の時間でより多くの可能性のある検索結果を処理することが可能になり、従って、高速で動作しながら全システムの能力面を向上させることが可能になる。
通常、ブルームフィルタ配列54は、セットメンバーシップ問い合わせに必要な、例えば、ランダムアクセスメモリ(RAM)等のメモリアクセスの数を最小化する。さらに、ブルームフィルタ配列54は、B−ビットベクトルを大きさ「q=B/W」の「W」個のベクトルに分割し、ここで「q」はメモリのワードサイズである。好ましくは、プリフィルタハッシュ関数を使用して、記憶されている要素が「W」個のベクトル(メモリワード)上に均等に分配されていることが好ましい可能性がある。これは、「W」個の「q」−ビットブルームフィルタの配列を生じる。
プログラミングの際に「q」−ビットブルームフィルタ54のビットが設定され、次に、問い合わせの際に「b」個のハッシュ関数を使用して検査される。ブルームフィルタ配列54への問い合わせは、1個のメモリが「q」−ビットベクトルを読んで取ってくることを必要とする。図4で示されて図番70で概略的に示されるように、レジスタ80およびビット選択回路82を使用することによって、「b」個のハッシュ関数によって特定されるビット位置の検査がオンチップでパイプライン方式で実行され得る。
このアプリケーションでは、キー(即ち、パターン断片)が図番72によって示されている。このキーは、「w」個のベクトルのリストの特定の「q」−ビットベクトルを特定するために、プレフィルタハッシュ関数73によって使用される。「w」個のベクトルのリストの特定の「q」−ビットベクトルは、例えば、RAM等のメモリの列74で示されており、そこで具体的で例示的なベクトルが図番76で特定されている。これらの問い合わせは、レジスタ80内でのビット位置を特定する、図番78で示される一連の「b」個のハッシュ関数で検査され、次に、合致検出機能82に提供される。「b」個のビット位置の全てが1に設定されている場合、このキーは可能性のある合致パターンに関するパターン断片である。
図5に示されるように、ブルームフィルタ配列54を実装するために必要なロジックの量が最小化され得るのが好ましい。このロジックは、図番90で概略的に示されている。図番92で示される単一のハッシュ関数が存在する。単一の乱数値の生成が存在する。この乱数値からのビットのサブセットがプレフィルタハッシュアドレスおよび図番94で示される「b」個のフィルタビット位置を構成するために利用される。「w」個のベクトルのリストの特定の「q」−ビットベクトルが、例えば、RAM等のメモリの列96で示されており、そこで具体的で例示的なベクトルが図番98で特定されている。この特定のベクトル98は、レジスタ100に渡され、次に、合致パターン検出機能102に渡される。このビット選択値94は、サイズが少なくともlog(W)+(b*log(q))ビットである必要がある。ハッシュ関数92のHクラスは、このアプリケーションに充分に広範な値を提供し得る例示的で限定ではないハッシュ関数例である。
利用可能な再構成可能なハードウェアの例示的で限定ではない例は、Xilinx(登録商標)VirtexII(登録商標)4000シリーズFPGAを含むFPGAs、即ち、フィールドプログラマブルゲートアレイを含む。Xilinx社は、95124−3400、カリフォルニア州、サンノゼ、ロジックドライブ2100に事業所を有するデラウェア州の会社である。VirtexII(登録商標)のデバイスシリーズの内蔵メモリの例示的で限定ではない例は、120個の18キロバイトブロックのランダムアクセスメモリ(ブロックRAMs)を含む。これらのブロックRAMは、例示的で限定ではないが、最大ワード長36ビット×512ワードを用いて種々の大きさのワードに構成され得る。
誤検出の確率に関する前式を利用し、一定のハッシュ性能を仮定すると、18キロバイトブロックRAMを用いて実装されているブルームフィルタ配列54は、bビット位置の数が4と等しい場合、3,194個の要素のセットの誤りの確率を0.063と示し得る。bビット位置の数が3と等しい場合、能力は4,259個の要素に増加するが、誤検出の可能性が0.125に増大する。
前述したように、1つのブルームフィルタ配列54が各固有のパターン断片長に対して必要である。さらに、データ入力速度の歩調をとる必要がある並列回路の数の検討材料も存在する。例示的で限定ではない例では、周期(64−ビットインターフェース)当たり8個の新規のASCII文字を受け入れるシステムは、並列に動作する回路の8個のインスタンスを必要とする。VirtexII4000(登録商標)の場合、各回路インスタンスに対して最大限で15個のブロックRAMが利用可能である。インターフェースバッファに対してブロックRAMリソースを利用可能にするために、これは、ブロックRAMをより小さい数、例えば、14個のブロックRAMに制限することをもたらす。この例示的で限定ではないリソース割り当ては、パターン断片の長さと、パターン断片および許容可能な誤りの組み合わせとに制約を生じる可能性がある。これは、次に、最大誤りレベルに制限を生じる。「m」がパターンの大きさと等しく、「p」がパターン断片の数に等しく、「k」が許容可能な誤りの数または編集距離である場合、以下の式:
min=pmin(k+1)
max=pmax(k+1)
Figure 2009535747
が適用可能であり、ここでα=誤りの数をパターンの大きさで除算した比率である。
以下のテーブル1は、「α」、即ち、誤りの数をパターンの大きさで除算した比率が1以下である場合のものである。
Figure 2009535747
以下のテーブル2は、「α」、即ち、誤りの数をパターンの大きさで除算した比率が1/2以下である場合のものである。
Figure 2009535747
以下のテーブル3は、「α」、即ち、誤りの数をパターンの大きさで除算した比率が1/3以下である場合のものである。
Figure 2009535747
それゆえに、第2の例およびテーブル2で、「α」、即ち、誤りの数をパターンの大きさで除算した比率が1/2以下である場合で、パターンが誤りを許容しない、即ち、「k=0」である場合、少なくとも2個の文字が存在し、15個以下の文字であるはずである。1個の誤りを許容するパターン、即ち、「k=1」は、少なくとも4個の文字で、30個以下の文字を含むはずである。広範な種類の許容パターンの大きさおよび許容可能な誤りが利用され得るが、少なくとも2個の文字が存在して15個以下の文字であるパターンが、英語での大部分のテキスト検索に対して有効な制約であると考えられており、しかしながら、これが限定として解釈されるべきではない。
断片が許容可能な長さの範囲に一様に分布していると仮定することによって、大まかな能力の推定が展開され得る。例示的で限定ではない例では、各ブルームフィルタ配列54が約3000個のパターン断片の能力を有する場合、システムは42000個のパターン断片の総合能力を有する。各パターンが3個のパターン断片に分割され得ると仮定される場合、システムは14000個のパターンの能力を有する。
図3に示されるように、一度、1つまたは複数のパターン断片長56に関して可能性のある合致が検出されると、「r」個のパターンのうちの1つに関する近似合致が存在するか否かを判定するために検証ステージ42によってテキストのその範囲が検査される必要がある。「r」はおよそ10000パターン以上であり得るので、検証ステージ42が実行する必要のある検索範囲を削減する必要性が存在する。これこそ、検証ステージ42が考慮する、可能性のある合致パターン(パターンセット)のセットを低減する重要な役割を削減ステージ40が提供することである。パラメータが制約の範囲内にある限り、許容可能な誤りの数が各パターンに対して特定され得るという仮定が存在する。
図3に示されるようなこの特許出願全体で、図3に示されるようにフィルタステージ38、削減ステージ40および/または検証ステージ42は、少なくとも1つの再構成可能なロジックデバイス、例えば、フィールドプログラマブルゲートアレイ(「FPGA」)または少なくとも1つの集積回路、例えば、特定用途向け集積回路(「ASIC」)を使用し得る。
削減ステージ40を実行する2つの例示的だが限定ではない手法が存在する。第1の手法は、図6の図番120で示されるパターンセットを解決するために利用されるデータ検索を単純化することである。これは、データ文字列がシフトレジスタ52に入ることを可能にし、シフトレジスタ52は次にブルームフィルタ配列54を含むことが好ましいフィルタステージまたは回路38に渡す。その目的はこの手法を用いて、フィルタステージまたは回路38のブルームフィルタ配列54によって計算されたハッシュ値のうちの、全てではない場合には一部を、テーブル128へのインデックス、例えば、ビンインデックス(BinIndex)124として利用することである。
例えば、パターン断片121がフィルタステージまたは回路38によって受信可能であり、ビンインデックス124を含むハッシュ値126として受信される。この第1のテーブル128へのエントリは、パターン断片に対する識別子127、例えば、ビンインデックス124を含むハッシュ値126をマッピングする断片IDを含む。例えば、例示的な識別子、例えば、例示的なパターン断片121と関連付けられている断片IDおよび断片IDが存在する。パターン断片に対する識別子127、例えば、断片IDは、各パターン断片に割り当てられている固有の2進数タグである。
第2のテーブル132は、1つまたは複数のパターン識別子を可能性のある合致パターンのセットに関してインデックス付けするために、パターン断片に対する識別子128、例えば、断片IDを利用する。1つまたは複数のパターンが特定のパターン断片を特定し得るので、第2のテーブル132のエントリは、1つまたは複数のパターン識別子、例えば、PIDsを含む。パターン識別子、例えば、PIDsは、各パターンに関連付けられている固有の2進数タグである。例えば、例示的な識別子131は、2つのパターン137および138に関連する。
第3のテーブル134は、1つまたは複数の(パターン、許容可能な誤り)対をインデックス付けするためにパターン識別子、例えば、PIDを利用する。次に、各々の合致パターンが所定の許容可能な誤りを有する、識別されたセットまたは複数の可能性のある合致パターンが、例えば、(パターン、許容可能な誤り)対137および138が、図番136で示されるように生成される。
可能性のある合致136のこのパターンセットが検証ステージ42に渡され、それは合致パターンおよび関連する所定の許容可能な誤りに関する近似合致エンジン142による評価を含む。周期当たりの参照数がメモリによってサポートされる参照数を超過しない限りは、そこでは、パターン断片識別子128、例えば、断片IDs、パターン識別子132、例えば、PIDsおよびパターン134に関するテーブルの1つのコピーだけを必要とする。
削減ステージ40に関する第2および好適な方法論が存在し、図7の図番150で概略的に示されている。これは、データ文字列が、好ましくはブルームフィルタ配列54を含むフィルタステージまたは回路38に渡されることを可能にする。この手法を用いると、ブルームフィルタ配列54での合致を生じる実際のデータセグメントまたは断片が、それらのパターン断片を特定するパターン162に対してパターン識別子を解決するために利用される。合致を生じるデータセグメントまたは断片が、図番156、158および160で示されるデータ構造の1つまたは複数のエントリを特定するために使用され、データ構造は、関連するパターン断片を特定するパターンに関するパターン識別子、例えば、PIDsを記憶している。適切なデータ構造の例示的であるが、限定ではない例は、ハッシュテーブルおよび平衡探索木である。この方法論は、1つまたは複数のデータ構造を含み得る。図7の例示的であるが、限定ではない例150では、1つのデータ構造が各パターン断片長に対して割り当てられている。
例示的であるが、限定ではない例では、ブルームフィルタ配列54での合致を生じる2つのデータセグメントまたは断片が図番121および123で特定される。データ断片121は、データ構造のエントリ157を削減ステージ40の一部として特定する。これらのデータ構造156、158および160は、多種多様の異なる構造、例えば、決定木、ハッシュテーブル等などを含み得る。これらの参照(単数または複数)の結果は、パターンセットのパターンに対するパターン識別子のセットである。従来技術の手法と同様に、これらのパターン識別子、例えば、PIDs、156、158および160は、検証ステップの前にテーブル40からパターンおよび関連する許容可能な誤りを取り出すために利用される。前に参照したエントリ157は、可能性のある合致164のセットを生じさせるために、パターン163および165と関連する許容可能な誤りとを特定する。可能性のある合致および関連する所定の許容可能な誤り164のセットは、次に、検証ステージ42の近似合致エンジン166によって評価される。
この手法は、パターン識別子のセットを、2つのステップの代わりに単一のステップで解決し、さらに、ブルームフィルタ配列54によって生じる誤検出誤りを除去する。さらに、パターン識別子構造(単数または複数)のエントリの位置を決定するために実際のデータセグメントが利用されているため、明示的な合致が実行される。テーブルにエントリが存在しない場合、誤検出が検出され、検出ステージ42にその特定のパターン断片長に対するパターン識別子、例えば、PIDsは渡されない。その代償は、データ構造がより複雑である可能性があること、および実装によってはその実装がよりリソース消費型になることである。
それゆえに、これは、ハードウェア実装の影響を受け易い複数のパターンに対する近似パターン合致に関するフィルタ回路38および削減ステージ40に関するスケーラブルな設計である。何千ものパターンに加え、複数のフィルタ回路が、周期当たりの複数の入力シンボルをサポートすることが可能である。高性能フィルタ回路38および削減ステージ40を利用することによって、検証ステージ40に配置された性能要求が解析され得る。この解析を目的として、出願人は、全てのパターンが同じ数「k」の許容可能な誤りを特定すると仮定する。検証ステージでの有効負荷は、合致の確率および可能性のある合致パターンのセットの期待される大きさとして決定される。合致の確率は、単純に、「r(k+1)」個の断片のうちのいずれかがテキスト窓で合致を生じる確率と、ブルームフィルタ配列54の誤検出確率との総和であり、ここで「r」は「r」個のパターン断片の所定の数であり、「k」は所定の誤りの数である。
「L」がブルームフィルタ配列54の数であり、「σ」個の文字のアルファベットに対して無作為のテキストを仮定する場合、これらの断片のいずれかの合致の確率は、
Figure 2009535747
になる。
ブルームフィルタ配列の誤検出確率の付加は、
Figure 2009535747
を提供する。
例示的だが、限定ではない例示値L=14、σ=40、r=14000およびf=0.0034を利用することによって、合致確率は最小断片長に非常に敏感である。例えば、m=5およびk=1(2個の文字の最小断片長)である場合、合致確率が1である。パターンの大きさが6(3個の文字の最小パターン断片長)に増大されると、合致確率は0.079である。この結果は、最小パターン断片の大きさが3個以上の文字であるべきであることを示唆している。この状況では、12周期毎に1つの合致が期待される。
図6に示される削減ステージ40の方法論を、一連のインデックス参照と共に利用することによって、もし少なくとも1つのブルームフィルタ配列54が合致を生じる場合、合致を生じるブルームフィルタ配列54の期待数、即ち、ビンインデックス参照の期待数は:
Figure 2009535747
である。
パターン断片が「L」個のブルームフィルタ配列54(パターン断片長)上に一様に分布し、ビンの上に一様に分布しているとの仮定の下で、図6に示されるように、ビン当たりのパターン断片識別子128の期待数は:
Figure 2009535747
である。ここで「B」は、ブルームフィルタ配列54を実装するために使用されているメモリの大きさであり、「W」は、ブルームフィルタ配列54のワードの数であり、「b」は、ブルームフィルタ配列54の各ブルームフィルタで使用されているハッシュ関数の数である。
最後に、所与のパターン断片131を特定するパターンの期待数は、図6に示されるように:
Figure 2009535747
を含む。
それゆえに、少なくとも1つのブルームフィルタ配列54が合致するという条件で、期待されるパターンの大きさは:
Figure 2009535747
である。
一様なテキスト、断片長の一様な分布、一様な分布(優良なハッシュ関数)と、L=14、σ=40、r=14000、b=3およびW=512とを仮定すると、mおよびk(パターン長および許容可能な誤り)の実際的な値に対して期待されるパターンセットの大きさは10未満である。アルファベットの大きさおよび/またはパターンの大きさが増大するに従って、期待されるパターンセットの大きさは、急速に1に近づく。
図7に示される他の削減ステージ手法を、テキストセグメントをインデックスとして用いて使用する場合の期待されるパターンセットの大きさの式は同様であり、若干小さいパターンセットサイズを生じる。12の周期毎に1つのパターンが合致する前の結果と組み合わせて、検証ステージ42の平均スループットに対する控えめの制約は、毎周期当たり1つのパターンで約1個の合致である。
従って、新規の発明の複数の実施形態が示され、説明されてきた。前述の説明から明らかであるように、本発明の所定の態様は、本明細書で例示されている例の特定の詳細によって制限されず、それゆえに、当業者が他の修正および適用またはそれらの同等物を創案することが意図されている。前述の明細書で使用されている用語「有する」、「有している」、「含む」および「含んでいる」ならびに類似の用語は、「必要とする」の意味ではなく、「任意選択で」または「含んでよい」の意味として使用されている。一方、本構成の多くの変更、修正、変形および他の使用および用途が、明細書および添付の図面を熟考した後に当業者に明白になるであろう。本発明の精神および範疇から逸脱しないそのような変更、修正、変形および他の使用ならびに用途の全ては、添付の特許請求の範囲によってのみ制限される本発明によって網羅されているとみなされる。
従来技術の近似パターン合致技術の例示的な概略図である。 データソース、フィルタ回路、削減ステージおよび検証ステージを含む本発明の例示的なブロック図である。 合致検出機能、削減ステージならびに近似パターン合致を有する検証ステージを備えるブルームフィルタを含む、本発明の例示的であり、限定ではないブロック図である。 ブルームフィルタ配列を使用する第1のフィルタリングステージ処理技術の例示的なブロック図である。 単一のハッシュ関数ジェネレータと共にブルームフィルタを使用する第2のフィルタリングステージ処理技術の例示的なブロック図である。 第1の削減ステージ処理技術の例示的なブロック図である。 第2の削減ステージ処理技術の例示的なブロック図である。

Claims (27)

  1. 少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査する方法であって、
    各々のパターンが関連する許容可能な誤りを有する1つまたは複数のパターンを検出するように各々の並列フィルタ機構が構成されている、複数の並列フィルタ機構を用いて、複数のパターンのシンボルの組み合わせに関してデータストリームをフィルタリングするステップと、
    複数の並列フィルタ機構を用いて複数の可能性のあるパターン断片の合致を検出するステップと、
    複数の並列フィルタ機構から、各々の合致パターンが関連する許容可能な誤りを有する、複数の可能性のある合致パターンを特定するステップと、
    削減ステージを用いて、特定された複数の可能性のある合致パターンを、各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンのセットへと削減するステップと、
    関連するデータ、および各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンの削減されたセットを検証ステージに提供するステップと、
    関連するデータおよび可能性のある合致パターンの削減されたセットを利用する近似合致エンジンを含む検証ステージを用いて、複数のパターンのシンボルの組み合わせおよび関連する許容可能な誤りからデータストリームでのパターン合致の存在を検証するステップとを含む、方法。
  2. データストリームをフィルタリングするステップの前に、通信リンク、レイド(「RAID」)またはストレージエリアネットワーク(「SAN」)から成るグループよりデータストリームを提供するステップをさらに含む、請求項1に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査する方法。
  3. 複数の並列フィルタ機構が、並列ブルームフィルタのセット、並列ブルームフィルタ配列のセットまたは単一のハッシュキージェネレータを利用する並列ブルームフィルタ配列のセットから成るグループである、請求項1に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査する方法。
  4. 複数の並列フィルタ機構が、少なくとも1つの再構成可能なロジックデバイスまたは少なくとも1つの集積回路から成るグループより選択されており、削減ステージが、少なくとも1つの再構成可能なロジックデバイスまたは少なくとも1つの集積回路から成るグループより選択されている、請求項1に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査する方法。
  5. 複数の並列フィルタ機構が、少なくとも1つのフィールドプログラマブルゲートアレイ(「FPGA」)または少なくとも1つの特定用途向け集積回路(「ASIC」)から成るグループより選択されており、削減ステージが、少なくとも1つのフィールドプログラマブルゲートアレイ(「FPGA」)または少なくとも1つの特定用途向け集積回路(「ASIC」)から成るグループより選択されている、請求項4に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査する方法。
  6. 複数の並列フィルタ機構が、入力されたデータセグメントがブルームフィルタ配列に記憶されているパターン断片のうちの1つと合致するか否かを特定する、ビットベクトルおよびビットベクトルの位置に対応するハッシュ値を計算する単一のハッシュキージェネレータを利用する少なくとも1つのブルームフィルタ配列を含む、請求項1に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査する方法。
  7. 特定された複数の可能性のある合致パターンを、各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンのセットへと削減するステップが、
    複数の並列フィルタ機構で合致を生じた各データセグメント断片に対して1つまたは複数のパターン断片識別子を参照するために、複数の並列フィルタ機構からのデータを利用するステップと、
    少なくとも1つのパターン識別子を取り出すために1つまたは複数のパターン断片識別子を利用するステップと、
    少なくとも1つの可能性のある合致パターンおよび関連する許容可能な誤りを取り出すために少なくとも1つのパターン識別子を利用するステップと、
    検証ステージを用いて、複数のパターンのシンボルの組み合わせからデータストリームでのパターン合致の存在を検証するために、少なくとも1つの可能性のある合致パターンおよび関連する許容可能な誤りを利用するステップとをさらに含む、請求項1に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査する方法。
  8. 特定された複数の可能性のある合致パターンを、各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンのセットへと削減するステップが、ビンインデックスと共に第1の参照機能を利用するステップをさらに含む、請求項7に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査する方法。
  9. ビンインデックスが、異なるハッシュキーまたはハッシュキーの一部から成るグループより選択されている、請求項8に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査する方法。
  10. 特定された複数の可能性のある合致パターンを、各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンのセットへと削減するステップが、
    複数の並列フィルタ機構を用いて、複数のパターンのシンボルの組み合わせに関してデータストリームをフィルタリングするステップから合致を生じた少なくとも1つのデータセグメントを、少なくとも1つのパターン識別子を取り出すために利用するステップと、
    少なくとも1つのパターン識別子を、少なくとも1つの可能性のある合致パターンおよび関連する許容可能な誤りを取り出すために利用するステップと、
    可能性のある合致パターンおよび関連する許容可能な誤りを、複数のパターンのシンボルの組み合わせからデータストリームでのパターン合致の存在を検証するために利用するステップとをさらに含む、請求項1に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査する方法。
  11. 少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査する方法であって、
    各々のパターンが関連する許容可能な誤りを有する1つまたは複数のパターンを検出するように各々の並列フィルタ機構が構成されている、並列ブルームフィルタのセット、並列ブルームフィルタ配列のセットまたは単一のハッシュキージェネレータを利用する並列ブルームフィルタ配列のセットから成るグループである複数の並列フィルタ機構を用いて、複数のパターンのシンボルの組み合わせに関してデータストリームをフィルタリングするステップと、
    複数の並列フィルタ機構を用いて複数の可能性のあるパターン断片の合致を検出するステップと、
    複数の並列フィルタ機構から、各々の合致パターンが関連する許容可能な誤りを有する、複数の可能性のある合致パターンを特定するステップと、
    特定された複数の可能性のある合致パターンを、各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンのセットへと削減するステップと、
    関連するデータ、および各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンの削減されたセットを検証ステージに提供するステップと、
    関連するデータおよび可能性のある合致パターンの削減されたセットを利用する近似合致エンジンを含む検証ステージを用いて、複数のパターンのシンボルの組み合わせおよび関連する許容可能な誤りからデータストリームでのパターン合致の存在を検証するステップとを含む、方法。
  12. 特定された複数の可能性のある合致パターンを、各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンのセットへと削減するステップが、
    複数の並列フィルタ機構で合致を生じた各データセグメント断片に対して1つまたは複数のパターン断片識別子を参照するために、複数の並列フィルタ機構からのデータを利用するステップと、
    少なくとも1つのパターン識別子を取り出すために複数のパターン断片識別子を利用するステップと、
    少なくとも1つの可能性のある合致パターンおよび関連する許容可能な誤りを取り出すために少なくとも1つのパターン識別子を利用するステップと、
    データストリームでのパターン合致の存在を検証するために、少なくとも1つの可能性のある合致パターンおよび関連する許容可能な誤りを利用するステップとをさらに含む、請求項11に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査する方法。
  13. 特定された複数の可能性のある合致パターンを、各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンのセットへと削減するステップが、
    複数の並列フィルタ機構を用いて、複数のパターンのシンボルの組み合わせに関してデータストリームをフィルタリングするステップから合致を生じた少なくとも1つのデータセグメントを、少なくとも1つのパターン識別子を取り出すために利用するステップと、
    少なくとも1つのパターン識別子を、少なくとも1つの可能性のある合致パターンおよび関連する許容可能な誤りを取り出すために利用するステップと、
    可能性のある合致パターンおよび関連する許容可能な誤りを、複数のパターンのシンボルの組み合わせからデータストリームでのパターン合致の存在を検証するために利用するステップとをさらに含む、請求項11に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査する方法。
  14. 特定された複数の可能性のある合致パターンを、各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンのセットへと削減するステップが、複数の並列ブルームフィルタ配列を利用するステップをさらに含み、各ブルームフィルタアレイが、誤検出誤りを有する1つまたは複数のパターン断片と合致するデータセグメントについてデータストリームを検査するために、単一のハッシュ値から複数のハッシュ値を抽出するために単一のハッシュキージェネレータを利用する、請求項1に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査する方法。
  15. 少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査するシステムであって、
    各々のパターンが関連する許容可能な誤りを有する1つまたは複数のパターンを検出するように各々の並列フィルタ機構が構成されている複数の並列フィルタ機構を利用し、複数のパターンのシンボルの組み合わせに関してデータストリームをフィルタリングし、複数の可能性のあるパターン断片の合致を検出し、各々の合致パターンが関連する許容可能な誤りを有する、複数の可能性のある合致パターンを特定するフィルタステージと、
    特定された複数の可能性のある合致パターンを、各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンのセットへと削減する削減ステージと、
    複数のパターンのシンボルの組み合わせからデータストリームでのパターン合致の存在を検証するために、関連するデータおよび可能性のある合致パターンの削減されたセットおよび関連する許容可能な誤りを受信および利用する、近似合致エンジンを含む検証ステージとを含む、システム。
  16. 通信リンク、レイド(「RAID」)またはストレージエリアネットワーク(「SAN」)から成るグループよりデータストリームプロバイダをさらに含む、請求項15に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査するシステム。
  17. 複数の並列フィルタ機構が、並列ブルームフィルタのセット、並列ブルームフィルタ配列のセットまたは単一のハッシュキージェネレータを利用する並列ブルームフィルタ配列のセットから成るグループである、請求項15に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査するシステム。
  18. フィルタステージが、少なくとも1つの再構成可能なロジックデバイスまたは少なくとも1つの集積回路から成るグループより選択されており、削減ステージが、少なくとも1つの再構成可能なロジックデバイスまたは少なくとも1つの集積回路から成るグループより選択されている、請求項15に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査するシステム。
  19. フィルタステージが、少なくとも1つのフィールドプログラマブルゲートアレイ(「FPGA」)または少なくとも1つの特定用途向け集積回路(「ASIC」)から成るグループより選択されており、削減ステージが、少なくとも1つのフィールドプログラマブルゲートアレイ(「FPGA」)または少なくとも1つの特定用途向け集積回路(「ASIC」)から成るグループより選択されている、請求項18に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査するシステム。
  20. フィルタステージが、入力されたデータセグメントの断片が複数の可能性のある合致パターン断片のうちの少なくとも1つと合致するか否かを特定する、少なくとも1つのブルームフィルタ配列のブルームフィルタの位置およびブルームフィルタのビットの位置に対応するハッシュ値を計算する単一のハッシュキージェネレータを利用する少なくとも1つのブルームフィルタ配列を含む複数の並列フィルタ機構を含む、請求項15に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査するシステム。
  21. 特定された複数の可能性のある合致パターンを、各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンのセットへと削減する削減ステージが、さらに、複数の並列フィルタ機構で合致を生じた各データセグメント断片に対して1つまたは複数のパターン断片識別子を参照するために、複数の並列フィルタ機構からのデータを利用し、少なくとも1つのパターン識別子を取り出すために複数のパターン断片識別子を利用し、少なくとも1つの可能性のある合致パターンおよび関連する許容可能な誤りを取り出すために少なくとも1つのパターン識別子を利用し、複数のパターンのシンボルの組み合わせからデータストリームでのパターン合致の存在を検証するために、少なくとも1つの可能性のある合致パターンおよび関連する許容可能な誤りを利用する、請求項15に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査するシステム。
  22. 削減ステージが、ビンインデックスと共に第1の参照機能を利用する、請求項21に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査するシステム。
  23. ビンインデックスが、異なるハッシュキーまたはハッシュキーの一部から成るグループより選択されている、請求項22に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査するシステム。
  24. 特定された複数の可能性のある合致パターンを、各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンのセットへと削減する削減ステージが、さらに、複数の並列フィルタ機構を用いて、複数のパターンのシンボルの組み合わせに関してデータストリームをフィルタリングするステップから合致を生じた少なくとも1つのデータセグメントを、少なくとも1つのパターン識別子を取り出すために利用し、少なくとも1つのパターン識別子を、少なくとも1つの可能性のある合致パターンおよび関連する許容可能な誤りを取り出すために利用し、可能性のある合致パターンおよび関連する許容可能な誤りを、複数のパターンのシンボルの組み合わせからデータストリームでのパターン合致の存在を検証するために利用する、請求項15に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査するシステム。
  25. 少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査するシステムであって、
    並列ブルームフィルタのセット、並列ブルームフィルタ配列のセットまたは単一のハッシュキージェネレータを利用する並列ブルームフィルタ配列のセットから成るグループである複数の並列フィルタ機構であって、
    各々のパターンが関連する許容可能な誤りを有する1つまたは複数のパターンを検出するように各々の並列フィルタ機構が構成され、複数のパターンのシンボルの組み合わせに関してデータストリームをフィルタリングし、複数の可能性のあるパターン断片の合致を検出し、各々の合致パターンが関連する許容可能な誤りを有する、複数の可能性のある合致パターンを特定する、複数の並列フィルタ機構と、
    特定された複数の可能性のある合致パターンを、各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンのセットへと削減する削減ステージと、
    複数のパターンのシンボルの組み合わせからデータストリームでのパターン合致の存在を検証するために、関連するデータおよび可能性のある合致パターンの削減されたセットおよび関連する許容可能な誤りを受信および利用する、近似合致エンジンを含む検証ステージとを含む、システム。
  26. 特定された複数の可能性のある合致パターンを、各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンのセットへと削減する削減ステージが、さらに、複数の並列フィルタ機構で合致を生じた各データセグメント断片に対して1つまたは複数のパターン断片識別子を参照するために、複数の並列フィルタ機構からのデータを利用し、少なくとも1つのパターン識別子を取り出すために複数のパターン断片識別子を利用し、少なくとも1つの可能性のある合致パターンおよび関連する許容可能な誤りを取り出すために少なくとも1つのパターン識別子を利用し、複数のパターンのシンボルの組み合わせからデータストリームでのパターン合致の存在を検証するために、少なくとも1つの可能性のある合致パターンおよび関連する許容可能な誤りを利用する、請求項25に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査するシステム。
  27. 特定された複数の可能性のある合致パターンを、各々の合致パターンが関連する許容可能な誤りを有する、可能性のある合致パターンのセットへと削減する削減ステージが、さらに、複数の並列フィルタ機構を用いて、複数のパターンのシンボルの組み合わせに関してデータストリームをフィルタリングするステップから合致を生じた少なくとも1つのデータセグメントを、少なくとも1つのパターン識別子を取り出すために利用し、少なくとも1つのパターン識別子を、少なくとも1つの可能性のある合致パターンおよび関連する許容可能な誤りを取り出すために利用し、可能性のある合致パターンおよび関連する許容可能な誤りを、複数のパターンのシンボルの組み合わせからデータストリームでのパターン合致の存在を検証するために利用する、請求項25に記載の、少なくとも1つのサーチエンジンを用いて、各々のパターンが所定の許容可能な誤りを有する1つまたは複数のパターンと合致するデータセグメントについてデータストリームを検査するシステム。
JP2009509952A 2006-05-02 2007-04-24 近似パターン合致の方法および装置 Active JP5240475B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/381,214 2006-05-02
US11/381,214 US7636703B2 (en) 2006-05-02 2006-05-02 Method and apparatus for approximate pattern matching
PCT/US2007/067319 WO2007130818A2 (en) 2006-05-02 2007-04-24 Method and apparatus for approximate pattern matching

Publications (3)

Publication Number Publication Date
JP2009535747A true JP2009535747A (ja) 2009-10-01
JP2009535747A5 JP2009535747A5 (ja) 2010-06-17
JP5240475B2 JP5240475B2 (ja) 2013-07-17

Family

ID=38617510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009509952A Active JP5240475B2 (ja) 2006-05-02 2007-04-24 近似パターン合致の方法および装置

Country Status (5)

Country Link
US (1) US7636703B2 (ja)
EP (2) EP2421223B1 (ja)
JP (1) JP5240475B2 (ja)
CA (1) CA2650571C (ja)
WO (1) WO2007130818A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4944266B1 (ja) * 2011-06-08 2012-05-30 義尚 神山 2分割文字検索ソフトウェア
JP2021535473A (ja) * 2018-08-22 2021-12-16 ネットアップ,インコーポレイテッド 大量な文書コーパスにおけるトークン・マッチング

Families Citing this family (150)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2403699C (en) * 2001-09-17 2014-12-02 Recognia Inc. Technical analysis formation recognition using pivot points
GB2418999A (en) 2004-09-09 2006-04-12 Surfcontrol Plc Categorizing uniform resource locators
US7917299B2 (en) 2005-03-03 2011-03-29 Washington University Method and apparatus for performing similarity searching on a data stream with respect to a query string
US7634584B2 (en) 2005-04-27 2009-12-15 Solarflare Communications, Inc. Packet validation in virtual network interface architecture
US7702629B2 (en) 2005-12-02 2010-04-20 Exegy Incorporated Method and device for high performance regular expression pattern matching
US7954114B2 (en) 2006-01-26 2011-05-31 Exegy Incorporated Firmware socket module for FPGA-based pipeline processing
WO2007121035A2 (en) 2006-03-23 2007-10-25 Exegy Incorporated Method and system for high throughput blockwise independent encryption/decryption
US7921046B2 (en) 2006-06-19 2011-04-05 Exegy Incorporated High speed processing of financial information using FPGA devices
US7840482B2 (en) 2006-06-19 2010-11-23 Exegy Incorporated Method and system for high speed options pricing
US8020206B2 (en) 2006-07-10 2011-09-13 Websense, Inc. System and method of analyzing web content
US8615800B2 (en) 2006-07-10 2013-12-24 Websense, Inc. System and method for analyzing web content
US8326819B2 (en) 2006-11-13 2012-12-04 Exegy Incorporated Method and system for high performance data metatagging and data indexing using coprocessors
US7660793B2 (en) 2006-11-13 2010-02-09 Exegy Incorporated Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors
TW200821913A (en) * 2006-11-15 2008-05-16 Univ Nat Chiao Tung String matching system by using bloom filter to achieve sub-linear computation time and method thereof
US9654495B2 (en) 2006-12-01 2017-05-16 Websense, Llc System and method of analyzing web addresses
GB2458094A (en) 2007-01-09 2009-09-09 Surfcontrol On Demand Ltd URL interception and categorization in firewalls
GB2445764A (en) 2007-01-22 2008-07-23 Surfcontrol Plc Resource access filtering system and database structure for use therewith
US8938773B2 (en) 2007-02-02 2015-01-20 Websense, Inc. System and method for adding context to prevent data leakage over a computer network
US8015174B2 (en) * 2007-02-28 2011-09-06 Websense, Inc. System and method of controlling access to the internet
GB0709527D0 (en) 2007-05-18 2007-06-27 Surfcontrol Plc Electronic messaging system, message processing apparatus and message processing method
US7849399B2 (en) * 2007-06-29 2010-12-07 Walter Hoffmann Method and system for tracking authorship of content in data
EP2186250B1 (en) 2007-08-31 2019-03-27 IP Reservoir, LLC Method and apparatus for hardware-accelerated encryption/decryption
US9158837B2 (en) * 2007-10-10 2015-10-13 International Business Machines Corporation Methods and apparatus for adaptive source filtering and load shedding for data stream processing
EP3144672B1 (en) * 2007-11-21 2018-08-22 Cosmosid Inc. Genome identification system
US8478544B2 (en) 2007-11-21 2013-07-02 Cosmosid Inc. Direct identification and measurement of relative populations of microorganisms with direct DNA sequencing and probabilistic methods
US10229453B2 (en) 2008-01-11 2019-03-12 Ip Reservoir, Llc Method and system for low latency basket calculation
JP4909290B2 (ja) * 2008-01-22 2012-04-04 日本電信電話株式会社 ストリームデータ処理方法、ストリームデータ処理プログラムおよびストリームデータ処理システム
AU2009206227B2 (en) * 2008-01-24 2013-08-01 Sra International, Inc. System and method for variant string matching
US8028000B2 (en) * 2008-02-28 2011-09-27 Microsoft Corporation Data storage structure
US8005868B2 (en) * 2008-03-07 2011-08-23 International Business Machines Corporation System and method for multiple distinct aggregate queries
US9015842B2 (en) 2008-03-19 2015-04-21 Websense, Inc. Method and system for protection against information stealing software
US8370948B2 (en) 2008-03-19 2013-02-05 Websense, Inc. System and method for analysis of electronic information dissemination events
US8407784B2 (en) 2008-03-19 2013-03-26 Websense, Inc. Method and system for protection against information stealing software
US9130986B2 (en) 2008-03-19 2015-09-08 Websense, Inc. Method and system for protection against information stealing software
US8374986B2 (en) 2008-05-15 2013-02-12 Exegy Incorporated Method and system for accelerated stream processing
US8549581B1 (en) * 2008-05-28 2013-10-01 Zscaler, Inc. Distributed network security system deploying guard tables
CN102077201A (zh) 2008-06-30 2011-05-25 网圣公司 用于网页的动态及实时归类的系统及方法
US7990973B2 (en) * 2008-08-13 2011-08-02 Alcatel-Lucent Usa Inc. Hash functions for applications such as network address lookup
US8018940B2 (en) * 2008-08-13 2011-09-13 Alcatel Lucent Network address lookup based on bloom filters
US9305238B2 (en) * 2008-08-29 2016-04-05 Oracle International Corporation Framework for supporting regular expression-based pattern matching in data streams
CN103793522B (zh) * 2008-10-20 2018-01-12 王英 快速特征码扫描
JP5871619B2 (ja) 2008-12-15 2016-03-01 アイ・ピー・リザブワー・エル・エル・シー 金融市場深度データの高速処理のための方法および装置
US8145859B2 (en) * 2009-03-02 2012-03-27 Oracle International Corporation Method and system for spilling from a queue to a persistent store
CN102598007B (zh) * 2009-05-26 2017-03-01 韦伯森斯公司 有效检测采指纹数据和信息的系统和方法
US8321450B2 (en) 2009-07-21 2012-11-27 Oracle International Corporation Standardized database connectivity support for an event processing server in an embedded context
US8387076B2 (en) 2009-07-21 2013-02-26 Oracle International Corporation Standardized database connectivity support for an event processing server
US8527458B2 (en) 2009-08-03 2013-09-03 Oracle International Corporation Logging framework for a data stream processing server
US8386466B2 (en) 2009-08-03 2013-02-26 Oracle International Corporation Log visualization tool for a data stream processing server
US8332624B2 (en) * 2009-08-26 2012-12-11 Nokia Corporation Method and apparatus for encoding decision diagrams
US20110055221A1 (en) * 2009-08-26 2011-03-03 Sovio Sampo Juhani Method and apparatus for obtaining decision diagrams from unknown hash identifiers
GB201013195D0 (en) * 2009-09-28 2010-09-22 Qinetiq Ltd Processor
JP5568277B2 (ja) * 2009-10-22 2014-08-06 株式会社日立ハイテクノロジーズ パターンマッチング方法、及びパターンマッチング装置
US9430494B2 (en) 2009-12-28 2016-08-30 Oracle International Corporation Spatial data cartridge for event processing systems
US8959106B2 (en) 2009-12-28 2015-02-17 Oracle International Corporation Class loading using java data cartridges
US9305057B2 (en) 2009-12-28 2016-04-05 Oracle International Corporation Extensible indexing framework using data cartridges
US8478934B2 (en) * 2010-07-19 2013-07-02 Lsi Corporation Managing extended RAID caches using counting bloom filters
US9501795B1 (en) 2010-08-23 2016-11-22 Seth Gregory Friedman Validating an electronic order transmitted over a network between a client server and an exchange server with a hardware device
US8713049B2 (en) 2010-09-17 2014-04-29 Oracle International Corporation Support for a parameterized query/view in complex event processing
US8332367B2 (en) 2010-10-20 2012-12-11 International Business Machines Corporation Parallel data redundancy removal
US9189280B2 (en) 2010-11-18 2015-11-17 Oracle International Corporation Tracking large numbers of moving objects in an event processing system
US8407245B2 (en) 2010-11-24 2013-03-26 Microsoft Corporation Efficient string pattern matching for large pattern sets
US20120150887A1 (en) * 2010-12-08 2012-06-14 Clark Christopher F Pattern matching
US9674318B2 (en) 2010-12-09 2017-06-06 Solarflare Communications, Inc. TCP processing for devices
US8996644B2 (en) 2010-12-09 2015-03-31 Solarflare Communications, Inc. Encapsulated accelerator
US9600429B2 (en) 2010-12-09 2017-03-21 Solarflare Communications, Inc. Encapsulated accelerator
US10873613B2 (en) 2010-12-09 2020-12-22 Xilinx, Inc. TCP processing for devices
WO2012079041A1 (en) 2010-12-09 2012-06-14 Exegy Incorporated Method and apparatus for managing orders in financial markets
US9258390B2 (en) 2011-07-29 2016-02-09 Solarflare Communications, Inc. Reducing network latency
US9607337B2 (en) 2010-12-22 2017-03-28 Hyannisport Research, Inc. Data capture and real time risk controls for electronic markets
US8990416B2 (en) 2011-05-06 2015-03-24 Oracle International Corporation Support for a new insert stream (ISTREAM) operation in complex event processing (CEP)
US9276911B2 (en) * 2011-05-13 2016-03-01 Indiana University Research & Technology Corporation Secure and scalable mapping of human sequencing reads on hybrid clouds
US9329975B2 (en) 2011-07-07 2016-05-03 Oracle International Corporation Continuous query language (CQL) debugger in complex event processing (CEP)
JP5780036B2 (ja) * 2011-07-26 2015-09-16 富士通株式会社 抽出プログラム、抽出方法及び抽出装置
US8763018B2 (en) 2011-08-22 2014-06-24 Solarflare Communications, Inc. Modifying application behaviour
EP2574000B1 (en) 2011-09-22 2020-04-08 Xilinx, Inc. Message acceleration
US9002772B2 (en) 2011-11-18 2015-04-07 International Business Machines Corporation Scalable rule-based processing system with trigger rules and rule evaluator
US8990070B2 (en) 2011-11-18 2015-03-24 International Business Machines Corporation Computer-based construction of arbitrarily complex formal grammar expressions
US9047243B2 (en) 2011-12-14 2015-06-02 Ip Reservoir, Llc Method and apparatus for low latency data distribution
US10121196B2 (en) 2012-03-27 2018-11-06 Ip Reservoir, Llc Offload processing of data packets containing financial market data
US10650452B2 (en) 2012-03-27 2020-05-12 Ip Reservoir, Llc Offload processing of data packets
US9990393B2 (en) 2012-03-27 2018-06-05 Ip Reservoir, Llc Intelligent feed switch
US11436672B2 (en) 2012-03-27 2022-09-06 Exegy Incorporated Intelligent switch for processing financial market data
US9391840B2 (en) 2012-05-02 2016-07-12 Solarflare Communications, Inc. Avoiding delayed data
US9391841B2 (en) 2012-07-03 2016-07-12 Solarflare Communications, Inc. Fast linkup arbitration
US8977626B2 (en) 2012-07-20 2015-03-10 Apple Inc. Indexing and searching a data collection
US9563663B2 (en) 2012-09-28 2017-02-07 Oracle International Corporation Fast path evaluation of Boolean predicates
US9262479B2 (en) 2012-09-28 2016-02-16 Oracle International Corporation Join operations for continuous queries over archived views
US10505747B2 (en) 2012-10-16 2019-12-10 Solarflare Communications, Inc. Feed processing
US9633093B2 (en) 2012-10-23 2017-04-25 Ip Reservoir, Llc Method and apparatus for accelerated format translation of data in a delimited data format
CA2887022C (en) 2012-10-23 2021-05-04 Ip Reservoir, Llc Method and apparatus for accelerated format translation of data in a delimited data format
US9633097B2 (en) 2012-10-23 2017-04-25 Ip Reservoir, Llc Method and apparatus for record pivoting to accelerate processing of data fields
US9241259B2 (en) 2012-11-30 2016-01-19 Websense, Inc. Method and apparatus for managing the transfer of sensitive information to mobile devices
US10956422B2 (en) 2012-12-05 2021-03-23 Oracle International Corporation Integrating event processing with map-reduce
US9117054B2 (en) 2012-12-21 2015-08-25 Websense, Inc. Method and aparatus for presence based resource management
US9098587B2 (en) 2013-01-15 2015-08-04 Oracle International Corporation Variable duration non-event pattern matching
US10298444B2 (en) 2013-01-15 2019-05-21 Oracle International Corporation Variable duration windows on continuous data streams
US9047249B2 (en) 2013-02-19 2015-06-02 Oracle International Corporation Handling faults in a continuous event processing (CEP) system
US9390135B2 (en) 2013-02-19 2016-07-12 Oracle International Corporation Executing continuous event processing (CEP) queries in parallel
US9426124B2 (en) 2013-04-08 2016-08-23 Solarflare Communications, Inc. Locked down network interface
US10742604B2 (en) 2013-04-08 2020-08-11 Xilinx, Inc. Locked down network interface
US9646035B1 (en) * 2013-04-26 2017-05-09 Veritas Technologies Llc Centralized metaobject ingest using a temporally-expanded bloom filter
EP2809033B1 (en) 2013-05-30 2018-03-21 Solarflare Communications Inc Packet capture in a network
US9418113B2 (en) 2013-05-30 2016-08-16 Oracle International Corporation Value based windows on relations in continuous data streams
US9092321B2 (en) * 2013-07-24 2015-07-28 NXGN Data, Inc. System and method for performing efficient searches and queries in a storage node
US9021189B2 (en) * 2013-07-24 2015-04-28 NXGN Data, Inc. System and method for performing efficient processing of data stored in a storage node
US10394751B2 (en) 2013-11-06 2019-08-27 Solarflare Communications, Inc. Programmed input/output mode
US11037239B2 (en) 2013-11-07 2021-06-15 Chicago Mercantile Exchange Inc. Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
US10467693B2 (en) 2013-11-07 2019-11-05 Chicago Mercantile Exchange Inc. Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
US10692143B2 (en) 2013-11-07 2020-06-23 Chicago Mercantile Exchange Inc. Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
US10366452B2 (en) 2013-11-07 2019-07-30 Chicago Mercantile Exchange Inc. Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
US20150127509A1 (en) 2013-11-07 2015-05-07 Chicago Mercantile Exchange Inc. Transactionally Deterministic High Speed Financial Exchange Having Improved, Efficiency, Communication, Customization, Performance, Access, Trading Opportunities, Credit Controls, and Fault Tolerance
US9691102B2 (en) 2013-11-07 2017-06-27 Chicago Mercantile Exchange Inc. Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
US10332206B2 (en) 2013-11-07 2019-06-25 Chicago Mercantile Exchange Inc. Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
US10929926B2 (en) 2013-11-07 2021-02-23 Chicago Mercantile Exchange Inc. Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
US9934279B2 (en) 2013-12-05 2018-04-03 Oracle International Corporation Pattern matching across multiple input data streams
JP6517468B2 (ja) * 2014-01-10 2019-05-22 日本電気株式会社 情報処理システム、情報処理装置、監視装置、監視方法、及び、プログラム
JP5930228B2 (ja) 2014-02-25 2016-06-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理装置、方法及びプログラム
WO2015164639A1 (en) 2014-04-23 2015-10-29 Ip Reservoir, Llc Method and apparatus for accelerated data translation
US9244978B2 (en) 2014-06-11 2016-01-26 Oracle International Corporation Custom partitioning of a data stream
US9712645B2 (en) 2014-06-26 2017-07-18 Oracle International Corporation Embedded event processing
US10824952B2 (en) * 2014-09-22 2020-11-03 International Business Machines Corporation Reconfigurable array processor for pattern matching
US9886486B2 (en) 2014-09-24 2018-02-06 Oracle International Corporation Enriching events with dynamically typed big data for event processing
US10120907B2 (en) 2014-09-24 2018-11-06 Oracle International Corporation Scaling event processing using distributed flows and map-reduce operations
US9608863B2 (en) * 2014-10-17 2017-03-28 Cisco Technology, Inc. Address autoconfiguration using bloom filter parameters for unique address computation
US9891912B2 (en) 2014-10-31 2018-02-13 International Business Machines Corporation Comparison-based sort in a reconfigurable array processor having multiple processing elements for sorting array elements
US10372700B2 (en) 2015-03-30 2019-08-06 International Business Machines Corporation Data filtering using a plurality of hardware accelerators
US9298934B1 (en) * 2015-06-30 2016-03-29 Linkedin Corporation Managing presentation of online content
WO2017018901A1 (en) 2015-07-24 2017-02-02 Oracle International Corporation Visually exploring and analyzing event streams
US11164248B2 (en) 2015-10-12 2021-11-02 Chicago Mercantile Exchange Inc. Multi-modal trade execution with smart order routing
US11288739B2 (en) 2015-10-12 2022-03-29 Chicago Mercantile Exchange Inc. Central limit order book automatic triangulation system
US10942943B2 (en) 2015-10-29 2021-03-09 Ip Reservoir, Llc Dynamic field data translation to support high performance stream data processing
US10691731B2 (en) * 2015-11-26 2020-06-23 International Business Machines Corporation Efficient lookup in multiple bloom filters
WO2017135838A1 (en) 2016-02-01 2017-08-10 Oracle International Corporation Level of detail control for geostreaming
WO2017135837A1 (en) 2016-02-01 2017-08-10 Oracle International Corporation Pattern based automated test data generation
US20170286420A1 (en) * 2016-03-30 2017-10-05 Intel Corporation Pattern matching circuit
US10580100B2 (en) 2016-06-06 2020-03-03 Chicago Mercantile Exchange Inc. Data payment and authentication via a shared data structure
US11514448B1 (en) 2016-07-11 2022-11-29 Chicago Mercantile Exchange Inc. Hierarchical consensus protocol framework for implementing electronic transaction processing systems
US10417217B2 (en) 2016-08-05 2019-09-17 Chicago Mercantile Exchange Inc. Systems and methods for blockchain rule synchronization
US10748210B2 (en) 2016-08-09 2020-08-18 Chicago Mercantile Exchange Inc. Systems and methods for coordinating processing of scheduled instructions across multiple components
US10943297B2 (en) 2016-08-09 2021-03-09 Chicago Mercantile Exchange Inc. Systems and methods for coordinating processing of instructions across multiple components
US10678506B2 (en) * 2017-08-01 2020-06-09 Arm Limited Matching consecutive values in a data processing apparatus
US10699074B2 (en) * 2018-05-22 2020-06-30 Microsoft Technology Licensing, Llc Phrase-level abbreviated text entry and translation
CN109150161B (zh) * 2018-07-02 2022-01-14 宁波大学 一种用于海明空间下近似成员查询的布隆过滤电路
US10664658B2 (en) 2018-08-23 2020-05-26 Microsoft Technology Licensing, Llc Abbreviated handwritten entry translation
US10880211B2 (en) 2019-05-06 2020-12-29 Seth Gregory Friedman Transaction encoding and verification by way of data-link layer fields
EP3970107A4 (en) 2019-05-14 2023-01-11 Exegy Incorporated METHODS AND SYSTEMS FOR GENERATION AND DISTRIBUTION OF TRADING SIGNALS FROM FINANCIAL MARKET DATA
US10868707B1 (en) 2019-09-16 2020-12-15 Liquid-Markets-Holdings, Incorporated Zero-latency message processing with validity checks
WO2021252423A1 (en) 2020-06-08 2021-12-16 Liquid-Markets-Holdings, Incorporated Hardware-based transaction exchange
GB202020155D0 (en) * 2020-12-18 2021-02-03 Palantir Technologies Inc Enforcing data security constraints in a data pipeline
US20220261901A1 (en) 2021-02-16 2022-08-18 Exegy Incorporated Methods and Systems for Bettering Market Making at Low Latency

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008532177A (ja) * 2005-03-03 2008-08-14 ワシントン ユニヴァーシティー 生物学的配列類似検索を実行するための方法および装置

Family Cites Families (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3601808A (en) 1968-07-18 1971-08-24 Bell Telephone Labor Inc Advanced keyword associative access memory system
US3611314A (en) 1969-09-09 1971-10-05 Texas Instruments Inc Dynamic associative data processing system
US3824375A (en) 1970-08-28 1974-07-16 Financial Security Syst Inc Memory system
US3729712A (en) 1971-02-26 1973-04-24 Eastman Kodak Co Information storage and retrieval system
US3848235A (en) 1973-10-24 1974-11-12 Ibm Scan and read control apparatus for a disk storage drive in a computer system
US3906455A (en) 1974-03-15 1975-09-16 Boeing Computer Services Inc Associative memory device
CA1056504A (en) 1975-04-02 1979-06-12 Visvaldis A. Vitols Keyword detection in continuous speech using continuous asynchronous correlation
US4298898A (en) 1979-04-19 1981-11-03 Compagnie Internationale Pour L'informatique Cii Honeywell Bull Method of and apparatus for reading data from reference zones of a memory
US4314356A (en) 1979-10-24 1982-02-02 Bunker Ramo Corporation High-speed term searcher
FR2481026B1 (ja) 1980-04-21 1984-06-15 France Etat
US4464718A (en) 1982-07-30 1984-08-07 International Business Machines Corporation Associative file processing method and apparatus
US4550436A (en) 1983-07-26 1985-10-29 At&T Bell Laboratories Parallel text matching methods and apparatus
US4941178A (en) 1986-04-01 1990-07-10 Gte Laboratories Incorporated Speech recognition using preclassification and spectral normalization
US4823306A (en) 1987-08-14 1989-04-18 International Business Machines Corporation Text search system
US5179626A (en) 1988-04-08 1993-01-12 At&T Bell Laboratories Harmonic speech coding arrangement where a set of parameters for a continuous magnitude spectrum is determined by a speech analyzer and the parameters are used by a synthesizer to determine a spectrum which is used to determine senusoids for synthesis
US5023910A (en) 1988-04-08 1991-06-11 At&T Bell Laboratories Vector quantization in a harmonic speech coding arrangement
US5050075A (en) 1988-10-04 1991-09-17 Bell Communications Research, Inc. High performance VLSI data filter
US5249292A (en) 1989-03-31 1993-09-28 Chiappa J Noel Data packet switch using a primary processing unit to designate one of a plurality of data stream control circuits to selectively handle the header processing of incoming packets in one data packet stream
JPH0314075A (ja) 1989-06-13 1991-01-22 Ricoh Co Ltd 文書検索装置
AU620994B2 (en) 1989-07-12 1992-02-27 Digital Equipment Corporation Compressed prefix matching database searching
US5163131A (en) 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
US5243655A (en) 1990-01-05 1993-09-07 Symbol Technologies Inc. System for encoding and decoding data in machine readable graphic form
US5319776A (en) 1990-04-19 1994-06-07 Hilgraeve Corporation In transit detection of computer virus with safeguard
US5497488A (en) 1990-06-12 1996-03-05 Hitachi, Ltd. System for parallel string search with a function-directed parallel collation of a first partition of each string followed by matching of second partitions
GB9016341D0 (en) 1990-07-25 1990-09-12 British Telecomm Speed estimation
US5255136A (en) 1990-08-17 1993-10-19 Quantum Corporation High capacity submicro-winchester fixed disk drive
US5101424A (en) 1990-09-28 1992-03-31 Northern Telecom Limited Method for generating a monitor program for monitoring text streams and executing actions when pre-defined patterns, are matched using an English to AWK language translator
GB9023096D0 (en) 1990-10-24 1990-12-05 Int Computers Ltd Database search processor
US5339411A (en) 1990-12-21 1994-08-16 Pitney Bowes Inc. Method for managing allocation of memory space
EP0510634B1 (en) 1991-04-25 1999-07-07 Nippon Steel Corporation Data base retrieval system
US5477451A (en) 1991-07-25 1995-12-19 International Business Machines Corp. Method and system for natural language translation
US5488725A (en) 1991-10-08 1996-01-30 West Publishing Company System of document representation retrieval by successive iterated probability sampling
US5265065A (en) 1991-10-08 1993-11-23 West Publishing Company Method and apparatus for information retrieval from a database by replacing domain specific stemmed phases in a natural language to create a search query
US5826075A (en) 1991-10-16 1998-10-20 International Business Machines Corporation Automated programmable fireware store for a personal computer system
WO1993018505A1 (en) 1992-03-02 1993-09-16 The Walt Disney Company Voice transformation system
US5388259A (en) 1992-05-15 1995-02-07 Bell Communications Research, Inc. System for accessing a database with an iterated fuzzy query notified by retrieval response
US5524268A (en) 1992-06-26 1996-06-04 Cirrus Logic, Inc. Flexible processor-driven control of SCSI buses utilizing tags appended to data bytes to determine SCSI-protocol phases
GB9220404D0 (en) 1992-08-20 1992-11-11 Nat Security Agency Method of identifying,retrieving and sorting documents
US5721898A (en) 1992-09-02 1998-02-24 International Business Machines Corporation Method and system for data search in a data processing system
US6044407A (en) 1992-11-13 2000-03-28 British Telecommunications Public Limited Company Interface for translating an information message from one protocol to another
US5481735A (en) 1992-12-28 1996-01-02 Apple Computer, Inc. Method for modifying packets that meet a particular criteria as the packets pass between two layers in a network
US5440723A (en) 1993-01-19 1995-08-08 International Business Machines Corporation Automatic immune system for computers and computer networks
US5432822A (en) 1993-03-12 1995-07-11 Hughes Aircraft Company Error correcting decoder and decoding method employing reliability based erasure decision-making in cellular communication system
US5546462A (en) 1993-04-09 1996-08-13 Washington University Method and apparatus for fingerprinting and authenticating various magnetic media
US5544352A (en) 1993-06-14 1996-08-06 Libertech, Inc. Method and apparatus for indexing, searching and displaying data
DE69429061T2 (de) 1993-10-29 2002-07-18 Advanced Micro Devices Inc Superskalarmikroprozessoren
US5371794A (en) 1993-11-02 1994-12-06 Sun Microsystems, Inc. Method and apparatus for privacy and authentication in wireless networks
US5813000A (en) 1994-02-15 1998-09-22 Sun Micro Systems B tree structure and method
US5465353A (en) 1994-04-01 1995-11-07 Ricoh Company, Ltd. Image matching and retrieval by multi-access redundant hashing
US5461712A (en) 1994-04-18 1995-10-24 International Business Machines Corporation Quadrant-based two-dimensional memory manager
US5623652A (en) 1994-07-25 1997-04-22 Apple Computer, Inc. Method and apparatus for searching for information in a network and for controlling the display of searchable information on display devices in the network
JP2964879B2 (ja) 1994-08-22 1999-10-18 日本電気株式会社 ポストフィルタ
SE505156C2 (sv) 1995-01-30 1997-07-07 Ericsson Telefon Ab L M Förfarande för bullerundertryckning genom spektral subtraktion
US5819290A (en) 1995-04-10 1998-10-06 Sony Corporation Data recording and management system and method for detecting data file division based on quantitative number of blocks
US5943421A (en) 1995-09-11 1999-08-24 Norand Corporation Processor having compression and encryption circuitry
JPH0981574A (ja) 1995-09-14 1997-03-28 Fujitsu Ltd 検索集合表示画面を利用したデータベース検索法およびシステム
US6134551A (en) 1995-09-15 2000-10-17 Intel Corporation Method of caching digital certificate revocation lists
US5701464A (en) 1995-09-15 1997-12-23 Intel Corporation Parameterized bloom filters
US5774839A (en) 1995-09-29 1998-06-30 Rockwell International Corporation Delayed decision switched prediction multi-stage LSF vector quantization
US5864738A (en) 1996-03-13 1999-01-26 Cray Research, Inc. Massively parallel processing system using two data paths: one connecting router circuit to the interconnect network and the other connecting router circuit to I/O controller
US5781921A (en) 1996-05-06 1998-07-14 Ohmeda Inc. Method and apparatus to effect firmware upgrades using a removable memory device under software control
GB2314433A (en) 1996-06-22 1997-12-24 Xerox Corp Finding and modifying strings of a regular language in a text
US6147976A (en) 1996-06-24 2000-11-14 Cabletron Systems, Inc. Fast network layer packet filter
US5995963A (en) 1996-06-27 1999-11-30 Fujitsu Limited Apparatus and method of multi-string matching based on sparse state transition list
US5991881A (en) 1996-11-08 1999-11-23 Harris Corporation Network surveillance system
JP3231673B2 (ja) 1996-11-21 2001-11-26 シャープ株式会社 文字,文字列検索方法及び該方法に用いる記録媒体
DE19651075A1 (de) * 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
US6073160A (en) 1996-12-18 2000-06-06 Xerox Corporation Document communications controller
US6028939A (en) 1997-01-03 2000-02-22 Redcreek Communications, Inc. Data security system and method
US6070172A (en) 1997-03-06 2000-05-30 Oracle Corporation On-line free space defragmentation of a contiguous-file file system
US5930753A (en) 1997-03-20 1999-07-27 At&T Corp Combining frequency warping and spectral shaping in HMM based speech recognition
JP3372455B2 (ja) 1997-07-03 2003-02-04 富士通株式会社 パケット中継制御方法,パケット中継装置およびプログラム記憶媒体
US6067569A (en) 1997-07-10 2000-05-23 Microsoft Corporation Fast-forwarding and filtering of network packets in a computer system
US6317795B1 (en) 1997-07-22 2001-11-13 International Business Machines Corporation Dynamic modification of multimedia content
JPH11110320A (ja) 1997-10-03 1999-04-23 Matsushita Electric Ind Co Ltd メッセージ交換装置
US6138176A (en) 1997-11-14 2000-10-24 3Ware Disk array controller with automated processor which routes I/O data according to addresses and commands received from disk drive controllers
US6412000B1 (en) 1997-11-25 2002-06-25 Packeteer, Inc. Method for automatically classifying traffic in a packet communications network
US5987610A (en) 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
KR100441171B1 (ko) 1998-02-20 2004-10-14 삼성전자주식회사 플래쉬롬과램을이용한펌웨어구현방법
US6279113B1 (en) 1998-03-16 2001-08-21 Internet Tools, Inc. Dynamic signature inspection-based network intrusion detection
US6389532B1 (en) 1998-04-20 2002-05-14 Sun Microsystems, Inc. Method and apparatus for using digital signatures to filter packets in a network
US6397259B1 (en) 1998-05-29 2002-05-28 Palm, Inc. Method, system and apparatus for packet minimized communications
US6105067A (en) 1998-06-05 2000-08-15 International Business Machines Corp. Connection pool management for backend servers using common interface
US6289461B1 (en) * 1998-06-09 2001-09-11 Placeware, Inc. Bi-directional process-to-process byte stream protocol
US6169969B1 (en) 1998-08-07 2001-01-02 The United States Of America As Represented By The Director Of The National Security Agency Device and method for full-text large-dictionary string matching using n-gram hashing
GB9819183D0 (en) 1998-09-04 1998-10-28 Int Computers Ltd Multiple string search method
US6226676B1 (en) 1998-10-07 2001-05-01 Nortel Networks Corporation Connection establishment and termination in a mixed protocol network
US7181548B2 (en) 1998-10-30 2007-02-20 Lsi Logic Corporation Command queueing engine
US6499107B1 (en) 1998-12-29 2002-12-24 Cisco Technology, Inc. Method and system for adaptive network security using intelligent packet analysis
US6578147B1 (en) 1999-01-15 2003-06-10 Cisco Technology, Inc. Parallel intrusion detection sensors with load balancing for high speed networks
US6765918B1 (en) 1999-06-16 2004-07-20 Teledata Networks, Ltd. Client/server based architecture for a telecommunications network
US6463474B1 (en) 1999-07-02 2002-10-08 Cisco Technology, Inc. Local authentication of a client at a network device
GB2352548B (en) 1999-07-26 2001-06-06 Sun Microsystems Inc Method and apparatus for executing standard functions in a computer system
US6804667B1 (en) 1999-11-30 2004-10-12 Ncr Corporation Filter for checking for duplicate entries in database
US20010047473A1 (en) * 2000-02-03 2001-11-29 Realtime Data, Llc Systems and methods for computer initialization
US6877044B2 (en) 2000-02-10 2005-04-05 Vicom Systems, Inc. Distributed storage management platform architecture
US6711558B1 (en) 2000-04-07 2004-03-23 Washington University Associative database scanning and information retrieval
US7139743B2 (en) * 2000-04-07 2006-11-21 Washington University Associative database scanning and information retrieval using FPGA devices
US6381242B1 (en) 2000-08-29 2002-04-30 Netrake Corporation Content processor
US6807156B1 (en) 2000-11-07 2004-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Scalable real-time quality of service monitoring and analysis of service dependent subscriber satisfaction in IP networks
US7325249B2 (en) * 2001-04-30 2008-01-29 Aol Llc Identifying unwanted electronic messages
US6785677B1 (en) 2001-05-02 2004-08-31 Unisys Corporation Method for execution of query to search strings of characters that match pattern with a target string utilizing bit vector
US7152151B2 (en) * 2002-07-18 2006-12-19 Ge Fanuc Embedded Systems, Inc. Signal processing resource for selective series processing of data in transit on communications paths in multi-processor arrangements
CA2403699C (en) * 2001-09-17 2014-12-02 Recognia Inc. Technical analysis formation recognition using pivot points
US6772345B1 (en) 2002-02-08 2004-08-03 Networks Associates Technology, Inc. Protocol-level malware scanner
US6901461B2 (en) * 2002-12-31 2005-05-31 Intel Corporation Hardware assisted ATA command queuing
TW591532B (en) * 2003-03-07 2004-06-11 Mediatek Inc Firmware structuring method and related apparatus for unifying handling of execution responses of subroutines
US7444515B2 (en) * 2003-08-14 2008-10-28 Washington University Method and apparatus for detecting predefined signatures in packet payload using Bloom filters
US7411957B2 (en) * 2004-03-26 2008-08-12 Cisco Technology, Inc. Hardware filtering support for denial-of-service attacks
US7660865B2 (en) * 2004-08-12 2010-02-09 Microsoft Corporation Spam filtering with probabilistic secure hashes
US7801910B2 (en) * 2005-11-09 2010-09-21 Ramp Holdings, Inc. Method and apparatus for timed tagging of media content
US20070179935A1 (en) * 2006-01-31 2007-08-02 Tsern-Huei Lee Apparatus and method for efficient data pre-filtering in a data stream

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008532177A (ja) * 2005-03-03 2008-08-14 ワシントン ユニヴァーシティー 生物学的配列類似検索を実行するための方法および装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN5009006162; LANCASTER, JOSEPH M.: WUCSE-2006-21:Design and Evaluation of a BLAST Ungapped Extention Accelerator, Master's Thesis , 20060426, WASHINGTON UNIVERSITY IN ST.LOUIS *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4944266B1 (ja) * 2011-06-08 2012-05-30 義尚 神山 2分割文字検索ソフトウェア
JP2021535473A (ja) * 2018-08-22 2021-12-16 ネットアップ,インコーポレイテッド 大量な文書コーパスにおけるトークン・マッチング
JP7052145B2 (ja) 2018-08-22 2022-04-11 ネットアップ,インコーポレイテッド 大量な文書コーパスにおけるトークン・マッチング

Also Published As

Publication number Publication date
US7636703B2 (en) 2009-12-22
JP5240475B2 (ja) 2013-07-17
WO2007130818A3 (en) 2008-02-28
EP2421223A2 (en) 2012-02-22
EP2014054B1 (en) 2015-12-02
EP2421223B1 (en) 2016-06-29
EP2421223A3 (en) 2012-05-09
CA2650571A1 (en) 2007-11-15
EP2014054A2 (en) 2009-01-14
CA2650571C (en) 2015-08-18
US20070260602A1 (en) 2007-11-08
WO2007130818A2 (en) 2007-11-15

Similar Documents

Publication Publication Date Title
JP5240475B2 (ja) 近似パターン合致の方法および装置
US8533203B2 (en) Identifying synonyms of entities using a document collection
CN112866023B (zh) 网络检测、模型训练方法、装置、设备及存储介质
KR102010468B1 (ko) 악성코드 머신 러닝 분류 모델 검증 장치 및 방법
US8370274B2 (en) Apparatuses and methods for deterministic pattern matching
JP2014238892A (ja) 保護されているデータを検索する方法、コンピュータシステム及びコンピュータプログラム
JP7290784B1 (ja) コード類似性に基づくファジーテスト方法、装置及び記憶媒体
Upchurch et al. Malware provenance: code reuse detection in malicious software at scale
Franke et al. Parallel Privacy-preserving Record Linkage using LSH-based Blocking.
WO2018047027A1 (en) A method for exploring traffic passive traces and grouping similar urls
KR20230170891A (ko) 메모리 내 효율적인 다단계 검색
US11223641B2 (en) Apparatus and method for reconfiguring signature
Ulmer et al. Massively parallel acceleration of a document-similarity classifier to detect web attacks
Park et al. Grid-based subspace clustering over data streams
US9830355B2 (en) Computer-implemented method of performing a search using signatures
Kawano et al. High-speed DPI method using multi-stage packet flow analyses
EP2784692A1 (en) Filter regular expression
KR101881797B1 (ko) 멀티 패턴 정책 탐지 시스템 및 방법
CN116303696B (zh) 半导体测试数据的处理方法、装置、电子设备及存储介质
KR102496551B1 (ko) 동의어 규칙을 이용한 문자열 매칭 방법 및 이를 구현하는 장치 및 프로그램
US7870131B2 (en) Mitigation of search engine hijacking
Liew et al. Word encoding for word-looking DGA-based Botnet classification
CN115455425A (zh) 防护补丁生成方法、系统、设备及存储介质
Hedström et al. Improved Pattern Generation for Bloom Filters with Bit Patterns Optimizing bit patterns for use in blocked Bloom filters
KR20230076389A (ko) 인공지능 기반 정오탐 식별 모델 생성 방법과 장치 및 인공지능 기반 정오탐 식별 방법과 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100422

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120522

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120820

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130312

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130319

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5240475

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250