【手続補正書】
【提出日】平成17年2月7日(2005.2.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データを含むファイルを一意に特定するファイル情報を受け、これを保持するタスクキューメモリと、
前記タスクキューメモリの前記ファイル情報によって特定されるファイルを取得して記憶するファイルバッファメモリと、
コンピュータウイルスを識別するためのパターンデータを記憶するパターンデータメモリと、
前記ファイルバッファメモリに記憶されたファイルと前記パターンデータを照合し、一致するパターンがあるか否かを判定する一つ以上のパターンマッチング回路と、
前記タスクキューメモリの前記ファイル情報に基づいて少なくとも一つの前記パターンマッチング回路を起動するスケジューラと、
前記パターンマッチング回路の判定結果を前記ファイル情報に関連づけて通知する通知手段と、を備えるコンピュータウイルス検査装置。
【請求項２】
前記ファイルを前記ファイルバッファメモリに転送するためのＤＭＡ（Direct Memory Access）コントローラを備えることを特徴とする請求項１に記載のコンピュータウイルス検査装置。
【請求項３】
前記スケジューラは、前記パターンマッチング回路が２つ以上あるとき、前記タスクキューメモリから２つ以上のタスク情報を読み出すとともに、前記タスク情報を各パターンマッチング回路に分散して与えることを特徴とする請求項１記載のコンピュータウイルス検査装置。
【請求項４】
前記スケジューラは、前記パターンマッチング回路が２つ以上あるとき、前記タスクキューメモリから１つのタスクに関する１つのファイル情報を読み出し、これを２つ以上に分割するとともに、分割されたファイルを各パターンマッチング回路に分散して与えることを特徴とする請求項１記載のコンピュータウイルス検査装置。
【請求項５】
前記スケジューラは、前記パターンマッチング回路が２つ以上あるとき、前記タスクキューメモリから１つのタスクに関する１つのファイル情報を読み出し、このファイルに対応する２つ以上のパターンデータを各パターンマッチング回路に分散して与えることを特徴とする請求項１記載のコンピュータウイルス検査装置。
【請求項６】
ＭＡＣ（Media Access Controller）及びＰＨＹ（Physical Layer）を含むネットワークインターフェース回路を備えることを特徴とする請求項１記載のコンピュータウイルス検査装置。
【請求項７】
請求項１乃至請求項６いずれかに記載のコンピュータウイルス検査装置を、ワンチップに集積してなる半導体集積回路。
【請求項８】
データを含むファイルを一意に特定するファイル情報を受けて、これを保持するタスクキューメモリと、
前記タスクキューメモリのファイル情報によって特定されるファイルを取得して記憶するファイルバッファメモリと、
コンピュータウイルスを識別するためのパターンデータを記憶するパターンデータメモリと、
前記ファイルバッファメモリに取得されたファイルと前記パターンデータを照合し、一致するパターンがあるか否かを判定する一つ以上のパターンマッチング回路と、
前記タスクキューメモリのファイル情報に基づいて少なくとも一つの前記パターンマッチング回路を起動するスケジューラと、
前記パターンマッチング回路の判定結果を前記ファイル情報に関連づけて通知する通知手段と、を備えるコンピュータウイルス検査装置を２台以上備えるコンピュータであって、
前記検査装置のそれぞれに対し、２つ以上のファイルをあらかじめ決められた配分手順に従い分散して配分することを特徴とするコンピュータ。
【請求項９】
前記パターンマッチング回路は、
前記パターンデータメモリから所定のパターンを受けてこれを記憶する照合パターンメモリと、検査対象データを記憶する被照合バッファメモリと、前記照合パターンメモリのバイト列を前記被照合バッファメモリのバイト列と照合する照合回路とを備え、
前記照合パターンメモリはビット長Ｎ＋Ｆのバイト列を記憶し、
前記被照合バッファメモリはビット長Ｎのバイト列を記憶し、
前記照合回路は、Ｆに含まれる所定のビットが所定の値であるとき、当該バイトを無条件に合致と見なすことを特徴とする請求項１記載のコンピュータウイルス検査装置。
【請求項１０】
前記パターンマッチング回路は、
前記パターンデータメモリから所定のパターンを受けてこれを記憶する照合パターンメモリと、検査対象データを記憶する被照合バッファメモリと、前記照合パターンメモリのバイト列を前記被照合バッファメモリのバイト列と照合する照合回路とを備え、
前記照合パターンメモリはビット長Ｎ＋Ｄのバイト列を記憶し、
前記被照合バッファメモリはビット長Ｎのバイト列を記憶し、
前記照合回路は、あるアドレスにおける前記照合パターンメモリと前記被照合バッファの複数のバイト列を照合するとき、Ｄに対応するバイト数のデータビットが連続しているとみなすことを特徴とする請求項１記載のコンピュータウイルス検査装置。
【請求項１１】
前記パターンマッチング回路は、
前記パターンデータメモリから所定のパターンを受けてこれを記憶する照合パターンメモリと、検査対象データを記憶する被照合バッファメモリと、前記照合パターンメモリのバイト列を前記被照合バッファメモリのバイト列と照合する照合回路とを備え、
前記照合パターンメモリはビット長Ｎ＋Ｍのバイト列を記憶し、
前記被照合バッファメモリはビット長Ｎのバイト列を記憶し、
前記照合回路は、あるアドレスにおける前記照合パターンメモリと前記被照合バッファメモリの複数のバイト列を照合するとき、前記被照合バッファメモリの対応するバイトとマスクパターンＭとの論理積をもとめ、これを前記照合パターンメモリの対応するバイトと照合することを特徴とする請求項１記載のコンピュータウイルス検査装置。
【請求項１２】
前記パターンマッチング回路は、
前記パターンデータメモリから所定のパターンを受けてこれを記憶する照合パターンメモリと、検査対象データを記憶する被照合バッファメモリと、前記照合パターンメモリのバイト列を前記被照合バッファメモリのバイト列と照合する照合回路と、インデックスＩ及びこれに対応するパターンの存在情報をもつルックアップテーブルとを備え、
前記被照合バッファメモリの一部のデータに基づき前記ルックアップテーブルが検索され、前記パターンの存在情報が出力され、
前記照合回路は、前記被照合バッファメモリの内容を前記パターンの存在情報に基づき選択されたパターンと照合することを特徴とする請求項１記載のコンピュータウイルス検査装置。
【請求項１３】
前記パターンマッチング回路は、
前記パターンデータメモリから所定のパターンを受けてこれを記憶する照合パターンメモリと、検査対象データを記憶する被照合バッファメモリと、前記照合パターンメモリのバイト列を前記被照合バッファメモリのバイト列と照合する照合回路と、テキストデータからホワイトスペースを取り除くホワイトスペース除去回路とを備え、
前記ホワイトスペース除去回路は、前記被照合バッファメモリの前段に設けられていることを特徴とする請求項１記載のコンピュータウイルス検査装置。
【請求項１４】
さらに、入力されたデータがマルチバイト文字及びシングルバイト文字のいずれであるかを判定するマルチバイト文字判定回路を備え、
シングルバイト文字の場合、データは続く処理をバイパスされて前記被照合バッファメモリに入力され、
マルチバイト文字の場合、入力データバッファから続く所定数バイトが取得され、これが付加されたデータが前記被照合バッファメモリに入力されることを特徴とする請求項１３記載のコンピュータウイルス検査装置。
【請求項１５】
さらに、小文字／大文字判定回路と、前記小文字／大文字判定回路の出力に基づき大文字と小文字の間で変換を行う大文字／小文字変換回路とを備えることを特徴とする請求項１３記載のコンピュータウイルス検査装置。
【請求項１６】
さらに、ホワイトスペースとして認識する文字コードをあらかじめ設定するための文字登録レジスタを備えることを特徴とする請求項１３記載のコンピュータウイルス検査装置。
【請求項１７】
照合のためのパターンデータを複数用意するステップと、
第１のパターンデータを用いて検査対象データとの粗照合を行い、合致の可能性があるデータブロックだけを抽出する第1ステップと、
前記抽出されたデータブロックを対象に、第２のパターンデータを用いて合致するデータパターンの特定を行う第２ステップとを備えるコンピュータウイルス検査方法。
【請求項１８】
前記第２のパターンデータの少なくとも一部を所定の演算式により変換して前記第１のパターンデータを得るステップを備えることを特徴とする請求項１７記載のコンピュータウイルス検査方法。
【請求項１９】
あらかじめ想定されるデータパターンから所定の演算式に基づき算出される値を記憶するパターンデータメモリと、
入力されるデータをバッファリングするバッファメモリと、
前記演算式に基づき当該バッファメモリの内容から前記値を算出する算出回路と、
前記算出回路の出力を前記パターンデータメモリの値と照合する照合回路とを備えるコンピュータウイルス検査装置。
【請求項２０】
前記算出回路は、
データを廃棄するときに、アキュムレータレジスタ（値をＡｎとする）で破棄データの前記演算式の逆演算を行い、Ａｎ'を算出する第１のステップ、及び
新たなデータｄが入力されるときに、前記アキュムレータレジスタの値（Ａｎ'）及び当該入力データｄを用いて前記演算式により正演算を行い、（Ａｎ＋１）を算出する第２ステップ、
を繰り返すことを特徴とする請求項１９記載のコンピュータウイルス検査装置。
【請求項２１】
所定の期間内にウイルスチェックを実施したファイルを特定するインデックスファイルを記憶するインデックスファイルメモリと、
ウイルスチェック要求を受けたファイルが前記インデックスファイルに存在するかどうか検索し、この結果に基づきウイルスチェック処理を選択的にバイパスする手段とを備えるコンピュータウイルス検査装置。
【請求項２２】
プロキシサーバとして用いられるコンピュータウイルス検査装置であって、
ウイルスに対する処置が完了したファイルを記憶する大容量記憶手段と、当該大容量記憶手段に含まれるファイルのうち、所定期間アクセスされていないことを検知し、当該ファイルを削除する手段とを含むキャッシュシステムを備え、
新たなウイルスチェック要求に基づきウイルスチェックが行われたとき、前記インデックスファイルメモリはチェックされたファイルの情報が追記され、
クライアントコンピュータからのデータ転送リクエストの対象が前記キャッシュシステムに存在するデータであるとき、当該データがクライアントコンピュータに送出され、
クライアントコンピュータからのデータ転送リクエストの対象が前記キャッシュシステムに存在しないデータであるとき、前記リクエストにより特定される外部のネットワーク上のサーバからデータが取得され、取得されたデータについてコンピュータウイルスの検出処理が実行され、
コンピュータウイルスの有無に応じてクライアントコンピュータへの送出、及び、前記キャッシュシステムへの保管及び廃棄が選択的に実行されることを特徴とするコンピュータウイルス検査装置。
【請求項２３】
記憶されたファイルを予め用意されたパターンデータと照合し、一致するパターンがあるか否かを判定するパターンマッチング回路であって、
パターンデータメモリから所定のパターンを受けてこれを記憶する照合パターンメモリと、
検査対象データを記憶する被照合バッファメモリと、
前記照合パターンメモリのバイト列を前記被照合バッファメモリのバイト列と照合する照合回路とを備え、
前記照合パターンメモリはビット長Ｎ＋Ｆのバイト列を記憶し、
前記被照合バッファメモリはビット長Ｎのバイト列を記憶し、
前記照合回路は、Ｆに含まれる所定のビットが所定の値であるとき、当該バイトを無条件に合致と見なすことを特徴とするパターンマッチング回路。
【請求項２４】
記憶されたファイルを予め用意されたパターンデータと照合し、一致するパターンがあるか否かを判定するパターンマッチング回路であって、
パターンデータメモリから所定のパターンを受けてこれを記憶する照合パターンメモリと、
検査対象データを記憶する被照合バッファメモリと、
前記照合パターンメモリのバイト列を前記被照合バッファメモリのバイト列と照合する照合回路とを備え、
前記照合パターンメモリはビット長Ｎ＋Ｄのバイト列を記憶し、
前記被照合バッファメモリはビット長Ｎのバイト列を記憶し、
前記照合回路は、あるアドレスにおける前記照合パターンメモリと前記被照合バッファの複数のバイト列を照合するとき、Ｄに対応するバイト数のデータビットが連続しているとみなすことを特徴とするパターンマッチング回路。
【請求項２５】
記憶されたファイルを予め用意されたパターンデータと照合し、一致するパターンがあるか否かを判定するパターンマッチング回路であって、
パターンデータメモリから所定のパターンを受けてこれを記憶する照合パターンメモリと、
検査対象データを記憶する被照合バッファメモリと、
前記照合パターンメモリのバイト列を前記被照合バッファメモリのバイト列と照合する照合回路とを備え、
前記照合パターンメモリはビット長Ｎ＋Ｍのバイト列を記憶し、
前記被照合バッファメモリはビット長Ｎのバイト列を記憶し、
前記照合回路は、あるアドレスにおける前記照合パターンメモリと前記被照合バッファメモリの複数のバイト列を照合するとき、前記被照合バッファメモリの対応するバイトとマスクパターンＭとの論理積をもとめ、これを前記照合パターンメモリの対応するバイトと照合することを特徴とするパターンマッチング回路。
【請求項２６】
記憶されたファイルを予め用意されたパターンデータと照合し、一致するパターンがあるか否かを判定するパターンマッチング回路であって、
前記パターンデータメモリから所定のパターンを受けてこれを記憶する照合パターンメモリと、
検査対象データを記憶する被照合バッファメモリと、
前記照合パターンメモリのバイト列を前記被照合バッファメモリのバイト列と照合する照合回路と、
インデックスＩ及びこれに対応するパターンの存在情報をもつルックアップテーブルとを備え、
前記被照合バッファメモリの一部のデータに基づき前記ルックアップテーブルが検索され、前記パターンの存在情報が出力され、
前記照合回路は、前記被照合バッファメモリの内容を前記パターンの存在情報に基づき選択されたパターンと照合するパターンマッチング回路。
【請求項２７】
記憶されたファイルを予め用意されたパターンデータと照合し、一致するパターンがあるか否かを判定するパターンマッチング回路であって、
パターンデータメモリから所定のパターンを受けてこれを記憶する照合パターンメモリと、
検査対象データを記憶する被照合バッファメモリと、
前記照合パターンメモリのバイト列を前記被照合バッファメモリのバイト列と照合する照合回路と、
テキストデータからホワイトスペースを取り除くホワイトスペース除去回路とを備え、
前記ホワイトスペース除去回路は、前記被照合バッファメモリの前段に設けられていることを特徴とするパターンマッチング回路。
【請求項２８】
コンピュータウイルスを含む可能性のあるビット列を外部から受信する手段と、、
コンピュータウイルスを識別するためのパターンデータを記憶するパターンデータメモリと、
前記ビット列と前記パターンデータを照合し、一致するパターンがあるか否かを判定する一つ以上のパターンマッチング回路と、
前記パターンマッチング回路の判定結果をホストＣＰＵに通知する手段と、
を備えるコンピュータウイルス検査装置。
【請求項２９】
被照合データ列の格納先アドレスを記憶するレジスタと、
コンピュータウイルスを識別するためのパターンデータを記憶するパターンデータメモリと、
前記レジスタにより特定される被照合データ列と前記パターンデータを照合し、一致するパターンがあるか否かを判定する一つ以上のパターンマッチング回路と、
ホストＣＰＵから信号を受け前記パターンマッチング回路を始動する回路と、
前記パターンマッチング回路の判定結果をホストＣＰＵに通知する手段と、
を備えるコンピュータウイルス検査装置。
【請求項３０】
請求項２８又は請求項２９に記載のコンピュータウイルス検査装置を、ワンチップに集積してなる半導体集積回路。