(57)【要約】      （修正有）【課題】アンチウィルスサーバの生産性確保について最適な割当を確認するシステム及び方法を提供する。【解決手段】クライアントモジュール１０２は、開かれているウェブページ１１０のマークアップ言語でテキストを検出して、テキストセットを生成し、アンチウィルスサーバ１４０との間の通信チャネル１２０の容量を決定し、アンチウィルスサーバの生産性確保を決定する。アンチウィルスサーバは、前記テキストセットと、前記通信チャネルの容量と、前記生産性確保とに基づいて、クライアントモジュールからアンチウィルスサーバへの情報伝達速度を選択し、前記テキストセットのアンチウィルススキャンを実行するために、前記生産性確保の一部を割り当て、前記生産性確保の一部を使用して、前記テキストセットのアンチウィルススキャンを実行する。【選択図】図１
2018129027.tif 000002
【特許請求の範囲】
【請求項１】
ウェブページのアンチウィルススキャンを実行するためのアンチウィルスシステムであって、
アンチウィルスサーバと、前記アンチウィルスシステムのクライアントモジュールとを備え、
前記クライアントモジュールは、ウェブページモジュールをスキャンするもので、検出ステップと、生成ステップと、第１決定ステップと、第２決定ステップとを行うように構成され、
前記検出ステップでは、開かれているウェブページのマークアップ言語でテキストを検出し、
前記生成ステップでは、前記アンチウィルススキャンのために開かれている前記ウェブページのマークアップ言語で書かれたテキストセットを生成し、
前記第１決定ステップでは、前記クライアントモジュールと前記アンチウィルスサーバとの間の通信チャネルの容量を決定し、
前記第２決定ステップでは、前記アンチウィルスサーバの生産性確保を決定し、
前記アンチウィルスサーバは、選択ステップと、割当ステップと、実行ステップとを行うように構成され、
前記選択ステップでは、前記生成ステップで生成された前記テキストセットと、前記第１決定ステップで決定された前記通信チャネルの容量と、前記第２決定ステップで決定された前記生産性確保とに基づいて、前記クライアントモジュールから前記アンチウィルスサーバへの情報伝達速度を選択し、
前記割当ステップでは、前記選択ステップで選択された前記情報伝達速度に基づいて、前記生成ステップで生成された前記テキストセットのアンチウィルススキャンを実行するために、前記第２決定ステップで決定された前記生産性確保の一部を割り当て、
前記実行ステップでは、前記割当ステップで割り当てられた前記生産性確保の一部を使用して、前記生成ステップで生成された前記テキストセットのアンチウィルススキャンを実行する、
システム。
【請求項２】
前記アンチウィルスサーバは、規則データベース内の少なくとも１つの速度選択規則に更に基づいて、ウェブページのスキャンを行うため、前記クライアントモジュールから前記アンチウィルスサーバへの情報伝達速度を選択するように更に構成される、
請求項１に記載のシステム。
【請求項３】
前記クライアントモジュールは、ウェブブラウザ内のウェブページが開かれたことを意味する、前記ウェブブラウザのグラフィックユーザインターフェイスとの一連のインタラクションの実行が成功したことを検出するように更に構成される、
請求項１に記載のシステム。
【請求項４】
前記クライアントモジュールは、開かれているウェブページ上に位置するハイパーリンクによる転送を検出するように更に構成される、
請求項１に記載のシステム。
【請求項５】
前記クライアントモジュールは、ウェブブラウザによって生成され、開かれているウェブページの文書オブジェクトの変更を示す１つ又は複数のイベントを検出するように更に構成される、
請求項１に記載のシステム。
【請求項６】
前記クライアントモジュールは、プログラミング言語でのプログラムテキストの挿入を含む文字列を追加するように更に構成される、
請求項１に記載のシステム。
【請求項７】
前記クライアントモジュールは、開かれているウェブページのマークアップ言語で書かれ且つタグを含むような文字及び文字列を追加するように更に構成される、
請求項１に記載のシステム。
【請求項８】
前記クライアントモジュールは、所定のサイズのマークアップ言語で検出されたテキストセットを含む複数の要求を伝達し、前記要求が受信されたことを検出し、所定のサイズのマークアップ言語で前記検出されたテキストセットの送信にかかった時間を計算するように更に構成される、
請求項１に記載のシステム。
【請求項９】
前記クライアントモジュールは、所定のサイズのマークアップ言語で書かれ且つ検出されたテキストセットに対し強制的にウィルススキャンを実行し、前記検出されたテキストセットをスキャンするのにかかった時間を計算するように構成される、
請求項１に記載のシステム。
【請求項１０】
アンチウィルスシステムによってウェブページのアンチウィルススキャンを実行する方法であって、
第１受信ステップと、第２受信ステップと、決定ステップと、選択ステップと、割当ステップと、実行ステップと、を備え、
前記第１受信ステップでは、ウェブブラウザアプリケーションのクライアントモジュールから、アンチウィルススキャンのために開かれているウェブページのマークアップ言語に基づいて生成されたテキストセットを受信し、
前記第２受信ステップでは、前記クライアントモジュールとアンチウィルスサーバとの間の通信チャネルの容量の表示を受信し、
前記決定ステップでは、前記アンチウィルスサーバの生産性確保を決定し、
前記選択ステップでは、前記第１受信ステップで受信したテキストセットと、前記第２受信ステップで受信した通信チャネルの容量と、前記決定ステップで決定された前記生産性確保とに基づいて、前記クライアントモジュールから前記アンチウィルスサーバへの情報伝達速度を選択し、
前記割当ステップでは、前記選択ステップで選択された前記情報伝達速度に基づいて、前記生成ステップで生成された前記テキストセットのアンチウィルススキャンを実行するために、前記決定ステップで決定された前記生産性確保の一部を割り当て、
前前記実行ステップでは、前記割当ステップで割り当てられた前記生産性確保の一部を使用して、前記生成ステップで生成された前記テキストセットのアンチウィルススキャンを実行する、
方法。
【請求項１１】
前記決定ステップは、前記クライアントモジュールから前記生産性確保に関する指示を受信するステップを含む、
請求項１０に記載の方法。
【請求項１２】
前記選択ステップは、規則データベース内の少なくとも１つの速度選択規則に更に基づく、
請求項１０に記載の方法。
【請求項１３】
前記決定ステップは、所定のサイズのマークアップ言語で書かれた検証済のテキストセットを含む複数の要求を送信し、前記要求の受信を検出し、前記検証済のテキストセットの送信にかかった時間を計算するステップを更に含む、
請求項１０に記載の方法。
【請求項１４】
前記決定ステップは、所定のサイズのマークアップ言語で書かれた検証済のテキストセットに対し強制的にアンチウィルススキャンを実行し、前記検証済のテキストセットをスキャンするのにかかった時間を計算するステップを更に含む、
請求項１０に記載の方法。
【請求項１５】
前記情報伝達速度は、前記クライアントモジュールからの要求に対する要求のペイロードサイズ及び要求の送信にかかる時間間隔を変更することによって選択される、
請求項１０に記載の方法。
【請求項１６】
アンチウィルスシステムによってウェブページのアンチウィルススキャンを実行する方法であって、
検出ステップと、生成ステップと、第１決定ステップと、第２決定ステップと、実行ステップとを備え、
前記検出ステップでは、アンチウィルスシステムのクライアントモジュールによって、開かれているウェブページのマークアップ言語のテキストを検出し、
前記生成ステップでは、前記アンチウィルススキャンのために開かれているウェブページのマークアップ言語でテキストセットを生成し、
前記第１決定ステップでは、前記クライアントモジュールとアンチウィルスサーバとの間の通信チャネルの容量を決定し、
前記第２決定ステップでは、前記アンチウィルスサーバの生産性確保を決定し、
前記実行ステップでは、前記第１決定ステップで決定された前記通信チャネルの容量と前記第２決定ステップで決定された前記生産性確保とに基づいて選択される情報伝達速度で、開かれているウェブページをアンチウィルスサーバに送信し、アンチウィルススキャンを実行する、
方法。
【請求項１７】
送信ステップと、指示ステップとを更に備え、
前記送信ステップでは、前記第１決定ステップで決定された前記通信チャネルの容量と、前記第２決定ステップで決定された前記生産性確保とを前記アンチウィルスサーバに送信し、
前記指示ステップでは、前記生産性確保の割り当てられた一部を使用して開かれているウェブページのマークアップ言語で書かれ且つ生成されたテキストセットのアンチウィルススキャンを実行するように、前記アンチウィルスサーバに指示する、
請求項１６に記載の方法。
【請求項１８】
前記情報伝達速度は、要求のペイロードサイズ及び要求の送信にかかる時間間隔を指定する、
請求項１６に記載の方法。
【請求項１９】
前記検出ステップは、
ウェブブラウザ内のウェブページが開かれたことを意味する前記ウェブブラウザのグラフィックなユーザインターフェイスとの一連のインタラクションの実行が成功したことを検出するステップと、
開かれている前記ウェブページ上のハイパーリンクによる転送を検出するステップと、
前記ウェブブラウザによって生成され、開かれているウェブページの文書オブジェクトの変更を示す１つ又は複数のイベントを検出するステップと、
のうち少なくとも１つを含む、
請求項１６に記載の方法。
【請求項２０】
前記第１決定ステップは、所定のサイズのマークアップ言語で書かれた検証済のテキストセットを含む複数の要求を送信し、前記要求の受信を検出し、前記検証済のテキストセットの送信にかかった時間を計算するステップを更に含む、
請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ウェブページ上でアンチウィルススキャンを実行するためのシステム及び方法に関し、特に、アンチウィルスサーバの生産性確保を割り当てるためのシステム及び方法に関するものである。
【背景技術】
【０００２】
サーバによって処理される情報量は、毎日絶えず増加している。サーバによるデータ処理の過程において、調整されていない要求が絶えず送り込まれることで、しばしばサーバが機能しない状態に陥る。このような問題は、要求キューのオーバーフローとコンピュータ技術のリソースの物理的制限に起因する。サーバリソースの負荷を監視するために、要求フローと要求キューを分析する方法が用いられる。監視のプロセスは、要求数が制御不能なほどに増加するのでより困難となる。
【０００３】
要求の処理を取り扱うコンピュータ・システムの停止は、要求の送信又は受信に基づいて動作する複雑なコンピュータ・システムの生産性を損なう。これに関して、上述のシステムのうちの幾つかは、タスクの実行を中断し、要求の実行が完了するまで待機モードに入る。そのようなシステムの１つは、リモートコンピュータシステム又はリモートサーバを使用して悪意のあるコードの存在をファイルでスキャンするシステムである。このような場合、そのようなシステムの有効性の基本的な指標の１つ、即ち、検出のレベルが低下する。
【０００４】
要求を実行するための１つの共通のアーキテクチャは、少なくとも３つの構成要素、即ち、要求を生成し実行する要素、通信チャネル、及び受信した要求を処理し応答を発行する要素を使用する。要求を生成し実行する要素は、コンピュータ・システムにインストールされたアプリケーションであってもよい。受信された要求を処理する要素は、サーバ型のコンピュータ・システムであってもよく、それには、データ又は機能のリポジトリ、或いはそれによって要求が処理され要求に対する応答が生成されるような機能性が含まれる。通信チャネルは、ある要素から別の要素へのデータ転送を可能にする既知のタイプの接続である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
既存の技術は要求を実行するプロセスの何らかの監視を行うことができるが、ウェブページのアンチウィルススキャンを実行する際に、アンチウィルスサーバの生産性確保について最適な割当かを確認することができない。本開示は、この問題に対する有効な解決策を可能なものにする。
【課題を解決するための手段】
【０００６】
アンチウィルスサーバの生産性を制御するシステム及び方法が開示される。本開示は、技術的結果として、ウェブページのアンチウィルススキャンを実行する際に、アンチウィルスサーバの生産性確保の有効性を高める。当該技術的結果は、ウェブページをアンチウィルスサーバにスキャンするアンチウィルスシステムのモジュールからの情報を送信する選択された速度で、ウェブページのアンチウィルススキャンを実行するアンチウィルスサーバの生産性確保の一部を割り当てることによって達成される。情報伝達速度は、アンチウィルススキャンのために開かれているウェブページのマークアップ言語に設定された生成テキスト、ウェブページをスキャンするアンチウィルスシステムのモジュールとアンチウィルスサーバとの間の通信チャネル容量、アンチウィルスサーバの生産性確保、速度選択規則を利用する。
【０００７】
１つの例示的な態様では、アンチウィルスシステムによってウェブページのアンチウィルススキャンを実行するためのシステムが提供される。
【０００８】
このシステムは、アンチウィルスサーバと、ウェブページモジュールのスキャンのためのアンチウィルスシステムのクライアントモジュールとを備える。
【０００９】
クライアントモジュールは、開かれているウェブページのマークアップ言語のテキストを検出し、アンチウィルススキャンのために開かれているウェブページのマークアップ言語でテキストセットを生成する。当該クライアントモジュールと当該アンチウィルスサーバとの間の通信チャネルの容量を決定し、アンチウィルスサーバの生産性確保を決定し得る。
【００１０】
好ましくは、前記アンチウィルスサーバは、規則データベース内の少なくとも１つの速度選択規則に更に基づいて、ウェブページのスキャンを行うため、前記クライアントモジュールから前記アンチウィルスサーバへの情報伝達速度を選択するように更に構成される。
【００１１】
好ましくは、前記アンチウィルスサーバは、規則データベースからの少なくとも１つの速度選択規則に基づいて、ウェブページを前記アンチウィルスサーバにスキャンする前記アンチウィルスシステムの前記モジュールからの前記情報伝達速度を選択するように更に構成される。
【００１２】
好ましくは、前記クライアントモジュールは、ウェブブラウザ内のウェブページが開かれたことを意味する、前記ウェブブラウザのグラフィックユーザインターフェイスとの一連のインタラクションの実行が成功したことを検出するように更に構成される。
【００１３】
好ましくは、前記クライアントモジュールは、開かれているウェブページ上に位置するハイパーリンクによる転送を検出するように更に構成される。
【００１４】
好ましくは、前記クライアントモジュールは、ウェブブラウザによって生成され、開かれているウェブページの文書オブジェクトの変更を示す１つ又は複数のイベントを検出するように更に構成される。
【００１５】
好ましくは、前記クライアントモジュールは、プログラミング言語でのプログラムテキストの挿入を含む文字列を追加するように更に構成される。
【００１６】
好ましくは、前記クライアントモジュールは、開かれているウェブページのマークアップ言語で書かれ且つタグを含むような文字及び文字列を追加するように更に構成される。
【００１７】
好ましくは、前記クライアントモジュールは、所定のサイズのマークアップ言語で検出されたテキストセットを含む複数の要求を伝達し、前記要求が受信されたことを検出し、所定のサイズのマークアップ言語で前記検出されたテキストセットの送信にかかった時間を計算するように更に構成される。
【００１８】
好ましくは、前記クライアントモジュールは、所定のサイズのマークアップ言語で書かれ且つ検出されたテキストセットに対し強制的にウィルススキャンを実行し、前記検出されたテキストセットをスキャンするのにかかった時間を計算するように構成される。
【００１９】
別の例示的な態様では、アンチウィルスシステムによってウェブページのアンチウィルススキャンを実行するための方法が提供される。
【００２０】
本発明によれば、アンチウィルスシステムによってウェブページのアンチウィルススキャンを実行する方法であって、第１受信ステップと、第２受信ステップと、決定ステップと、選択ステップと、割当ステップと、実行ステップと、を備え、前記第１受信ステップでは、ウェブブラウザアプリケーションのクライアントモジュールから、アンチウィルススキャンのために開かれているウェブページのマークアップ言語に基づいて生成されたテキストセットを受信し、前記第２受信ステップでは、前記クライアントモジュールとアンチウィルスサーバとの間の通信チャネルの容量の表示を受信し、前記決定ステップでは、前記アンチウィルスサーバの生産性確保を決定し、前記選択ステップでは、前記第１受信ステップで受信したテキストセットと、前記第２受信ステップで受信した通信チャネルの容量と、前記決定ステップで決定された前記生産性確保とに基づいて、前記クライアントモジュールから前記アンチウィルスサーバへの情報伝達速度を選択し、前記割当ステップでは、前記選択ステップで選択された前記情報伝達速度に基づいて、前記生成ステップで生成された前記テキストセットのアンチウィルススキャンを実行するために、前記決定ステップで決定された前記生産性確保の一部を割り当て、前前記実行ステップでは、前記割当ステップで割り当てられた前記生産性確保の一部を使用して、前記生成ステップで生成された前記テキストセットのアンチウィルススキャンを実行する、方法が提供される。
【００２１】
別の例示的な態様では、アンチウィルスシステムによってウェブページのアンチウィルススキャンを実行するための方法が提供される。
【００２２】
本発明によれば、アンチウィルスシステムによってウェブページのアンチウィルススキャンを実行する方法であって、検出ステップと、生成ステップと、第１決定ステップと、第２決定ステップと、実行ステップとを備え、前記検出ステップでは、アンチウィルスシステムのクライアントモジュールによって、開かれているウェブページのマークアップ言語のテキストを検出し、前記生成ステップでは、前記アンチウィルススキャンのために開かれているウェブページのマークアップ言語でテキストセットを生成し、前記第１決定ステップでは、前記クライアントモジュールとアンチウィルスサーバとの間の通信チャネルの容量を決定し、前記第２決定ステップでは、前記アンチウィルスサーバの生産性確保を決定し、前記実行ステップでは、前記第１決定ステップで決定された前記通信チャネルの容量と前記第２決定ステップで決定された前記生産性確保とに基づいて選択される情報伝達速度で、開かれているウェブページをアンチウィルスサーバに送信し、アンチウィルススキャンを実行する、方法が提供される。
【００２３】
別の例示的な態様によれば、本明細書に開示された方法のいずれかを実行するためのコンピュータ実行可能命令を含む命令を含むコンピュータ可読媒体が提供される。
【００２４】
本発明の例示的な態様に係る上述の簡略化した概要は、本発明の基本的な理解を提供するように機能するものである。
【００２５】
この概要は、全ての企図された態様の広範な概要ではなく、全ての態様の重要な又は重要な要素を特定することも本発明の任意の又は全ての態様の範囲を描写することも意図されていない。
【００２６】
唯一の目的は、以下の本発明のより詳細な説明の前置きとして、１つ又は複数の態様を簡略化した形で提示することである。
【００２７】
前述の目的を達成するために、本発明の１つ又は複数の態様が記載され、これは特に特許請求の範囲において主張される特徴を含むものである。
【図面の簡単な説明】
【００２８】
添付の図面は、本明細書に組み込まれ、本明細書の一部を構成し、本発明の１つ又は複数の例示的な態様を示し、詳細な説明とともに、それらの基本原理及び実施形態を説明する役割を果たすものである。
【００２９】
【図１】例示的な態様において、ウェブページをスキャンするためのアンチウィルスシステム及びアンチウィルスサーバのブロック図を示す。
【００３０】
【図２】例示的な態様において、ウェブページのアンチウィルススキャンを実行する際に、アンチウィルスサーバの生産性確保の一部を割り当てるための例示的なシステムのブロック図を示す。
【００３１】
【図３】例示的な態様において、ウェブページのアンチウィルススキャンを実行する際に、アンチウィルスサーバの生産性確保の一部を割り当てる方法のフローチャートを示す。
【００３２】
【図４】例示的な態様において、開示されたシステム及び方法が実行され得る汎用コンピュータ・システムの例のブロック図を示す。
【００３３】
本明細書において、例示的な態様は、ウェブページのアンチウィルススキャンを実行するためのシステム、方法、及びコンピュータプログラム製品に関連して説明される。
【００３４】
当業者であれば、以下の説明は例示的なものにすぎず、決して限定することを意図するものではないことを理解するであろう。
【００３５】
他の態様は、本開示の恩恵を受ける当業者には容易に示唆されるであろう。
【００３６】
添付の図面に例示されている例示的な態様の実施形態を詳細に参照する。
【００３７】
同じ参照符号は、図面全体に渡って可能な限り使用され、以下の記載は、同じ又は同様のものを対象とする。
【００３８】
ウェブブラウザは、インターネットへのアクセス（ウェブページへのアクセス）のユーザ要求を受信・処理し、その要求をインターネットへと送信し、インターネット（ウェブページを含むサーバ）からのこの要求に対する応答を処理するためのアプリケーション（ハードウェア又はソフトウェア）である。ウェブブラウザの主な機能は、要求に応答して受信されたウェブページの処理及び表示である。
【００３９】
ウェブブラウザの拡張機能（ウェブブラウザアドオン又はウェブブラウザプラグインとも呼ばれる）は、ウェブブラウザによって起動され、ウェブブラウザの機能面での能力を変更又は拡張するソフトウェアコンポーネントである。
【００４０】
ウェブページは、テキストが、例えばハイパーテキストマークアップ言語（ＨＬ）等の、マークアップ言語で構成された文書である。マークアップ言語のウェブページのテキスト（ここでは、単に「マークアップテキスト」とも呼ぶ）は、例えばＨＬの規則及び仕様に従って、他のプログラミング言語（ＪａｖａＳｃｒｉｐｔ、ＥＣＭＡ−２６２等）で書かれたプログラムのテキストを含む文字及び文字列を含むことができ、マークアップ言語のタグ（＜ｓｃｒｉｐｔ＞、＜／ｓｃｒｉｐｔ＞等）で区切られている必要がある。プログラミング言語でプログラムのテキストの文字列及び文字を実行するために、ウェブブラウザは、そのプログラムテキスト又はコードのためのコンパイラ又はインタープリタを含む追加のツール、拡張子又はライブラリ（ＡＰＩ）を使用することができる。
【００４１】
場合によっては、ウェブブラウザで開かれ処理されたときに悪意のある操作を実行するように、ウェブページを特別に作成又は変更することができる。このようなウェブページを作成又は修正し悪意のある行為を実行するには、ハッカーがウェブブラウザによる処理が悪意のある行為を行うような異なるマークアップテキストで開かれているウェブページのテキストを作成・挿入する必要がある。即ち、ブラウザによる処理が悪意のある行為の実行を行うことができるマークアップ言語のテキストは、ウェブブラウザによる処理が悪意のある行為を行うことができるマークアップ言語の文字又は文字列を含む。
【００４２】
コードインジェクション、より具体的にはウェブインジェクションは、ウェブページを開く際に、元々開かれているウェブページに属さないマークアップ言語のテキストが挿入されるようなウェブブラウザを利用するための技術である。挿入されたテキストには、マークアップ言語のテキストが含まれており、プログラミング言語（ＪａｖａＳｃｒｉｐｔ等）でプログラムテキストが挿入されている場合がある。一例として、ウェブインジェクションは、ユーザの銀行口座で悪意のある行為を実行するために、トロイの木馬の銀行業務アプリケーションによってよく使用される。中でも、既存のＴｒｏｊａｎｓ  ＺｅｕｓとＳｐｙＥｙｅは、銀行口座に介入しその内容を変更するためのウェブインジェクションを初めて使用している。
【００４３】
ブラウザによる処理が悪意のある行為を引き起こし得るマークアップ言語のテキストのもう１つの例は、外部ファイルと、＜ｉｆｒａｍｅ＞、＜ｏｂｊｅｃｔ＞、＜ｅｍｂｅｄ＞等のメディアを組み込むことができるため、疑わしいと特徴付けられた特定のタグを使用しているマークアップテキストの文字又は文字列である。タグ内のテキストには、不明又は不審なリソースへのリンクが含まれている場合がある。特に興味深いのは、タグで使用される属性である。例えば、表示されている情報の見え方に影響を与える属性は、ページビューでの盗用のための技術を使用して悪意のある行為を隠蔽又は偽装しようとする試みを示す。その際に用いられるのは、例えば、属性の極めて小さい幅／高さ（０〜１０ピクセル）の値を使用して視覚的なサイズを最小化すること、目に見えない領域（例えば、「位置：絶対」）の情報を整列させるような位置決めのトリック、そしてコンテンツが（例えば、「表示：なし」といった具合に）ウェブページ上でレンダリング表示される方法を制御するための他のスタイルシートのトリック等である。
【００４４】
ウェブページを開く際の安全性を提供するために、開かれているウェブページのアンチウィルススキャンを行うことができる。ウェブページのアンチウィルススキャンは、ウェブブラウザによる処理が悪意のある行為を実行するようなマークアップテキストの存在を判断するために、ウェブページのテキストをマークアップ言語でスキャンすることを意味する。ウェブページのアンチウィルススキャンは、ウェブページのアンチウィルススキャンのために構成されたアンチウィルスシステムを介して行われる。
【００４５】
図１は、例示的な態様での、ウェブページをスキャンするアンチウィルスシステム１００の例を示す。システム１００は、利用可能な通信チャネル１２０を使用してウェブページをスキャンするために要求１３０をアンチウィルスサーバ１４０に送信するように構成されたウェブページ１１０をスキャンするためのアンチウィルスシステム１００のクライアントモジュール１０２を含む。
【００４６】
１つの例示的な態様では、ウェブページ１１０をスキャンするアンチウィルスシステムのクライアントモジュール１０２は、ウェブブラウザアプリケーション１０４によって開かれているマークアップ言語のウェブページ１１０のテキストを収集して処理するように構成される。１つの例示的な態様では、ウェブページ１１０をスキャンするためのアンチウィルスシステムのクライアントモジュール１０２は、ブラウザ拡張の形式で実施されるインストール可能なモジュールである。この場合、アンチウィルスシステムは、インストールされたモジュールを用いてウェブブラウザ１０４で開かれている全てのウェブページをスキャンする。別の例示的な態様では、ウェブページ１１０をスキャンするためのアンチウィルスシステムのクライアントモジュール１０２は、マークアップ言語で開かれているウェブページのテキストの文字列として、（例えばＪａｖａＳｃｒｉｐｔのような）プログラミング言語でのアプリケーションテキストの挿入と共に実装され、ウェブページの所有者からの要請により追加される。この場合、クライアントモジュール１０２は、ウェブページを開いた後にアクティブ状態に切り替わり、アンチウィルスシステムは、マークアップ言語でウェブページのテキストに追加されたクライアントモジュール１０２を使用し、開かれたウェブページのみのスキャンを実行する。
【００４７】
１つの例示的な態様では、ウェブページ１１０をスキャンするためのアンチウィルスシステムのクライアントモジュール１０２は、ウェブページを開くために使用されたウェブブラウザ１０４を用いてコンピュータ・システム１０１上のウェブページのアンチウィルススキャンを実行する機能を有さない。むしろ、ウェブページ１１０のアンチウィルススキャンのためのアンチウィルスシステムのクライアントモジュール１０２は、収集・処理されたウェブページのテキストに基づいて、利用可能な通信チャネル１２０を使用してアンチウィルスサーバ１４０に対しウェブページのテキストをマークアップ言語でスキャンするための要求１３０を作成し送信する。
【００４８】
通信チャネル１２０は、ウェブページ１１０をスキャンするアンチウィルスシステムのクライアントモジュール１０２とアンチウィルスサーバ１４０との間の情報の伝送のための接続である。通信チャネル１２０は、インターネット及び他のネットワークを介するものを含む、メッセージソースからユーザへの電気信号の送信を提供する技術的手段の完全な配列のうちいかなるものであってもよい。通信チャネル１２０の容量は、情報伝達チャネルを介して送信することができる単位時間当たりの情報単位の最大量である。
【００４９】
ウェブページのアンチウィルススキャンのためのシステムにおけるアンチウィルスサーバ１４０は、スキャンのためのアンチウィルスシステムのクライアントモジュール１０２から受信した要求１３０に含まれるウェブページの文字及び文字列のアンチウィルススキャンを実行するように構成されたコンピュータサーバシステムであってもよい。アンチウィルスサーバ１４０は、悪意のあるウェブアプリケーションに関する記述のデータベース、又はブラウザによる処理が悪意のある行為を実行するようなマークアップ言語のテキストのデータベースのような、アンチウィルススキャンを実行するために使用されるデータベースを含むか又は接続することができる。
【００５０】
ウェブページのアンチウィルススキャンを実行する際、アンチウィルスサーバ１４０の生産性を確実に制御するために、ウェブページのアンチウィルススキャンの実行においてはアンチウィルスサーバの生産性確保の一部を割り当てるシステムが使用される。
【００５１】
図２は、例示的な態様での、ウェブページのアンチウィルススキャンを実行する際にアンチウィルスサーバの生産性確保の一部を割り当てる例示的なシステム２００の構造図を示す。
【００５２】
１つの例示的な態様では、ウェブページのアンチウィルススキャンを実行する際にアンチウィルスサーバの生産性確保の一部を割り当てるシステム２００は、検出モジュール２２０、決定モジュール２３０、選択モジュール２４０、及びデータベース２５０を含む。
【００５３】
検出モジュール２２０は、開かれているウェブページ２１０のマークアップ言語のテキストを検出し、アンチウィルススキャンのために開かれているウェブページのマークアップ言語でテキストセットを生成し、生成されたテキストセットを、選択モジュール２４０へのアンチウィルススキャンのために開かれたページウェブのマークアップ言語で送信するように構成される。
【００５４】
ある例示的な態様では、検出モジュール２２０は、ウェブページ１１０をスキャンするためのアンチウィルスシステムのクライアントモジュール１０２として位置付けられ、その機能を利用することができる。ユーザはウェブブラウザを介してウェブページ２１０を開く。検出モジュール２２０は、開かれているウェブページ２１０のマークアップ言語のテキストを検出するように構成される。
【００５５】
ある例示的な態様では、検出モジュール２２０は、要求を意味するウェブブラウザのグラフィカルユーザインターフェイスとの一連のインタラクションの実行が成功したことを特定すること、及びウェブブラウザ内でウェブページを開くことによって、開かれているウェブページ２１０のマークアップ言語のテキストを検出する。この手順は、例えば、ウェブブラウザのＵＲＬ文字列入力フィールドのアクティブ化、アクティブな入力フィールドにおけるＵＲＬ文字列の文字入力、そして＜Ｅｎｔｅｒ＞キーの押下、という順で実行される。要求されたウェブページが存在する場合、要求されたウェブページのマークアップ言語でテキストを格納しているウェブサーバが利用可能である場合、又はその動的な生成を行う機器が利用可能である場合、上記の動作の結果は、開かれているウェブページ２１０のマークアップ言語でのテキストの検出となる。別の例示的な態様では、検出モジュール２２０は、既に開かれているウェブページ上に位置するハイパーリンクによるページの転送を認識することによって、開かれているウェブページ２１０のマークアップ言語のテキストを検出する。ウェブページ上のハイパーリンクによるそれぞれの成功した転送は、開かれているウェブページ２１０のマークアップ言語でのテキストの検出を可能にする。
【００５６】
いくつかのウェブページが開かれている場合、各ウェブページのマークアップ言語でのテキストの検出は、ウェブページ開かれ次第、順に行われる。別の例示的な態様では、検出モジュール２２０は、開かれているウェブページのマークアップ言語のテキストを、開かれているウェブページを変更するようなイベントを分析することにより検出する。
【００５７】
例えば、検出モジュール２２０は、属性、テキスト、又は名前の変更等を含む、ウェブページの構造に対するいかなる変更の通知としてウェブブラウザアプリケーションによって送信される（例えば、ＭｕｔａｔｉｏｎＥｖｅｎｔハンドラ又はＭｕｔａｔｉｏｎＯｂｓｅｒｖｅｒコールバック機能を介して）１つ以上のＨＬの突然変異通知を検出するように構成されてもよい。
【００５８】
分析の過程で、検出モジュール２２０は、その通知の発生によって生成され、マークアップ言語のウェブページに新しく追加される文字又は文字列を検出する。
【００５９】
開かれているウェブページ２１０のマークアップ言語のテキストを検出した後、検出モジュール２２０は、アンチウィルススキャンのために開かれているウェブページのマークアップ言語のテキストセットを生成する。ある例示的な態様では、アンチウィルススキャンのために開かれているウェブページのマークアップ言語で設定されたテキストは、ウェブページのマークアップ言語の文字又は文字列のセット、又はアンチウィルススキャンのために準備されたマークアップ言語のタグのコンテキストにおける（例えばＪａｖａＳｃｒｉｐｔ等の）他のプログラミング言語の文字又は文字列のセットである。このセットには、複数のウェブページのマークアップ言語によるテキスト文字又は文字列が含まれる。
【００６０】
検出モジュール２２０は、テキストセットに対し、マークアップ言語で書かれ、開かれているウェブページの個々のテキスト文字又は文字列を追加することによって、開かれているウェブページのマークアップ言語で書かれたテキストセットを生成することができる。１つの例示的な態様では、例えば開かれているウェブページのマークアップ言語で書かれたテキスト全体のサイズが所与の値を超えない場合等に、開かれているウェブページのテキスト全体がセットへと追加される。別の例示的な態様では、検出モジュール２２０は、プログラミング言語でプログラムのテキストを挿入した文字列、及びそれらの前後に来るような、開かれているウェブページのマークアップ言語で書かれた数行のテキストのみを追加することによって、開かれているウェブページのマークアップ言語でテキストセットを生成する。別の例示的な態様では、検出モジュール２２０は、＜ｉｆｒａｍｅ＞、＜／ｉｆｒａｍｅ＞等のタグを含むマークアップ言語で、開かれているウェブページの文字及び文字列のみを追加することによって、アンチウィルススキャンのために開かれているウェブページのマークアップ言語でテキストセットを生成する。更に別の例示的な態様では、検出モジュール２２０は、以前に送信された、開かれているウェブページのマークアップ言語で書かれたテキストの行及び列を除外することによって、アンチウィルススキャンのために開かれているウェブページのマークアップ言語でテキストセットを生成し、それは、例えばウェブページの数回に渡る開封（ウェブページ表示のリフレッシュ）の間に行われる。幾つかのウェブページが開かれている場合、又はウェブページが多数の埋め込みウェブページ及びハイパーリンクを含む複雑な構造を有する場合、検出モジュール２２０は、開いているウェブページの各々からテキスト文字列又はマークアップ言語の文字を交互に追加することにより、アンチウィルスのために開かれているウェブページのマークアップ言語で書かれたテキストセットを生成することができる。
【００６１】
生成中に、アンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれたテキストセットのサイズや時間において制限されることがある。アンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれたテキストの最大サイズは、アンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれたテキストセットが含むことができる最大文字数又はバイト数である。アンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれたテキストセットを生成する時間は、アンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれたテキストセットが生成される時間である。
【００６２】
１つの例示的な態様では、アンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれたテキストセットが生成される（時には長い）期間中、ユーザは、マークアップ言語で書かれた個々のテキスト文字や文字列が生成されたテキストセットに組み込まれるような、様々なウェブページを開き続けることができる。別の例示的な態様では、開かれているウェブページのマークアップ言語で書かれたテキストセットは、短期間に生成され、生成中には、例えば＜ｓｃｒｉｐｔ＞＜／ｓｃｒｉｐｔ＞タグ内のプログラミング言語ＪａｖａＳｃｒｉｐｔのプログラムテキストを含むような文字及び文字列のみが追加される。
【００６３】
生成が完了した後、検出モジュール２２０は、アンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれ生成されたテキストセットを選択モジュール２４０へと送信する。
【００６４】
決定モジュール２３０は、ウェブページ１１０をスキャンするためのアンチウィルスシステムのクライアントモジュール１０２とアンチウィルスサーバ１４０との間の通信チャネル容量を決定し、アンチウィルスサーバ１４０の生産性確保を決定し、計算された通信チャネル容量、及びアンチウィルスサーバ１４０の決定された生産性確保量を選択モジュール２４０へと提供する。
【００６５】
ある例示的な態様では、生産性は、時間単位内にコンピュータによって実行され得る仕事量である。例えば、このパラメータを所定の時間内に実行されるタスクの数として定義することができる。ウェブページのアンチウィルススキャンを実行する際のアンチウィルスサーバ１４０の生産性は、一定期間内にアンチウィルスサーバ１４０によってアンチウィルススキャンが実行されるマークアップ言語でのテキスト文字又はバイト数である。
【００６６】
ある例示的な態様では、ウェブページのアンチウィルススキャンを実行する際のアンチウィルスサーバの極大生産性は、アンチウィルススキャンがオーバーロードすることなく実行され得るようなマークアップ言語でのテキストのバイト数又は文字数の最大値であり得る。
【００６７】
ある例示的な態様では、ウェブページのアンチウィルススキャンを実行する際のアンチウィルスサーバの瞬間の生産性は、現時点でアンチウィルスサーバによってアンチウィルススキャンが実行され得るようなマークアップ言語でのテキストのバイト数又は文字数であり得る。
【００６８】
このように、決定モジュール２３０は、極大生産性の値と瞬間生産性の値との間の差として生産性確保量を計算することができ、それは、アンチウィルスサーバによってアンチウィルススキャンが実行されるような、マークアップ言語での追加のテキスト文字又はバイト数によって、極大生産性量に達するまで測定される。
【００６９】
１つの例示的な態様では、決定モジュール２３０は、ウェブページ１１０をスキャンするためのアンチウィルスシステムのクライアントモジュール１０２内に配置され、その機能を利用することができる。この場合、決定モジュール２３０は、ウェブページ１１０をアンチウィルスサーバ１４０にスキャンするためのアンチウィルスシステムのモジュールから受信した、既知のサイズのマークアップ言語で検証済のテキストセットを含む要求を送信し、要求の受信を確認し、既知のサイズのマークアップ言語で検証済のテキストセットを送信するのにかかった時間を計算することによって、ウェブページ１１０をスキャンするためのアンチウィルスシステムのクライアントモジュール１０２とアンチウィルスサーバ１４０との間の通信チャネル容量を決定するように構成される。決定モジュール２３０は、既知のサイズのマークアップ言語で受け取った、検証済のテキストセットの「強制的な」アンチウィルススキャンを定期的に実行し、スキャンにかかった時間を計算することによってアンチウィルスサーバ１４０の生産性確保量を決定することができる。決定モジュール２３０は、内容が未知であると思われるような、事前に検証済のテキストセットを再度スキャンする。
【００７０】
これにより、アンチウィルスサーバの全機能を使用してスキャンが実行される。
【００７１】
受け取ったセットのサイズは既知であり、アンチウィルスサーバ１４０は、アンチウィルススキャンの実行中にスキャンの終了又は現在の生産性について通知することができ、それによりアンチウィルスサーバ１４０の生産性確保を計算することができる。換言すれば、受信されたセットのサイズ及びスキャンの決定は前の検査から既に知られているので、強制的に行われる再スキャンの結果に関する情報に基づいて、決定モジュール２３０はアンチウィルスサーバ１４０の性能に関して現時点での結論を下すことができる。
【００７２】
しばらくすると、同じセットを再スキャンして、サーバにそれが未知のものであると見なすように強制することができる。
【００７３】
別の例示的な態様では、決定モジュール２３０は、アンチウィルスサーバ１４０上に位置し、その機能を利用することができる。この場合、決定モジュール２３０は、既知のマークアップ言語で検証済のテキストセットを含む要求（要求に対する応答）を送信し、既知のサイズのマークアップ言語で書かれた検証済のテキストセットが、アンチウィルスサーバ１４０からアンチウィルスのクライアントモジュール１０２へと受信されたことを確認し、送信にかかった時間を計算することによって、ウェブページ１１０をスキャンするアンチウィルスシステムのクライアントモジュールとアンチウィルスサーバ１４０との間の通信チャネル容量を決定する。この場合、決定モジュール２３０は、アンチウィルスサーバ１４０の生産性確保量に関するデータに常にアクセスしている。
【００７４】
決定モジュール２３０は、ウェブページ１１０をスキャンするためのアンチウィルスシステムのモジュールとアンチウィルスサーバ１４０との間の通信チャネル容量に関する最新の情報を常に維持しており、従って、検出モジュール２２０の作業の結果に依存する必要はない。決定モジュール２３０は、計算された通信チャネル容量及び決定されたアンチウィルスサーバ１４０の生産性確保量に関するデータを選択モジュール２４０へと送信する。
【００７５】
選択モジュール２４０は、アンチウィルスのために開かれているウェブページのマークアップ言語で書かれ生成されたテキストセットと、決定された通信チャネル容量と、規則データベース２５０からの１つ以上の速度選択規則を使用して、アンチウィルスサーバ１４０の決定された生産性確保量とに基づいて、ウェブページ１１０をスキャンするためのアンチウィルスシステムのモジュールからアンチウィルスサーバ１４０へと情報を伝達する速度を選択するように構成される。選択モジュール２４０は、アンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれ生成されたテキストセットのアンチウィルススキャンを実行するために必要とされるアンチウィルスサーバ１４０の決定された生産性確保量の一部を計算し、選択された情報伝達速度に基づき、アンチウィルスサーバ１４０の生産性確保量の計算された部分を割り当てるように構成されていてもよい。
【００７６】
１つの例示的な態様では、選択モジュール２４０は、アンチウィルスサーバ１４０上に位置することができ、規則データベース２５０からの速度選択規則を使用して、検出モジュール２２０及び決定モジュール２３０から受信したデータに基づき、ウェブページ１１０をスキャンするためのアンチウィルスシステムのクライアントモジュール１０２からアンチウィルスサーバ１４０への情報伝達速度を選択するように構成される。
【００７７】
ある例示的な態様では、ウェブページ１１０スキャンするためのアンチウィルスサーバのクライアントモジュールからアンチウィルスサーバ１４０への情報伝達速度は、アンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれたテキストによって占有された毎秒当たりのバイト数によって表現されてもよく、（それに相当するバイト数が）ウェブページ１１０のスキャンのためにアンチウィルスシステムのクライアントモジュール１０２によって要求の形式でアンチウィルスサーバ１４０へと送信されている。
【００７８】
ウェブページ１１０をスキャンするためのアンチウィルスシステムのクライアントモジュール１０２とアンチウィルスサーバ１４０との間で行われる情報の交換は、アンチウィルスサーバ１４０へと要求を送信し、応答を受信することによって行われる。例えば、図１を参照すると、要求１３０は、ウェブページ１１０のアンチウィルススキャンのためのアンチウィルスシステムのクライアントモジュール１０２からアンチウィルスサーバ１４０へと送信される、ハイパーテキスト転送プロトコル（ＨＴＴＰ）メッセージであってもよい。ＨＴＴＰメッセージはＨＴＴＰ通信の基本単位であり、オクテットの構造化されたシーケンスで構成され、ＨＴＴＰ構文に従って作成され、利用可能な接続によって送信される。ＨＴＴＰメッセージには、クライアントからサーバへの要求と、サーバからクライアントへの応答の２種類がある。要求（応答）１３０のコアは、要求又は応答のペイロードとして送信される情報を含む。本開示の特定の態様において、ＨＴＴＰ以外の他の通信プロトコルを使用して実装することができ、簡易ネットワーク管理プロトコル（ＳＮＭＰ）のように要求と応答の構文が異なるプロトコルを使用できることが理解される。
【００７９】
選択モジュール２４０は、要求１３０に対して要求のペイロードサイズ（ＲＰＳ）１３２及び要求送信時間間隔（ＲＳＴＩ）１３４を指定することによって、情報伝達速度を変更するように構成されてもよい。
【００８０】
ある例示的な態様では、アンチウィルスサーバ１４０は、クライアントモジュール１０２との通信に関して、その動作を変更し選択モジュール２４０によって構成された新しいＲＰＳ及びＲＳＴＩの設定を強制する。
【００８１】
ある例示的な態様では、要求１３０のペイロードサイズ１３２は、サービスコマンド及び要求を送信するために必要な情報（例えば、ＨＴＴＰ要求のヘッダ及びＣＲＬＦの後のデータ）とは別に、送信されるデータのバイト数であってもよい。例えば、ペイロードは、開かれているウェブページのマークアップ言語で書かれたテキストセットの文字及び文字列とすることができる。ある例示的な態様では、要求１３０の送信の間の時間間隔１３４（例えば、ＲＳＴＩ）は、要求１３０の二度の連続的な送信がなされるまでの間の時間の一部であってもよい。
【００８２】
先に述べたように、選択モジュール２４０は、規則データベース２５０からの１つ、又は複数の速度選択規則を使用することができる。速度選択規則は、選択モジュール２４０が、ウェブページ１１０をスキャンするためのアンチウィルスシステムのクライアントモジュール１０２からアンチウィルスサーバ１４０への情報伝達速度を選択するような条件のセットであってもよい。ある例示的な態様では、速度選択規則は、アンチウィルスサーバ１４０の生産性確保のための条件は、通信チャネル容量、及びアンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれたテキストセットのサイズに関する条件を含むことができる。
【００８３】
規則データベース２５０は、速度選択規則を格納するように構成される。規則データベース２５０として、以下のような様々な種類のものに関するデータベースが用いられる。即ち、階層（ＩＭＳ、ＴＤＭＳ、Ｓｙｓｔｅｍ  ２０００）、ニューラルネット（Ｃｅｒｅｂｒｕｍ、Сｒｏｎｏｓｐｒｏ、ＤＢＶｉｓｔ）、関連性（ＤＢ２、Ｉｎｆｏｒｍｉｘ、ｍｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒ）、オブジェクト指向（Ｊａｓｍｉｎｅ、Ｖｅｒｓａｎｔ、ＰＯＥＴ）、オブジェクト関連性（ＯｒａｃｌｅＤａｔａｂａｓｅ、ＰｏｓｔｇｒｅＳＱＬ、ＦｉｒｓｔＳＱＬ／Ｊ）、機能、等である。規則データベース２５０は、アンチウィルスサーバ１４０を介して補足又は更新することができる。
【００８４】
ある例示的な態様では、速度選択規則は、通信チャネル容量に基づいてアンチウィルスサーバ１４０の全ての生産性確保量の利用を制限するように構成され、以下の条件のリストを有することができる。即ち、「もしアンチウィルスサーバ１４０の生産性確保量が通信チャネル容量より大きく、一方で、開かれているウェブページのマークアップ言語で書かれたテキストセットのサイズが１秒間の容量の値よりも大きい値を有する場合、情報伝達速度は通信チャネル容量と等しいかそれ以下であるように選択される」という条件である。例えば、「生産性確保量が毎秒５００，０００バイト、通信チャネル容量が毎秒１２５，０００バイト、そしてアンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれたテキストセットが１，０００，０００バイトである」という状況によって、選択モジュール２４０は、上述の速度選択規則の条件は満たされると判断する。この場合、通信チャネルの容量は、毎秒１２５，０００バイトのレベルでアンチウィルスサーバ１４０の全ての生産性確保量の利用を制限する。従って、選択モジュール２４０は、要求のペイロードサイズ１３２を１２，５００バイトの値に変更し、要求を送信する時間間隔１３４を０．１秒に変更することによって、情報伝達速度を毎秒１２５，０００バイトと決定する。
【００８５】
別の例示的な態様では、速度選択規則は、生産性確保量の値を使用して通信チャネル１２０の完全な利用を防止するように構成されていてもよく、以下の条件のリストを有することができる。即ち、「もしアンチウィルスサーバ１４０の生産性確保量が通信チャネル容量よりも小さく、アンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれたテキストセットのサイズが１秒で容量の値よりも大きい場合、アンチウィルスサーバ１４０の生産性確保量と等しいか又はそれ以下であるような情報伝達速度の値が選択される。」という条件である。例えば、「決定された生産性確保量が毎秒１００，０００バイト、決定された通信チャネル容量が毎秒２５０，０００バイト、そしてアンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれたテキストセットの決定されたサイズは１，０００，０００バイトである」という状況によって、選択モジュール２４０は、上述の一連の条件は満たされていると判断する。この場合、アンチウィルスサーバの生産性確保量の値は、通信チャネル容量の完全な利用を許可せず、毎秒１００，０００バイトのレベルに制限する。従って、選択モジュール２４０は、要求のペイロードサイズ１３２を１０，０００バイトの値に変更し、要求を送信する時間間隔１３４を０．１秒に変更することによって、情報伝達速度を毎秒１００，０００バイトと決定する。
【００８６】
別の例示的な態様では、速度選択規則は、サーバのオーバーロードというリスクのためにアンチウィルスサーバ１４０の使用を防止するように構成され、以下の条件のリストを有するように構成されていてもよい。即ち、「もし生産性確保量がゼロに近づく傾向にあり、アンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれたテキストセットのサイズが、毎秒当たりの容量の値よりも大きい場合、情報伝達速度はゼロに等しい値に選択され、開かれているウェブページのマークアップ言語で書かれ生成されたテキストセットは、数秒の追加生成のために送信される。」という条件である。例えば、「決定された生産性確保量が毎秒０バイト、通信チャネル容量が毎秒２５０，０００バイト、そしてサイズアンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれたテキストセットのサイズが１，０００，０００バイトである」という状況によって、選択モジュール２４０は、この一連の規則は満たされていると判断する。この場合、オーバーロードの危険性のために通常の方法でアンチウィルスサーバ１４０を使用することは望ましくないということを理解できる。従って、選択モジュール２４０は、要求のペイロードサイズ１３２を０バイト、要求を送信する時間間隔１３４を０秒に変更することにより、情報伝達速度の値として毎秒０バイトを選択し、ウェブページのマークアップ言語で書かれ生成されたテキストセットを１０秒の追加生成のために送信する。
【００８７】
選択モジュール２４０は又、選択された情報伝達速度を考慮して、開かれているウェブページのマークアップ言語で書かれ生成されたテキストセットのアンチウィルススキャンを実行するためのアンチウィルスサーバ１４０の決定された生産性確保量の一部を計算することができる。これに応答して、選択モジュール２４０は、アンチウィルスサーバ１４０の生産性確保量の計算されたうちの一部を割り当てる。
【００８８】
選択された情報伝達速度に基づいて、選択モジュール２４０は、アンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれ生成されたテキストセットのアンチウィルススキャンを実行するアンチウィルスサーバ１４０の生産性確保量の一部を計算することができる。例えば、伝達速度が毎秒１００，０００バイトであると決定されたことに応答して、アンチウィルスサーバの生産性確保量は毎秒５００，０００バイト、アンチウィルスのためのマークアップ言語で書かれたウェブページのテキストセットのサイズは１，０００，０００バイトであると計算され、選択モジュール２４０は、アンチウィルスサーバ１４０の生産性確保量の割り当て部分として毎秒１００，０００バイトのペースで１０秒間計算する。
【００８９】
そして、選択モジュール２４０はアンチウィルスサーバの生産性確保量の一部を毎秒１００，０００バイトのペースで１０秒間割り当て、開かれているウェブページのアンチウィルススキャンの実行を開始する。従って、上記の部分を割り当てた後のアンチウィルスサーバ１４０の確保量は、毎秒４００，０００バイトのペースで１０秒間行われた値となる。１０秒後にアンチウィルススキャンが終了すると、アンチウィルスサーバは再び毎秒５００，０００バイトの生産性を有する。
【００９０】
１つの例示的な態様では、選択モジュール２４０は、受信した要求に優先順位を割り当てることによって、アンチウィルスサーバ１４０の生産性確保量の一部を割り当てて利用する。別の例示的な態様では、選択モジュール２４０は、アンチウィルスサーバ１４０の未使用リソース（ＲＡＭ、プロセッサ時間等）を呼び出すことによって、アンチウィルスサーバ１４０の生産性確保量の一部を割り当てて利用する。
【００９１】
図２は、クライアントモジュール１０２の一部である単一の選択モジュール２４０及び決定モジュール２３０、並びにアンチウィルスシステム２００のアンチウィルスサーバ１４０の一部である単一の検出モジュール２２０を示しているが、本開示の例示的な態様は、モジュールの複数を有する、及び／又はクライアント側とサーバ側に別々に配置されたアンチウィルスシステム２００の異なる構成を用いる。
【００９２】
例えば、１つの例示的な態様では、ウェブページをスキャンするためのアンチウィルスシステム１００は、ウェブページ１１０をスキャンするアンチウィルスシステムの複数のモジュール１０２と、ウェブページ１１０のスキャンのためのアンチウィルスシステムの複数のモジュール１０２の各々が１つのアンチウィルスサーバ１４０に接続されているような、１つの利用可能な通信チャネル１２０とを有することができる。例えば、システム１００は、３つのウェブブラウザがユーザのコンピュータ・システム１０１にインストールされる状況において、複数のモジュール１０２を有することができる。ウェブページ１１０をスキャンするためのアンチウィルスシステムの１つのモジュールは、（３つの）ウェブブラウザのうちの２つにインストールされ、拡張子の形式でウェブブラウザへと実現される。３つ目のウェブブラウザでは、ウェブページ１１０をスキャンするアンチウィルスシステムのクライアントモジュール１０２がウェブページのＪａｖａＳｃｒｉｐｔモジュール部分の形式で実現されるようなウェブページを開くことができる。この場合、ウェブページのアンチウィルススキャンを実行するためにアンチウィルスサーバの生産性確保の一部を割り当てるシステムは、規則データベース２５０に接続された３つの検出モジュール２２０、１つの決定モジュール２３０、及び１つの選択モジュール２４０を含むことができる。そのような場合、一様な分布のために、通信チャネル容量は、検出モジュール２２０内で分散される。例えば、通信チャネル容量の値は、３つの等しい部分に分割されてもよい。
【００９３】
別の例示的な態様では、ウェブページをスキャンするためのアンチウィルスシステム１００は、ウェブページ１１０をスキャンするためのアンチウィルスシステムの複数のモジュール１０２と、各モジュールに対応する個別に利用可能な通信チャネル１２０と、を有することができ、ウェブページ１１０をスキャンするためのアンチウィルスシステムの各々を、１つのアンチウィルスサーバ１４０へと接続する。例えば、ウェブブラウザがインストールされたパーソナルコンピュータシステム上に３人のユーザと、ウェブブラウザに対し拡張子の形で実現されるような、ウェブページ１１０をスキャンするためのアンチウィルスシステムのクライアントモジュール１０２がウェブページを開き、存在する幾つかのアンチウィルスサーバ１４０うちの唯１つのみを所定の時間に利用することができる場合等である。この場合、ウェブページのアンチウィルススキャンを実行するためのアンチウィルスサーバの生産性確保の一部を割り当てるシステムは、規則データベース２５０に接続された３つの検出モジュール２２０、３つの決定モジュール２３０、及び１つの選択モジュール２４０を含むことができる。そのような場合、一様な分布のために、アンチウィルスサーバ１４０の生産性確保は、決定モジュール２３０に分散される。例えば、アンチウィルスサーバ１４０の生産性確保量の値は、３つの等しい部分に分割される。
【００９４】
更に別の例示的な態様では、ウェブページをスキャンするためのアンチウィルスシステムは、ウェブページ１１０をスキャンするためのアンチウィルスシステムのクライアントモジュール１０２を１つと、それに対応する、ウェブページ１１０をスキャンするためのアンチウィルスシステムのクライアントモジュール１０２が複数のアンチウィルスサーバ１４０に接続されているような、通信チャネル１２０を有することができる。例えば、ウェブブラウザがインストールされたコンピュータ・システム上の１人のユーザと、ウェブブラウザに対し拡張子の形で実現されるような、ウェブページ１１０をスキャンするためのアンチウィルスシステムのクライアントモジュール１０２が、ウェブページを開き、３つのアンチウィルスサーバ１４０が利用可能であるような場合等である。この場合、ウェブページのアンチウィルススキャンを実行するためにアンチウィルスサーバの生産性確保の一部を割り当てるシステムは、規則データベース２５０に接続された、１つの検出モジュール２２０、１つの決定モジュール２３０、及び３つの選択モジュール２４０からなる。そのような場合、一様な分布のために、アンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれ生成されたテキストセットは、決定モジュール２３０に分配される。例えば、開かれているウェブページのマークアップ言語で書かれ生成されたテキストセットは、３つの等しい部分に分割される。
【００９５】
図３は、例示的な態様における、ウェブページのアンチウィルススキャンを実行する際にアンチウィルスサーバの生産性確保の一部を割り当てる方法３００のフローチャートを示す。
【００９６】
ステップ３１０において、検出モジュール２２０は、開かれているウェブページ２１０のマークアップ言語で書かれたテキストを検出する。ある例示的な態様では、検出モジュール２２０は、ウェブブラウザ内のウェブページが開かれたことを意味するウェブブラウザのグラフィックなユーザインターフェイスとの一連のインタラクションの実行が成功したことを検出する。
【００９７】
ある例示的な態様では、検出モジュール２２０は、開かれているウェブページ上に位置するハイパーリンクによる転送を検出する。
【００９８】
ある例示的な態様では、検出モジュール２２０は、開かれているウェブページの文書オブジェクトの変更を示すウェブブラウザによって生成された１つ又は複数のイベントを検出する。
【００９９】
ステップ３１１において、検出モジュール２２０は、アンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれたテキストセットを生成し、アンチウィルススキャンのために開かれているウェブページの生成されたテキストセットを選択モジュール２４０に送る。ある例示的な態様では、検出モジュール２２０は、タグを含む開かれているウェブページのマークアップ言語で書かれた文字及び文字列を追加することによってテキストセットを生成する。
【０１００】
別の例示的な態様では、検出モジュール２２０は、プログラミング言語のプログラムテキストの挿入を含む文字列を追加することによってテキストセットを生成する。
【０１０１】
ステップ３１２において、決定モジュール２３０は、ウェブページ１１０をスキャンするためのアンチウィルスシステムのクライアントモジュール１０２とアンチウィルスサーバ１４０との間の通信チャネル容量を決定する。ある例示的な態様では、決定モジュール２３０は、所定のサイズのマークアップ言語で書かれた検証済のテキストセットを含む複数の要求を送信し、要求の受信を検出し、そして所定のサイズのマークアップ言語で書かれた検証済のテキストセットの送信にかかった時間を計算する。
【０１０２】
ステップ３１３において、決定モジュール２３０は、アンチウィルスサーバ１４０が生産性確保を有するか否かを決定する。決定モジュール２３０がクライアントモジュール１０２の一部であるような例示的な態様では、アンチウィルスサーバ１４０は、クライアントモジュール１０２によって決定された生産性確保を示す指標を受信することができる。
【０１０３】
ある例示的な態様では、アンチウィルスサーバ１４０は、アンチウィルスサーバの生産性の値のうち、ピーク値と現在値との差として生産性確保量を決定してもよく、それは、生産性のピーク値に達するまでに、アンチウィルススキャンが実行されるようなマークアップ言語で書かれ追加されたテキスト文字数又はバイト数として計測される。
【０１０４】
ステップ３１３において、アンチウィルスサーバに生産性確保が存在する場合、決定モジュール２３０は、ウェブページ１１０をスキャンするためのアンチウィルスシステムのクライアントモジュール１０２とアンチウィルスサーバ１４０との間の通信チャネル容量の決定された値に関するデータ、及び決定されたアンチウィルスサーバ１４０の生産性確保を、選択モジュール２４０へと送信する。このように、ある例示的な態様では、アンチウィルスサーバ１４０は、クライアントモジュール１０２から、アンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれ生成されたテキストセット、及びクライアントモジュールとアンチウィルスサーバの間の通信チャネル容量を示す指標を受信する。
【０１０５】
ステップ３１４において、選択モジュール２４０は、アンチウィルススキャンのためにマークアップ言語で開かれているウェブページの生成されたテキストセット、決定された通信チャネル容量、及び決定されたアンチウィルスサーバ１４０の生産性確保に基づいて、ウェブページ１１０をスキャンするためのアンチウィルスシステムのクライアントモジュール１０２からアンチウィルスサーバ１４０への情報伝達速度を選択する。
【０１０６】
ある例示的な態様では、アンチウィルスサーバは、規則データベース２５０からの１つ又は複数の速度選択規則に基づいて、ウェブページをスキャンするためのアンチウィルスシステムのモジュールからアンチウィルスサーバへの情報伝達速度を選択することができる。
【０１０７】
ステップ３１５において、選択モジュール２４０は、選択された情報伝達速度を考慮して、マークアップ言語で開かれているウェブページの生成されたテキストセットのアンチウィルススキャンを実行するために必要なアンチウィルスサーバ１４０の決定された生産性確保の一部を計算する。ステップ３１６において、選択モジュール２４０は、アンチウィルスサーバ１４０の決定された生産性確保のうち、計算された部分を割り当てる。次に、アンチウィルスシステム１４０は、アンチウィルスサーバの生産性確保のうち割り当てられた部分を使用して、開かれているウェブページのマークアップ言語で書かれ生成されたテキストセットのアンチウィルススキャンを実行することができる。
【０１０８】
ステップ３１３において、アンチウィルスサーバに生産性確保が残っていない場合（ステップ３１３の「いいえ」の場合）、アンチウィルススキャンのために開かれているウェブページのマークアップ言語で書かれ生成されたテキストセットを反復的に生成するために、決定モジュール２３０は、アンチウィルススキャンのために開かれているウェブページの生成されたテキストセットを検出モジュール２２０へと送信する。
【０１０９】
図４は、実施形態に係り本発明のシステムと方法が実装できる汎用コンピュータ・システム（パーソナル・コンピュータやサーバ等）の例を示している。コンピュータ・システム２０は、例えば、先に説明したコンピュータ・システム１０１又はアンチウィルスサーバ１４０に相当することに留意されたい。
【０１１０】
図示の通り、コンピュータ・システム２０は、ＣＰＵ２１と、システムメモリ２２と、ＣＰＵ２１と関連付けられたメモリを含む様々なシステムコンポーネントを接続するシステムバス２３とを含み得る。
【０１１１】
システムバス２３は、バスメモリ又は、バスメモリコントローラ、周辺バス、及びローカルバスを次々含む従来から公知のあらゆるバス構造としても実現され得、これらはどのような他のバスアーキテクチャとも通信可能である。
【０１１２】
システムメモリは、リードオンリーメモリ（ＲＯＭ）２４及びランダムアクセスメモリ（ＲＡＭ）２５を含む。基本的な入出力システム（ＢＩＯＳ）２６は、ＲＯＭ２４の使用によってオペレーティング・システムをロードする際等、コンピュータ・システム２０の要素間の情報の伝達を担う基本的な手順を含む。
【０１１３】
コンピュータ・システム２０は、データの読み書きのためのハードディスク２７、取り外し可能な磁気ディスク２９の読み書きのための磁気ディスクドライブ２８、及びＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、その他の光学メディア等の光学ディスク３１の読み書きのための光学式ドライブ３０を含む。ハードディスク２７、磁気ディスクドライブ２８、及び光学式ドライブ３０は、ハードディスクインターフェース３２、磁気ディスクインターフェース３３、及び光学式ドライブインターフェース３４それぞれを横切るシステムバス２３と接続される。ドライブ及び対応するコンピュータ情報メディアは、コンピュータ命令、データ構造体、プログラムモジュール、及びコンピュータ・システム２０の他のデータのストレージのための電源依存のモジュールである。
【０１１４】
本発明は、システムバス２３に接続されたハードディスク２７、取り外し可能な磁気ディスク２９及び取り外し可能な光学ディスク３１を用いるシステムの実装を提供するものである。
【０１１５】
しかし、当業者にとっては、コンピュータに読み込み可能な形式でデータを保存できるフラッシュメモリカード、デジタルのディスク、ランダムアクセスのメモリ（ＲＡＭ）等の他のタイプのコンピュータ情報メディア５６を使用してもよいことに留意されたい。
【０１１６】
コンピュータ・システム２０は、ファイルシステム３６を有し、記録されたオペレーティング・システム３５を保持する。また追加のプログラムアプリケーション３７、他のプログラムモジュール３８、及びプログラムデータ３９を有する。ユーザは、入力機器（キーボード４０、マウス４２）を用いてコマンドと情報をコンピュータ・システム２０に入力することができる。他の入力機器（不図示）：マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナ等を用いることもできる。そのような入力機器は、通常、システムバスに次々接続しているシリアルポート４６を通じてコンピュータ・システム２０に差し込まれるが、それらは、他の方法例えばパラレル・ポート、ゲームポート、又は一般的なシリアルバス（ＵＳＢ）に接続される。ディスプレイ機器のモニタ４７又は他のタイプは、また、ビデオアダプタ４８等のインターフェースと交差するシステムバス２３に接続している。モニタ４７に加えて、パーソナル・コンピュータは、スピーカー、プリンタ等の他の周辺の出力機器（不図示）を接続できる。
【０１１７】
コンピュータ・システム２０は、１つ又は複数のリモートコンピュータ４９とのネットワーク接続を用いて、ネットワーク環境で操作することができる。リモートコンピュータ（又はコンピュータ）４９は、図４に示すように、コンピュータ・システム２０の性質として説明した上述の要素全ての大多数を有するパーソナル・コンピュータ又はサーバでもある。ルータ、ネットワークステーション、ピア接続の機器、又は他のネットワークノード等の他の機器もまた、かかるコンピュータ・ネットワークで存在し得るものである。
【０１１８】
ネットワーク接続は、ローカルエリアコンピュータ・ネットワーク（ＬＡＮ）５０及びワイドエリアコンピュータ・ネットワーク（ＷＡＮ）を形成することができる。そのようなネットワークは、企業のコンピュータ・ネットワーク及び社内ネットワークで利用され、それらはたいていインターネットにアクセスすることができる。ＬＡＮ又はＷＡＮネットワークにおいて、パソコン２０は、ネットワークアダプタ又はネットワークインターフェース５１に交差するローカルエリアネットワーク５０に接続されている。ネットワークが用いられる時には、パソコン２０は、通信にインターネット等のワイドエリアコンピュータ・ネットワークを実現するために、モデム５４又は他のモジュールを使用することができる。内部又は外部の機器であるモデム５４は、シリアルポート４６によりシステムバス２３と接続される。かかるネットワーク接続は、単なる一例であり、ネットワークの正確な構成を示すものではない。すなわち、技術の通信モジュールによって、あるコンピュータから他のコンピュータへの接続を確立する他の方法もあることに留意されたい。
【０１１９】
様々な実施形態において、ハードウェア、ソフトウェア、ファームウェア、又はこれらのあらゆる組み合わせにおいて、ここで説明されたシステム及び方法を実施し得る。
【０１２０】
ソフトウェアにおいて実装される場合は、方法は不揮発性コンピュータ可読メディアの１つ又は複数の指示又はコードとして保存され得る。
【０１２１】
コンピュータ可読媒体は、データ記憶装置を含む。
【０１２２】
コンピュータ可読メディアは、データストレージを含む。あくまでも例であり限定するものではないが、そのようなコンピュータ可読メディアは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、フラッシュメモリ、若しくは他のタイプの電気、磁気、光学式の記憶媒体、又はその他のメディアであってもよい。すなわち、これらによって指示又はデータ構造体という形で、要求されたプログラムコードを運ぶか又は保存することができ、汎用コンピュータのプロセッサによってアクセスすることができる。
【０１２３】
様々な実施形態で、本発明のシステム及び方法が、モジュールとして実装され得る。
【０１２４】
ここで用語「モジュール」は、実世界の機器、コンポーネント、又はハードウェアを用いて実装されたコンポーネント配置であり、例えばＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の、又は例えばモジュールの機能を実行するマイクロプロセッサシステムや指示セットによる等、ハードウェアとソフトウェアの組み合わせとして実装され得る。
【０１２５】
これらは、実行中にマイクロプロセッサシステムを特定の機器に変換する。モジュールは、ハードウェア単体により促進される一定の機能とハードウェア及びソフトウェアの組み合わせによって促進される他の機能という２つの組み合わせとして実施されてもよい。モジュールの少なくとも一部又は全部は、汎用コンピュータのプロセッサにおいて実行できる（図３において詳述したもの等）。
【０１２６】
したがって、各モジュールは様々な適当な構成で実現することができて、ここに例示した特定の実装に限られるものではない。
【０１２７】
なお、実施形態の通常の機能のうちの全てをここで開示しているわけではない。本発明の何れの実施形態を開発する場合においてでも、開発者の具体的な目標を達成するためには多くの実施に係る特別な決定が必要であり、これらの具体的な目標は実施形態及び開発者ごとに異なることに留意されたし。そのような開発努力は、複雑で時間を要するものであるが、本発明の利益を享受し得る当業者にとってはエンジニアリングの日常であると理解されたい。
【０１２８】
更に、本明細書で使用される用語又は表現は、あくまでも説明のためであり、限定するものではない。つまり、関連技術の熟練の知識と組み合わせて、本明細書の用語又は表現は、ここに示される教示及び指針に照らして当業者によって解釈されるべきであると留意されたし。明示的な記載がない限り、明細書又は特許請求の範囲内における任意の用語に対して、珍しい又は特別な意味を帰することは意図されていない。
【０１２９】
本明細書で開示された様々な態様は、例示のために本明細書に言及した既知のモジュールの、現在及び将来の既知の均等物を包含する。更に、態様及び用途を示し、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることが、この開示の利益を有する当業者には明らかであろう。
【図１】
2018129027.tif 000003
【図２】
2018129027.tif 000004
【図３】
2018129027.tif 000005
【図４】
2018129027.tif 000006
【外国語明細書】
2018129027000001.pdf