(57)【要約】【課題】ウイルススキャン（以下「ＶＳ」と記す）による仮想マシンの処理スピードの低下を抑え得る仮想システム等の提供。【解決手段】仮想システムは、仮想マシンの記憶領域として割り当てられた仮想記憶装置に記録されたＶＳの候補情報が、マスタ情報の一部及び前記一部からの作成が行われたもののいずれかを含むか、についての第一の判定を行う第一の判定部と、前記第一の判定結果が、前記作成が行われたものである旨の場合に、前記いずれかについて前記ＶＳが行われたかについての第二の判定を行う第二の判定部と、前記第二の判定結果が、前記被作成候補情報の前記ＶＳが行われていないという内容である場合に、前記候補情報についての前記ＶＳを行うＶＳ部とを備える。【選択図】      図１
2018112935.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンの記憶領域として割り当てられた仮想記憶装置に記録されたウイルススキャンの候補情報が、マスタ情報の一部及び前記一部からの作成が行われたもののいずれかを含むか、についての判定である第一の判定を行う第一の判定部と、
前記第一の判定の判定結果が、前記いずれかについて前記ウイルススキャンが行われたかについての判定である第二の判定を行う第二の判定部と、
前記第二の判定による判定結果が、前記いずれかの前記ウイルススキャンが行われていないという内容である場合に、前記候補情報についての前記ウイルススキャンを行うウイルススキャン部と、
を備える仮想システム。
【請求項２】
前記第一の判定による判定結果が、前記候補情報が前記マスタ情報からの、前記いずれかを含む旨でない場合にも、前記ウイルススキャン部が前記候補情報についての前記ウイルススキャンを行う場合がある、請求項１に記載された仮想システム。
【請求項３】
前記ウイルススキャン部を前記仮想マシンが備える、請求項１又は請求項２に記載された仮想システム。
【請求項４】
前記第一の判定部が、前記第一の判定を、前記候補情報の所定の部分が記録された、前記候補情報が記録された前記仮想記憶装置における第一の領域群、の領域と、前記所定の部分を作るのに用いられた前記マスタ情報の部分が記録された、前記候補情報を作るのに用いられた前記マスタ情報の部分が記録されたマスタ情報保持部における第二の領域群、の領域と、の対応関係である第一の対応関係により行う、請求項１乃至請求項３のうちのいずれか一に記載された仮想システム。
【請求項５】
前記いずれかについて、前記ウイルススキャンが行われたかについての情報、の集合である第一の情報を保持する第一の保持部をさらに備え、前記第二の判定部が、前記第一の情報により前記第二の判定を行う、請求項１乃至請求項４のうちのいずれか一に記載された仮想システム。
【請求項６】
前記第二の判定部が、前記第二の判定を、前記候補情報が記録された前記仮想記憶装置における第一の領域群と、前記第一の情報における、前記いずれかが記録された領域の集合である第三の領域群と、の対応関係である第二の対応関係により行う、請求項５に記載された仮想システム。
【請求項７】
前記ウイルススキャン部が前記ウイルススキャンを行った場合に、前記第一の情報に、前記いずれかについて前記ウイルススキャンが行われた旨の情報を格納する第一の更新部をさらに備える、請求項５又は請求項６に記載された仮想システム。
【請求項８】
前記第二の判定による判定結果が前記ウイルススキャンが行われたという内容である場合に、前記ウイルススキャンが最新のバージョンのウイルススキャンプログラムによるものであるかについての判定である第三の判定を行う第三の判定部をさらに備え、
前記ウイルススキャン部は、前記第三の判定による判定結果が、前記ウイルススキャンが最新バージョンのウイルススキャンプログラムによるものでない旨の場合にも、前記ウイルススキャンを行う、請求項５乃至請求項７のうちのいずれか一に記載された仮想システム。
【請求項９】
前記いずれかについての、前記ウイルススキャンが行われた際に用いられた前記ウイルススキャンプログラムのバージョンを表す情報、の集合である第二の情報を保持する第二の保持部をさらに備え、前記第三の判定部が、前記第二の情報により前記第三の判定を行う、請求項８に記載された仮想システム。
【請求項１０】
前記ウイルススキャン部が前記ウイルススキャンを行った場合に、前記第二の情報に、前記いずれかについて、前記ウイルススキャン部に前記ウイルススキャンを実行させた前記ウイルススキャンプログラムのバージョン情報を格納させる第二の更新部をさらに備える、請求項１乃至請求項９のうちのいずれか一に記載された仮想システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想環境において動作する仮想マシンに関する。
【背景技術】
【０００２】
仮想マシン環境においては、通常、物理サーバを含むコンピュータシステム上において複数の仮想マシンが稼働する。ここで、仮想マシン環境として、リンククローン方式で作成した仮想マシン環境が知られている（非特許文献１参照）。
【０００３】
しかしながら、仮想マシン環境においては、多数の仮想マシンが同時にウイルス対策ソフトの動作を行うと、前記物理サーバにおいて、通信経路を介した多数の情報の読み込みが行われる場合がある。そして、この読み込みにより、仮想マシンの処理スピードが低下することがある。この問題を、「ＶＳストーム」又は「アンチウイルスストーム」などということもある（非特許文献２参照）。
【０００４】
ここで、特許文献１は、仮想マシンのウイルス感染を検出すると、ＶＳで感染がないと判断されたスナップショットに基づいて復元された仮想ディスクの内容を、仮想ディスク記憶手段に格納する復元装置を開示する。
【０００５】
また、特許文献２は、正ボリューム内で更新されたファイルのみを検出し、更新されたファイルを格納するための更新ボリュームを作成して、更新ボリュームに対してＶＳを実行する計算機システムを開示する。
【０００６】
また、特許文献３は、前回チェック時に使用されたチェック手段とデータとの情報よりも、格納されている最新のチェック手段とそのチェックに使用する最新のデータの方が新しいと判断した場合のみチェックを実施する端末を開示する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１５−１５３２９８号公報
【特許文献２】特開２００９−８７０２３号公報
【特許文献３】特開２００７−２００１０２号公報
【非特許文献】
【０００８】
【非特許文献１】Ｗｏｒｋｓｔａｔｉｏｎユーザーマニュアル「仮想マシンのクローン作成、移動、および共有」、ＶＭｗａｒｅ社、［平成２８年１２月１２日検索］、インターネット（ｈｔｔｐ：／／ｖｍｗａｒｅ．ｃｏｍ／ｆｉｌｅｓ／ｊｐ／ｐｄｆ／ｗｓ７＿ｍａｎｕａｌ．ｐｄｆ）
【非特許文献２】ＶＤＩ環境の運用で陥りがちな３つの罠とは！？、ＺＤＮｅｔ  Ｊａｐａｎ、［平成２８年１２月１２日検索］、インターネット（ｈｔｔｐ：／／ｊａｐａｎ．ｚｄｎｅｔ．ｃｏｍ／ｅｘｔｒａ／ｔｍ＿ｄｓ＿ｈｉｔａｃｈｉ＿２０１２０３／３５０１４８５０／）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
［背景技術］の項において説明したように、リンククローン方式で作成した仮想マシン環境において、多数の仮想マシンが同時にウイルス対策ソフトの動作を行うと、物理サーバにおいて多数のリード要求が発行される。そのため、仮想マシンの処理スピードが低下する問題がある。
【００１０】
本発明は、ウイルススキャンによる仮想マシンの処理スピードの低下を抑え得る、仮想システム等の提供を目的とする。
【課題を解決するための手段】
【００１１】
本発明の仮想システムは、第一の判定部と、第二の判定部と、ウイルススキャン部とを備える。前記第一の判定部は、仮想マシンの記憶領域として割り当てられた仮想記憶装置に記録されたウイルススキャンの候補情報が、マスタ情報の一部及び前記一部からの作成が行われたもののいずれかを含むか、についての判定である第一の判定を行う。前記第二の判定部は、前記第一の判定の判定結果が、前記いずれかについて前記ウイルススキャンが行われたかについての判定である。前記ウイルススキャン部は、前記第二の判定結果が、前記被作成候補情報の前記ウイルススキャンが行われていないという内容である場合に、前記候補情報についての前記ウイルススキャンを行う。
【発明の効果】
【００１２】
本発明の仮想システムは、ウイルススキャンによる仮想マシンの処理スピードの低下を抑え得る。
【図面の簡単な説明】
【００１３】
【図１】第一実施形態の仮想システムの構成例を表す概念図である。
【図２】仮想マシンの構成例を表す概念図である。
【図３】メモリが保持する情報を表す概念図である。
【図４】記憶装置の構成例を表す概念図である。
【図５】記憶記憶部の仮想構成例を表す概念図である。
【図６】ＥＶ（エンティティボリューム）及びＣＶ（クローンボリューム）が保持するＶＳ関連情報を表す概念図である。
【図７】候補情報の例を表す概念図である。
【図８】既ＶＳ（ウイルススキャン）情報の例を表す概念図である。
【図９】ペア管理情報の例を表す概念図である。
【図１０】差分情報の例を表す概念図である。
【図１１】新たな仮想マシンが作られる際に記憶装置が行う処理の処理フロー例を表す概念図である。
【図１２】ＶＳ関連処理の処理フロー例を表す概念図である。
【図１３】ＶＳ判定処理の処理フロー例を表す概念図である。
【図１４】既ＶＳ情報の更新処理の処理フロー例を表す概念図である。
【図１５】仮想システムを表すイメージ図である。
【図１６】仮想マシン１００ａ関連動作を表すイメージ図である。
【図１７】仮想マシン１００ｂ関連動作を表すイメージ図である。
【図１８】第二実施形態のＥＶが保持する情報を表す概念図である。
【図１９】Ｓ１０４の処理を置き換える処理を表す概念図である。
【図２０】Ｓ２０７の処理を置き換える処理を表す概念図である。
【図２１】Ｓ２１２の処理を置き換える処理を表す概念図である。
【図２２】Ｓ３０４の処理を置き換える処理を表す概念図である。
【図２３】図１３に挿入する処理を表す概念図である。
【図２４】Ｓ４０３の処理とＳ４０４の処理の間に挿入する処理を表す概念図である。
【図２５】第二実施形態の記憶装置における既ＶＳ情報及びＶｅｒ管理情報の更新の様子を表すイメージ図である。
【図２６】本発明の最小限の仮想システムの構成を表すブロック図である。
【発明を実施するための形態】
【００１４】
＜第一実施形態＞
第一実施形態は、リンククローン方式により記憶装置作成される仮想システムに関する実施形態である。
［構成と動作］
図１は、第一実施形態の仮想システムの例である仮想システム１１０の構成を表す概念図である。
【００１５】
仮想システム１１０は、仮想マシン１００ａ乃至１００ｄと、ネットワーク１４０と、記憶装置１５０とを備える。
【００１６】
仮想マシン１００ａ乃至１００ｄのハードウェア構成は、１台又は複数のコンピュータ（サーバ等）である。仮想マシン１００ａ乃至１００ｄの各々は、仮想化された処理部と、仮想化されたメモリとを備える。当該処理部及び当該メモリは、ハードウェア構成としては、例えば、ＣＰＵ等の処理部とメモリである。ここで、ＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。
【００１７】
仮想マシン１００ａ乃至１００ｄの各々は、共通のＯＳ上で動作する。ここで、ＯＳは、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの略である。ＯＳは、例えば、記憶装置１５０に記録されている。
【００１８】
ネットワーク１４０は仮想化されたネットワークである。仮想マシン１００ａ乃至１００ｄの各々は、ネットワーク１４０を介して、当該各々の仮想記憶装置に接続されている。当該仮想記憶装置は、各仮想マシンの記憶装置として動作する、記憶装置１５０の仮想化された部分である。ネットワーク１４０は、例えばＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。
【００１９】
記憶装置１５０は、前述の仮想記憶装置を含む記憶部と記憶装置後述の各処理を行うための処理部とを備える。記憶装置１５０は、例えば、ディスクアレイ装置である。
【００２０】
なお、図１に表す仮想システム１１０は、記憶装置１５０に接続される仮想マシン数が４台であるが、第一実施形態の仮想システムが備える仮想マシンの数は任意である。
【００２１】
図２は、図１に表す仮想マシン１００ａ乃至１００ｄの各々の例である仮想マシン１００の構成を表す概念図である。
【００２２】
仮想マシン１００は、処理部１１１と、メモリ１１３とを備える。処理部１１１と、メモリ１１３は、前述の、仮想化された処理部と仮想化されたメモリである。
【００２３】
メモリ１１３は、仮想マシン１００が行う処理に関する情報の一部を保持する。当該情報の具体例は図３を参照して後述する。そして、メモリ１１３は、処理部１１１からの指示により、指示された情報を処理部１１１に送る。メモリ１１３は、処理部１１１からの指示により、指示された情報を記録する。
【００２４】
処理部１１１は、仮想マシン１００が行う各種処理を行う。当該処理には、仮想マシン１００の仮想記憶装置のウイルススキャンが含まれる。以下、「ウイルススキャン」を「ＶＳ」と表記することにする。ＶＳは、仮想記憶装置が保持する情報に含まれうるコンピュータウイルスを探索し、コンピュータウイルスが存在する場合にその存在の表示を行うものである。ＶＳは、上記に加えて、又は、前記表示に代えて、存在を検出したウイルスの除去を行うものであってもよい。
【００２５】
図３は、図２に表すメモリ１１３の例であるメモリ１１３ａが保持する情報を表す概念図である。
【００２６】
メモリ１１３ａは、ＶＳプログラム１３１と候補情報１３２とを保持する。
【００２７】
ＶＳプログラム１３１は、仮想マシン１００に、その仮想記憶装置のＶＳを実行させるプログラムである。ＶＳプログラム１３１は、前述のＯＳ上で動作する。
【００２８】
候補情報１３２は、ＶＳプログラム１３１が仮想マシン１００に前記ＶＳを行わせる対象ファイルの部分を指定する情報である。候補情報１３２は、ＶＳ対象ファイルが切り替わるたびに作り直される。候補情報１３２の例は図７を参照して後述する。
【００２９】
仮想マシン１００は、対象ファイルのＶＳを行う際に、候補情報１３２を作成し、メモリ１１３ａに保持する。そして、仮想マシン１００は、作成した候補情報１３２を記憶装置１５０に送付する。
【００３０】
記憶装置１５０は、仮想マシン１００から送られた候補情報１３２と、差分情報及び既ＶＳ情報１６２の情報より、対象ファイルについてのＶＳが必要かを判定する。差分情報及び既ＶＳ情報については後述する。
【００３１】
記憶装置１５０は、前記判定結果を、仮想マシン１００に送付する。
【００３２】
仮想マシン１００は、前記判定結果に従い、ＶＳを行い又は行わない。
【００３３】
図４は、図１に表す記憶装置１５０の構成例を表す概念図である。
【００３４】
記憶装置１５０は、記憶部１５３と処理部１５４とを備える。
【００３５】
記憶部１５３は、仮想マシン１００ａ乃至１００ｄの各々が行う処理に関する情報や記憶装置前述のマスタ情報を保持する。当該マスタ情報は、各仮想マシンが共通で利用する情報である。当該マスタ情報は、例えば、前述のＯＳに関する情報（以下、「ＯＳイメージ」という。）が含まれる。記憶部１５３が保持する情報のうちＶＳに関するものの例は、図６を参照して後述する。記憶部１５３は、仮想マシン１００ａ乃至１００ｄの各々からの指示により、指示された情報を仮想マシン１００ａ乃至１００ｄの各々に送る。記憶部１５３は、また、仮想マシン１００ａ乃至１００ｄの各々からの指示により、指示された情報を記録する。
【００３６】
処理部１５４は、記憶部１５３に関する処理を行う。当該処理は、例えば、記憶部１５３の領域の分割やＶＳを含む。以下、記憶領域を単に「領域」とも記す。当該分割した領域は、図５を参照して後述するエンティティボリューム（以下、「ＥＶ」と記す。）やクローンボリューム（以下、「ＣＶ」と記す。）である。前記処理には、例えば、後述の、既ＶＳ情報、ペア管理情報及び差分情報の、作成、初期化、更新等が含まれる。
【００３７】
なお、図４に表す処理部１５４は、必ずしも記憶部１５３の近傍にある必要はない。処理部１５４は、記憶部１５３と離れており、記憶部１５３との間で図示しない通信経路により接続されていても構わない。
【００３８】
図５は、図４に表す記憶部１５３の仮想構成例を表す概念図である。
【００３９】
記憶部１５３に記録される情報は、上位のＥＶ１７０と、その下位のＣＶ１７１ａ乃至１７１ｄとの２階層になるように仮想化されている。ＥＶと、ＣＶとの二階層になるのは、仮想マシンを前述のリンククローン方式により作成する場合の記憶部１５３の仮想構成のルールに従うためである。ＥＶ１７０は、マスタ情報を格納する。ＥＶ１７０は、当該マスタ情報については、仮想マシン１００ａ乃至１００ｄの各々の記憶装置として動作する。すなわち、ＥＶ１７０は、各仮想マシンからの指示によりマスタ情報の指示された部分を、指示した仮想マシンに送る。ＥＶ１７０は、前記マスタ情報に関しては、仮想マシン１００ａ乃至１００ｄの各々用の記憶装置の一部として動作する。
【００４０】
ＣＶ１７１ａ乃至１７１ｄの各々は図１に表す仮想マシン１００ａ乃至１００ｄの各々に対応している。そして、ＣＶ１７１ａ乃至１７１ｄの各々は対応している仮想マシン１００ａ乃至１００ｄの各々用の記憶装置の一部として動作する。
【００４１】
以下、ＥＶとあるＣＶとの組合せがある仮想マシンの記憶装置として動作することを、ＥＶと当該ＣＶとの組合せが当該仮想マシンの「仮想記憶装置」であると記す。
【００４２】
ここで、ＣＶ１７１ａ乃至１７１ｄの各々が、この順に、仮想マシン１００ａ乃至１００ｄの各々に対応している場合を想定する。その場合、ＣＶ１７１ａ乃至１７１ｄの各々は、この順に、仮想マシン１００ａ乃至１００ｄの各々が指示する情報を、仮想マシン１００ａ乃至１００ｄの各々に送る。また、ＣＶ１７１ａ乃至１７１ｄの各々は、この順に、仮想マシン１００ａ乃至１００ｄの各々が指示する情報を記録する。
【００４３】
図６は、ＥＶ１７０及びＣＶ１７１が保持するＶＳ関連情報を表す概念図である。ＥＶ１７０は図５に表すＥＶ１７０である。また、ＣＶ１７１は、図５に表すＣＶ１７１ａ乃至１７１ｄの各々である。
【００４４】
ＥＶ１７０は、既ＶＳ情報１６２と、ペア管理情報１６１とを保持する。ＥＶ１７０は、ＶＳ関連情報以外に、前述のマスタ情報を保持する。
【００４５】
既ＶＳ情報１６２は、図２に表す仮想マシン１００が、その仮想記憶装置であるＣＶに、前記マスタ情報についてＶＳを既に実行したかを表す情報である。既ＶＳ情報１６２の例は図８を参照して後述する。
【００４６】
ペア管理情報１６１は、図５に表すＥＶ１７０と図６に表すＣＶ１７１とのペア関係を表す情報である。ペア管理情報１６１の例は図９を参照して後述する。
【００４７】
ＣＶ１７１は、差分情報１６３を保持する。
【００４８】
差分情報１６３は、上述のマスタ情報ではない情報である差分の情報を表すものである。当該差分は、ＣＶ１７１が新たに作成された際には存在せず、その後のＣＶ１７１の利用等により保持した情報である。
【００４９】
記憶装置１５０は、新たにＣＶ１７１が作られた際にＥＶが保持する情報が格納された領域を表す領域情報を保持している。そして、記憶装置１５０は、当該領域情報以外の領域情報の領域に格納された情報を、差分であると判定する、その判定結果を差分情報１６３に格納する。記憶装置１５０は、当該判定結果として、例えば、差分情報１６３における、差分が格納されている領域に、差分が格納されていることを表す情報（例えば、値「１」）を格納する。
【００５０】
差分情報１６３の例は図１０を参照して後述する。
【００５１】
なお、図４に表す記憶装置１５０及び図６に表すＥＶ１７０、ＣＶ１７１のハードウェア構成は任意である。記憶装置１５０は、例えば、ＨＤＤ、ＳＤＤ及びメモリを備えていても構わない。ここで、ＨＤＤは、ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅの略である。また、ＳＤＤはＳｕｐｅｒ  Ｄｅｎｓｉｔｙ  Ｄｉｓｃの略である。
【００５２】
そして、既ＶＳ情報１６２、ペア管理情報１６１及び差分情報１６３は、メモリが保持しても構わない。一方、仮想記憶装置として格納する、各仮想マシンにより利用される情報は、ＨＤＤやＳＤＤが保持しても構わない。
【００５３】
図７は、図３に表す候補情報１３２の例を表す概念図である。図７に表す候補情報１３２は、ＢＡ番号とＬＶ番号との組合せで特定される領域ごとに、「０」、「１」及び「−」のいずれかの情報が格納されている。ここで、ＢＡ及びＬＶは、この順に、ＢｌｏｃｋＡｒｅａ及びＬｏｇｉｃａｌ  Ｖｏｌｕｍｅ（論理ボリューム）の略である。
【００５４】
ＬＶ番号により特定されるＬＶは、図５に表すＥＶ１７０及びＣＶ１７１ａ乃至１７１ｄの各々に割り当てられる記憶部１５３の領域である。また、ＢＡ番号により特定されるＢＡは、各ＬＶにおける分割された領域である。ＬＶ番号とＢＡ番号とを組み合わせることにより、記憶部１５３における領域が一つ特定される。上記は、図８乃至図１０においても同様である。なお、各ＬＶのＢＡによる分割数は任意である。
【００５５】
候補情報１３２において、「０」が格納された領域はＶＳの対象ではないことを表す。また、「１」が格納された領域はＶＳの対象であることを表す。また、「−」は、そもそもがＶＳの対象外であることを表す。
【００５６】
ここで、図７乃至図１０においては、ＬＶ＃０は、図５に表すＥＶ１７０に対応することが想定されているものとする。また、ＬＶ＃１乃至ＬＶ＃４は、この順に、ＣＶ１７１ａ乃至１７１ｄに対応することが想定されているものとする。その場合、図７に表す候補情報１３２は、ＬＶ＃１であるＣＶ１７１ａのＢＡ＃３及び＃４についてＶＳ対象であることを表す。ＬＶ＃１以外のＬＶについて「−」が格納されているのは、当該仮想マシン１７０は、これらのＥＶやＣＶについてのＶＳを行えないためである。ＶＳを行えない理由は、これらのＬＶが表すＥＶやＣＶは、ＣＶ１７１ａを仮想記憶装置とする仮想マシン１７０の仮想記憶装置ではないためである。
【００５７】
このように、図７に表す候補情報１３２はＢＡとＬＶの組合せごとにＶＳを行うか否かの情報を管理するとしている。
【００５８】
候補情報は、図７に表す候補情報１３２の他に、ＢＡに代えてＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）を用いたものでも構わない。候補情報は、また、ＯＳ上でのＡｌｌｏｃａｔｉｏｎ  Ｕｎｉｔ  Ｓｉｚｅ、又はＣＶ１７１の差分管理単位を用いたものでも構わない。
【００５９】
また、図７に表す候補情報１３２は、図５に表す記憶部１５３の全範囲をカバーし得る領域情報であるが、これは一つの例である。例えば、候補情報１３２により使用されるメモリ量を減らすために、ＶＳ対象のファイルを格納する最小の番号のＢＡＤと最大の番号のＢＡＤの間の領域情報を作成する方法も想定され得る。ここで、ＢＡＤはＢｌｏｃｋ  Ａｄｄｒｅｓｓの略である。ＢＡＤは、Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓｉｎｇにより、記憶媒体にアクセスできる単位（セクタ）すべてに付与された通し番号のアドレスである。そして、その作成した領域情報を「開始ＢＡＤ」及び「有効ＢＡＤ長」と組み合わせて、候補情報１３２として管理する方法も想定され得る。
【００６０】
これらについては、以下の各図を参照して説明する他の情報についても同様である。
【００６１】
図８は、図６に表す既ＶＳ情報１６２の例を表す概念図である。
【００６２】
既ＶＳ情報１６２は、ＢＡ番号とＬＶ番号との組合せで特定される領域ごとに、「０」、「１」及び「−」のいずれかの情報が格納されている。
【００６３】
「０」が格納された領域は、当該領域に格納された情報（マスタ情報の一部）について、記憶装置仮想マシンによるＶＳが未実施であることを表す。
【００６４】
また、「１」が格納された領域は、当該領域に格納された情報（マスタ情報の一部）記憶装置仮想マシンによるＶＳが既に実施されたことを表す。
【００６５】
また、「−」が格納された領域はそもそも数字を格納する対象外であることを表す。ＬＶ＃１乃至ＬＶ＃４について「−」が格納されているのは、既ＶＳ情報はＬＶ＃０が割り当てられたＥＶ１７０（図５、図６参照）のみに関する情報だからである。
【００６６】
図８に表す既ＶＳ情報１６２は、ＬＶ＃０のＢＡ＃３及び＃４の領域については、当該領域に格納されているマスタ情報について、いずれかのＣＶにおいてＶＳが既に実施されたことを表す。
【００６７】
図９は、図６に表すペア管理情報１６１の例を表す概念図である。
【００６８】
図９に表すペア管理情報１６１においては、ＬＶ番号ごとに、属性とペアＬＶ番号が格納されている。属性は、ＥＶかＣＶかの別である。ペアＬＶ番号は、そのＬＶ番号が結びつけられている上位のＬＶのＬＶ番号である。ペア管理情報に複数のＥＶが含まれる場合も想定されるので、各ＣＶとＥＶとの紐付けを行うのである。
【００６９】
図９に表すペア管理情報１６１は、ＬＶ＃０がＥＶに割り当てられていることを表す。また、図９に表すペア管理情報１６１は、ＬＶ＃１乃至４が、いずれもＣＶであり上位のＬＶ＃１と結びつけられていることを表す。
【００７０】
図１０は、図６に表す差分情報１６３の例を表す概念図である。
【００７１】
図１０に表す差分情報１６３は、ＢＡ番号とＬＶ番号との組合せで特定される領域ごとに、「０」、「１」及び「−」のいずれかの情報が格納されている。「０」が格納された領域は、前述の差分が格納されていないことを表す。また、「１」が格納された領域は差分が格納されていることを表す。また、「−」は、そもそも差分格納の対象外であることを表す。
【００７２】
差分情報１６３において、ＬＶ＃１にのみ数字が格納されているのは、差分情報１６３がＣＶ１７１ａが保持する差分情報であることを表す。
【００７３】
次に、図８乃至図１０を参照して、図２に表す仮想マシン１００が行う動作を説明する。
【００７４】
図１に表す仮想システム１１０は、仮想システム１１０の管理者等により新たな仮想マシン（仮想マシン１００Ｎ）の作成（追加）指示を受けたとする。
【００７５】
すると、仮想システム１１０は仮想マシン１００Ｎを作成するとともに、仮想マシン１００Ｎの仮想記憶装置であるＣＶＮの作成指示を記憶装置１５０に対して生成する。当該ＣＶＮ作成指示には、前述のマスタ情報が格納されたＥＶ及びＣＶＮを指定する情報が含まれる。
【００７６】
記憶装置１５０は、前記ＣＶＮ作成指示により、ＣＶＮを作成する。
【００７７】
記憶装置１５０は、また、図９に表すペア管理情報１６１の設定を行う。当該設定は、ＣＶＮについての、ＬＶ番号、属性及びペアＬＶ番号の組合せの追加である。属性にはＣＶＮの属性がＣＶである旨が格納される。ペアＬＶ番号には、ＣＶＮと組み合わされるＥＶのＬＶ番号が格納される。
【００７８】
記憶装置１５０は、また、前記ＣＶ作成指示により、差分情報１６３の初期化を行う。当該初期化は、ＣＶＮに割り当てられたＬＶについての値「０」の格納である。
【００７９】
記憶装置１５０は、また、前記ＣＶ作成指示により、既ＶＳ情報１６２の初期化を行う。ただし当該初期化は、ＣＶＮが紐付けられるＥＶにとり、ＣＶとの紐付けが初めての場合にのみ行われる。前記初期化はＥＶに割り当てられたＬＶ＃０についての、値「０」の格納である。以上でＣＶＮ作成時の処理は終了する。
【００８０】
この時点で、ＣＶＮが保持する情報とＥＶが保持するマスタ情報とは同一になる。
【００８１】
以降、前記新仮想マシンは、利用者により、ＣＶＮに、前記新仮想マシン作成時にはない情報を記録（追加）させることが想定される。
【００８２】
新規ＣＶは、当該追加を行った場合は、図１０に表す差分情報１６３の所定の領域に値「１」を格納する。
【００８３】
ここで、図２に表す仮想マシン１００が、仮想マシン１００が扱うファイルに対してＶＳを実施したとする。その際に当該ファイルがマスタ情報の一部である場合が想定される。その場合、仮想マシン１００は、当該一部が既にＶＳを受けているかを、既ＶＳ情報１６２により判定する。そして、仮想マシン１００は、当該一部のＶＳがいずれのＣＶにおいても未実施であることを判定した場合のみ、前記ファイルについてＶＳを行う。
【００８４】
そして、仮想マシン１００は、ＶＳを行った前記ファイルのＣＶ１７１における格納領域を表す情報を、図４に表す記憶装置１５０の処理部１５４に送る。
【００８５】
そして、処理部１５４は、ＥＶ１７０が保持する既ＶＳ情報１６２において、ＶＳを行ったファイルのＥＶ上の格納領域に値「１」を格納する。
【００８６】
なお、図７乃至図１０においては、各情報を表形式で表示しているが、これは単に説明の容易さを考慮してのものである。各情報は、通常は、表形式ではなく情報列である。
［処理フロー］
図１１は、図１、図４及び図５に表す記憶装置１５０が、新たな仮想マシンが作られる際に行う処理の処理フロー例を表す概念図である。
【００８７】
記憶装置１５０は、例えば、図１に表す仮想システム１１０の電源のオン及びＯＳの起動により、図１１に表す処理を開始する。
【００８８】
そして、記憶装置１５０は、Ｓ１０１の処理として、外部からＣＶ作成指示を受けたかについての判定を行う。ＣＶ作成指示は、例えば、図１に表す仮想システム１１０の利用者や管理者が、仮想システム１１０の備える図示しない端末により記憶装置１５０に対し入力する、新たな仮想マシンの作成指示である。
【００８９】
記憶装置１５０は、Ｓ１０１の処理による判定結果がｙｅｓの場合は、Ｓ１０２の処理を行う。
【００９０】
一方、記憶装置１５０は、Ｓ１０１の処理による判定結果がｎｏの場合は、Ｓ１０１の処理を再度行う。
【００９１】
記憶装置１５０は、Ｓ１０２の処理を行う場合は、同処理として、図６に表すペア管理情報１６１を更新する。当該更新は、ペア管理情報１６１に、新たに作られるＣＶ（ＣＶＮ）の情報が追加されることにより行われる。ＣＶＮは、新たに作られる仮想マシン仮想記憶装置として作られるものである。
【００９２】
ペア管理情報１６１が図９に表すものである場合には、ＣＶＮに割り当てられるＬＶのＬＶ番号と、「ＣＶ」という属性と、ＣＶＮが紐付けられるＥＶに割り当てられたＬＶのＬＶ番号との組合せが、ペア管理情報１６１に追加される。
【００９３】
次に、記憶装置１５０は、Ｓ１０３の処理として、Ｓ１０２の処理により行う更新が、前記ＥＶにとり、初めてのペア設定を含む内容の更新かについての判定を行う。当該ペア設定は、ＥＶとＣＶとの上述の紐付けである。
【００９４】
記憶装置１５０は、Ｓ１０３の処理による判定結果がｙｅｓの場合は、Ｓ１０４の処理を行う。
【００９５】
一方、記憶装置１５０は、Ｓ１０３の処理による判定結果がｎｏの場合は、Ｓ１０５の処理を行う。
【００９６】
記憶装置１５０は、Ｓ１０４の処理を行う場合は、同処理として、図６に表す既ＶＳ情報１６２の初期化を行う。既ＶＳ情報１６２が図８に表すものである場合は、当該初期化は、すべてのＢＡ番号とＬＶ番号との組合せについて初期状態であることを表す「０」を格納する処理である。
【００９７】
そして、記憶装置１５０は、Ｓ１０５の処理を行う。
【００９８】
記憶装置１５０は、Ｓ１０５の処理を行う場合は、同処理として、図１１に表す処理を終了するかについての判定を行う。記憶装置１５０は、当該判定を、例えば、外部からの終了情報の入力の有無により行う。当該終了情報は、例えば、図１に表す仮想システム１１０の電源オフやＯＳの終了によるものである。
【００９９】
記憶装置１５０は、Ｓ１０５の処理による判定結果がｙｅｓの場合は、図１１に表す処理を終了する。
【０１００】
一方、記憶装置１５０は、Ｓ１０５の処理による判定結果がｎｏの場合は、Ｓ１０１の処理を再度行う。
【０１０１】
図１２は、図２に表す仮想マシン１００が行う、ＶＳ関連処理の処理フロー例を表す概念図である。
【０１０２】
仮想マシン１００は、例えば、外部からの図３に表すＶＳプログラム１３１の起動指示により図１２に表す処理を開始する。
【０１０３】
そして、仮想マシン１００は、Ｓ２０１の処理として、ＶＳプログラム１３１の起動を行う。
【０１０４】
そして、仮想マシン１００は、Ｓ２０２の処理として、仮想マシン１００が図１に表す記憶装置１５０に記録させたファイルのうち、後述のＳ２０４の処理をまだ行っていないファイルがあるかについての判定を行う。ここで、あるファイルについて後述のＳ２０４の処理を行った場合には、仮想マシン１００は、当該ファイルについてＳ２０４の処理を行ったことの記録を記憶装置１５０に行わせることを前提としている。
【０１０５】
仮想マシン１００は、Ｓ２０２の処理による判定結果がｙｅｓの場合は、Ｓ２０３の処理を行う。
【０１０６】
一方、仮想マシン１００は、Ｓ２０２の処理による判定結果がｎｏの場合は、Ｓ２１３の処理を行う。
【０１０７】
仮想マシン１００は、Ｓ２０３の処理を行う場合は、同処理として、Ｓ２０２の処理によりＳ２０４の処理を行っていないことを判定したファイルの一つを特定する。
【０１０８】
そして、仮想マシン１００は、Ｓ２０４の処理として、Ｓ２０３の処理により特定したファイルの情報について、図３に表す候補情報１３２を作成する。
【０１０９】
そして、仮想マシン１００は、Ｓ２０５の処理として、図１に表す記憶装置１５０に対して、Ｓ２０４の処理により作成した候補情報１３２によるＶＳ判定処理を指示する。当該指示に係る指示情報には、Ｓ２０４の処理により作成した候補情報１３２が含まれる。当該ＶＳ判定処理の内容は、図１３を参照して後述する。
【０１１０】
そして、仮想マシン１００は、Ｓ２０５−２の処理として、記憶装置１５０からＶＳ判定結果の送付を受けたかについての判定を行う。
【０１１１】
仮想マシン１００は、Ｓ２０５−２の処理による判定結果がｙｅｓの場合は、Ｓ２０６の処理を行う。
【０１１２】
一方、仮想マシン１００は、Ｓ２０５−２の処理による判定結果がｎｏの場合は、Ｓ２０５−２の処理を再度行う。
【０１１３】
仮想マシン１００は、Ｓ２０６の処理を行う場合は、同処理として、Ｓ２０５−２の処理により受けたことを判定したＶＳ判定結果が「ＶＳ不要」かの判定を行う。
【０１１４】
仮想マシン１００は、Ｓ２０６の処理による判定結果がｙｅｓの場合は、Ｓ２１３の処理を行う。
【０１１５】
一方、仮想マシン１００は、Ｓ２０６の処理による判定結果がｎｏの場合は、Ｓ２０７の処理を行う。
【０１１６】
仮想マシン１００は、Ｓ２０７の処理を行う場合は、同処理として、Ｓ２０４の処理により作成した候補情報１３２に指定された領域のうちＶＳが未実施の領域についてのＶＳを、ＶＳプログラム１３１により行う。当該未実施の領域は、後述の図１３に表すＳ３０８の処理により記憶装置１５０から送付される。
【０１１７】
そして、仮想マシン１００は、Ｓ２１１の処理として、Ｓ２０５−２の処理により受けたことを判定したＶＳ判定結果が「第一ＶＳ」かの判定を行う。
【０１１８】
仮想マシン１００は、Ｓ２１１の処理による判定結果がｎｏの場合は、Ｓ２１２の処理を行う。
【０１１９】
一方、仮想マシン１００は、Ｓ２１１の処理による判定結果がｙｅｓの場合は、Ｓ２１３の処理を行う。
【０１２０】
仮想マシン１００は、Ｓ２１２の処理を行う場合は、同処理として、記憶装置１５０に対し、図６に表す既ＶＳ情報１６２の更新処理を指示する。当該指示には、仮想マシン１００がＳ２０７の処理によりＶＳを行った、仮想マシン１００の仮想記憶装置であるＣＶの領域を表す情報が含まれる。
【０１２１】
前記更新は、Ｓ２０７の処理によりＶＳを行った、候補情報１３２に特定された領域について、ＶＳ済みである旨を表す情報に書き換える処理である。当該書換え処理は、既ＶＳ情報１６２が図８に表すものである場合には、「０」が格納されている領域を「１」に書き換える処理である。
【０１２２】
そして、仮想マシン１００は、Ｓ２１３の処理を行う。
【０１２３】
仮想マシン１００は、Ｓ２１３の処理を行う場合は、同処理として、図１２に表す処理を終了するかについての判定を行う。仮想マシン１００は、当該判定を、外部からの終了情報の入力の有無を判定することにより行う。当該終了情報は、例えば、ＶＳプログラム１３１の終了指示である。
【０１２４】
仮想マシン１００は、Ｓ２１３の処理による判定結果がｙｅｓの場合は、Ｓ２１４の処理を行う。
【０１２５】
一方、仮想マシン１００は、Ｓ２１３の処理による判定結果がｎｏの場合は、前述のＳ２０２の処理を再度行う。
【０１２６】
仮想マシン１００は、Ｓ２１４の処理を行う場合は、図３に表すＶＳプログラム１３１を動作終了させる。
【０１２７】
そして、仮想マシン１００は、図１２に表す処理を終了する。
【０１２８】
図１３は、図１に表す記憶装置１５０が行う、ＶＳ判定処理の処理フロー例を表す概念図である。記憶装置１５０が図４に表すものである場合には、図１３に表す処理は、処理部１５４により行われる。
【０１２９】
図１３に表す処理は、図１２に表すＳ２０４の処理により仮想マシン１００が作成した候補情報１３２において、ＶＳの対象であることが表された対象領域について行われるものである。当該対象領域は、図７に表す候補情報１３２においては、「１」が格納された領域である。
【０１３０】
記憶装置１５０は、例えば、図１に表す仮想システム１１０の電源のオン及びＯＳの起動により、図１３に表す処理を開始する。
【０１３１】
そして、記憶装置１５０は、Ｓ３０１の処理として、図２に表す仮想マシン１００からＶＳ判定処理の指示があったかについての判定を行う。当該指示は図１２に表すＳ２０５の処理により、仮想マシン１００が記憶装置１５０に送付するものである。
【０１３２】
記憶装置１５０は、Ｓ３０１の処理による判定結果がｙｅｓの場合は、Ｓ３０２の処理を行う。
【０１３３】
一方、記憶装置１５０は、Ｓ３０１の処理による判定結果がｎｏの場合は、Ｓ３０１の処理を再度行う。
【０１３４】
記憶装置１５０は、Ｓ３０２の処理を行う場合は、同処理として、図６に表す差分情報１６３を、記憶装置１５０の、仮想マシン１００の仮想記憶装置であるＣＶから読み込む。
【０１３５】
そして、記憶装置１５０は、Ｓ３０３の処理として、Ｓ３０２の処理により読み込んだ差分情報１６３における前記対象領域に、差分があるかについての判定を行う。当該差分は、当該ＣＶが新たに作られた時点で当該ＣＶが保持する情報以外の、当該ＣＶが保持する情報である当該差分は、差分情報１６３が図１０に表すものである場合には、値「１」が格納された領域である。
【０１３６】
記憶装置１５０は、Ｓ３０３による判定結果がｙｅｓの場合は、Ｓ３０６の処理を行う。
【０１３７】
一方、記憶装置１５０は、Ｓ３０３による判定結果がｎｏの場合は、Ｓ３０４の処理を行う。
【０１３８】
記憶装置１５０は、Ｓ３０４の処理を行う場合は、同処理として、既ＶＳ情報１６２を記憶装置１５０のＥＶから読み込む。
【０１３９】
そして、記憶装置１５０は、Ｓ３０５の処理として、前述の対象領域のすべてについて既ＶＳ情報１６２においてＶＳ実施済みと判定されているかについての判定を行う。当該判定は、図８に表す既ＶＳ情報１６２においては、「１」が格納されているかについての判定である。
【０１４０】
記憶装置１５０は、Ｓ３０５の処理による判定結果がｙｅｓの場合は、Ｓ３０７の処理を行う。
【０１４１】
一方、記憶装置１５０は、Ｓ３０５の処理による判定結果がｎｏの場合は、Ｓ３０８の処理を行う。
【０１４２】
記憶装置１５０は、Ｓ３０６の処理を行う場合は、「第一ＶＳ」の判定結果を、仮想マシン１００に送付する。「第一ＶＳ」は、ＥＶに格納されたマスタ情報ではないＣＶに格納された情報に対して行うＶＳである。
【０１４３】
また、記憶装置１５０は、Ｓ３０７の処理を行う場合は、「ＶＳ不要」の判定結果を、仮想マシン１００に送付する。
【０１４４】
また、記憶装置１５０は、Ｓ３０８の処理を行う場合は、同処理として、「第二ＶＳ」の判定結果を、仮想マシン１００に送付する。「第二ＶＳ」はＥＶに格納されたマスタ情報に対して行うＶＳである。記憶装置１５０は、「第二ＶＳ」の判定結果を仮想マシン１００に送付する際には、既ＶＳ情報１６２においてＶＳ済みとされていない領域を特定する情報を、仮想マシン１００に送付する。
【０１４５】
記憶装置１５０は、Ｓ３０６乃至Ｓ３０８の処理のいずれかを行った場合には、Ｓ３０９の処理を行う。
【０１４６】
記憶装置１５０は、Ｓ３０９の処理を行う場合は、同処理として、図１３に表す処理を終了するかについての判定を行う。記憶装置１５０は、当該判定を、例えば、外部からの終了情報の入力の有無により行う。当該終了情報は、例えば、図１に表す仮想システム１１０の電源オフやＯＳの終了によるものである。
【０１４７】
記憶装置１５０は、Ｓ３０９の処理による判定結果がｙｅｓの場合は、図１３に表す処理を終了する。
【０１４８】
一方、記憶装置１５０は、Ｓ３０９の処理による判定結果がｎｏの場合は、Ｓ３０１の処理を再度行う。
【０１４９】
図１４は、図１に表す記憶装置１５０が行う、既ＶＳ情報１６２の更新処理の処理フロー例を表す概念図である。図１４に表す処理は、記憶装置１５０が図２に表すものである場合には、処理部１１１が行う処理である。
【０１５０】
記憶装置１５０は、まず、Ｓ４０１の処理として、図２に表す仮想マシン１００から、既ＶＳ情報１６２の更新指示を受けたかについての判定を行う。当該更新指示は、図１２に表すＳ２１２の処理により、仮想マシン１００が記憶装置１５０に対して行う指示である。前述のように当該指示には、仮想マシン１００が図１２に表すＳ２０７の処理によりＶＳを行った、仮想マシン１００の仮想記憶装置であるＣＶの領域を表す情報が含まれる。
【０１５１】
記憶装置１５０は、Ｓ４０１の処理による判定結果がｙｅｓの場合は、Ｓ４０２の処理を行う。
【０１５２】
一方、記憶装置１５０は、Ｓ４０１の処理による判定結果がｎｏの場合は、Ｓ４０１の処理を再度行う。
【０１５３】
記憶装置１５０は、Ｓ４０２の処理を行う場合は、同処理として、Ｓ４０１の処理により受けたことを判定した更新指示に含まれる情報から、既ＶＳ情報１６２における更新すべき更新領域を特定する。当該情報は、前記既ＶＳを表す情報である。前記更新領域は、前記既ＶＳ領域に格納されている情報が格納されたＥＶの領域である。
記憶装置  次に、記憶装置１５０は、Ｓ４０３の処理として、前記更新領域にＶＳ済みを表す情報を格納する。既ＶＳ情報１６２が図８に表すものである場合には、ＶＳ済みを表す当該情報は、値「１」である。
【０１５４】
そして、記憶装置１５０は、Ｓ４０４の処理として、図１４に表す処理を終了するかについての判定を行う。記憶装置１５０は、当該判定を、例えば、外部からの終了情報の入力の有無により行う。当該終了情報は、例えば、図１に表す仮想システム１１０の電源オフやＯＳの終了によるものである。
【０１５５】
記憶装置１５０は、Ｓ４０４の処理による判定結果がｙｅｓの場合は、図１４に表す処理を終了する。
【０１５６】
一方、記憶装置１５０は、Ｓ４０４の処理による判定結果がｎｏの場合は、Ｓ４０１の処理を再度行う。
［具体例］
まず、図１５乃至図１７を参照して、一台の仮想マシンが行うＶＳにより他の仮想マシンのＶＳが不要になる例を説明する。
【０１５７】
図１５は、仮想マシン１００ａ、１００ｂと記憶装置１５０とを備える仮想システム１１０を表すイメージ図である。なお、以下の説明において参照する図においてＡ乃至Ｆで表される情報列は、前述のＢＡ番号を表す。
【０１５８】
記憶装置１５０は、ＥＶ１７０とＣＶ１７１ａ、１７１ｂとを備える。ＣＶ１７１ａ、１７１ｂは、この順に、仮想マシン１００ａ、１００ｂの仮想記憶装置である。
【０１５９】
ＥＶ１７０は既ＶＳ情報１６２を、ＣＶ１７１ａは差分情報１６３ａを、ＣＶ１７１ｂは差分情報１６３ｂを、それぞれ、保持している。
【０１６０】
図１６は、図１５に表す仮想システム１１０において行われる仮想マシン１００ａ関連の動作を表すイメージ図である。
【０１６１】
まず、仮想マシン１００ａは、図１２に表すＳ２０３の処理により、ｔｅｓｔ１．ｄａｔというファイルを特定したとする。
【０１６２】
すると、仮想マシン１００ａは、Ｓ２０４の処理により、ｔｅｓｔ１．ｄａｔが格納されたＣＶ１７１ａの領域を特定し、候補情報１３２ａを作成する。候補情報１３２ａは、ＢＡ番号がＢ及びＣにｔｅｓｔ１．ｄａｔが格納されていることを表すものである。
【０１６３】
そして、仮想マシン１００ａは、Ｓ２０５の処理により、ＶＳ判定処理を記憶装置１５０に指示する。当該指示に係る指示情報には候補情報１３２ａが含まれる。
【０１６４】
記憶装置１５０は、当該指示を受けて、ＣＶ１７１ａが保持する差分情報１６３ａを読み込む（Ｓ３０２）。
【０１６５】
そして、記憶装置１５０は、仮想マシン１００ａから送られた候補情報１３２ａにより候補であるとされた領域（値「１」の領域）に、差分情報１６３ａにおいて差分があるとされたもの（値「１」のもの）があるかを判定する（図１３に表すＳ３０３）。そして、記憶装置１５０は、当該判定により、そのような差分がないと判定する（Ｓ３０３のｎｏ）。
【０１６６】
次に、記憶装置１５０は、既ＶＳ情報１６２をＥＶ１７０から読み込む（Ｓ３０４）。
【０１６７】
そして、記憶装置１５０は、仮想マシン１００ａから送られた候補情報１３２ａにより候補であるとされた領域（値「１」のもの）のすべてが、既ＶＳ情報１６２により既ＶＳであるとされている（値「１」である）かの判定を行う（Ｓ３０５）。そして、記憶装置１５０は、上記を満たさないことを判定する（Ｓ３０５のｎｏ）。
【０１６８】
そして、記憶装置１５０は、第二ＶＳの判定結果を仮想マシン１００ａに送付する（Ｓ３０８）。
【０１６９】
その結果、仮想マシン１００ａは、図１２に表すＳ２０５−２のｙｅｓ及びＳ２０６の処理によるｎｏの判定を通じて、候補情報１３２ａにおいて候補とされた値「１」が格納された領域についてのＶＳを行う（Ｓ２０７）。
【０１７０】
そして、仮想マシン１００ａは、Ｓ２１１の処理によるｎｏの判定を通じて、記憶装置１５０に対し既ＶＳ情報１６２の更新指示を行う（Ｓ２１２）。
【０１７１】
当該更新指示を受けて、記憶装置１５０は、ＥＣ１７０が保持する既ＶＳ情報１６２の更新を行う（図１４に表すＳ４０１のｙｅｓ、Ｓ４０２、Ｓ４０３）。より具体的には、記憶装置１５０は、図１６に表す既ＶＳ情報１６２のＡ、Ｅ及びＦのＢＡ番号の領域に格納された値「０」を値「１」に置き換える。
【０１７２】
そして、仮想システム１１０はｔｅｓｔ１．ｄａｔに関するＶＳ処理を終了し、次のＶＳ候補ファイルがある場合には、当該対象ファイルについて次のＶＳの検討を行う。
【０１７３】
図１７は、図１６に表す処理が完了した後に、図１５に表す仮想システム１１０において行われる仮想マシン１００ｂ関連の動作を表すイメージ図である。
【０１７４】
ここで、仮想マシン１００ｂは、図１２に表すＳ２０３の処理により、ｔｅｓｔ１．ｄａｔというファイルを特定したとする。
【０１７５】
すると、仮想マシン１００ｂは、Ｓ２０４の処理により、ｔｅｓｔ１．ｄａｔが格納されたＣＶ１７１ｂの領域を特定し、候補情報１３２ｂを作成する。
【０１７６】
そして、仮想マシン１００ｂは、Ｓ２０５の処理により、ＶＳ判定処理を記憶装置１５０に指示する。当該指示に係る指示情報には候補情報１３２ｂが含まれる。
【０１７７】
記憶装置１５０は、当該指示を受けて、ＣＶ１７１ｂが保持する差分情報１６３ｂを読み込む（Ｓ３０２）。
【０１７８】
そして、記憶装置１５０は、仮想マシン１００ｂから送られた候補情報１３２ｂにより候補であるとされた領域（値「１」の領域）に、差分情報１６３ｂにおいて差分があるとされたもの（値「１」のもの）があるかを判定する（図１３に表すＳ３０３）。そして、記憶装置１５０は、当該判定により、そのような差分がないと判定する（Ｓ３０３のｎｏ）。
【０１７９】
次に、記憶装置１５０は、既ＶＳ情報１６２をＥＶ１７０から読み込む（Ｓ３０４）。
【０１８０】
そして、記憶装置１５０は、仮想マシン１００ｂから送られた候補情報１３２ｂにより候補であるとされた領域（値「１」のもの）が、既ＶＳ情報１６２により既ＶＳであるとされた領域（値「１」のもの）であるかについての判定を行う（Ｓ３０５）。そして、記憶装置１５０は、Ａ、Ｅ及びＦの番号のＢＡにおいて、当該領域があることを判定する。（Ｓ３０５のｙｅｓ）。
【０１８１】
そして、記憶装置１５０は、「ＶＳ不要」の判定結果を仮想マシン１００ｂに送付する（Ｓ３０７）。
【０１８２】
その結果、仮想マシン１００ｂは、図１２に表すＳ２０５−２のｙｅｓ及びＳ２０６の処理によるｙｅｓの判定を通じて、ＶＳを行わない。
【０１８３】
そして、仮想システム１１０はｔｅｓｔ１．ｄａｔに対するＶＳ処理を終了し、次のＶＳの候補ファイルがある場合には、当該候補ファイルについて、次のＶＳの検討を行う。
【０１８４】
以上図１５乃至図１７を参照して説明したように、図１５乃至図１７に表す場合は、仮想マシン１００ａが行うＶＳにより仮想マシン１００ｂが行うＶＳが不要になる。
【０１８５】
以上説明したように、記憶装置１５０は、ある仮想マシン１７０がマスタ情報についてＶＳを行った場合には、ＶＳ済みである旨の情報を、ＥＶが保持する既ＶＳ情報１６２に格納する（図１２のＳ２１２及び図１４のＳ４０２、Ｓ４０３）。記憶装置記憶装置そして、仮想マシン１７０は、前記マスタ情報の一部についてＶＳを行おうとする際には、既ＶＳ情報１６２によりＶＳを行おうとする情報がいずれの仮想マシン１７０によってもＶＳ済みでないと判定される場合のみＶＳを行う。そのため、仮想システム１１０は、ＶＳの実行回数を削減し得る。
［効果］
仮想システム１１０は、各仮想マシンが、その仮想マシンの生成時にマスタ情報からコピーされたコピー情報についてＶＳを行った場合には、当該ＶＳを行った情報のコピー元情報について、ＶＳ済みである旨の情報を記録させる。そして、仮想システム１１０は、各仮想マシンが、コピー情報についてＶＳを行おうとする際には、ＶＳを行おうとするコピー情報の元情報のコピー情報がいずれの仮想マシンによってもＶＳ済みでない場合のみＶＳを行う。そのため、仮想システム１１０は、ＶＳの実行回数を削減し得る。
＜第二実施形態＞
第二実施形態は、ＶＳプログラムのバージョンアップに対応し得る仮想システムに関する実施形態である。
【０１８６】
第二実施形態の仮想システムは、以下の説明を除いて、第一実施形態の仮想システムと同じである。ただし、以下の説明と第一実施形態における説明とが矛盾する場合には、以下の説明を優先する。
【０１８７】
図１８は、第二実施形態のＥＶの例であるＥＶ１７０が保持する情報を表す概念図である。
【０１８８】
第二実施形態のＥＶ１７０は、図６に表す第一実施形態のＥＶ１７０が保持する情報に加えて、Ｖｅｒ管理情報１６４を備える。ここで、ＶｅｒはＶｅｒｓｉｏｎの略である。
【０１８９】
Ｖｅｒ管理情報１６４は、ＥＶの領域ごとに格納された、各領域が既ＶＳである場合の当該ＶＳを仮想マシン１００に行わせたＶＳプログラム１３１のバージョン（Ｖｅｒ）情報である。Ｖｅｒ管理情報１６４の例は、図２５を参照して後述する。
【０１９０】
図２に表す仮想マシン１００は、図１２に表すＳ２０５の処理によるＶＳ判定処理の指示の際に、図３に表すＶＳプログラム１３１が備えるウイルスパターン定義ファイルのＶｅｒを、図１に表す記憶装置１５０に送付する。仮想マシン１００は、また、図１２に表すＳ２１２の処理による既ＶＳ情報の更新指示の際にも、ＶＳプログラム１３１が持つウイルスパターン定義ファイルのＶｅｒを、記憶装置１５０に送付する。記憶装置１５０は、仮想マシン１００から送付を受けた当該ＶｅｒをＶｅｒ管理情報１６４として保持する。
【０１９１】
第二実施形態の記憶装置１５０が新たな仮想マシンが作られる際に行う処理の処理フロー例は、図１１に表すＳ１０４の処理を図１９に表す処理で置き換えたものである。
【０１９２】
図１９は、図１１に表すＳ１０４の処理を置き換える処理を表す概念図である。
【０１９３】
記憶装置１５０は、図１１に表すＳ１０３のｙｅｓの次にＳ１０４ｂの処理を行う。
【０１９４】
記憶装置１５０は、Ｓ１０４ｂの処理を行う場合は、同処理として、既ＶＳ情報１６２を初期化する際にＶｅｒ管理情報１６４を初期化する。当該初期化は、例えば、まだどの定義ファイルでもウイルススキャンが行われていないことを表す値「ＮＵＬＬ」の、Ｖｅｒ管理情報１６４の各領域への格納である。上記以外のＳ１０４ｂの処理の説明は、図１１に表すＳ１０４の処理の説明と同じである。
【０１９５】
記憶装置１５０は、Ｓ１０４ｂの処理の次に、図１１に表すＳ１０５の処理を行う。
【０１９６】
第二実施形態の仮想マシン１００が行う、ＶＳ関連処理の処理フロー例は、図１２に表すＳ２０７の処理を図２０に表す処理により、また、Ｓ２１２の処理を図２１に表す処理により、それぞれ、置き換えたものである。
【０１９７】
図２０は、Ｓ２０７の処理を置き換える処理を表す概念図である。
【０１９８】
仮想マシン１００は、図１２に表すＳ２０６のｎｏの次に、Ｓ２０７ｂの処理を行う。
【０１９９】
仮想マシン１００は、Ｓ２０７ｂの処理を行う場合は、同処理として、Ｓ２０４の処理により作成した候補情報１３２に指定された領域の少なくとも一部についてのＶＳをＶＳプログラム１３１により行う。当該少なくとも一部は、前記領域のうち、ＶＳが未実施であるか、旧ＶｅｒのＶＳプログラム１３１により既実施であるか、のいずれの領域である。ＶＳが未実施であるか、旧ＶｅｒのＶＳプログラム１３１により既実施であるか、のいずれかの領域を表す情報は、後述の図２３に表すＳ３０８ｂの処理により記憶装置１５０から送付される。
【０２００】
図２１は、Ｓ２１２を置き換える処理を表す概念図である。
【０２０１】
仮想マシン１００は、図１２に表すＳ２１１のｎｏの次に、Ｓ２１２ｂの処理を行う。
【０２０２】
仮想マシン１００は、Ｓ２１２ｂの処理を行う場合は、同処理として、記憶装置１５０に対し既ＶＳ情報１６２及びＶｅｒ管理情報１６４の更新指示を行う。仮想マシン１００は、当該更新指示を行う際に、Ｓ２０７ｂの処理により行ったＶＳに係るＶＳプログラム１３１のＶｅｒを記憶装置１５０に送付する。
【０２０３】
Ｓ２１２ｂの処理についての説明は、上記を除いて、図１２に表すＳ２１２の処理についての説明と同じである。
【０２０４】
第二実施形態の記憶装置１５０が行うＶＳ判定処理の処理フロー例は、図１３に表すＳ３０４の処理を図２２に表す処理により置き換えたものである。当該処理フロー例は、さらに、図１３に表すＳ３０５とＳ３０７の間の矢印及びＳ３０８の処理を削除し、図２３に表す処理を挿入したものである。
【０２０５】
図２２は、Ｓ３０４の処理を置き換える処理を表す概念図である。
【０２０６】
記憶装置１５０は、図１３に表すＳ３０３のｎｏの次に、Ｓ３０４ｂの処理を行う。
【０２０７】
記憶装置１５０は、Ｓ３０４ｂの処理を行う場合は、同処理として、既ＶＳ情報１６２及びＶｅｒ管理情報１６４を、記憶装置１５０のＥＶから読み込む。
【０２０８】
そして、記憶装置１５０は、図１３に表すＳ３０５の処理を行う。
【０２０９】
図２３は、図１３に挿入する処理を表す概念図である。
【０２１０】
記憶装置１５０は、図１３に表すＳ３０５のｙｅｓの次にＳ３０５−２の処理を行う。
【０２１１】
記憶装置１５０は、Ｓ３０５−２の処理を行う場合は、同処理として、図１３に表すＳ３０５の処理による実施したことの判定に係る当該実施は、最新ＶｅｒのＶＳプログラム１３１によるものかについての判定を行う。記憶装置１５０を、当該判定は、記憶装置１５０が、図７に表す候補情報１３２においてＶＳ候補対象とされた領域についてＶｅｒ管理情報１６４を参照することにより行う。
【０２１２】
ここで、最新Ｖｅｒに関する情報は、例えば、図１に表す仮想システム１１０の管理者により記憶装置１５０に入力される。又は、記憶装置１５０は、既ＶＳのＶＳを行ったＶＳプログラム１３１のうちＶｅｒが最も新しいものを最新Ｖｅｒとして設定してもよい。
【０２１３】
記憶装置１５０は、Ｓ３０５−２の処理による判定結果がｙｅｓの場合は、図１３に表すＳ３０７の処理を行う。最新ＶｅｒのＶＳプログラム１３１によりＶＳ済みの場合は、再度ＶＳを行う必要がないためである。
【０２１４】
一方、記憶装置１５０は、Ｓ３０５−２の処理による判定結果がｎｏの場合は、Ｓ３０８ｂの処理を行う。旧ＶｅｒのＶＳプログラム１３１によりＶＳ済みの場合に、最新ＶｅｒのＶＳプログラム１３１によるＶＳを行うためである。
【０２１５】
記憶装置１５０は、Ｓ３０８ｂの処理を行う場合は、同処理として、「第二ＶＳ」の判定結果を、仮想マシン１００に送付する。「第二ＶＳ」はＥＶに格納されたマスタ情報の一部に対して行うＶＳである。記憶装置１５０は、「第二ＶＳ」の判定結果を仮想マシン１００に送付する際には、既ＶＳ情報１６２においてＶＳ済みとされていない領域を特定する情報を、仮想マシン１００に送付する。
【０２１６】
そして、記憶装置１５０は、図１３に表すＳ３０９の処理を行う。
【０２１７】
第二実施形態の記憶装置１５０が行う、既ＶＳ情報１６２の更新処理の処理フロー例は、図１４に表すＳ４０３の処理とＳ４０４の処理の間に図２４に表す処理を挿入したものである。
【０２１８】
図２４は、Ｓ４０３の処理とＳ４０４の処理の間に挿入する処理を表す概念図である。
【０２１９】
記憶装置１５０は、図１４に表すＳ４０３の処理の次にＳ４０３−２の処理を行う。
【０２２０】
記憶装置１５０は、Ｓ４０３−２の処理を行う場合は、同処理として、Ｖｅｒ管理情報１６４における図１４に表すＳ４０２の処理により特定した更新領域に、仮想マシン１００から送られたＶｅｒを格納する。
【０２２１】
そして、記憶装置１５０は、図１４に表すＳ４０４の処理を行う。
【０２２２】
図１に表す仮想システム１１０は、上記により、ＶＳプログラム１３１のＶｅｒが更新された場合に、旧ＶｅｒのＶＳプログラム１３１によりＶＳが行われた領域のファイルに対して、最新ＶｅｒのＶＳプログラム１３１によりＶＳを行う。これにより、仮想システム１１０は、旧ＶｅｒのＶＳプログラム１３１では検出できなかったコンピュータウイルスの検出を可能にし得る。
【０２２３】
図２５は、第二実施形態の記憶装置１５０における既ＶＳ情報１６２及びＶｅｒ管理情報１６４の更新の様子を表すイメージ図である。なお、図２５においては、Ａ乃至Ｆで表される情報列は、ＢＡ番号を表す。
【０２２４】
なお、図示はしないが、以下、ＣＶ１７１ａを仮想記憶装置とする仮想マシンを仮想マシン１７０ａ、ＣＶ１７１ａを仮想記憶装置とする仮想マシンを１７０ｂと、それぞれ記す。
【０２２５】
図２５は、最初にＣＶ１７１ａにおいてＶｅｒ９．１のＶＳプログラム１３１によるＶＳが行われ、次に、ＣＶ１７１ｂにおいてより新しいＶｅｒであるＶｅｒ９．２のＶＳプログラム１３１によるＶＳが行われた場合を表す。
【０２２６】
ＥＶ１７０が保持する既ＶＳ情報１６２及びＶｅｒ管理情報１６４には、ＶＳ実施前、ＣＶ１７１ａのみＶＳが実施後、及びＣＶ１７１ｂのＶＳ実施後、のそれぞれの場合の値が表示されている。
【０２２７】
まず、仮想マシン１７０ａが、記憶装置１５０に対し、ＢＡ番号Ａ、Ｄ、Ｅ及びＦの領域を候補とする候補情報１３２を送付し、ＶＳ判定処理を指示したとする（図１２のＳ２０５）。
【０２２８】
すると、記憶装置１５０は、差分情報１６３ａを読み込み（図１３のＳ３０２）、ＢＡ番号Ａ、Ｄ、Ｅ及びＦの領域に差分がないことを判定する（Ｓ３０３のｎｏ）。
【０２２９】
そして、記憶装置１５０は、既ＶＳ情報１６２を読み込み（Ｓ３０４ｂ）、ＢＡ番号Ａ、Ｄ、Ｅ及びＦの領域は、ＶＳが実施済みでない旨を判定する（Ｓ３０５のｎｏ）。
【０２３０】
そして、記憶装置１５０は、仮想マシン１７０ａに「第二ＶＳ」の判定結果を送付する（Ｓ３０８）。
【０２３１】
そして、仮想マシン１７０ａは、旧ＶｅｒであるＶｅｒ９．１のＶＳプログラム１３１により、ＢＡ番号Ａ、Ｄ、Ｅ及びＦの領域に格納された対象ファイルのＶＳを行う（図２０のＳ２０７ｂ）。
【０２３２】
そして、仮想マシン１７０ａは、記憶装置１５０に対し既ＶＳ情報１６２及びＶｅｒ管理情報１６４の更新指示を行う（図２１のＳ２１２ｂ）。
【０２３３】
記憶装置１５０は、当該更新指示を受け、既ＶＳ情報１６２のＢＡ番号Ａ、Ｄ、Ｅ及びＦの各領域にＶＳが実施済みであることを表す値「１」を格納する（図１４のＳ４０３）
記憶装置１５０は、当該更新指示を受け、さらに、Ｖｅｒ管理情報１６４のＢＡ番号Ａ、Ｄ、Ｅ及びＦの各領域にＶＳを行ったＶＳプログラム１３１のＶｅｒである９．１を格納する（図２４のＳ４０３−２）。
【０２３４】
次に、仮想マシン１７０ｂが、記憶装置１５０に対し、ＢＡ番号Ａ、Ｂ、Ｅ及びＦの領域を候補とする候補情報１３２を送付し、ＶＳ判定処理を指示したとする（図１２のＳ２０５）。
【０２３５】
すると、記憶装置１５０は、差分情報１６３ｂを読み込み（図１３のＳ３０２）、ＢＡ番号Ａ、Ｂ、Ｅ及びＦの領域に差分がないことを判定する（図１３のＳ３０３のｎｏ）。
【０２３６】
そして、記憶装置１５０は、既ＶＳ情報１６２及びＶｅｒ管理情報１６４を読み込み（図２２に表すＳ３０４ｂ）、既ＶＳ情報１６２によりＢＡ番号Ｂ、Ｅ及びＦの領域は、ＶＳが実施済みである旨を判定する（図１３のＳ３０５のｙｅｓ）。
【０２３７】
そして、記憶装置１５０は、Ｖｅｒ管理情報１６４から、ＢＡ番号Ａ、Ｂ、Ｅ及びＦの領域は、旧ＶｅｒであるＶｅｒ９．１のＶＳプログラム１３１によりＶＳが実施済みである旨を判定する（図２３のＳ３０５−２のｎｏ）。
【０２３８】
そして、記憶装置１５０は、「第二ＶＳ」の判定結果を、仮想マシン１７０ａに送付する（図２３のＳ３０８ｂ）。記憶装置１５０は、さらに、ＢＡ番号Ａ、Ｂ、Ｅ及びＦの領域のうち既ＶＳ情報１６２においてＶＳが未実施とされているＢＡ番号Ｂを表す情報を、仮想マシン１７０ａに送付する（図２３のＳ３０８ｂ）。記憶装置１５０は、さらに、ＢＡ番号Ａ，Ｅ及びＦを表す情報を、仮想マシン１７０ａに送付する（図２３のＳ３０８ｂ）。ＢＡ番号Ａ，Ｅ及びＦは、ＢＡ番号Ａ、Ｂ、Ｅ及びＦの領域のうち、Ｖｅｒ管理情報１６４において旧ＶｅｒのＶｅｒ９．１のＶＳプログラム１３１によりＶＳが実施済みとされているＢＡ番号である。
【０２３９】
そして、仮想マシン１７０ａは、最新ＶｅｒであるＶｅｒ９．２のＶＳプログラム１３１により、ＢＡ番号Ａ、Ｂ、Ｅ及びＦの領域に格納された対象ファイルのＶＳを行う（図２０のＳ２０７ｂ）。
【０２４０】
そして、仮想マシン１７０ａは、記憶装置１５０に対し、既ＶＳ情報１６２及びＶｅｒ管理情報１６４の更新指示を行う（図２１のＳ２１２ｂ）。
【０２４１】
記憶装置１５０は、当該更新指示を受け、既ＶＳ情報１６２のＢＡ番号Ｂが表す領域にＶＳが実施済みであることを表す値「１」を格納する（図１４のＳ４０３）。また、記憶装置１５０は、ＢＡ番号Ａ、Ｅ及びＦが表す領域については、値「１」を維持する（図１４のＳ４０３）。
【０２４２】
記憶装置１５０は、当該更新指示を受け、さらに、Ｖｅｒ管理情報１６４のＢＡ番号Ａ、Ｂ、Ｅ及びＦの各領域にＶＳを行ったＶＳプログラム１３１のＶｅｒである９．２を格納する（図２４のＳ４０３−２）。
【０２４３】
以上のように第二実施形態の仮想システム１１０は、各仮想マシンが、生成時にマスタ情報についてＶＳを行った場合には、ＶＳを行わせたＶＳプログラム１３１のＶｅｒをＶｅｒ管理情報１６４に保持させる。Ｖｅｒ管理情報１６４への当該保持は、当該ＶＳを行った情報のについて行うものである。そして、仮想システム１１０は、ＶＳを行おうとする情報がいずれかの仮想マシン１７０によってＶＳ済みであっても、そのＶＳが最新ＶｅｒのＶＳプログラム１３１でない場合には、ＶＳを行う。そのため、仮想システム１１０は、ＶＳプログラム１３１のＶｅｒアップに対応し得る。
［効果］
第二実施形態の仮想システム１１０は、第一実施形態の仮想システム１１０と同様な構成を備え、同様な動作を含む動作を行うことから、まず、第一実施形態の仮想システム１１０と同様な効果を奏する。
【０２４４】
それに加え、仮想システム１１０は、各仮想マシンが、その仮想マシンの生成時にマスタ情報についてＶＳを行った場合には、ＶＳを行わせたＶＳプログラム１３１のＶｅｒをＶｅｒ管理情報１６４に保持させる。当該保持は、当該ＶＳを行った情報について行われるものである。そして、仮想システム１１０は、マスタ情報の一部についてＶＳを行おうとする際には、ＶＳを行おうとする当該一部情報がいずれの仮想マシンによってＶＳ済みであっても再度のＶＳを行う。当該再度のＶＳは、ＶＳ済みであるとされたＶＳが最新ＶｅｒのＶＳプログラム１３１でない場合に行われる。そのため、第二実施形態の仮想システム１１０は、ＶＳプログラム１３１のＶｅｒアップに対応し得る。
【０２４５】
以上、第一及び第二実施形態は、本発明の仮想システムがリンククローン方式によるものである場合を想定した場合の実施形態である。しかしながら、本発明の仮想システムは、リンククローン方式によるものである場合に限定されない。本発明の仮想システムは、例えば、完全クローン方式によるものであっても構わない。
【０２４６】
完全クローン方式においては、仮想マシンの新規作成時において、ＥＶに相当する記憶部（以下、「ＥＶ」と記す）が保持するマスタ情報はＣＶに相当する記憶部（以下、「ＣＶ」と記す）にコピーされる。そして、各仮想マシンは、その仮想記憶装置であるＣＶについてのみＶＳを行う。
【０２４７】
各仮想マシンは、その仮想記憶装置であるＣＶに記録された情報のうちのどの情報がマスタ情報からコピー（又は作成）された情報であるかを識別することができる。そこで、各仮想マシンがマスタ情報からコピー（又は作成）された情報の一部についてＶＳを行った場合に、当該一部についてＶＳを行ったこと及び当該一部を特定できる情報を、処理部（図４に表す処理部１５４参照）に伝える。そして、当該処理部は、例えば、図８に表す既ＶＳ情報１６２に、当該一部についてＶＳがいずれかの仮想マシンによりＶＳが行われたことを表す情報（例えば「１」）を格納する。そして、各仮想マシンは、マスタ情報からコピーされた情報の一部についてＶＳを行う場合は、既ＶＳ情報を参照して、重複してはＶＳを行わないようにするのである。
【０２４８】
なお、ＣＶが格納する、マスタ情報からコピーされた情報と、ＥＶが格納する、マスタ情報との対応付けは、例えば、以下のように行うことができる。
【０２４９】
完全クローン方式においては、新規ＣＶ作成時には、ＥＶに格納されたマスタ情報が新規ＣＶにコピーされる。そして、当該コピーの際に、単にマスタ情報の内容がコピーされるだけでなく、マスタ情報の各ファイルのＥＶにおける格納領域と、コピーされたマスタ情報の各ファイルの新規ＣＶにおける格納領域との対応関係が定められている。当該対応関係は、例えば、マスタ情報のあるファイルは、必ず同じ番号のＢＡに格納される等である。
【０２５０】
処理部（図４に表す処理部１５４参照）は、当該対応関係から、仮想マシンより送られた、ＶＳを行った前記ファイルのＣＶにおける格納領域を表す情報から、ＥＶが保持する前記ファイルのコピー元ファイルのＥＶにおける格納領域を特定することができる。
【０２５１】
図２６は、本発明の最小限の仮想システムである仮想システム１１０ｘの構成を表すブロック図である。
【０２５２】
仮想システム１１０ｘは、第一の判定部１０６ｘと、第二の判定部１０７ｘと、ウイルススキャン部１０８ｘとを備える。
【０２５３】
第一の判定部１０６ｘは、第一の判定を行う。当該第一の判定は、図示しない仮想マシンの記憶領域として割り当てられた仮想記憶装置に記録されたＶＳの候補情報が、マスタ情報の一部及び前記一部からの作成が行われたもののいずれかを含むか、についての判定である。
【０２５４】
第二の判定部１０７ｘは、前記第一の判定の判定結果が、前記作成が行われたものである旨の場合に、第二の判定を行う。前記第二の判定は、前記いずれかについて前記ＶＳが行われたかについての判定である。
【０２５５】
ウイルススキャン部１０８ｘは、前記第二の判定による判定結果が、前記被作成候補情報の前記ＶＳが行われていないという内容である場合に、前記候補情報についての前記ＶＳを行う。
【０２５６】
仮想システム１１０ｘは、前記第二の判定による判定結果が、前記被作成候補情報の前記ＶＳが行われていないという内容でない場合には、前記ＶＳを行わない。そのため、仮想システム１１０ｘは、ＶＳの実行回数を低減し得る。
【０２５７】
背景技術の項で説明したように、仮想マシン環境においては、多数の仮想マシンが同時にウイルス対策ソフトの動作を行うと、前記物理サーバにおいて、通信経路を介した多数の情報の読み込みが行われる場合がある。そして、当該読み込みにより、仮想マシンの処理スピードが低下し得る。
【０２５８】
前述のように、仮想システム１１０ｘは、ＶＳの実行回数を低減し得るので、情報の読み込みの実行回数を低減し得る。そのため、仮想システム１１０ｘは、ＶＳの実行による、仮想マシンの処理スピードが低下を抑え得る。
【０２５９】
そのため、仮想システム１１０ｘは、前記構成により、［発明の効果］の項に記載した効果を奏する。
【０２６０】
以上、本発明の各実施形態を説明したが、本発明は、前記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で更なる変形、置換、調整を加えることができる。例えば、各図面に示した要素の構成は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【０２６１】
また、前記の実施形態の一部又は全部は、以下の付記のようにも記述され得るが、以下には限られない。
【０２６２】
（付記Ａ１）
仮想マシンの記憶領域として割り当てられた仮想記憶装置に記録されたウイルススキャンの候補情報が、マスタ情報の一部及び前記一部からの作成が行われたもののいずれかを含むか、についての判定である第一の判定を行う第一の判定部と、
前記第一の判定の判定結果が、前記いずれかを含むである旨の場合に、前記いずれかについて前記ウイルススキャンが行われたかについての判定である第二の判定を行う第二の判定部と、
前記第二の判定による判定結果が、前記被作成候補情報の前記ウイルススキャンが行われていないという内容である場合に、前記いずれかについての前記ウイルススキャンを行うウイルススキャン部と、
を備える仮想システム。
【０２６３】
（付記Ａ２）
前記第一の判定による判定結果が、前記いずれかを含む旨でない場合に、前記ウイルススキャン部が前記候補情報についての前記ウイルススキャンを行う場合がある、付記Ａ１に記載された仮想システム。
【０２６４】
（付記Ａ３）
前記第一の判定が、前記候補情報が前記いずれかのみであるかについての判定であり、
前記第二の判定が、前記第一の判定の判定結果が、前記いずれかのみである旨の場合に行われる、付記Ａ１又は付記Ａ１に記載された仮想システム。
【０２６５】
（付記Ａ４）
前記第一の判定による判定結果が、前記候補情報が前記いずれかのみでない旨である場合に、前記候補情報のうち前記第一の判定により前記いずれかであると判定された部分以外の部分のみについて、前記ウイルススキャン部が前記ウイルススキャンを行う、付記Ａ３に記載された仮想システム。
【０２６６】
（付記Ａ５）
前記第二の判定が、前記被作成候補情報のすべてについて前記ウイルススキャンが行われたかについての判定であり、
前記ウイルススキャンが、前記第二の判定による判定結果が、前記被作成候補情報のすべてについては前記ウイルススキャンが行われていない旨の場合に行われる、付記Ａ１乃至付記Ａ４のうちのいずれか一に記載された仮想システム。
【０２６７】
（付記Ａ６）
前記ウイルススキャンが、前記第二の判定により、前記ウイルススキャンが行われていないことが判定された前記候補情報の部分のみについて行われる、付記Ａ４に記載された仮想システム。
【０２６８】
（付記Ａ７）
前記ウイルススキャン部を前記仮想マシンが備える、付記Ａ１乃至付記Ａ６のうちのいずれか一に記載された仮想システム。
【０２６９】
（付記Ａ８）
前記マスタ情報を保持するマスタ情報保持部をさらに備える、付記Ａ１乃至付記Ａ７のうちのいずれか一に記載された仮想システム。
【０２７０】
（付記Ａ８．６）
前記第一の判定部が、前記第一の判定を、前記候補情報が記録された前記仮想記憶装置における第一の領域群と、前記候補情報を作るのに用いられた前記マスタ情報の部分が記録された前記マスタ情報保持部における第二の領域群との対応関係である第一の対応関係により行う、付記Ａ１乃至付記Ａ８のうちのいずれか一に記載された仮想システム。
【０２７１】
（付記Ａ８．７）
前記第一の判定部が、前記第一の判定を、前記候補情報の所定の部分が記録された、前記候補情報が記録された前記仮想記憶装置における第一の領域群、の領域と、前記所定の部分を作るのに用いられた前記マスタ情報の部分が記録された、前記候補情報を作るのに用いられた前記マスタ情報の部分が記録された前記マスタ情報保持部における第二の領域群、の領域と、の対応関係である第一の対応関係により行う、付記Ａ８に記載された仮想システム。
【０２７２】
（付記Ａ８．７１）
前記第一の対応関係が、領域を特定するための番号である領域番号が等しいというものである、付記Ａ８．７に記載された仮想システム。
【０２７３】
（付記Ａ８．８）
前記領域番号がＢｌｏｃｋＡｒｅａの番号である、付記Ａ８．７に記載された仮想システム。
【０２７４】
（付記Ａ９）
前記いずれかについて、前記ウイルススキャンが行われたかについての情報、の集合である第一の情報（既ＶＳ情報）を保持する第一の保持部をさらに備え、前記第二の判定部が、前記第一の情報（既ＶＳ情報）により前記第二の判定を行う、付記Ａ１乃至付記Ａ８．８のうちのいずれか一に記載された仮想システム。
【０２７５】
（付記Ａ９．６）
前記第二の判定部が、前記第二の判定を、前記候補情報が記録された前記仮想記憶装置における第一の領域群と、前記第一の情報（既ＶＳ情報）における、前記候補情報の前記いずれかに係る前記マスタ情報、から作られた前記被作成情報の領域の集合である第三の領域群と、の対応関係である第二の対応関係により行う、付記Ａ９に記載された仮想システム。
【０２７６】
（付記Ａ９．７）
第二の対応関係が、領域を特定するための番号である領域番号が等しいというものである、付記Ａ９．６に記載された仮想システム。
【０２７７】
（付記Ａ９．８）
前記領域番号がＢｌｏｃｋＡｒｅａの番号である、付記Ａ９．７に記載された仮想システム。
【０２７８】
（付記Ａ１０）
前記ウイルススキャン部が前記ウイルススキャンを行った場合に、前記第一の情報に、前記いずれかについて前記ウイルススキャンが行われた旨の情報を格納する第一の更新部をさらに備える、付記Ａ１乃至付記Ａ９．８のうちのいずれか一に記載された仮想システム。
【０２７９】
（付記Ａ１１）
前記第二の判定による判定結果が前記ウイルススキャンが行われたという内容である場合に、前記ウイルススキャンが最新のバージョンのウイルススキャンプログラムによるものであるかについての判定である第三の判定を行う第三の判定部をさらに備え、
前記ウイルススキャン部は、前記第三の判定による判定結果が、前記ウイルススキャンが最新バージョンのウイルススキャンプログラムによるものでない旨の場合にも、前記ウイルススキャンを行う、付記Ａ１乃至付記Ａ１０のうちのいずれか一に記載された仮想システム。
【０２８０】
（付記Ａ１２）
前記いずれかについての、前記ウイルススキャンが行われた際に用いられた前記ウイルススキャンプログラムのバージョンを表す情報、の集合である第二の情報を保持する第二の保持部をさらに備え、前記第三の判定部が、前記第二の情報により前記第三の判定を行う、付記Ａ１乃至付記Ａ１１のうちのいずれか一に記載された仮想システム。
【０２８１】
（付記Ａ１３）
前記ウイルススキャン部が前記ウイルススキャンを行った場合に、前記第二の情報に、前記いずれかについて、前記ウイルススキャン部に前記ウイルススキャンを実行させた前記ウイルススキャンプログラムのバージョン情報を格納させる第二の更新部をさらに備える、付記Ａ１乃至付記Ａ１２のうちのいずれか一に記載された仮想システム。
【０２８２】
（付記Ａ１４）
前記作成がコピーであり前記他の作成が他のコピーである、付記Ａ１乃至付記Ａ１３のうちのいずれか一に記載された仮想システム。
【０２８３】
（付記Ａ１５）
前記作成が、前記仮想記憶装置が作られた際に行われたものであり、前記他の作成が、前記他の作成が行われた情報が記録された他の仮想記憶装置が作られた際に行われたものである、付記Ａ１乃至付記Ａ１４のうちのいずれか一に記載された仮想システム。
【０２８４】
（付記Ａ１６）
前記仮想マシンが及び仮想記憶装置が、リンククローン方式により作られたものである、付記Ａ１乃至付記Ａ１５のうちのいずれか一に記載された仮想システム。
【０２８５】
（付記Ａ１７）
前記仮想記憶装置がクローンボリュームである、付記Ａ１６に記載された仮想システム。
【０２８６】
（付記Ａ１８）
前記第一の保持部が、エンティティボリュームに含まれる、付記Ａ１６又は付記Ａ１７に記載された仮想システム。
【０２８７】
（付記Ａ１９）
前記第二の保持部が、エンティティボリュームに含まれる、付記Ａ１６乃至付記Ａ１８のうちのいずれか一に記載された仮想システム。
【０２８８】
（付記Ｂ１）
仮想マシンの記憶領域として割り当てられた仮想記憶装置に記録されたウイルススキャンの候補情報が、マスタ情報の一部及び前記一部からの作成が行われたもののいずれかを含むか、についての判定である第一の判定を行い、
前記第一の判定の判定結果が、前記いずれかを含む旨の場合に、前記いずれかについて前記ウイルススキャンが行われたかについての判定である第二の判定を行い、
前記第二の判定による判定結果が、前記いずれかの前記ウイルススキャンが行われていないという内容である場合に、前記候補情報についての前記ウイルススキャンを行う、
ウイルススキャン方法。
【０２８９】
（付記Ｃ１）
仮想マシンの記憶領域として割り当てられた仮想記憶装置に記録されたウイルススキャンの候補情報が、マスタ情報の一部及び前記一部からの作成が行われたもののいずれかを含むか、についての判定である第一の判定を行う処理と、
前記第一の判定の判定結果が、前記いずれかを含む旨の場合に、前記いずれかについて前記ウイルススキャンが行われたかについての判定である第二の判定を行う処理と、
前記第二の判定による判定結果が、前記いずれかの前記ウイルススキャンが行われていないという内容である場合に、前記候補情報についての前記ウイルススキャンを行う処理と、
をコンピュータに実行させるウイルススキャン関連プログラム。
【符号の説明】
【０２９０】
１００、１００ａ、１００ｂ、１００ｃ、１００ｄ    仮想マシン
１０６ｘ    第一の判定部
１０７ｘ    第二の判定部
１０８ｘ    ウイルススキャン部
１１０、１１０ｘ    仮想システム
１１１    処理部
１１３、１１３ａ    メモリ
１３１    ＶＳプログラム
１３２、１３２ａ、１３２ｂ    候補情報
１５０    記憶装置
１５３    記憶部
１５４    処理部
１４０    ネットワーク
１６１    ペア管理情報
１６２    既ＶＳ情報
１６３、１６３ａ、１６３ｂ    差分情報
１６４    Ｖｅｒ管理情報
１７０    ＥＶ
１７１ａ、１７１ｂ、１７１ｃ、１７１ｄ    ＣＶ
【図１】
2018112935.tif 000003
【図２】
2018112935.tif 000004
【図３】
2018112935.tif 000005
【図４】
2018112935.tif 000006
【図５】
2018112935.tif 000007
【図６】
2018112935.tif 000008
【図７】
2018112935.tif 000009
【図８】
2018112935.tif 000010
【図９】
2018112935.tif 000011
【図１０】
2018112935.tif 000012
【図１１】
2018112935.tif 000013
【図１２】
2018112935.tif 000014
【図１３】
2018112935.tif 000015
【図１４】
2018112935.tif 000016
【図１５】
2018112935.tif 000017
【図１６】
2018112935.tif 000018
【図１７】
2018112935.tif 000019
【図１８】
2018112935.tif 000020
【図１９】
2018112935.tif 000021
【図２０】
2018112935.tif 000022
【図２１】
2018112935.tif 000023
【図２２】
2018112935.tif 000024
【図２３】
2018112935.tif 000025
【図２４】
2018112935.tif 000026
【図２５】
2018112935.tif 000027
【図２６】
2018112935.tif 000028