JP2005524149A - コンテンツ・サーチ・エンジン - Google Patents
コンテンツ・サーチ・エンジン Download PDFInfo
- Publication number
- JP2005524149A JP2005524149A JP2004500213A JP2004500213A JP2005524149A JP 2005524149 A JP2005524149 A JP 2005524149A JP 2004500213 A JP2004500213 A JP 2004500213A JP 2004500213 A JP2004500213 A JP 2004500213A JP 2005524149 A JP2005524149 A JP 2005524149A
- Authority
- JP
- Japan
- Prior art keywords
- character
- acquisition
- matrix
- phrase
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- 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
-
- 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/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
表1:ルール・テーブルの例
表2:圧縮文字値の例
Σ(0x語句),@0x語句中の文字⇒語句の圧縮文字値 (1)
切り捨てられた圧縮文字値=LSB(圧縮文字値) (2)
[ポインタ・マトリックス内のテーブル・アドレス]⇒
[制御マトリックス内のフラグ] (3)
表3:データ・ストリームの例
メモリサイズ=(28)N
ただしN=取得された1バイト文字の数(4)
メモリサイズ=(28)*(2x),
x≧log(k)/log(2),k=第k取得素子階層 (5)
12 取得マトリックス
14 入力装置
16 正確なマッチング検索
18 ルール・テーブル
20 バッファ・メモリ
22 大文字小文字制御モジュール
24 データ・ストリーム
26 語句
28 テーブル・アドレス
30 テーブル・アドレス(28)により定義される位置
32 語句内の文字
34 語句内の文字長
36 文字組み合わせ
38 ポインタ・マトリックス
40 1対1ポインタ
42 行および列の座標
44 文字長
46 文字組み合わせ
48 取得素子
50 遅延素子
52 メモリ
54 比較器
56 メモリと比較器の対
58 時間間隔
60 データ文字
62 データ文字(60)の長さ
64 データ文字(60)組み合わせ
66 クロック・サイクル
68 バイパス
70 配列データ・ストリーム
72 1対1ポインタ
74 行および列の座標
76 圧縮演算器
78 加算演算
80 現在の文字
82 過去に加算された文字
84 LSB演算
86 制御マトリックス
88 フラグ
90 データ文字
92 非圧縮データ文字
94 比較文字マトリックス
96 通信経路
98 遅延素子
100 遅延素子
102 ルール・テーブル
104 ルール・テーブル
106 第2のルール・テーブル
108 第Nのルール・テーブル
110 24文字の長さ
400 取得素子
402 16ビットのビット幅を持つデータ・ストリーム(24)の場合
404 16ビットのビット幅を持つデータ文字
406 MSBデータ文字
408 LSBデータ文字
410 取得素子
412 階層的取得素子
414 第10の階層的取得素子
422 侵入検知システム
424 外部コンピュータ・ネットワーク
426 内部コンピュータ・ネットワーク
428 セキュリティ・ルール
430 入力データ・パケット
432 出力データ・パケット
434 トランシーバ
436 検知制御コンピュータ
438 もう1つのトランシーバ
Claims (39)
- データ・ストリームを検索する方法であって、
(a)1組の語句に基づいてポインタ・マトリックスを定義するステップであって、上記語句は複数の文字長と複数の文字組み合わせとをもつ複数の語句の文字を含み、上記ポインタ・マトリックスは上記1組の語句に一意に対応する1組の1対1ポインタを含み、上記1対1ポインタは、上記ポインタ・マトリックスにおいて上記文字長により定義される行の座標と、上記文字組み合わせによって定義される1組のパターンにより定義される列の座標とに格納され、上記1組の語句は少なくとも1つの語句を含み、上記1組のパターンは、上記少なくとも1つの語句に対応する少なくとも1つのパターンを含むステップ;
(b)ある時間間隔の間に入力装置でデータ・ストリームを受信するステップであって、上記データ・ストリームは、データ長およびデータ組み合わせをもつ1組のデータ文字を含み、上記時間間隔は複数のクロック・サイクルを含むステップ;
(c)上記時間間隔の間、取得マトリックス経由で上記データ・ストリームを配列するステップであって、上記取得マトリックスは1組の取得素子および1組の遅延素子を含み、上記取得素子は上記入力装置と多重化通信し、上記1組の取得素子は上記1組の遅延素子により階層をもち、各々の上記取得素子と上記入力装置の間の1組の順次増加する複数の上記遅延素子は、上記取得素子の上記階層における等級の増加を定義し、上記配列データ・ストリームは上記取得素子の上記階層により1組のデータ長を含み、さらに、上記配列データ・ストリームは1組のデータ組み合わせを含み、上記1組のデータ組み合わせは上記取得素子の上記階層により上記1組のデータ長に対応するステップ;および
(d)上記取得素子の上記階層により各上記取得素子で上記1組のパターンおよび上記1組のデータ組み合わせの間でパターン・マッチング・チェックを実行するステップ
を備える方法。 - 請求項1に記載の方法であって、上記ポインタ・マトリックスを定義する上記ステップがさらに、
(i)上記1組の語句を定義するステップ;
(ii)1組のテーブル・アドレスによりルール・テーブル内に上記1組の語句を格納するステップ;および
(iii)上記1組の1対1ポインタを上記1組のテーブル・アドレスとして定義するステップ
を備える方法。 - 請求項2に記載の方法であって、上記パターン・マッチング・チェックを実行する上記ステップが、上記パターン・マッチング・チェックが明確なパターン・マッチングのとき、上記ポインタ・マトリックスから1つの上記テーブル・アドレスを読み込むステップをさらに備える方法。
- 請求項3に記載の方法であって、上記パターン・マッチング・チェックが明確なパターン・マッチングのとき、正確なマッチング検索を実行するステップをさらに備える方法。
- 請求項1に記載の方法であって、
上記1組の語句からの1組の圧縮語句値を上記語句の上記文字組み合わせ中の文字に関する演算により計算するステップ;
上記計算するステップの間に、上記演算により上記文字組み合わせの組を計算するステップ;および
上記1組の圧縮語句値を上記1組の語句に関する上記文字組み合わせの上記パターンとして定義するステップ
をさらに備える方法。 - 請求項5に記載の方法であって、上記パターン・マッチング・チェックが明確なパターン・マッチングの時、文字マッチング・チェックを実行するステップをさらに備える方法。
- 請求項6に記載の方法であって、上記パターン・マッチング・チェックおよび上記文字マッチング・チェックが各々明確なパターン・マッチングおよび明確な文字マッチングのとき正確なマッチング検索を実行するステップをさらに備える方法。
- データ・ストリームを検索する方法であって、
(a)1組の語句を定義するステップであって、上記語句が複数の文字長および上記文字長に関しての複数の文字組み合わせをもつ複数の語句の文字を含み、上記1組の語句は1つの文字長および1つの文字組み合わせをもつ少なくとも1つの語句を含むステップ;
(b)1組のテーブル・アドレスにより上記1組の語句をルール・テーブル内に格納するステップ;
(c)ポインタ・マトリックスにより格納された上記1組の語句を上記1組のテーブル・アドレスに相関させるステップであって、上記ポインタ・マトリックスは1組の1対1ポインタおよび1組の行および列の座標を含み、上記1組の1対1ポインタは上記1組のテーブル・アドレスにより定義され、上記行および列の座標は上記1組の語句に対応する上記文字長および1組のパターンにより定義され、上記1組のパターンは上記文字組み合わせに一意に対応して、上記1組のパターンは上記少なくとも1つの語句に対応する少なくとも1つのパターンを含むステップ;
(d)ある時間間隔の間、入力装置で上記データ・ストリームを受信するステップであって、上記データ・ストリームはあるデータ長およびあるデータ組み合わせをもつ1組のデータ文字を含み、上記時間間隔は複数のクロック・サイクルを含むステップ;
(e)上記時間間隔の間、取得マトリックス経由で上記受信データ・ストリームを配列するステップであって、上記取得マトリックスは1組の取得素子および1組の遅延素子を含み、上記取得素子は上記入力装置と多重化通信して、上記取得素子は上記1組の遅延素子により階層をもち、各上記取得素子と上記入力装置の間の増加する1組の上記遅延素子が上記取得素子の上記階層内に数を増やして、上記配列受信データ・ストリームは上記取得素子の上記階層によるおよび上記1組の語句の上記文字長に対応する1組のデータ長をもち、上記配列するステップは、
(i)各上記取得素子に関し上記入力装置から現在の文字を並列に読み込むステップ、
(ii)上記取得素子の上記階層により上記現在の文字を1組の以前組み合わされた文字の組と並列に組み合わせ、上記組み合わされた文字の組は上記取得素子の上記階層により上記クロック・サイクルに関連するステップ、および
(iii)上記組み合わされた文字の組を上記階層により上記1組の遅延素子および上記1組の取得素子経由でシフトして、上記組み合わされた文字の組は上記取得素子の上記階層経由で上記増加する数シフトされるステップ
をさらに備えるステップ;
(f)上記組み合わされた文字の組を各上記データ長に関する上記文字組み合わせの上記パターンと比較するステップであって、上記比較ステップは、
(i)各上記取得素子に関して上記取得素子の上記階層により上記文字長を各々定義するステップ、および
(ii)上記取得素子のいずれか1つ内の上記組み合わされた文字の組が上記文字組み合わせの対応する1つの上記パターンと一致するかどうか決定するステップ
をさらに備えるステップ;および
(g)任意の組み合わされた文字の組が上記文字組み合わせの対応する上記パターンと一致すると、正確なマッチングのために上記受信したデータ・ストリームの一部を上記1組の語句からの正確な語句とチェックするステップであって、上記データ・ストリームの上記一部が上記組み合わされた文字の組に関する上記クロック・サイクルに対応して、上記正確な語句は上記ポインタ・マトリックスからの一意の1対1ポインタによるテーブル・アドレスに格納され、上記一意の1対1ポインタは1つの一致する上記取得素子の上記階層および上記文字組み合わせの対応する上記パターンに等しい行および列の座標をもつステップ
を備える方法。 - 請求項8に記載の方法であって、
大文字小文字区別マトリックスにより大文字小文字が区別される1組の上記語句を同定するステップ;
いずれの大文字小文字区別からも独立した上記1組の語句の上記パターンを定義するステップ;および
上記データ・ストリーム中の各上記文字を上記入力装置において大文字小文字を統一して設定するステップ
をさらに備える方法。 - 請求項8に記載の方法であって、
上記文字組み合わせ中の上記語句の文字に関する演算により、上記1組の語句から1組の圧縮語句値を計算するステップ;
上記組み合わせるステップの間上記演算により上記組み合わされた文字の組を計算するステップ;および
上記1組の語句に関する上記文字組み合わせの上記パターンとして上記1組の圧縮された語句値を定義するステップ
をさらに備える方法。 - 請求項10に記載の方法であって、上記演算により上記圧縮語句値を計算する上記ステップが
上記1組の語句中の1組の値および各上記語句の文字の間の相関を定義するステップ;
各上記語句中の語句の文字を上記定義された相関による上記値と同等と見なすステップ;
各上記語句の合計を計算して、上記合計が、各上記語句の文字に相関する各上記値を含むステップ;
一意でない圧縮語句の上記合計を計算するのに使用される上記語句の文字を減らすステップであって、上記一意でない圧縮語句は同じ文字長および同じ圧縮語句値をもつ他の語句と等しい文字長および圧縮語句値をもつ任意の語句であるステップ;および
上記一意でない圧縮語句のための上記計算するステップおよび上記減らすステップを繰り返すステップ
をさらに備える方法。 - 請求項11に記載の方法であって、上記演算により上記圧縮語句値を計算する上記ステップが上記合計を各上記語句に関する複数のLSBに切り捨てるステップをさらに備える方法。
- 請求項10に記載の方法であって、
上記演算のための最大文字長を定義して、上記最大文字長が上記取得素子の最多階層に対応するステップ;および
上記最大文字長を超える文字長をもつ各上記語句に関し上記語句値を計算する上記ステップを上記最大文字長に制限するステップ
をさらに備える方法。 - 請求項13に記載の方法であって、
加算、減算、積算、除算、排他的論理和、排他的論理和の否定、および連結から構成されるグループからの上記演算を選択するステップ;
上記圧縮語句値を各上記語句値に関して複数のLSBに切り捨てるステップ;
上記1組の語句中の各上記語句からの少なくとも1つの語句の文字を比較文字マトリックス内に格納するステップであって、上記比較文字マトリックスは上記取得素子の上記階層および上記切り捨てられた圧縮語句値により定義される行および列をもつステップ;
各上記取得マトリックス素子を経由して少なくとも1つのデータ文字をいずれの圧縮もせずに配列するステップ;
いずれの組み合わされた文字の組も上記文字組み合わせの上記対応するパターンに一致するとき、文字マッチングに関して、上記データ文字を上記1組の語句からの上記語句の文字と比較するステップ;および
上記文字マッチングが発生したとき上記正確なマッチングを判断する上記ステップへ進むステップ
をさらに備える方法。 - 請求項14に記載の方法であって、
上記1組の圧縮語句値中の各上記圧縮語句値を1組のマッチング制御ビットと同定するステップ;および
各上記マッチング制御ビットを制御マトリックス内に格納するステップであって、上記制御マトリックスは上記取得素子の上記階層および上記切り捨てられた圧縮語句値により定義される行および列をもつステップ
をさらに備える方法。 - 請求項15に記載の方法であって、
大文字小文字区別マトリックスにより大文字小文字が区別される1組の上記語句を同定するステップ;
いずれの大文字小文字区別からも独立した上記1組の語句の上記パターンを定義するステップ;および
上記データ・ストリーム中の各上記文字を上記入力装置において大文字小文字を統一して設定するステップ
をさらに備える方法。 - 請求項13に記載の方法であって、コンピュータ・ネットワークのための1組のセキュリティ・ルールを上記1組の語句として定義するステップをさらに備えた方法。
- 請求項17に記載の方法であって、
上記時間間隔の間上記入力装置において上記データ・ストリーム中のデータ・パケットを受信するステップであって、上記データ・パケットはヘッダおよび本体を含み、上記ヘッダは1組のプロトコル・パラメータを含み、上記包帯は上記1組のデータ文字を含むステップ;および
上記プロトコル・パラメータおよび上記データ文字を上記1組のセキュリティ・ルールとチェックして、上記コンピュータ・ネットワーク経由でセキュリティ攻撃をする試みを検出するステップ
をさらに備える方法。 - 請求項18に記載の方法であって、
セキュリティ攻撃する上記試みのために、上記コンピュータ・ネットワークへ入力される複数の入力データ・パケットを検索するステップ;および
セキュリティ攻撃する上記試みのために、上記コンピュータ・ネットワークから出力される複数の出力データ・パケットを検索するステップ
をさらに備える方法。 - データ・ストリームを検索する方法であって、
(a)上記1組のテーブル・アドレスにより1組の語句を語句テーブル内に格納するステップであって、上記語句テーブル内に格納された各上記語句が複数の語句の文字をもち、上記1組の語句は複数の文字長をもつステップ;
(b)各上記語句の上記語句の文字に関する圧縮演算により、上記1組の語句を1組の圧縮された語句値へ圧縮するステップ;
(c)1組の1対1ポインタにより格納された上記1組の語句を上記1組のテーブル・アドレスと相関づけるステップであって、上記1組の1対1ポインタはポインタ・マトリックスを備え、上記ポインタ・マトリックスは上記文字長および上記圧縮語句値により行および列の座標をもつステップ;
(d)ある時間間隔の間入力装置で上記データ・ストリームを受信するステップであって、上記データ・ストリームは複数のデータ文字長をもつ1組のデータ文字を含み、上記時間間隔は複数のクロック・サイクルを含むステップ;
(e)受信した上記データ・ストリームを取得マトリックス経由で上記時間間隔の間配列するステップであって、上記取得マトリックスは1組の取得素子および1組の遅延素子を備え、上記1組の取得素子は上記1組の遅延素子による階層をもち、上記取得素子の上記階層は上記1組の語句の上記文字長と1対1対応をもち、上記配列するステップは、
(i)各上記取得素子に関して、上記入力装置から並列に現在の文字を読み込むステップ、
(ii)上記圧縮演算により上記1組のデータ文字を1組のデータ値に並列に圧縮して、上記圧縮演算が各上記取得素子内で同時に実行されるステップ、および
(iii)上記遅延素子の上記階層により上記1組の遅延素子経由で上記1組の圧縮データ値をシフトするステップ
を備えるステップ;
(f)各々、各上記取得素子および各上記文字長に関する、上記1組の圧縮データ値および上記1組の圧縮語句値中の圧縮語句値の間の値のマッチングを同時にチェックするステップであって、上記1組の圧縮データ値は、上記取得素子の上記階層および上記1組の語句の上記文字長の間の上記1対1対応により、各々、上記1組の圧縮語句値とチェックして、パターン・マッチングは上記1組の圧縮データ値からの一致する圧縮データ値および上記取得素子の上記階層からの一致する階層を返すステップ;および
(g)上記値のマッチングが発生したとき、上記受信データ・ストリームおよび上記1組の語句からの正確な語句の間の正確なマッチングをチェックするステップであって、上記正確な語句は上記ポインタ・マトリックスからの一意の1対1ポインタによりあるテーブル・アドレスに格納され、上記一意の1対1ポインタは上記一致する圧縮データ値および上記一致する階層と等しい行および列の座標をもつステップ
を備える方法。 - 請求項20に記載の方法であって、上記圧縮演算が合計を計算する上記ステップをさらに備える方法。
- 請求項21に記載の方法であって、各上記語句に関し上記合計を複数のLSBへ切り捨てるステップをさらに備える方法。
- 請求項20に記載の方法であって、
大文字小文字区別マトリックスにより大文字小文字が区別される1組の上記語句を同定するステップ;
いずれの大文字小文字区別からは独立して上記比較演算を定義するステップ;
上記圧縮演算のための最大文字長を定義して、上記最大文字長が上記取得素子の最多階層に対応するステップ;
上記1組の語句を圧縮する上記ステップを、上記最大文字長を超える文字長をもつ各上記語句に関する上記最大文字長に制限するステップ;および
上記データ・ストリーム中の各上記文字を上記入力装置において大文字小文字を統一して設定するステップ
をさらに備える方法。 - 請求項23に記載の方法であって、
加算、減算、積算、除算、排他的論理和、排他的論理和の否定、および連結から構成されるグループからの上記演算を選択するステップ;
上記圧縮語句値を各上記語句値に関して複数のLSBに切り捨てるステップ;
上記1組の語句中の各上記語句からの少なくとも1つの語句の文字を比較文字マトリックス内に格納するステップであって、上記比較文字マトリックスは上記取得素子の上記階層および上記切り捨てられた圧縮語句値により定義される行および列をもつステップ;
各上記取得マトリックス素子を経由して少なくとも1つのデータ文字をいずれの圧縮もせずに配列するステップ;
上記値マッチングが発生したとき、上記データ文字および上記1組の語句からの上記語句の文字の間の文字マッチングをチェックするステップ;および
上記文字マッチングが発生したとき、上記正確なマッチングをチェックする上記ステップへ進むステップ
をさらに備える方法。 - 請求項24に記載の方法であって、
上記1組の圧縮語句値中の各上記圧縮語句値を1組のマッチング制御ビットと同定するステップ;および
各上記マッチング制御ビットを制御マトリックス内に格納するステップであって、上記制御マトリックスは上記取得素子の上記階層および上記切り捨てられた圧縮語句値により定義される行および列をもつステップ
をさらに備える方法。 - 請求項20に記載の方法であって、1組のセキュリティ・ルールを上記1組の語句として定義するステップをさらに備えた方法。
- コンピュータ・ネットワークへセキュリティ攻撃する試みを検出する方法であって、
(a)1組のセキュリティ・ルールを定義するステップであって、上記セキュリティ・ルールは複数の文字長内および複数の文字組み合わせ内の複数の文字を含むステップ;
(b)上記1組のセキュリティ・ルールを1組のテーブル・アドレスによりルール・テーブル内に格納するステップ;
(c)格納された上記1組のセキュリティ・ルールを1組の1対1ポインタにより上記1組のテーブル・アドレスと相関づけるステップであって、上記1組の1対1ポインタはポインタ・マトリックスを含み、上記ポインタ・マトリックスは上記1組のセキュリティ・ルールの上記文字長および上記1組のセキュリティ・ルールに対応する1組のパターンによる行および列をもち、上記1組のパターンは各上記セキュリティ・ルールに関する上記文字長内の上記文字組み合わせにより上記1組のセキュリティ・ルールと一意に対応するステップ;
(d)上記時間間隔の間上記入力装置においてデータ・パケットを受信するステップであって、上記データ・パケットはある長さをもつ1組の文字を含み、上記時間間隔は複数のクロック・サイクルを含むステップ;
(e)上記時間間隔の間取得マトリックスを経由して受信した上記データ・パケットを配列するステップであって、上記取得マトリックスは1組の取得素子および1組の遅延素子を含み、上記取得素子は上記入力装置と多重化通信して、上記取得素子は上記1組の遅延素子により階層をもち、各上記取得素子および入力装置の間の増加する1組の上記遅延素子が上記取得素子の上記階層の増加する数となり、上記配列データ・パケットは上記取得素子の上記階層による1組の長さをもち、上記取得素子の上記階層は上記1組のセキュリティ・ルールの上記文字長に1対1対応をもち、上記配列するステップは、
(i)各上記取得素子に関し上記入力装置から現在の文字を並列に読み込むステップ、
(ii)上記取得素子の上記階層により上記現在の文字を1組の以前組み合わされた文字の組と並列に組み合わせ、組み合わされた文字の組を生成するステップ、および
(iii)上記階層により上記1組の遅延素子および上記1組の取得素子経由で上記組み合わされた文字の組をシフトするステップ
をさらに備えるステップ;
(f)上記受信したデータ・パケットからの上記組み合わされた文字の組および上記取得素子並びに各上記文字長各々に関する上記1組のセキュリティ・ルールに一意に対応する上記1組のパターンのパターン・マッチングを同時にチェックするステップであって、上記組み合わされた文字の組は上記取得素子の上記階層および上記1組の語句の上記文字長の間の上記1対1対応により上記1組のパターンと各々チェックされて、パターン・マッチングは上記組み合わされた文字の組のうち一致する文字の組および上記取得素子の一致する階層を返すステップ;および
(g)上記パターン・マッチングが発生すると、上記データ・パケットの一部および上記1組のセキュリティ・ルールからの正確なセキュリティ・ルールの間の正確なマッチングをチェックするステップであって、上記正確なセキュリティ・ルールは上記ポインタ・マトリックスからの一意の1対1ポインタにより上記ルール・テーブル内のあるテーブル・アドレスに格納され、上記一意の1対1ポインタは上記一致する組み合わされた文字の組および上記一致する階層と等しい行と列をもつステップ
を備える方法。 - データ・ストリームを検索するシステムであって、
1組の語句および1組のテーブル・アドレスをもつルール・テーブルであって、上記1組の語句中の各上記語句は、上記ルール・テーブル内の、上記1組のテーブル・アドレス内のあるテーブル・アドレスにより定義される位置に格納され、上記1組の語句は複数の文字長および上記文字長に関する複数の文字組み合わせをもつ複数の語句の文字を含み、上記1組の語句は1つの文字長および1つの文字組み合わせをもつ少なくとも1つの語句を含むルール・テーブル;
ポインタ・マトリックスを含む1組の1対1ポインタであって、上記1組の1対1ポインタは上記テーブル・アドレスを上記ルール・テーブル内の上記1組の語句と相関づけ、上記ポインタ・マトリックスは上記1組の語句に対応する上記文字長および上記1組のパターンにより定義される行および列の座標を含み、上記1組のパターンは同じ文字長をもつ任意の上記語句に関し上記文字組み合わせと一意に対応して、上記1組のパターンは上記少なくとも1つの語句に対応する少なくとも1つのパターンを含む1組の1対1ポインタ;
バッファ・メモリ;
ある時間間隔の間上記データ・ストリームを受信する入力装置であって、上記データ・ストリームは1つのデータ長と1つのデータ組み合わせをもつ1組のデータ文字を含み、上記時間間隔は複数のクロック・サイクルを含み、上記入力装置は上記バッファ・メモリ経由で上記データ・ストリームを通信するバイパスをさらに含む入力装置;
1組の取得素子および1組の遅延素子を含む取得マトリックスであって、上記取得マトリックスは上記入力装置からの上記データ・ストリーム中の上記1組の上記データ文字を各上記取得素子経由で配列して、上記取得素子は上記入力装置と多重化通信して、上記取得素子は上記1組の遅延素子による階層をもち、上記取得素子の上記階層は上記1組の語句の上記文字長と1対1対応をもち、上記1組の取得素子は上記取得素子の上記階層により1組のメモリと比較器の対をさらに含み、上記1組のデータ文字は上記メモリと比較器の対に配列データの1組の組として入っていき、上記1組のメモリと比較器の対は上記1組の配列データおよび上記1組のパターンの間のパターン・マッチングをチェックして、各上記メモリと比較器の対は上記取得素子の上記階層および上記1組の語句の上記文字長の間の上記1対1対応により上記パターン・マッチングを同時にチェックして、一致するメモリと比較器の対は上記取得素子の上記階層および上記配列データにより行および列の座標を定義する取得マトリックス;
上記バッファ、上記取得マトリックスおよび上記ルール・テーブルと通信する正確なマッチング検索であって、上記正確なマッチング検索が上記バッファから上記データ・ストリームの一部を受信して、および上記取得マトリックスから上記行および列の座標を受信して、上記行および列の座標は階層および上記一致するメモリと比較器の対により配列データを含み、上記正確なマッチング検索は、上記ポインタ・マトリックス内のテーブル・アドレスにより上記ルール・テーブルから正確な語句を抽出し、上記テーブル・アドレスは上記行および列の座標をもつ一意の1対1ポインタにより定義され、上記正確なマッチング検索は上記正確な語句および上記データ・ストリームの上記部分の間の正確なマッチングをチェックする正確なマッチング検索
を備えるシステム。 - 請求項28に記載のシステムであって、上記取得マトリックスが各上記取得素子および上記入力装置の間の増加する1組の上記遅延素子を含み、上記増加する1組の上記遅延素子が上記取得素子の上記階層の増加する数を定義し、上記増加する数の上記階層が上記データ・ストリームの増加する文字長に対応するシステム。
- 請求項28に記載のシステムであって、各上記取得素子が上記入力装置と各上記メモリと比較器の対の間に位置する比較演算器をさらに含むシステム。
- 請求項30に記載のシステムであって、上記比較演算器が、加算、減算、積算、除算、排他的論理和、排他的論理和の否定、および連結から構成される演算器のグループから選択されるシステム。
- 請求項30に記載のシステムであって、各上記取得素子が上記比較演算器および各上記メモリと比較器の対の間に位置する切り捨て素子をさらに含むシステム。
- 請求項28に記載のシステムであって、各上記取得素子が上記入力装置および各上記メモリ比較器の組の間に位置する加算演算器をさらに含むシステム。
- 請求項33に記載のシステムであって、各上記取得素子が上記加算演算器および各上記メモリと比較器の対の間に位置する切り捨て素子をさらに含むシステム。
- 請求項28に記載のシステムであって、上記取得素子が上記ルール・テーブル内の上記1組の語句の最大文字長に対応する最多階層をもつシステム。
- 請求項28に記載のシステムであって、上記1組の語句が1組のセキュリティ・ルールをさらに含むシステム。
- 請求項28に記載のシステムであって、上記取得マトリックスがコンテンツ・アドレッサブル・メモリであり、上記メモリと比較器の対が上記1組の1対1ポインタを含むシステム。
- 請求項28に記載のシステムであって、上記取得マトリックスが標準的なメモリであり、上記メモリと比較器の対が比較器と通信するメモリから構成されるシステム。
- 請求項28に記載のシステムであって、追加の取得マトリックスをさらに含み、上記追加の取得マトリックスが追加の1組の取得素子および追加の1組の遅延素子を含み、上記追加の取得マトリックスが上記入力装置および上記取得マトリックスと通信するシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/132,336 US6959297B2 (en) | 2002-04-25 | 2002-04-25 | System and process for searching within a data stream using a pointer matrix and a trap matrix |
PCT/US2003/013086 WO2003091910A2 (en) | 2002-04-25 | 2003-04-25 | Trap matrix search engine for retrieving content |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005524149A true JP2005524149A (ja) | 2005-08-11 |
JP2005524149A5 JP2005524149A5 (ja) | 2006-06-29 |
Family
ID=29268757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004500213A Pending JP2005524149A (ja) | 2002-04-25 | 2003-04-25 | コンテンツ・サーチ・エンジン |
Country Status (4)
Country | Link |
---|---|
US (2) | US6959297B2 (ja) |
JP (1) | JP2005524149A (ja) |
AU (1) | AU2003225183A1 (ja) |
WO (1) | WO2003091910A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018196150A (ja) * | 2016-03-31 | 2018-12-06 | 株式会社bitFlyer | トランザクション処理装置、トランザクション処理方法、及びそのためのプログラム |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6959297B2 (en) | 2002-04-25 | 2005-10-25 | Winnow Technology, Llc | System and process for searching within a data stream using a pointer matrix and a trap matrix |
US7870161B2 (en) | 2003-11-07 | 2011-01-11 | Qiang Wang | Fast signature scan |
US7308561B2 (en) * | 2003-12-12 | 2007-12-11 | Alcatel Lucent | Fast, scalable pattern-matching engine |
US7526804B2 (en) * | 2004-02-02 | 2009-04-28 | Microsoft Corporation | Hardware assist for pattern matches |
US7418410B2 (en) | 2005-01-07 | 2008-08-26 | Nicholas Caiafa | Methods and apparatus for anonymously requesting bids from a customer specified quantity of local vendors with automatic geographic expansion |
US7685195B2 (en) * | 2005-03-24 | 2010-03-23 | Sas Institute Inc. | Systems and methods for analyzing web site search terms |
US7486673B2 (en) | 2005-08-29 | 2009-02-03 | Connect Technologies Corporation | Method and system for reassembling packets prior to searching |
US7984180B2 (en) | 2005-10-20 | 2011-07-19 | Solarflare Communications, Inc. | Hashing algorithm for network receive filtering |
KR100772523B1 (ko) * | 2006-08-01 | 2007-11-01 | 한국전자통신연구원 | 패턴을 이용하는 침입 탐지 장치 및 그 방법 |
US20080040345A1 (en) * | 2006-08-07 | 2008-02-14 | International Characters, Inc. | Method and Apparatus for String Search Using Parallel Bit Streams |
US8392174B2 (en) | 2006-08-07 | 2013-03-05 | International Characters, Inc. | Method and apparatus for lexical analysis using parallel bit streams |
US20080033974A1 (en) * | 2006-08-07 | 2008-02-07 | International Characters, Inc. | Method and Apparatus for XML Parsing Using Parallel Bit streams |
US8954484B2 (en) | 2009-06-12 | 2015-02-10 | Cray Inc. | Inclusive or bit matrix to compare multiple corresponding subfields |
US7764205B2 (en) * | 2007-08-27 | 2010-07-27 | Comtech Aha Corporation | Decompressing dynamic huffman coded bit streams |
US8843523B2 (en) * | 2009-01-12 | 2014-09-23 | Micron Technology, Inc. | Devices, systems, and methods for communicating pattern matching results of a parallel pattern search engine |
US8185432B2 (en) * | 2009-05-08 | 2012-05-22 | Sas Institute Inc. | Computer-implemented systems and methods for determining future profitability |
US9098274B2 (en) | 2009-12-03 | 2015-08-04 | Intel Corporation | Methods and apparatuses to improve turbo performance for events handling |
US20110145205A1 (en) * | 2009-12-14 | 2011-06-16 | Sanjeev Jain | Packet Boundary Spanning Pattern Matching Based At Least In Part Upon History Information |
US8504510B2 (en) * | 2010-01-07 | 2013-08-06 | Interdisciplinary Center Herzliya | State machine compression for scalable pattern matching |
US8458354B2 (en) * | 2010-01-27 | 2013-06-04 | Interdisciplinary Center Herzliya | Multi-pattern matching in compressed communication traffic |
US8627462B2 (en) * | 2010-05-10 | 2014-01-07 | Mcafee, Inc. | Token processing |
US8954661B2 (en) * | 2010-11-02 | 2015-02-10 | Intel Corporation | Binary search pipeline |
US20120150887A1 (en) * | 2010-12-08 | 2012-06-14 | Clark Christopher F | Pattern matching |
US8909813B2 (en) * | 2011-03-22 | 2014-12-09 | Ramot At Tel-Aviv University Ltd. | Efficient processing of compressed communication traffic |
US9223618B2 (en) | 2011-09-20 | 2015-12-29 | Intel Corporation | Multi-threaded queuing system for pattern matching |
US8903715B2 (en) * | 2012-05-04 | 2014-12-02 | International Business Machines Corporation | High bandwidth parsing of data encoding languages |
US20140164434A1 (en) * | 2012-12-10 | 2014-06-12 | International Business Machines Corporation | Streaming data pattern recognition and processing |
US9002846B2 (en) | 2013-03-15 | 2015-04-07 | International Business Machines Corporation | Ending tuple processing in a stream-based computing application |
US20140324530A1 (en) * | 2013-04-30 | 2014-10-30 | Liveops, Inc. | Method and system for detecting patters in data streams |
US11934402B2 (en) * | 2021-08-06 | 2024-03-19 | Bank Of America Corporation | System and method for generating optimized data queries to improve hardware efficiency and utilization |
Family Cites Families (102)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4593353A (en) | 1981-10-26 | 1986-06-03 | Telecommunications Associates, Inc. | Software protection method and apparatus |
US5051947A (en) * | 1985-12-10 | 1991-09-24 | Trw Inc. | High-speed single-pass textual search processor for locating exact and inexact matches of a search pattern in a textual stream |
US4868376A (en) | 1987-05-15 | 1989-09-19 | Smartcard International Inc. | Intelligent portable interactive personal data system |
US5777608A (en) * | 1989-03-10 | 1998-07-07 | Board Of Regents, The University Of Texas System | Apparatus and method for in-parallel scan-line graphics rendering using content-searchable memories |
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 |
US5511213A (en) * | 1992-05-08 | 1996-04-23 | Correa; Nelson | Associative memory processor architecture for the efficient execution of parsing algorithms for natural language processing and pattern recognition |
US5469161A (en) * | 1992-08-13 | 1995-11-21 | International Business Machines Corporation | Algorithm for the implementation of Ziv-Lempel data compression using content addressable memory |
US5369605A (en) * | 1993-07-07 | 1994-11-29 | Dell Usa, L.P. | Incremental search content addressable memory for increased data compression efficiency |
US5542045A (en) | 1993-10-15 | 1996-07-30 | Software Security, Inc. | Method for interposing a security function in a computer program |
US5602764A (en) * | 1993-12-22 | 1997-02-11 | Storage Technology Corporation | Comparing prioritizing memory for string searching in a data compression system |
JP2758826B2 (ja) * | 1994-03-02 | 1998-05-28 | 株式会社リコー | 文書検索装置 |
US5829051A (en) * | 1994-04-04 | 1998-10-27 | Digital Equipment Corporation | Apparatus and method for intelligent multiple-probe cache allocation |
US5525982A (en) * | 1994-04-15 | 1996-06-11 | International Business Machines Corporation | Method and means for character string pattern matching for compression and the like using minimal cycles per character |
US5631971A (en) * | 1994-05-24 | 1997-05-20 | Sparrow; Malcolm K. | Vector based topological fingerprint matching |
US5532693A (en) * | 1994-06-13 | 1996-07-02 | Advanced Hardware Architectures | Adaptive data compression system with systolic string matching logic |
US5546463A (en) | 1994-07-12 | 1996-08-13 | Information Resource Engineering, Inc. | Pocket encrypting and authenticating communications device |
US5778071A (en) | 1994-07-12 | 1998-07-07 | Information Resource Engineering, Inc. | Pocket encrypting and authenticating communications device |
US6151598A (en) * | 1995-08-14 | 2000-11-21 | Shaw; Venson M. | Digital dictionary with a communication system for the creating, updating, editing, storing, maintaining, referencing, and managing the digital dictionary |
US5867609A (en) * | 1995-12-07 | 1999-02-02 | Nec Research Institute, Inc. | Method for computing correlation operations on partially occluded data |
US5826011A (en) | 1995-12-26 | 1998-10-20 | Rainbow Technologies, Inc. | Method of metering and protecting computer software |
US5913216A (en) * | 1996-03-19 | 1999-06-15 | Lucent Technologies, Inc. | Sequential pattern memory searching and storage management technique |
US5576985A (en) * | 1996-03-25 | 1996-11-19 | Holtz; Klaus | Integrated content addressable read only memory |
US5737424A (en) | 1996-06-04 | 1998-04-07 | Software Security, Inc. | Method and system for secure distribution of protected data using elliptic curve systems |
US5809145A (en) * | 1996-06-28 | 1998-09-15 | Paradata Systems Inc. | System for distributing digital information |
US6119120A (en) * | 1996-06-28 | 2000-09-12 | Microsoft Corporation | Computer implemented methods for constructing a compressed data structure from a data string and for using the data structure to find data patterns in the data string |
US6167393A (en) * | 1996-09-20 | 2000-12-26 | Novell, Inc. | Heterogeneous record search apparatus and method |
US6523119B2 (en) | 1996-12-04 | 2003-02-18 | Rainbow Technologies, Inc. | Software protection device and method |
US5907838A (en) * | 1996-12-10 | 1999-05-25 | Seiko Epson Corporation | Information search and collection method and system |
US5805801A (en) * | 1997-01-09 | 1998-09-08 | International Business Machines Corporation | System and method for detecting and preventing security |
EP0859332A1 (en) | 1997-02-12 | 1998-08-19 | STMicroelectronics S.r.l. | Word recognition device and method |
EP0859333A1 (en) | 1997-02-12 | 1998-08-19 | STMicroelectronics S.r.l. | Method of coding characters for word recognition and word recognition device using that coding |
US6282290B1 (en) | 1997-03-28 | 2001-08-28 | Mykotronx, Inc. | High speed modular exponentiator |
US5845298A (en) * | 1997-04-23 | 1998-12-01 | Sun Microsystems, Inc. | Write barrier system and method for trapping garbage collection page boundary crossing pointer stores |
US6098089A (en) * | 1997-04-23 | 2000-08-01 | Sun Microsystems, Inc. | Generation isolation system and method for garbage collection |
US5940389A (en) * | 1997-05-12 | 1999-08-17 | Computer And Communication Research Laboratories | Enhanced partially self-routing algorithm for controller Benes networks |
US5987028A (en) * | 1997-05-12 | 1999-11-16 | Industrial Technology Research Insitute | Multiple channel ATM switch |
US5856977A (en) * | 1997-05-15 | 1999-01-05 | Yang; Muh-Rong | Distribution network switch for very large gigabit switching architecture |
US6167136A (en) | 1997-05-16 | 2000-12-26 | Software Security, Inc. | Method for preventing copying of digital video disks |
US6005940A (en) | 1997-05-16 | 1999-12-21 | Software Security, Inc. | System for securely storing and reading encrypted data on a data medium using a transponder |
US6708273B1 (en) | 1997-09-16 | 2004-03-16 | Safenet, Inc. | Apparatus and method for implementing IPSEC transforms within an integrated circuit |
US6307936B1 (en) | 1997-09-16 | 2001-10-23 | Safenet, Inc. | Cryptographic key management scheme |
US6282657B1 (en) | 1997-09-16 | 2001-08-28 | Safenet, Inc. | Kernel mode protection |
US6397331B1 (en) | 1997-09-16 | 2002-05-28 | Safenet, Inc. | Method for expanding secure kernel program memory |
US6278782B1 (en) | 1997-09-16 | 2001-08-21 | Safenet, Inc. | Method of implementing a key recovery system |
US6704871B1 (en) | 1997-09-16 | 2004-03-09 | Safenet, Inc. | Cryptographic co-processor |
US6453415B1 (en) | 1997-09-16 | 2002-09-17 | Safenet, Inc. | Method of communicating securely between an application program and a secure kernel |
US20010056540A1 (en) | 1997-09-16 | 2001-12-27 | Timothy Ober | Secure memory area |
US6412069B1 (en) | 1997-09-16 | 2002-06-25 | Safenet, Inc. | Extending crytographic services to the kernel space of a computer operating system |
US6223172B1 (en) * | 1997-10-31 | 2001-04-24 | Nortel Networks Limited | Address routing using address-sensitive mask decimation scheme |
US6147890A (en) * | 1997-12-30 | 2000-11-14 | Kawasaki Steel Corporation | FPGA with embedded content-addressable memory |
US6128741A (en) | 1998-03-05 | 2000-10-03 | Rainbow Technologies, Inc. | Compact transparent dongle device |
US6240436B1 (en) | 1998-03-30 | 2001-05-29 | Rainbow Technologies, Inc. | High speed montgomery value calculation |
US6240407B1 (en) * | 1998-04-29 | 2001-05-29 | International Business Machines Corp. | Method and apparatus for creating an index in a database system |
US20020019629A1 (en) | 1998-07-10 | 2002-02-14 | Medtronic, Inc. | Devices, systems and methods for transluminally and controllably forming intramyocardial channels in cardiac tissue |
US6311183B1 (en) * | 1998-08-07 | 2001-10-30 | The United States Of America As Represented By The Director Of National Security Agency | Method for finding large numbers of keywords in continuous text streams |
US6226618B1 (en) * | 1998-08-13 | 2001-05-01 | International Business Machines Corporation | Electronic content delivery system |
US6438612B1 (en) | 1998-09-11 | 2002-08-20 | Ssh Communications Security, Ltd. | Method and arrangement for secure tunneling of data between virtual routers |
US6079621A (en) | 1998-11-13 | 2000-06-27 | Chrysalis-Its Inc. | Secure card for E-commerce and identification |
US6253243B1 (en) * | 1998-12-04 | 2001-06-26 | Sun Microsystems, Inc. | Automated trap control for a distributed network management system |
US6338056B1 (en) * | 1998-12-14 | 2002-01-08 | International Business Machines Corporation | Relational database extender that supports user-defined index types and user-defined search |
US6314506B1 (en) * | 1998-12-28 | 2001-11-06 | Intel Corporation | Method and apparatus for determining a next address within a binary search algorithm |
US6463538B1 (en) | 1998-12-30 | 2002-10-08 | Rainbow Technologies, Inc. | Method of software protection using a random code generator |
US7269844B2 (en) | 1999-01-15 | 2007-09-11 | Safenet, Inc. | Secure IR communication between a keypad and a token |
US7111324B2 (en) | 1999-01-15 | 2006-09-19 | Safenet, Inc. | USB hub keypad |
US6848045B2 (en) | 1999-01-15 | 2005-01-25 | Rainbow Technologies, Inc. | Integrated USB connector for personal token |
US6671808B1 (en) | 1999-01-15 | 2003-12-30 | Rainbow Technologies, Inc. | USB-compliant personal key |
US20010013802A1 (en) | 1999-07-07 | 2001-08-16 | Ghene Faulcon | System and process for high speed interface clock skew correction |
US6842896B1 (en) | 1999-09-03 | 2005-01-11 | Rainbow Technologies, Inc. | System and method for selecting a server in a multiple server license management system |
US6678734B1 (en) | 1999-11-13 | 2004-01-13 | Ssh Communications Security Ltd. | Method for intercepting network packets in a computing device |
FI20002377L (fi) | 2000-10-27 | 2002-04-28 | Ssh Comm Security Corp | Menetelmä käännetyn suodatinkoodin hallitsemiseksi |
US7023816B2 (en) | 2000-12-13 | 2006-04-04 | Safenet, Inc. | Method and system for time synchronization |
US6941404B2 (en) | 2000-12-19 | 2005-09-06 | Safenet B.V. | Data transfer device, transaction system and method for exchanging control and I/O data with a data processing system |
US20020104004A1 (en) | 2001-02-01 | 2002-08-01 | Bruno Couillard | Method and apparatus for synchronizing real-time clocks of time stamping cryptographic modules |
US7310800B2 (en) | 2001-02-28 | 2007-12-18 | Safenet, Inc. | Method and system for patching ROM code |
US20020129290A1 (en) | 2001-03-06 | 2002-09-12 | Bruno Couillard | Method and system for time synchronization |
FI20010596A0 (fi) | 2001-03-22 | 2001-03-22 | Ssh Comm Security Oyj | Turvallisuusjärjestelmä tietoliikenneverkkoa varten |
US20020157003A1 (en) | 2001-04-18 | 2002-10-24 | Rouslan Beletski | Apparatus for secure digital signing of documents |
US6807553B2 (en) | 2001-04-23 | 2004-10-19 | Safenet B.V. | Digital true random number generator circuit |
US6973565B2 (en) | 2001-05-09 | 2005-12-06 | Safenet Canada, Inc. | Biometrically secured memory IC |
US7200759B2 (en) | 2001-06-08 | 2007-04-03 | Safenet B.V. | Method and device for making information contents of a volatile semiconductor memory irretrievable |
US7463739B2 (en) | 2001-08-02 | 2008-12-09 | Safenet, Inc. | Method and system providing improved security for the transfer of root keys |
US7328348B2 (en) | 2001-08-02 | 2008-02-05 | Safenet, Inc. | Method and system for securely timestamping digital data |
US20030028664A1 (en) | 2001-08-02 | 2003-02-06 | Kaijun Tan | Method and system for secure distribution and utilization of data over a network |
US7240040B2 (en) | 2001-09-12 | 2007-07-03 | Safenet, Inc. | Method of generating of DFA state machine that groups transitions into classes in order to conserve memory |
US6856981B2 (en) | 2001-09-12 | 2005-02-15 | Safenet, Inc. | High speed data stream pattern recognition |
US20030110208A1 (en) | 2001-09-12 | 2003-06-12 | Raqia Networks, Inc. | Processing data across packet boundaries |
US7233663B2 (en) | 2001-10-29 | 2007-06-19 | Safenet, Inc. | Key generation performance improvement |
US7222240B2 (en) | 2001-11-06 | 2007-05-22 | Safenet, Inc. | Token for storing installation software and drivers |
US7320075B2 (en) | 2001-11-20 | 2008-01-15 | Safenet, Inc. | Software protection method utilizing hidden application code in a protection dynamic link library object |
US20030110379A1 (en) | 2001-12-07 | 2003-06-12 | Tatu Ylonen | Application gateway system, and method for maintaining security in a packet-switched information network |
US20030163738A1 (en) | 2002-02-25 | 2003-08-28 | Bruno Couillard | Universal password generator |
US7461370B2 (en) | 2002-02-25 | 2008-12-02 | Safenet, Inc. | Fast hardware processing of regular expressions containing sub-expressions |
US6959297B2 (en) | 2002-04-25 | 2005-10-25 | Winnow Technology, Llc | System and process for searching within a data stream using a pointer matrix and a trap matrix |
FI113127B (fi) | 2002-06-28 | 2004-02-27 | Ssh Comm Security Corp | Yleislähetyspakettien välittäminen turvallisissa tietokoneiden välisissä tietoliikenneyhteyksissä |
US7054894B2 (en) | 2002-08-16 | 2006-05-30 | Safenet B.V. | Generator circuit for generating large numbers |
US7337323B2 (en) | 2002-09-20 | 2008-02-26 | Safenet, Inc. | Boot-up and hard drive protection using a USB-compliant token |
US7205883B2 (en) | 2002-10-07 | 2007-04-17 | Safenet, Inc. | Tamper detection and secure power failure recovery circuit |
US7895443B2 (en) | 2002-11-05 | 2011-02-22 | Safenet, Inc. | Secure authentication using hardware token and computer fingerprint |
US20040098596A1 (en) | 2002-11-15 | 2004-05-20 | Rainbow Technologies, Inc. | Driverless USB security token |
WO2004072797A2 (en) | 2003-02-07 | 2004-08-26 | Safenet, Inc. | System and method for determining the start of a match of a regular expression |
US7263606B2 (en) | 2003-02-25 | 2007-08-28 | Safenet, Inc. | Method and apparatus for software protection via multiple-route execution |
US20040215966A1 (en) | 2003-04-28 | 2004-10-28 | Rainbow Technologies, Inc. | Bending USB token |
-
2002
- 2002-04-25 US US10/132,336 patent/US6959297B2/en not_active Expired - Fee Related
-
2003
- 2003-04-25 JP JP2004500213A patent/JP2005524149A/ja active Pending
- 2003-04-25 WO PCT/US2003/013086 patent/WO2003091910A2/en active Application Filing
- 2003-04-25 AU AU2003225183A patent/AU2003225183A1/en not_active Abandoned
-
2005
- 2005-08-19 US US11/208,222 patent/US7464089B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018196150A (ja) * | 2016-03-31 | 2018-12-06 | 株式会社bitFlyer | トランザクション処理装置、トランザクション処理方法、及びそのためのプログラム |
US11436593B2 (en) | 2016-03-31 | 2022-09-06 | Bitflyer Blockchain, Inc. | Transaction processing device, transaction processing method, and program for same |
Also Published As
Publication number | Publication date |
---|---|
WO2003091910A3 (en) | 2004-05-27 |
AU2003225183A1 (en) | 2003-11-10 |
AU2003225183A8 (en) | 2003-11-10 |
US20060050968A1 (en) | 2006-03-09 |
WO2003091910A2 (en) | 2003-11-06 |
US20030208487A1 (en) | 2003-11-06 |
US7464089B2 (en) | 2008-12-09 |
US6959297B2 (en) | 2005-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005524149A (ja) | コンテンツ・サーチ・エンジン | |
US6000008A (en) | Method and apparatus for matching data items of variable length in a content addressable memory | |
JP4555088B2 (ja) | データ内のパターンの高速文脈サーチ及び特徴付けを実行するためのプログラム可能な規則処理装置 | |
US7110540B2 (en) | Multi-pass hierarchical pattern matching | |
US20080065639A1 (en) | String matching engine | |
US7240040B2 (en) | Method of generating of DFA state machine that groups transitions into classes in order to conserve memory | |
US8495094B2 (en) | Fast signature scan | |
Le et al. | A memory-efficient and modular approach for large-scale string pattern matching | |
WO2004013777A1 (en) | System and method of parallel pattern matching | |
US20100153420A1 (en) | Dual-stage regular expression pattern matching method and system | |
EP3292481B1 (en) | Method, system and computer program product for performing numeric searches | |
EP1436936A2 (en) | High speed data stream pattern recognition | |
JP2005524149A5 (ja) | ||
US10121541B2 (en) | Semiconductor device and information processing system | |
US6687715B2 (en) | Parallel lookups that keep order | |
Pao et al. | Multi-stride string searching for high-speed content inspection | |
US10795580B2 (en) | Content addressable memory system | |
US20160105363A1 (en) | Memory system for multiple clients | |
US20020087537A1 (en) | Method and apparatus for searching a data stream for character patterns | |
Bu et al. | A keyword match processor architecture using content addressable memory | |
US20020053002A1 (en) | System for associative processing | |
CN113360726B (zh) | 并行正则表达式匹配器 | |
JPH0696124A (ja) | 情報検索装置 | |
Thinh et al. | Pamela: Pattern matching engine with limited-time update for nids/nips | |
JP3443356B2 (ja) | パケット分類装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060301 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060301 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060511 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20070426 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20070426 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20081217 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20081217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090706 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100302 |