【手続補正書】
【提出日】平成27年3月3日(2015.3.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
システムの状態を検出し、
システム状態がアイドルの時に、現在のウイルススキャンが開始した場合に、現在のウイルススキャンを続け、現在のウイルススキャンが開始していない場合に、前回のウイルススキャンのスキャン進行状況を取得し、取得されたスキャン進行状況に応じて現在のウイルススキャンを開始し、現在のウイルススキャンのスキャン進行状況を記録することを含み、
前記システムの状態を検出するステップは、
前記システムが入力状態またはフルスクリーン状態にあるかを検出し、システムリソースの現在の占有率を検出し、
前記システムが入力状態またはフルスクリーン状態である場合、検出されたシステムの状態がビジーであると判定し、
前記システムが入力状態またはフルスクリーン状態でない場合、検出されたシステムリソースの現在の占有率が所定の占有率よりも大きい時、検出されたシステムの状態がビジーであると判定し、
前記システムが入力状態またはフルスクリーン状態でない場合、第２の所定時間内に検出されたシステムリソースの現在の占有率が所定の占有率より大きくない時、検出されたシステムの状態がアイドルであると判定することを含むことを特徴とする
ウイルススキャン方法。
【請求項２】
すべてのハードディスクのパーティションを列挙し、ツリー構造の各ノードの属性にそれがファイルなのか、列挙が終了したか、スキャンが終了したかが含まれる、前記ツリー構造へハードディスクのパーティションを追加し、
ハードディスクのパーティションごとのディレクトリ又はファイルのすべてを列挙し、ハードディスクのパーティションにおけるディレクトリ又はファイルをノードとしてツリー構造に追加し、ディレクトリ又はファイルが位置するノードの属性を設定し、スキャンキューに前記ファイルを追加し、
システムの状態を検出し、
システム状態がアイドルの時に、現在のウイルススキャンが開始した場合に、現在のウイルススキャンを続け、現在のウイルススキャンが開始していない場合に、前回のウイルススキャンのスキャン進行状況を取得し、取得されたスキャン進行状況に応じて現在のウイルススキャンを開始し、現在のウイルススキャンのスキャン進行状況を記録することを含み、
ディレクトリ又はファイルが位置するノードの属性を設定するステップは、
１つのディレクトリが列挙される時、列挙が終了した場合、ディレクトリが位置するノードの属性をENUMERATION FINISHED（列挙終了）に設定し、前記列挙が未完成の場合、ディレクトリが位置するノードの属性をENUMERATION UNFINISHED(列挙未完成)に設定し、
１つのディレクトリの下におけるファイル又はディレクトリをスキャンする時、前記ディレクトリの下におけるすべてのファイルとサブディレクトリのスキャンが終了した場合、前記ディレクトリが位置するノードの属性をSCANNING UNFINISHED（スキャン未完成）に設定し、前記ディレクトリの下におけるすべてのファイルとサブディレクトリのスキャンが未完成の場合、前記ディレクトリが位置するノードの属性をSCANNING UNFINISHED（スキャン未完成）に設定し、
１つのファイルをスキャンする時、前記ファイルのスキャンが終了した場合、前記ファイルが位置するノードの属性をSCANNING FINISHED（スキャン終了）に設定し、前記ファイルのスキャンが未完成の場合、前記ファイルが位置するノードの属性をSCANNING UNFINISHED（スキャン未完成）に設定することを含み、
前記スキャン進行状況に応じて現在のウイルススキャンを開始するステップは、
前記ツリー構造において深さ優先探索を行い、前記ツリー構造において前記スキャン進行状況に対応するノードに追従し、ノードがスキャンまたは列挙されなかったかをチェックし、
ノードがスキャンされなかった場合、前記ノードはファイルが位置するノードであるかを判定し、肯定の場合に前記ノードを前記スキャンキューに追加し、それ以外の場合に前記ノードのすべてのサブノードの深さ優先探索を続け、
ノードがまだ列挙されていない場合、ディレクトリが位置するノードを列挙し、ディレクトリが位置するノードの下に列挙されたファイルをスキャンキューに追加し、ディレクトリが位置するノードの下に列挙されたサブディレクトリをツリー構造に追加し、その後、ディレクトリが位置するノードを再帰的にトラバースし、ディレクトリが位置するノードの列挙が終了した後に、ディレクトリが位置するノードをENUMERATION FINISHED（列挙終了）として標識し、
スキャン進行状況に応じてスキャンキューにおけるファイルをスキャンし、
１つのファイルのスキャンが終了した後、ツリー構造においてファイルが位置するノードを検索し、前記ファイルが位置するノードの属性をSCANNING FINISHED（スキャン終了）として設定し、１つのディレクトリの下のすべてのファイルとサブディレクトリのスキャンが終了した後、前記ディレクトリが位置するノードの属性をSCANNING FINISHED（スキャン終了）として設定することを含むことを特徴とする
ウイルススキャン方法。
【請求項３】
現在のウイルススキャンのスキャン進行状況を記録するステップは、
現在のウイルススキャン中に列挙又はトラバースされる各ディレクトリの属性、及びディレクトリがスキャンされたかを、現在のウイルススキャンの終了時にツリー構造によって記録し、現在のウイルススキャン中に列挙又はトラバースされる各ファイルの属性、及びファイルがスキャンされたかを、記録し、スキャンしたファイルがリスクファイルなのかを記録し、また、ファイルがリスクファイルの場合にリスクの名前とファイルのハッシュ値を記録することを含むことを特徴とする
請求項２に記載のウイルススキャン方法。
【請求項４】
前記スキャン進行状況に応じて現在のウイルススキャンを開始するステップの後に、さらに、
SCANNING FINISHED（スキャン終了）として標識する、ディレクトリが位置するノードの下のすべてのファイルとサブディレクトリを削除することを含むことを特徴とする
請求項２に記載のウイルススキャン方法。
【請求項５】
システムの状態を検出するように構成される検出モジュールと、
前記システムの状態がアイドルであることを前記検出モジュールが検出した時、現在のウイルススキャンが開始した場合に、現在のウイルススキャンを続け、現在のウイルススキャンが開始していない場合に、前回のウイルススキャンのスキャン進行状況を取得し、前記スキャン進行状況に応じて現在のウイルススキャンを開始し、現在のウイルススキャンのスキャン進行状況を記録するように構成される第１のスキャンモジュールと、を含み、
前記検出モジュールは、
前記システムが入力状態またはフルスクリーン状態にあるかを検出し、システムリソースの現在の占有率を検出するように構成される検出ユニットと、
前記システムが入力状態またはフルスクリーン状態にあることを前記検出ユニットが検出した場合、検出されたシステムの状態がビジーであると判定するように構成される第１の判定ユニットと、
前記システムが入力状態またはフルスクリーン状態でないことを前記検出ユニットが検出した場合、検出されたシステムリソースの現在の占有率が所定の占有率よりも大きい時、検出されたシステムの状態がビジーであると判定するように構成される第２の判定ユニットと、
前記システムが入力状態またはフルスクリーン状態でないことを前記検出ユニットが検出した場合、第２の所定時間内に検出されたシステムリソースの現在の占有率が所定の占有率より大きくない時、検出されたシステムの状態がアイドルであると判定するように構成される第３の判定ユニットとを含むことを特徴とする
ウイルススキャン装置。
【請求項６】
すべてのハードディスクのパーティションを列挙し、ツリー構造の各ノードの属性にそれがファイルなのか、列挙が終了したか、スキャンが終了したかが含まれる、前記ツリー構造へハードディスクのパーティションを追加するように構成される第１の列挙モジュールと、
ハードディスクのパーティションごとのディレクトリ又はファイルのすべてを列挙し、ハードディスクのパーティションにおけるディレクトリ又はファイルをノードとしてツリー構造に追加し、ディレクトリ又はファイルが位置するノードの属性を設定し、スキャンキューに前記ファイルを追加するように構成される第２の列挙モジュールと、を含み、
システムの状態を検出するように構成される検出モジュールと、
前記システムの状態がアイドルであることを前記検出モジュールが検出した時、現在のウイルススキャンが開始した場合に、現在のウイルススキャンを続け、現在のウイルススキャンが開始していない場合に、前回のウイルススキャンのスキャン進行状況を取得し、前記スキャン進行状況に応じて現在のウイルススキャンを開始し、現在のウイルススキャンのスキャン進行状況を記録するように構成される第１のスキャンモジュールと、を含み、
前記第２の列挙モジュールは、さらに、
１つのディレクトリが列挙される時、列挙が終了した場合、ディレクトリが位置するノードの属性をENUMERATION FINISHED（列挙終了）に設定し、前記列挙が未完成の場合、ディレクトリが位置するノードの属性をENUMERATION UNFINISHED(列挙未完成)に設定し、
１つのディレクトリの下におけるファイル又はサブディレクトリをスキャンする時、前記ディレクトリの下におけるすべてのファイルとサブディレクトリのスキャンが終了した場合、前記ディレクトリが位置するノードの属性をSCANNING UNFINISHED（スキャン未完成）に設定し、前記ディレクトリの下におけるすべてのファイルとサブディレクトリのスキャンが未完成の場合、前記ディレクトリが位置するノードの属性をSCANNING UNFINISHED（スキャン未完成）に設定し、
１つのファイルをスキャンする時、前記ファイルのスキャンが終了した場合、前記ファイルが位置するノードの属性をSCANNING FINISHED（スキャン終了）に設定し、前記ファイルのスキャンが未完成の場合、前記ファイルが位置するノードの属性をSCANNING UNFINISHED（スキャン未完成）に設定するように構成され、
前記第１のスキャンモジュールは、
前記ツリー構造において深さ優先探索を行い、前記ツリー構造において前記スキャン進行状況に対応するノードに追従し、ノードがスキャンまたは列挙されなかったかをチェックするように構成されるトラバースユニットと、
ノードがスキャンされなかったことを前記トラバースユニットが検知する場合、前記ノードはファイルが位置するノードであるかを判定し、肯定の場合に前記ノードを前記スキャンキューに追加し、それ以外の場合にノードのすべてのサブノードの深さ優先探索を続けるように構成される第１のトラバースサブユニットと、
ノードがまだ列挙されていないことを前記トラバースユニットが検知する場合、ディレクトリが位置するノードを列挙し、ディレクトリが位置するノードの下に列挙されたファイルをスキャンキューに追加し、ディレクトリが位置するノードの下に列挙されたサブディレクトリをツリー構造に追加し、その後、ディレクトリが位置するノードを再帰的にトラバースし、ディレクトリが位置するノードの列挙が終了した後に、ディレクトリが位置するノードをENUMERATION FINISHED（列挙終了）として標識するように構成される第２のトラバースサブユニットと、
スキャン進行状況に応じてスキャンキューにおけるファイルをスキャンし、１つのファイルのスキャンが終了した後、ツリー構造においてファイルが位置するノードを検索し、前記ファイルが位置するノードの属性をSCANNING FINISHED（スキャン終了）として設定し、１つのディレクトリの下のすべてのファイルとサブディレクトリのスキャンが終了した後、前記ディレクトリが位置するノードの属性をSCANNING FINISHED（スキャン終了）として設定するように構成されるスキャンユニットとを含む、ことを特徴とする
ウイルススキャン装置。
【請求項７】
前記第１のスキャンモジュールは、さらに、
現在のウイルススキャン中に列挙又はトラバースされる各ディレクトリの属性、及びディレクトリがスキャンされたかを、現在のウイルススキャンの終了時に、ツリー構造によって記録し、現在のウイルススキャン中に列挙又はトラバースされる各ファイルの属性、及びファイルがスキャンされたかを記録し、スキャンしたファイルがリスクファイルなのかを記録し、また、ファイルがリスクファイルの場合にリスクの名前とファイルのハッシュ値を記録するように構成される記録ユニットを含むことを特徴とする
請求項６に記載のウイルススキャン装置。
【請求項８】
前記第１のスキャンモジュールは、さらに、
SCANNING FINISHED（スキャン終了）として標識する、ディレクトリが位置するノードの下のすべてのファイルとサブディレクトリを削除するように構成される削除ユニットを含むことを特徴とする
請求項６に記載のウイルススキャン装置。
【請求項９】
システムの状態を検出し、
システム状態がアイドルの時に、現在のウイルススキャンが開始した場合に、現在のウイルススキャンを続け、現在のウイルススキャンが開始していない場合に、前回のウイルススキャンのスキャン進行状況を取得し、取得されたスキャン進行状況に応じて現在のウイルススキャンを開始し、現在のウイルススキャンのスキャン進行状況を記録することを含むウイルススキャン方法を、一つ以上のプロセッサによって実行される時に装置に実行させるための命令を格納し、
前記システムの状態を検出するステップは、
前記システムが入力状態またはフルスクリーン状態にあるかを検出し、システムリソースの現在の占有率を検出し、
前記システムが入力状態またはフルスクリーン状態である場合、検出されたシステムの状態がビジーであると判定し、
前記システムが入力状態またはフルスクリーン状態でない場合、検出されたシステムリソースの現在の占有率が所定の占有率よりも大きい時、検出されたシステムの状態がビジーであると判定し、
前記システムが入力状態またはフルスクリーン状態でない場合、第２の所定時間内に検出されたシステムリソースの現在の占有率が所定の占有率より大きくない時、検出されたシステムの状態がアイドルであると判定することを含むことを特徴とする
非一時的コンピュータ読み取り可能な媒体。
【請求項１０】
一つ以上のプロセッサによって実行される時に装置に実行させるための命令を格納し、
前記方法は、
すべてのハードディスクのパーティションを列挙し、ツリー構造の各ノードの属性にそれがファイルなのか、列挙が終了したか、スキャンが終了したかが含まれる、前記ツリー構造へハードディスクのパーティションを追加し、
ハードディスクのパーティションごとのディレクトリ又はファイルのすべてを列挙し、ハードディスクのパーティションにおけるディレクトリ又はファイルをノードとしてツリー構造に追加し、ディレクトリ又はファイルが位置するノードの属性を設定し、スキャンキューに前記ファイルを追加することを含み、
システムの状態を検出し、
システム状態がアイドルの時に、現在のウイルススキャンが開始した場合に、現在のウイルススキャンを続け、現在のウイルススキャンが開始していない場合に、前回のウイルススキャンのスキャン進行状況を取得し、取得されたスキャン進行状況に応じて現在のウイルススキャンを開始し、現在のウイルススキャンのスキャン進行状況を記録し、
ディレクトリ又はファイルが位置するノードの属性を設定するステップは、
１つのディレクトリが列挙される時、列挙が終了した場合、ディレクトリが位置するノードの属性をENUMERATION FINISHED（列挙終了）に設定し、前記列挙が未完成の場合、ディレクトリが位置するノードの属性をENUMERATION UNFINISHED(列挙未完成)に設定し、
１つのディレクトリの下におけるファイル又はディレクトリをスキャンする時、前記ディレクトリの下におけるすべてのファイルとサブディレクトリのスキャンが終了した場合、前記ディレクトリが位置するノードの属性をSCANNING UNFINISHED（スキャン未完成）に設定し、前記ディレクトリの下におけるすべてのファイルとサブディレクトリのスキャンが未完成の場合、前記ディレクトリが位置するノードの属性をSCANNING UNFINISHED（スキャン未完成）に設定し、
１つのファイルをスキャンする時、前記ファイルのスキャンが終了した場合、前記ファイルが位置するノードの属性をSCANNING FINISHED（スキャン終了）に設定し、前記ファイルのスキャンが未完成の場合、前記ファイルが位置するノードの属性をSCANNING UNFINISHED（スキャン未完成）に設定し、
前記スキャン進行状況に応じて現在のウイルススキャンを開始するステップは、
前記ツリー構造において深さ優先探索を行い、前記ツリー構造において前記スキャン進行状況に対応するノードに追従し、ノードがスキャンまたは列挙されなかったかをチェックし、
ノードがスキャンされなかった場合、前記ノードはファイルが位置するノードであるかを判定し、肯定の場合に前記ノードを前記スキャンキューに追加し、それ以外の場合に前記ノードのすべてのサブノードの深さ優先探索を続け、
ノードがまだ列挙されていない場合、ディレクトリが位置するノードを列挙し、ディレクトリが位置するノードの下に列挙されたファイルをスキャンキューに追加し、ディレクトリが位置するノードの下に列挙されたサブディレクトリをツリー構造に追加し、その後、ディレクトリが位置するノードを再帰的にトラバースし、ディレクトリが位置するノードの列挙が終了した後に、ディレクトリが位置するノードをENUMERATION FINISHED（列挙終了）として標識し、
スキャン進行状況に応じてスキャンキューにおけるファイルをスキャンし、
１つのファイルのスキャンが終了した後、ツリー構造においてファイルが位置するノードを検索し、前記ファイルが位置するノードの属性をSCANNING FINISHED（スキャン終了）として設定し、１つのディレクトリの下のすべてのファイルとサブディレクトリのスキャンが終了した後、前記ディレクトリが位置するノードの属性をSCANNING FINISHED（スキャン終了）として設定することを含むことを特徴とする
非一時的コンピュータ読み取り可能な媒体。
【請求項１１】
現在のウイルススキャンのスキャン進行状況を記録するステップは、
現在のウイルススキャン中に列挙又はトラバースされる各ディレクトリの属性、及びディレクトリがスキャンされたかを、現在のウイルススキャンの終了時にツリー構造によって記録し、現在のウイルススキャン中に列挙又はトラバースされる各ファイルの属性、及びファイルがスキャンされたかを、記録し、スキャンしたファイルがリスクファイルなのかを記録し、また、ファイルがリスクファイルの場合にリスクの名前とファイルのハッシュ値を記録することを含むことを特徴とする
請求項１０に記載の非一時的コンピュータ読み取り可能な媒体。