(57)【特許請求の範囲】
【請求項１】
仮想計算機を実現する仮想計算機管理機構を搭載し，前記仮想計算機管理機構の制御によりデバイスドライバ用仮想計算機を介してデバイスとの通信を行うユーザ仮想計算機を動作させる計算機装置であって，
デバイスから入力操作の信号を受け付ける入力受付部と，
前記受け付けた入力操作の信号から，リセット処理を行う仮想計算機の範囲を表すリセットレベルを判定するリセットレベル判定部と，
前記判定されたリセットレベルに基づいて，前記リセット処理の対象とする仮想計算機を特定するリセット対象物特定部と，
前記特定された仮想計算機について前記リセット処理を実行させるリセット信号を送信するリセット信号送信部とを備える
ことを特徴とする計算機装置。
【請求項２】
前記受け付けた入力操作の信号が操作の対象とするユーザ仮想計算機を特定する操作対象物特定部と，
前記操作の対象とするユーザ仮想計算機と前記リセットレベルとに対応する，前記リセット処理の対象とする仮想計算機の識別情報を有するリセット管理情報を記憶するリセット管理情報記憶部とをさらに備え，
前記リセット対象物特定部は，前記操作対象物特定部により特定されたユーザ仮想計算機について，前記リセット管理情報記憶部に記憶されたリセット管理情報を参照し，前記リセットレベル判定部により判定されたリセットレベルに対応する前記仮想計算機の識別情報を前記リセット管理情報から取得し，前記取得した識別情報により示される仮想計算機をリセット処理の対象とする仮想計算機として特定する
ことを特徴とする請求項１に記載の計算機装置。
【請求項３】
仮想計算機を実現する仮想計算機管理機構を搭載し，前記仮想計算機管理機構の制御によりデバイスドライバ用仮想計算機を介してデバイスとの通信を行うユーザ仮想計算機を動作させる計算機装置のコンピュータに実行させるプログラムであって，
前記コンピュータに，
デバイスから入力操作の信号を受け付ける手順と，
前記受け付けた入力操作の信号から，リセット処理を行う仮想計算機の範囲を表すリセットレベルを判定する手順と，
前記判定されたリセットレベルに基づいて，前記リセット処理の対象とする仮想計算機を特定する手順と，
前記特定された仮想計算機について前記リセット処理を実行させるリセット信号を送信する手順とを
実行させるリセット制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，仮想化技術が導入された計算機装置において，仮想計算機のリセットを制御する計算機装置およびリセット制御プログラムに関するものである。
【背景技術】
【０００２】
物理的な１台の計算機で，仮想的な複数の計算機を動作させる仮想化技術がある。仮想化技術によって仮想化された計算機は，仮想計算機や仮想マシンなどと呼ばれる。
【０００３】
仮想化技術が導入された計算機では，計算機に搭載または接続されたデバイスを，計算機上で動作する複数の仮想マシンが共有する。このとき，各仮想マシンに，各デバイスを利用するためのドライバが必要となる。
【０００４】
近年，複数の仮想マシンでドライバの共通利用が可能となるように，各種デバイスのドライバのみが機能する仮想マシンを設けて，ドライバをユーザによるアプリケーション利用のための仮想マシンと分離した，スプリットドライバと呼ばれる技術が提案されている。この技術を導入することにより，各仮想マシン向けのドライバ開発の負担を軽減することが可能となる。
【０００５】
このような仮想化技術が導入された計算機において，障害が発生した場合には，例えば，リセット処理によりシステムの復旧を行う。
【０００６】
なお，クリアスイッチの操作時間長を判別して，１つの走行情報を単一でリセットするか，所定の複数の走行情報を同時にリセットするかを判断する技術が知られている。
【０００７】
また，顧客がキーを押す際にその押下時間を測定し，キーの押下時間と各種ガイダンスの制御方法との対応表を参照して，キーの押下時間に対応した処理を行う技術が知られている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開昭５８―０２０５３８号公報
【特許文献２】特開平０８−３２９３１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
仮想化技術が導入された計算機において，ユーザによるリセットボタンの押下などにより仮想マシンシステム全体をリセットすると，本来リセットする必要のない仮想マシンも無駄にリセットされてしまう。そのため，仮想マシンシステム全体のリセットには，リセットする必要のない仮想マシンで利用中のアプリケーションが一時中断する，帳消しになるなどの問題がある。また，リセットする必要のない仮想マシンのリセットに，無駄な時間がかかってしまうという問題がある。
【００１０】
これに対して，障害の原因となる仮想マシンに関係する一部の仮想マシンを特定して，リセットすることも考えられる。しかし，この場合には，障害の原因となる仮想マシンの特定や，仮想マシン構成や仮想マシン間の依存関係からリセットを行う仮想マシンの範囲の決定に，仮想化技術に関する十分な知識が必要となる。
【００１１】
例えば，上述のスプリットドライバなどの技術が導入されたシステムでは，デバイスドライバ用の仮想マシンは，一般のユーザには見えない。そのため，仮想化技術に関する知識をほとんど持たない一般のユーザが，デバイスドライバ用の仮想マシンの共有関係等を十分に把握して，リセットを行う仮想マシンの範囲を適切に決定することは難しい。
【００１２】
本発明は，上記の問題の解決を図り，仮想化技術が導入された計算機において，リセット処理の範囲を限定した仮想マシンのリセット制御が容易に可能となる技術を提供することを目的とする。
【課題を解決するための手段】
【００１３】
仮想計算機を実現する仮想計算機管理機構を搭載し，仮想計算機管理機構の制御によりデバイスドライバ用仮想計算機を介してデバイスとの通信を行うユーザ仮想計算機を動作させる計算機装置は，デバイスから入力操作の信号を受け付ける入力受付部と，受け付けた入力操作の信号からリセット処理を行う仮想計算機の範囲を表すリセットレベルを判定するリセットレベル判定部と，判定されたリセットレベルに基づいてリセット処理の対象とする仮想計算機を特定するリセット対象物特定部と，特定された仮想計算機についてリセット処理を実行させるリセット信号を送信するリセット信号送信部とを備える。
【発明の効果】
【００１４】
上記の技術によって，仮想化技術が導入された計算機において，リセット処理の対象となる仮想マシンの範囲を限定したリセット制御が容易に可能となる。これにより，計算機で障害が発生した際に，障害に関係する仮想マシンの範囲をリセット処理の対象として，それ以外の仮想マシンで利用中のアプリケーションを中断したり帳消しにすることなく，対象の仮想マシンのリセット処理を実行することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本実施の形態による計算機装置の例を示す図である。
【図２】本実施の形態によるリセット管理情報の例を示す図である。
【図３】本実施の形態によるリセット制御処理フローチャートである。
【図４】本実施の形態による携帯端末の構成例を示す図である。
【図５】本実施の形態によるＶＭ起動停止順序情報の例を示す図である。
【図６】本実施の形態によるＶＭ構成定義情報の例を示す図である。
【図７】本実施の形態によるＶＭアクセスポリシ情報の例を示す図である。
【図８】本実施の形態によるリセット管理テーブルの構成例を示す図である。
【図９】本実施の形態によるＶＭの構成例を説明する。
【図１０】本実施の形態によるリセット制御ポリシの例を示す図である。
【図１１】一時作成のリセット管理テーブルの例を示す図である。
【図１２】完成したリセット管理テーブルの例（１）を示す図である。
【図１３】完成したリセット管理テーブルの例（２）を示す図である。
【図１４】本実施の形態によるリセット管理テーブルの動的生成処理フローチャートである。
【図１５】本実施の形態によるリセット制御処理シーケンスである。
【図１６】本実施の形態によるリセット制御処理シーケンスである。
【図１７】本実施の形態のリセット範囲制御部によるリセット範囲リスト生成処理フローチャートである。
【図１８】本実施例１によるＶＭの構成例を示す図である。
【図１９】本実施例１によるリセット管理テーブルの例を示す図である。
【図２０】本実施例１によるリセット範囲の表示画面の例を示す図である。
【図２１】本実施例２によるＶＭの構成例を示す図である。
【図２２】本実施例２によるリセット管理テーブルの例を示す図である。
【図２３】本実施例２によるリセット範囲の表示画面の例を示す図である。
【図２４】本実施例３によるＶＭの構成例を示す図である。
【図２５】本実施例３によるリセット管理テーブルの例（１）を示す図である。
【図２６】本実施例３によるリセット管理テーブルの例（２）を示す図である。
【図２７】本実施例３によるリセット範囲の表示画面の例を示す図である。
【図２８】本実施例４によるＶＭの構成例を示す図である。
【図２９】本実施例４によるリセット管理テーブルの例（１）を示す図である。
【図３０】本実施例４によるリセット管理テーブルの例（２）を示す図である。
【図３１】本実施例４によるリセット範囲の表示画面の例を示す図である。
【発明を実施するための形態】
【００１６】
以下，本実施の形態について，図を用いて説明する。
【００１７】
図１は，本実施の形態による計算機装置の例を示す図である。
【００１８】
計算機装置１は，仮想化技術が導入されたコンピュータであり，計算機装置１上では，複数の仮想化された計算機が動作する。仮想化された計算機は，仮想マシンや仮想計算機などと呼ばれる。以下では，仮想マシンをＶＭ（Virtual Machine ）とも呼ぶ。図１に示す計算機装置１において，リセット制御ＶＭ１０，管理ＶＭ２０，ユーザＶＭ３０，デバイスドライバ用ＶＭ４０は，仮想マシンである。
【００１９】
ハイパーバイザ５０は，仮想マシンモニタや仮想化ＯＳなどとも呼ばれ，計算機装置１上で仮想マシンを実現する仮想マシン管理機構である。ハイパーバイザ５０は，仮想マシン間通信の制御など，計算機装置１上で動作する仮想マシンの制御を行う。
【００２０】
計算機装置１は，ハードウェア６０として，ＣＰＵ（Central Processing Unit ）６１，ＲＡＭ（Random Access Memory）等のメモリ６２，ＨＤＤ（Hard Disk Drive ）等の記憶装置６３などを備える。また，計算機装置１は，ハードウェア６０として，キー／ボタンなどの入力装置６４，ＬＣＤ（Liquid Crystal Display）等の出力装置６５などが備えられている。
【００２１】
リセット制御ＶＭ１０，管理ＶＭ２０，ユーザＶＭ３０，デバイスドライバ用ＶＭ４０，ハイパーバイザ５０は，計算機装置１のコンピュータが備えるＣＰＵ６１，メモリ６２等のハードウェアと，ソフトウェアプログラムとによって実現することが可能である。計算機装置１のコンピュータが実行可能なプログラムは，記憶装置６３に記憶され，その実行時にメモリ６２に読み出され，ＣＰＵ６１により実行される。
【００２２】
なお，計算機装置１のコンピュータは，可搬型記録媒体から直接プログラムを読み取り，そのプログラムに従った処理を実行することもできる。また，計算機装置１のコンピュータは，サーバコンピュータからプログラムが転送されるごとに，逐次，受け取ったプログラムに従った処理を実行することもできる。さらに，このプログラムは，計算機装置１のコンピュータで読み取り可能な記録媒体に記録しておくことができる。
【００２３】
管理ＶＭ２０は，計算機装置１上で動作するリセット制御ＶＭ１０，ユーザＶＭ３０，デバイスドライバ用ＶＭ４０等の各ＶＭを管理する仮想マシンである。例えば，図１に示す計算機装置１において，管理ＶＭ２０は，各ＶＭの起動・停止の管理を行う。
【００２４】
ユーザＶＭ３０は，アプリケーションの利用など，一般ユーザの操作対象となる仮想マシンである。
【００２５】
デバイスドライバ用ＶＭ４０は，計算機装置１が備えるデバイスのドライバが機能する仮想マシンである。図１に示す仮想マシンでは，スプリットドライバと呼ばれる技術が用いられており，複数のユーザＶＭ３０が，デバイスおよびそのデバイスのドライバを共有する。デバイスドライバ用ＶＭ４０は，一般のユーザから見えない。
【００２６】
リセット制御ＶＭ１０は，ユーザからのリセット操作に応じた各ＶＭのリセット制御を行う。なお，ＶＭのリセットには，ＶＭの停止のみの場合と，ＶＭの停止から再起動を行う場合とが含まれる。リセット制御ＶＭ１０は，入力受付部１１，リセットレベル判定部１２，操作対象物特定部１３，リセット管理情報記憶部１４，リセット対象物特定部１５，リセット信号送信部１６を備える。
【００２７】
入力受付部１１は，ユーザがリセットを指示する入力操作を行ったデバイスから，入力操作の信号を受け付ける。
【００２８】
リセットレベル判定部１２は，受け付けた入力操作の信号から，リセットレベルを判定する。すなわち，リセットレベル判定部１２は，入力受付部１１が受け付けた入力操作の信号を解析し，ユーザが指示するリセットレベルを求める。リセットレベルは，リセット処理を行うＶＭの範囲を段階で表したものである。
【００２９】
操作対象物特定部１３は，受け付けた入力操作の信号により操作の対象とされるユーザＶＭ３０を特定する。すなわち，操作対象物特定部１３は，ユーザがリセットを指示したときの，そのユーザの操作対象となっているユーザＶＭ３０を特定する。
【００３０】
リセット管理情報記憶部１４は，リセット管理情報を記憶する，コンピュータがアクセス可能な記憶部である。リセット管理情報は，ユーザの操作対象とされるユーザＶＭ３０ごとの，リセットレベルと，当該リセットレベルにおけるリセット処理の対象とするＶＭの識別情報とを有する情報である。すなわち，リセット管理情報は，ユーザの操作対象となるユーザＶＭ３０と，ユーザに指示されるリセットレベルとに応じた，リセット処理の対象となるＶＭを特定する情報である。
【００３１】
リセット対象物特定部１５は，判定されたリセットレベルに基づいて，リセット処理の対象とするＶＭを特定する。より具体的には，リセット対象物特定部１５は，リセット管理情報を参照して，ユーザの操作対象として特定されたユーザＶＭ３０と，判定されたリセットレベルとに対応するＶＭの識別情報を取得し，取得した識別情報により示されるＶＭを，リセット処理の対象とするＶＭとして特定する。
【００３２】
リセット信号送信部１６は，リセット処理の対象とされたＶＭについてリセット処理を実行させる信号を送信する。すなわち，リセット信号送信部１６は，リセット処理の対象とされたＶＭの情報を管理ＶＭ２０に送り，それらのＶＭのリセット処理を管理ＶＭ２０に実行させる。
【００３３】
図２は，本実施の形態によるリセット管理情報の例を示す図である。
【００３４】
図２に示すリセット管理情報１９は，操作対象ＶＭ，リセットレベル，リセット処理対象ＶＭの情報を持つ。
【００３５】
操作対象ＶＭは，ユーザの操作対象となるユーザＶＭ３０を示す情報である。図２に示すリセット管理情報１９では，操作対象ＶＭがＶＭ名で記載されている。
【００３６】
リセットレベルは，リセット処理を行うＶＭの範囲をレベルで示した情報である。図２に示すリセット管理情報１９では，リセット処理を行うＶＭの範囲が，３段階のレベルで示されている。図２に示すリセット管理情報１９では，リセットレベル“１”の範囲が最も狭く（リセットレベル“１”はリセット処理の対象となるＶＭの数がリセットレベル“３”よりも少ない），リセットレベル“３”の範囲が最も広い（リセットレベル“３”はリセット処理の対象となるＶＭの数がリセットレベル“１”よりも多い）。
【００３７】
リセット処理対象ＶＭは，リセット処理の対象となるＶＭを示す情報である。図２に示すリセット管理情報１９では，リセット処理対象ＶＭがＶＭ名で記載されている。なお，図２に示すリセット管理情報１９では，高位のリセットレベルのリセット処理対象ＶＭに，下位のリセットレベルのリセット処理対象ＶＭが含まれるものとする。
【００３８】
リセット管理情報１９では，操作対象ＶＭとリセットレベルとに応じたリセット処理対象ＶＭの範囲が，ＶＭ間の依存関係に基づいて設定されている。例えば，リセット管理情報１９は，リセットレベル“１”では操作対象ＶＭのみをリセット処理対象ＶＭとし，リセットレベル“２”では，操作対象ＶＭと直接の依存関係があるＶＭまでをリセット処理対象ＶＭとする，などのＶＭ間の依存関係に基づいて作成されている。
【００３９】
リセット管理情報１９は，事前に静的な情報として設定されていてもよいし，計算機装置１におけるＶＭシステムの起動時などに動的に生成されてもよい。
【００４０】
図３は，本実施の形態によるリセット制御処理フローチャートである。
【００４１】
リセット制御ＶＭ１０において，入力受付部１１は，ユーザがリセットを指示する入力操作を行ったデバイスから，リセットを指示する入力操作の信号を受け付ける（ステップ１０）。
【００４２】
例えば，ユーザがリセットを指示するデバイスとしてリセットボタンが用意されているものとし，ユーザはＶＭのリセットを行う場合にそのリセットボタンを押下するものとする。ユーザがリセットボタンを押下すると，入力受付部１１は，リセットボタンから，ユーザによるリセットボタンの押下を示す信号を受け付ける。
【００４３】
リセットレベル判定部１２は，受け付けた入力操作の信号から，リセットレベルを判定する（ステップＳ１１）。
【００４４】
例えば，リセットレベル判定部１２は，ユーザがリセットを指示するデバイスがリセットボタンである場合に，リセットボタンの押下時間の長短で，リセットレベルの判定を行う。このとき，リセットレベル判定部１２は，受け付けた入力操作の信号を解析してリセットボタンの押下時間を求める。リセットレベル判定部１２は，得られたリセットボタンの押下時間に応じて，リセットレベルの判定を行う。例えば，リセットレベル判定部１２は，リセットボタンの押下時間が“短”（例：１秒未満）であればリセットレベル“１”，リセットボタンの押下時間が“中”（例：１秒〜３秒）であればリセットレベル“２”，リセットボタンの押下時間が“長”（例：３秒超）であればリセットレベル“３”と判定する。
【００４５】
操作対象物特定部１３は，入力操作の信号による操作の対象とされるユーザＶＭ３０，すなわち操作対象ＶＭを特定する（ステップＳ１２）。ユーザがリセットを指示したときに，そのユーザが操作しているユーザＶＭ３０が，操作対象ＶＭとなる。
【００４６】
リセット対象物特定部１５は，リセット管理情報記憶部１４に記憶されたリセット管理情報１９を参照し，リセット処理対象ＶＭを特定する（ステップＳ１３）。
【００４７】
例えば，リセットレベル判定部１２によってリセットレベルが“２”と判定され，操作対象物特定部１３によって操作対象ＶＭとしてＶＭ名“ゲストａ”のユーザＶＭ３０が特定されたものとする。このとき，リセット対象物特定部１５は，操作対象ＶＭのＶＭ名“ゲストａ”，リセットレベル“２”で，図２に示すリセット管理情報１９を参照する。リセット対象物特定部１５は，図２に示すリセット管理情報１９から，リセット処理対象ＶＭとして，ＶＭ名“ゲストａ”のユーザＶＭ３０，ＶＭ名“ドライバａ”とＶＭ名“ドライバｂ”のデバイスドライバ用ＶＭ４０を特定する。なお，上述したように，図２に示すリセット管理情報１９では，より高位のリセットレベル“２”のリセット処理対象ＶＭには，より下位のリセットレベル“１”のリセット処理対象ＶＭが含まれる。
【００４８】
リセット信号送信部１６は，リセット対象物特定部１５により特定されたリセット処理対象ＶＭについてリセット処理を実行させる信号を，管理ＶＭ２０に送信する（ステップＳ１４）。図１に示す計算機装置１におけるＶＭシステムでは，管理ＶＭ２０が各ＶＭの起動・停止を管理しているので，リセット処理実行の信号は，リセット制御ＶＭ１０から管理ＶＭ２０に送られる。管理ＶＭ２０によって，リセット処理対象ＶＭの停止，または停止からの再起動が行われる。
【００４９】
このようなリセット制御の仕組みによって，ユーザの簡易な操作により，リセット処理の範囲を一部のＶＭに限定したリセット制御が可能となる。また，ＶＭ間の依存関係等に基づいて設定されたリセット管理情報１９を用いて，リセット範囲のＶＭを特定することにより，ＶＭ間の依存関係に応じた適切な範囲のＶＭに限定したリセット制御が可能となる。
【００５０】
以下では，携帯電話機などの携帯端末を例に，本実施の形態のリセット制御のより具体的な例を説明する。近年，ＣＰＵ性能の向上やメモリの大容量化など，組込み機器や携帯端末のハードウェア資源が向上している。そのため，組込み機器や携帯端末に，仮想化技術を導入することも可能となっている。
【００５１】
図４は，本実施の形態による携帯端末の構成例を示す図である。
【００５２】
図４に示す携帯端末１００は，図１に示す計算機装置１に相当する。すなわち，図４に示す携帯端末１００は，仮想化技術が導入されたコンピュータであり，携帯端末１００上では複数のＶＭが動作する。図４に示すように，携帯端末１００上では，リセット制御ＶＭ１１０，管理ＶＭ１２０，ゲストＶＭ１３０，ドライバＶＭ１４０等のＶＭが動作する。
【００５３】
図４に示す携帯端末１００におけるハイパーバイザ１５０は，図１に示す計算機装置１におけるハイパーバイザ５０に相当する。ハイパーバイザ１５０は，携帯端末１００上でＶＭを実現する仮想マシン管理機構である。ハイパーバイザ１５０は，ＶＭ間通信の制御など，携帯端末１００上で動作するＶＭの制御を行う。
【００５４】
携帯端末１００では，ハードウェア１６０として，リセットボタン１６１，電源ボタン１６２，ＵＳＢ（Universal Serial Bus）接続端子１６３，ＨＤＤ１６４，ＮＡＮＤ記憶装置１６５，カメラ１６６，各種キー１６７，ＮＩＣ（Network Interface Card）１６８，ＬＣＤ１６９などの様々なデバイスが内蔵または接続されている。ＨＤＤ１６４やＮＡＮＤ記憶装置１６５は，図１に示す計算機装置１における記憶装置６３に相当する。リセットボタン１６１，電源ボタン１６２，カメラ１６６，各種キー１６７は，図１に示す計算機装置１における入力装置６４に相当する。各種キーは，例えば，数字・文字等の入力キー，ダイヤルキー，通話キーなどである。ＬＣＤ１６９は，図１に示す計算機装置１における出力装置６５に相当する。
【００５５】
なお，図示省略されているが，携帯端末１００は，図１の計算機装置１と同様に，ハードウェア１６０として，ＣＰＵ，メモリを備える。リセット制御ＶＭ１１０，管理ＶＭ１２０，ゲストＶＭ１３０，ドライバＶＭ１４０，ハイパーバイザ１５０は，携帯端末１００のコンピュータが備えるＣＰＵ，メモリ等のハードウェアと，ソフトウェアプログラムとによって実現することが可能である。携帯端末１００のコンピュータが実行可能なプログラムは，ＨＤＤ１６４やＮＡＮＤ記憶装置１６５などの記憶装置に記憶され，その実行時にメモリに読み出され，ＣＰＵにより実行される。
【００５６】
図４に示す携帯端末１００における管理ＶＭ１２０は，図１に示す計算機装置１における管理ＶＭ２０に相当する。管理ＶＭ１２０は，携帯端末１００上で動作するリセット制御ＶＭ１１０，ゲストＶＭ１３０，ドライバＶＭ１４０等の各ＶＭの起動・停止などの各種管理を行う。管理ＶＭ１２０は，ＶＭ制御部１２１，ＶＭ起動停止順序管理部１２２，ＶＭ構成定義管理部１２３，ＶＭアクセスポリシ管理部１２４を備える。
【００５７】
ＶＭ制御部１２１は，各ＶＭの起動・停止等の制御を行う。ＶＭ起動停止順序管理部１２２は，ＶＭの起動順序・停止順序を管理する。ＶＭ構成定義管理部１２３は，各ＶＭの構成の定義を管理する。ＶＭアクセスポリシ管理部１２４は，各ＶＭ間のアクセスを管理する。
【００５８】
なお，管理ＶＭ１２０は，その他のＶＭを制御する役割を果たすため，管理ＶＭ１２０のみが本実施の形態のリセット処理の対象となることはない。管理ＶＭ１２０のリセットは，ハイパーバイザ１５０を含む仮想化システム全体のリセット時に行われる。
【００５９】
図４に示す携帯端末１００におけるゲストＶＭ１３０は，図１に示す計算機装置１におけるユーザＶＭ３０に相当する。ゲストＶＭ１３０では，ゲストＯＳが動作する。携帯端末１００上では，ゲストＶＭ（＃１）１３０ａ，ゲストＶＭ（＃２）１３０ｂ，... というように，複数のゲストＶＭ１３０が動作可能である。ユーザは，そのときＬＣＤ１６９に画面が表示されているゲストＶＭ１３０を操作することが可能である。
【００６０】
複数のゲストＶＭ１３０において，それぞれ動作するゲストＯＳが異なっていてもよい。ユーザは，仮想化技術が導入された携帯端末１００で，ゲストＯＳが異なる複数のゲストＶＭ１３０を同時に利用することができる。例えば，携帯端末１００が携帯電話機である場合に，あるゲストＶＭ１３０では通信事業者ＡのゲストＯＳが動作し，別のゲストＶＭ１３０では通信事業者ＢのゲストＯＳが動作する，といった実装も可能である。このとき，ユーザは，１台の携帯端末１００で，通信事業者Ａと通信事業者Ｂの２つの携帯電話サービスを利用することができる。
【００６１】
図４に示す携帯端末１００におけるドライバＶＭ１４０は，図１に示す計算機装置１におけるデバイスドライバ用ＶＭ４０に相当する。ドライバＶＭ１４０は，携帯端末１００が備えるデバイスのドライバが機能するＶＭである。ドライバＶＭ１４０は，ユーザが利用するゲストＶＭ１３０とは形態が異なり，一般のユーザから見えない。
【００６２】
上述したように，携帯端末１００では，様々なデバイスが内蔵または接続されている。仮想化技術が導入された携帯端末１００では，デバイスは複数のＶＭで共用する形態で接続され，それらのデバイスを各ＶＭで利用する為のドライバが，各ＶＭ向けに必要となる。このとき，デバイスを共有する各ＶＭ向けにそれぞれドライバを用意すると，その開発負担が重くなってしまう。
【００６３】
図４に示す携帯端末１００では，複数のＶＭでドライバの共通利用が可能となるように，各種デバイスのドライバのみが機能するドライバＶＭ１４０を設けて，ドライバをアプリケーション利用のゲストＯＳとは分離する，スプリットドライバと呼ばれる技術が導入されている。この技術を導入することにより，携帯端末１００では，各ＶＭ向けのドライバ開発の負担を軽減することが可能となる。
【００６４】
図４に示す携帯端末１００において，例えば，ドライバＶＭ（ＬＣＤ）１４０ａは，ＬＣＤ１６９のデバイスドライバのみが機能するドライバＶＭ１４０である。また，ドライバＶＭ（ＮＩＣ）１４０ｂは，ＮＩＣ１６８のデバイスドライバのみが機能するドライバＶＭ１４０である。例えば，ドライバＶＭ（ＬＣＤ）１４０ａは，ＬＣＤ１６９を制御するバックエンドのドライバとして，ＬＣＤドライバ（バックエンド）１４１を備える。
【００６５】
ドライバＶＭ（ＬＣＤ）１４０ａの機能を利用してＬＣＤ１６９を使用する各ＶＭには，ＬＣＤドライバ（バックエンド）１４１と通信を行うフロントエンドのドライバが備えられる。例えば，図４に示す携帯端末１００において，ＬＣＤ１６９を使用するゲストＶＭ（＃１）１３０ａは，ＬＣＤドライバ（バックエンド）１４１と通信を行うフロントエンドのドライバとして，ＬＣＤドライバ（フロントエンド）１３１を備える。ゲストＶＭ（＃１）１３０ａは，ＬＣＤ１６９を使用する場合に，ＬＣＤドライバ（フロントエンド）１３１からＬＣＤドライバ（バックエンド）１４１への，ハイパーバイザ１５０を介した通信を行い，ＬＣＤドライバ（バックエンド）１４１の機能を利用する。また，ゲストＶＭ（＃１）１３０ａと同様に，ＬＣＤ１６９を使用するリセット制御ＶＭ１１０は，ＬＣＤドライバ（バックエンド）１４１と通信を行うフロントエンドのドライバとして，ＬＣＤドライバ（フロントエンド）１１６を備える。
【００６６】
このような仕組みにより，図４に示す携帯端末１００では，各ＶＭで，各種デバイスおよびそのデバイスドライバを共有することが可能となる。
【００６７】
このような仮想化技術が導入された携帯端末１００において，障害が発生した場合には，リセット処理により，障害の原因となるＶＭ等を停止，または停止してからの再起動を行う必要がある。
【００６８】
このとき，ユーザが仮想化技術の知識が豊富な技術者であれば，障害の原因となるＶＭを特定し，ＶＭ構成やＶＭ間の依存関係等に基づいて，リセット処理が必要なＶＭを１つ１つリセットしていくことも可能である。
【００６９】
しかし，仮想化技術の知識がほとんどない一般のユーザは，発生した障害の原因がアプリケーションにあるか，ＯＳ／ドライバにあるのかを特定することも困難である。仮に障害の原因となったＶＭを特定できても，そのＶＭが複数のゲストＶＭ１３０で共有するドライバＶＭ１４０であるような場合には，それらのＶＭ間の依存関係等を考慮して，リセットを行うＶＭの範囲を決定する必要があり，それを一般のユーザが行うのは難しい。
【００７０】
ハイパーバイザ１５０等も含めてＶＭシステム全体をリセットしてしまう方法も考えられるが，この場合には，リセットの必要がないＶＭも無駄にリセットしなければならなくなる。このとき，リセットの必要がないＶＭで利用中のアプリケーションは，一時中断になったり，帳消しになったりしてしまう。また，リセットの必要がないＶＭを含むすべてのＶＭの停止や再起動に，かなりの無駄な時間がかってしまう。
【００７１】
携帯端末１００では，以下で説明するリセット制御ＶＭ１１０によって，マニュアルに記載された説明で一般のユーザが理解できる程度の簡単な操作で，ＶＭ構成やＶＭ間の依存関係等に応じた，リセット処理の範囲を一部のＶＭに限定したリセット制御が可能となる。
【００７２】
図４に示す携帯端末１００におけるリセット制御ＶＭ１１０は，図１に示す計算機装置１におけるリセット制御ＶＭ１０に相当する。リセット制御ＶＭ１１０は，ユーザからのリセット操作に応じた各ＶＭのリセット制御を行う。リセット制御ＶＭ１１０は，リセットボタンドライバ１１１，入力解析部１１２，リセット範囲制御部１１３，フロント切替制御部１１５，ＬＣＤドライバ（フロントエンド）１１６を備える。また，リセット範囲制御部１１３は，リセット管理テーブル１１４を有する。
【００７３】
なお，図４に示すリセット制御ＶＭ１１０におけるリセットボタンドライバ１１１は，図１に示すリセット制御ＶＭ１０における入力受付部１１に相当する。また，図４に示すリセット制御ＶＭ１１０における入力解析部１１２は，図１に示すリセット制御ＶＭ１０におけるリセットレベル判定部１２，操作対象物特定部１３に相当する。また，図４に示すリセット制御ＶＭ１１０におけるリセット範囲制御部１１３は，図１に示すリセット制御ＶＭ１０におけるリセット管理情報記憶部１４，リセット対象物特定部１５，リセット信号送信部１６に相当する。
【００７４】
リセットボタンドライバ１１１は，リセットボタン１６１のデバイスドライバである。リセットボタンドライバ１１１は，ユーザがリセットボタン１６１を押下する操作を行った際に，リセットボタン１６１からボタン押下の操作を示す信号を受ける。なお，本実施の形態では，ユーザによるリセットの指示は，リセットボタン１６１の押下によって行われるものとする。
【００７５】
入力解析部１１２は，リセットボタンドライバ１１１がリセットボタン１６１から受けた信号を解析し，その解析結果からリセットレベルを得る。本実施の形態では，リセットレベルは３段階である。リセットレベルの切り分けは，リセットボタン１６１の押下時間の長さで行う。また，入力解析部１１２は，リセット操作発生時にユーザの操作対象であったゲストＶＭ１３０を特定する。
【００７６】
リセット範囲制御部１１３は，リセット管理テーブル１１４を有する。リセット管理テーブル１１４は，図２に示すリセット管理情報１９に相当する。すなわち，リセット管理テーブル１１４は，操作対象ＶＭごと，リセットレベルごとの，リセット処理対象ＶＭを示す情報である。
【００７７】
リセット範囲制御部１１３は，特定された操作対象ＶＭと，解析により得られたリセットレベルとで，リセット管理テーブル１１４を参照し，そのリセット管理テーブル１１４からリセット処理対象ＶＭの情報を得る。リセット範囲制御部１１３は，得られたリセット処理対象ＶＭのリストを，管理ＶＭ１２０に送る。
【００７８】
フロント切替制御部１１５は，ＬＣＤドライバ（バックエンド）１４１が優先的に処理を行う相手のフロントエンドドライバの切り替えを制御する。ＬＣＤドライバ（バックエンド）１４１が処理を行うフロントエンドドライバが切り替わると，それに応じてＬＣＤ１６９の表示画面が切り替わる。
【００７９】
ＬＣＤドライバ（フロントエンド）１１６は，リセット制御ＶＭ１１０がＬＣＤ１６９を使用するために，ＬＣＤドライバ（バックエンド）１４１と通信を行うフロントエンドドライバである。
【００８０】
図５は，本実施の形態によるＶＭ起動停止順序情報の例を示す図である。
【００８１】
ＶＭ起動停止順序情報１２６は，管理ＶＭ１２０のＶＭ起動停止順序管理部１２２が有する，携帯端末１００上で動作するＶＭの起動順序・停止順序を管理する情報である。図５（Ａ）は，ＶＭ起動停止順序情報１２６のデータ構造を示し，図５（Ｂ）は，ＶＭ起動停止順序情報１２６の具体例を示す。
【００８２】
図５（Ａ）に示すように，ＶＭ起動停止順序情報１２６では，携帯端末１００の起動時にＶＭを起動する順序で，それぞれのＶＭについて，ＮＡＮＤ記憶装置１６５上の該当ＶＭが格納された領域の先頭アドレス，パスの情報を含む該当ＶＭのファイル名の情報が記録されている。ＶＭの停止順序は，ＶＭの起動順序の逆順となる。
【００８３】
例えば，図５（Ｂ）に示すＶＭ起動停止順序情報１２６の例は，図４に示す携帯端末１００における各ＶＭの起動順序が定義された情報の例である。図５（Ｂ）に示すＶＭ起動停止順序情報１２６の例では，ファイル名“lcd-dev-vm”，“nic-dev-vm”，“guest#1-vm”，“guest#2-vm”，“reset-ctl-vm”の順に，ＶＭの起動順序が定義されている。なお，図５（Ｂ）に示すＶＭ起動停止順序情報１２６の例において，ＶＭのファイル名は，そのまま該当ＶＭのＶＭ−ＩＤとなるものとする。ＶＭ−ＩＤは，各ＶＭを一意に識別する識別情報である。
【００８４】
図５（Ｂ）に示すＶＭ起動停止順序情報１２６の例において，“lcd-dev-vm”は，ドライバＶＭ（ＬＣＤ）１４０ａのＶＭ−ＩＤである。また，“nic-dev-vm”は，ドライバＶＭ（ＮＩＣ）１４０ｂのＶＭ−ＩＤである。また，“guest#1-vm”は，ゲストＶＭ（＃１）１３０ａのＶＭ−ＩＤである。また，“guest#2-vm”は，ゲストＶＭ（＃２）１３０ｂのＶＭ−ＩＤである。また，“reset-ctl-vm”は，リセット制御ＶＭ１１０のＶＭ−ＩＤである。
【００８５】
すなわち，図４に示す携帯端末１００では，図５（Ｂ）に示すＶＭ起動停止順序情報１２６によって，ドライバＶＭ（ＬＣＤ）１４０ａ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ゲストＶＭ（＃１）１３０ａ，ゲストＶＭ（＃２）１３０ｂ，リセット制御ＶＭ１１０の順でＶＭが起動される。
【００８６】
図６は，本実施の形態によるＶＭ構成定義情報の例を示す図である。
【００８７】
ＶＭ構成定義情報１２７は，管理ＶＭ１２０のＶＭ構成定義管理部１２３が有する，携帯端末１００上で動作する各ＶＭの構成の定義を管理する情報である。図６（Ａ）は，ＶＭ構成定義情報１２７のデータ構造を示し，図６（Ｂ）は，ＶＭ構成定義情報１２７の具体例を示す。
【００８８】
図６（Ａ）に示すように，ＶＭ構成定義情報１２７では，各ＶＭごとに，ＶＭの識別情報であるＶＭ−ＩＤ，ＶＭの種別を示すＶＭタイプ，ＶＭへの割り当てリソース量を示す仮想ＣＰＵ数，仮想メモリサイズ，仮想ディスクサイズの情報が記録されている。
【００８９】
例えば，図６（Ｂ）に示すＶＭ構成定義情報１２７の例は，図４に示す携帯端末１００における各ＶＭの構成が定義された情報の例である。図６（Ｂ）に示すＶＭ構成定義情報１２７の例において，ＶＭタイプ“dev ”は，そのＶＭがドライバＶＭ１４０であることを示す。また，ＶＭタイプ“guest ”は，そのＶＭがゲストＶＭ１３０であることを示す。また，ＶＭタイプ“ctl ”は，そのＶＭが制御用のＶＭであることを示す。
【００９０】
図７は，本実施の形態によるＶＭアクセスポリシ情報の例を示す図である。
【００９１】
図７に示すＶＭアクセスポリシ情報１２８は，管理ＶＭ１２０のＶＭアクセスポリシ管理部１２４が有する，図４に示す携帯端末１００上で動作する各ＶＭ間のアクセスを管理する情報である。ＶＭアクセスポリシ情報１２８は，ハイパーバイザ１５０によるＶＭ間通信の制御に利用される。
【００９２】
図７に示すＶＭアクセスポリシ情報１２８の例において，“ｒ”は，アクセス元のＶＭがアクセス先のＶＭからのメッセージを受けることが可能であることを示す。また，“ｗ”は，アクセス元のＶＭからアクセス先のＶＭにメッセージを送ることが可能であることを示す。また，“ｘ”は，アクセス元のＶＭからアクセス先のＶＭに対する起動・停止等の制御が可能であることを示す。なお，図７に示すＶＭアクセスポリシ情報１２８の例では，管理ＶＭ１２０のみをＶＭ名で示し，それ以外のＶＭについてはＶＭ−ＩＤで示している。
【００９３】
図７に示すＶＭアクセスポリシ情報１２８により，管理ＶＭ１２０は，ドライバＶＭ（ＬＣＤ）１４０ａ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ゲストＶＭ（＃１）１３０ａ，ゲストＶＭ（＃２）１３０ｂに対して，メッセージの送受信が不可であり，起動・停止等の制御命令が可能である。また，管理ＶＭ１２０は，リセット制御ＶＭ１１０に対して，メッセージの送受信が可能であり，起動・停止等の制御命令が可能である。
【００９４】
図７に示すＶＭアクセスポリシ情報１２８により，ドライバＶＭ（ＬＣＤ）１４０ａは，管理ＶＭ１２０，ドライバＶＭ（ＮＩＣ）１４０ｂに対して，メッセージの送受信が不可であり，起動・停止等の制御命令が不可である。また，ドライバＶＭ（ＬＣＤ）１４０ａは，ゲストＶＭ（＃１）１３０ａ，ゲストＶＭ（＃２）１３０ｂ，リセット制御ＶＭ１１０に対して，メッセージの送受信が可能であり，起動・停止等の制御命令が不可である。
【００９５】
図７に示すＶＭアクセスポリシ情報１２８により，ドライバＶＭ（ＮＩＣ）１４０ｂは，管理ＶＭ１２０，ドライバＶＭ（ＬＣＤ）１４０ａ，ゲストＶＭ（＃２）１３０ｂ，リセット制御ＶＭ１１０に対して，メッセージの送受信が不可であり，起動・停止等の制御命令が不可である。また，ドライバＶＭ（ＮＩＣ）１４０ｂは，ゲストＶＭ（＃１）１３０ａに対して，メッセージの送受信が可能であり，起動・停止等の制御命令が不可である。
【００９６】
図７に示すＶＭアクセスポリシ情報１２８により，ゲストＶＭ（＃１）１３０ａは，管理ＶＭ１２０，リセット制御ＶＭ１１０に対して，メッセージの送受信が不可であり，起動・停止等の制御命令が不可である。また，ゲストＶＭ（＃１）１３０ａは，ドライバＶＭ（ＬＣＤ）１４０ａ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ゲストＶＭ（＃２）１３０ｂに対して，メッセージの送受信が可能であり，起動・停止等の制御命令が不可である。
【００９７】
図７に示すＶＭアクセスポリシ情報１２８により，ゲストＶＭ（＃２）１３０ｂは，管理ＶＭ１２０，ドライバＶＭ（ＮＩＣ）１４０ｂ，リセット制御ＶＭ１１０に対して，メッセージの送受信が不可であり，起動・停止等の制御命令が不可である。また，ゲストＶＭ（＃２）１３０ｂは，ドライバＶＭ（ＬＣＤ）１４０ａ，ゲストＶＭ（＃１）１３０ａに対して，メッセージの送受信が可能であり，起動・停止等の制御命令が不可である。
【００９８】
図７に示すＶＭアクセスポリシ情報１２８により，リセット制御ＶＭ１１０は，管理ＶＭ１２０，ドライバＶＭ（ＬＣＤ）１４０ａに対して，メッセージの送受信が可能であり，起動・停止等の制御命令が不可である。また，リセット制御ＶＭ１１０は，ドライバＶＭ（ＮＩＣ）１４０ｂ，ゲストＶＭ（＃１）１３０ａ，ゲストＶＭ（＃２）１３０ｂに対して，メッセージの送受信が不可であり，起動・停止等の制御命令が不可である。
【００９９】
図８は，本実施の形態によるリセット管理テーブルの構成例を示す図である。
【０１００】
図８（Ａ）に示すリセット管理テーブル１１４は，図２に示すリセット管理情報１９と同様に，操作対象ＶＭ，リセットレベル，リセット処理対象ＶＭの情報を持つ。
【０１０１】
操作対象ＶＭは，ユーザの操作対象となるゲストＶＭ１３０を示す情報である。図８（Ａ）に示すリセット管理テーブル１１４では，操作対象ＶＭがＶＭ−ＩＤで記載されている。リセットレベルについては，図２に示すリセット管理情報１９と同様である。
【０１０２】
リセット処理対象ＶＭは，リセット処理の対象となるＶＭを示すデータの配列情報である。図８（Ａ）に示すリセット管理テーブル１１４において，データ* は，リセット処理対象ＶＭ１つ１つについてのデータを表している。
【０１０３】
図８（Ｂ）は，図８（Ａ）に示すリセット管理テーブル１１４のリセット処理対象ＶＭを示すデータ* の構造例を示す。データ* は，ＶＭ−ＩＤ，共有数，起動有無などの情報を持つ。ＶＭ−ＩＤは，そのリセット処理対象ＶＭの識別情報である。共有数は，そのリセット処理対象ＶＭがドライバＶＭ１４０である場合に，そのドライバＶＭを共有するゲストＶＭ１３０の数を示す。なお，リセット処理対象ＶＭがゲストＶＭ１３０である場合の共有数は，０となる。起動有無は，そのリセット処理対象ＶＭが，起動中であるか否かを示すフラグである。図８（Ｂ）に示すデータ* の例では，０が停止中を示し，１が起動中を示す。
【０１０４】
リセット管理テーブル１１４は，あらかじめ静的に設定されていてもよい。例えば，あらかじめ携帯端末１００に組み込むＶＭの構成が決まっている場合などに，そのＶＭ構成におけるＶＭの依存関係等に基づいて，あらかじめ開発者がリセット管理テーブル１１４を設定し，携帯端末１００に組み込んでおいてもよい。
【０１０５】
また，リセット管理テーブル１１４は，携帯端末１００で動作するＶＭの構成に基づいて，動的に生成されてもよい。例えば，携帯端末１００の起動時などに，携帯端末１００上で動作するＶＭの構成・依存関係等に基づいて，携帯端末１００がリセット管理テーブル１１４を動的に生成するようにしてもよい。
【０１０６】
ここでは，携帯端末１００の起動時にリセット管理テーブル１１４が動的に生成される例を説明する。
【０１０７】
電源が投入され，付属のデバイス各部の起動が完了すると，携帯端末１００では，ローダというプログラムが，ＮＡＮＤ記憶装置１６５からハイパーバイザ１５０を読み出して実行する。ハイパーバイザ１５０は，仮想マシンモニタとしての動作を開始する。仮想マシンモニタとしての動作を開始したハイパーバイザ１５０は，管理ＶＭ１２０をＮＡＮＤ記憶装置１６５から読み出して実行する。管理ＶＭ１２０は，動作を開始する。
【０１０８】
管理ＶＭ１２０のＶＭ制御部１２１は，ＶＭ起動停止順序管理部１２２が保持するＶＭ起動停止順序情報１２６とＶＭ構成定義管理部１２３が保持するＶＭ構成定義情報１２７とに基づいて，各ＶＭを起動させる起動命令を順次ハイパーバイザ１５０に対して与える。例えば，ＶＭ制御部１２１は，図５（Ｂ）のＶＭ起動停止順序情報１２６に示す順序に従って，ドライバＶＭ（ＬＣＤ）１４０ａ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ゲストＶＭ（＃１）１３０ａ，ゲストＶＭ（＃２）１３０ｂ，リセット制御ＶＭ１１０の順に，ハイパーバイザ１５０に起動命令を発行する。ハイパーバイザ１５０は，管理ＶＭ１２０からの起動命令に応じて，各ＶＭをＮＡＮＤ記憶装置１６５から読み出して実行する。各ＶＭは，動作を開始する。
【０１０９】
このような各ＶＭの起動時に，管理ＶＭ１２０がリセット管理テーブル１１４を動的に生成するものとする。なお，図４に示す携帯端末１００では図示していないが，管理ＶＭ１２０は，ＶＭの構成，ＶＭ間の依存関係等に基づいて，リセット管理テーブル１１４を動的に生成する機能部を備えているものとする。
【０１１０】
図９は，本実施の形態によるＶＭの構成例を説明する。
【０１１１】
図９には，携帯端末１００上で動作するＶＭの構成において，ゲストＶＭ１３０とドライバＶＭ１４０との間のアクセス関係が示されている。図９に示すＶＭ間のアクセス関係は，図７に示すＶＭアクセスポリシ情報１２８に基づくＶＭ間のアクセス関係である。
【０１１２】
以下では，携帯端末１００上で動作するＶＭの構成が，図９に示すＶＭの構成である場合の動的なリセット管理テーブル１１４の生成について説明する。なお，管理ＶＭ１２０とリセット制御ＶＭ１１０は，リセット制御の対象に含まれないものとする。
【０１１３】
管理ＶＭ１２０の起動後，管理ＶＭ１２０は，所定のリセット制御ポリシに基づいて，リセット管理テーブル１１４の生成を行う。リセット制御ポリシは，リセットレベルごとのリセット処理対象ＶＭの範囲が，ＶＭの依存関係に応じて決定されるように定義されたポリシである。
【０１１４】
図１０は，本実施の形態によるリセット制御ポリシの例を示す図である。
【０１１５】
図１０では，２つのリセット制御ポリシの例が挙げられている。図１０に示すリセット制御ポリシでは，リセットレベルごとのリセット範囲が定義されている。リセット範囲とは，リセット制御対象ＶＭとなるＶＭの範囲である。図１０に示すリセット制御ポリシにおいて，より高位のリセットレベルのリセット範囲には，より下位のリセットレベルのリセット範囲が含まれる。
【０１１６】
なお，図１０にも示されているように，携帯端末１００では，リセットレベルは，ユーザによるリセットボタン１６１の押下時間に応じて判断される。入力解析部１１２は，ユーザによるリセットボタン１６１の押下時間が“短”であれば，リセットレベル“１”と判定する。入力解析部１１２は，ユーザによるリセットボタン１６１の押下時間が“中”であれば，リセットレベル“２”と判定する。入力解析部１１２は，ユーザによるリセットボタン１６１の押下時間が“長”であれば，リセットレベル“３”と判定する。
【０１１７】
図１０（Ａ）に示すリセット制御ポリシ（１）において，リセットレベル“１”のリセット範囲は，操作対象のゲストＶＭ１３０すなわち操作対象ＶＭである。
【０１１８】
図１０（Ａ）に示すリセット制御ポリシ（１）において，リセットレベル“２”のリセット範囲は，操作対象ＶＭが利用するドライバＶＭ１４０である。このとき，操作対象ＶＭが利用するドライバＶＭ１４０が他のゲストＶＭ１３０との共有であるか否かは，関係ない。
【０１１９】
図１０（Ａ）に示すリセット制御ポリシ（１）において，リセットレベル“３”のリセット範囲は，操作対象ＶＭが利用するドライバＶＭ１４０を共有する他のゲストＶＭ１３０である。
【０１２０】
図１０（Ａ）に示すリセット制御ポリシ（１）では，操作対象ＶＭが利用するドライバＶＭ１４０を，そのドライバＶＭ１４０を共有する他のゲストＶＭ１３０の使用状況を無視して，リセットボタン押下時間“中”でリセットすることが特徴である。
【０１２１】
図１０（Ｂ）に示すリセット制御ポリシ（２）において，リセットレベル“１”のリセット範囲は，操作対象のゲストＶＭ１３０すなわち操作対象ＶＭである。
【０１２２】
図１０（Ｂ）に示すリセット制御ポリシ（２）において，リセットレベル“２”のリセット範囲は，操作対象ＶＭが単独で利用するドライバＶＭ１４０である。図１０（Ｂ）に示すリセット制御ポリシ（２）では，図１０（Ａ）に示すリセット制御ポリシ（１）の場合とは異なり，他のゲストＶＭ１３０と共有するドライバＶＭ１４０は，リセットレベル“２”のリセット範囲に含まれない。
【０１２３】
図１０（Ｂ）に示すリセット制御ポリシ（２）において，リセットレベル“３”のリセット範囲は，
・操作対象ＶＭが他のゲストＶＭ１３０と共有して利用するドライバＶＭ１４０，
・操作対象ＶＭが利用するドライバＶＭ１４０を共有するゲストＶＭ１３０，
・操作対象ＶＭが利用するドライバＶＭ１４０を共有するゲストＶＭ１３０が利用するドライバＶＭ１４０
である。
【０１２４】
図１０（Ｂ）に示すリセット制御ポリシ（２）では，操作対象ＶＭが利用するドライバＶＭ１４０を，そのドライバＶＭ１４０を共有する他のゲストＶＭ１３０の使用状況を鑑みて，リセットボタン押下時間“中”でリセットしないことが特徴となる。図１０（Ｂ）に示すリセット制御ポリシ（２）では，操作対象ＶＭが他のゲストＶＭ１３０と共有するドライバＶＭ１４０は，リセットレベル“２”のリセット範囲ではなく，リセットレベル“３”のリセット範囲である。
【０１２５】
また，図１０（Ｂ）に示すリセット制御ポリシ（２）では，操作対象ＶＭが利用するドライバＶＭ１４０を共有するゲストＶＭ１３０が利用するドライバＶＭ１４０までが，リセットレベル“３”のリセット範囲であることが特徴となる。
【０１２６】
このように，ＶＭの依存関係に応じてリセット管理テーブル１１４を生成する，任意のリセット制御ポリシの定義が可能である。
【０１２７】
管理ＶＭ１２０は，例えば，リセット制御ポリシに基づいたアルゴリズムを有するプログラムによって，リセット管理テーブル１１４を動的に作成する。また，例えば，リセット制御ポリシを定義情報として用意し，そのリセット制御ポリシの定義情報に基づいた汎用的なプログラムにより，管理ＶＭ１２０がリセット管理テーブル１１４を作成することも可能である。
【０１２８】
また，２以上のリセット制御ポリシを定義しておき，リセット管理テーブル１１４の生成時に，適用するリセット制御ポリシを選択するようにしてもよい。例えば，管理ＶＭ１２０による各ＶＭの起動処理時に，ユーザに適用するリセット制御ポリシを選択させるようにしてもよい。また，例えば，管理ＶＭ１２０による各ＶＭの起動処理時に参照する設定情報に適用するリセット制御ポリシの選択情報を持たせて，その選択情報の設定を変更可能とすることにより，適用するリセット制御ポリシを変更できるようにしてもよい。
【０１２９】
以下では，図１０（Ａ）に示すリセット制御ポリシ（１）に基づいて，リセット管理テーブル１１４を生成する例を説明する。なお，ここでは，操作対象ＶＭごとにリセット管理テーブル１１４が作成されるものとする。
【０１３０】
管理ＶＭ１２０は，各ＶＭの起動前に，図６に示すＶＭ構成定義情報１２７と図７に示すＶＭアクセスポリシ情報１２８とを参照して，リセット管理テーブル１１４の一時作成を行う。
【０１３１】
まず，操作対象ＶＭがゲストＶＭ（＃１）１３０ａである場合のリセット管理テーブル１１４について，一時作成を行う。
【０１３２】
図１０（Ａ）のリセット制御ポリシ（１）に示すように，リセットレベル“１”では，リセット範囲が，操作対象のゲストＶＭ１３０すなわち操作対象ＶＭのみとなる。
【０１３３】
管理ＶＭ１２０は，操作対象ＶＭがゲストＶＭ（＃１）１３０ａである場合のリセット管理テーブル１１４において，リセットレベル“１”のリセット処理対象ＶＭに，ゲストＶＭ（＃１）１３０ａのデータとして，ＶＭ−ＩＤ＝guest#1-vm，共有数＝０，起動有無＝０のデータを記録する。
【０１３４】
図１０（Ａ）のリセット制御ポリシ（１）に示すように，リセットレベル“２”では，リセットレベル“１”の範囲に加えて，操作対象ＶＭが利用するドライバＶＭ１４０がリセット範囲となる。図７に示すＶＭアクセスポリシ情報１２８から，ゲストＶＭ（＃１）１３０ａが利用するドライバＶＭ１４０は，ドライバＶＭ（ＬＣＤ）１４０ａとドライバＶＭ（ＮＩＣ）１４０ｂとであることがわかる。
【０１３５】
図７に示すＶＭアクセスポリシ情報１２８から，ドライバＶＭ（ＬＣＤ）１４０ａは，ゲストＶＭ（＃１）１３０ａとゲストＶＭ（＃２）１３０ｂとの共有であることがわかる。管理ＶＭ１２０は，操作対象ＶＭがゲストＶＭ（＃１）１３０ａである場合のリセット管理テーブル１１４において，リセットレベル“２”のリセット処理対象ＶＭに，ドライバＶＭ（ＬＣＤ）１４０ａのデータとして，ＶＭ−ＩＤ＝lcd-dev-vm，共有数＝２，起動有無＝０のデータを記録する。
【０１３６】
また，図７に示すＶＭアクセスポリシ情報１２８から，ドライバＶＭ（ＮＩＣ）１４０ｂは，ゲストＶＭ（＃１）１３０ａのみが利用することがわかる。管理ＶＭ１２０は，操作対象ＶＭがゲストＶＭ（＃１）１３０ａである場合のリセット管理テーブル１１４において，リセットレベル“２”のリセット処理対象ＶＭに，ドライバＶＭ（ＮＩＣ）１４０ｂのデータとして，ＶＭ−ＩＤ＝nic-dev-vm，共有数＝１，起動有無＝０のデータを記録する。
【０１３７】
図１０（Ａ）のリセット制御ポリシ（１）に示すように，リセットレベル“３”では，リセットレベル“１”＋“２”の範囲に加えて，操作対象ＶＭが利用するドライバＶＭ１４０を共有するゲストＶＭ１３０がリセット範囲となる。図７に示すＶＭアクセスポリシ情報１２８から，ゲストＶＭ（＃１）１３０ａとドライバＶＭ（ＬＣＤ）１４０ａを共有するゲストＶＭ１３０は，ゲストＶＭ（＃２）１３０ｂであることがわかる。なお，ゲストＶＭ（＃１）１３０ａとドライバＶＭ（ＮＩＣ）１４０ｂを共有するゲストＶＭ１３０はない。
【０１３８】
管理ＶＭ１２０は，操作対象ＶＭがゲストＶＭ（＃１）１３０ａである場合のリセット管理テーブル１１４において，リセットレベル“３”のリセット処理対象ＶＭに，ゲストＶＭ（＃２）１３０ｂのデータとして，ＶＭ−ＩＤ＝guest#2-vm，共有数＝０，起動有無＝０のデータを記録する。
【０１３９】
同様に，操作対象ＶＭがゲストＶＭ（＃２）１３０ｂである場合のリセット管理テーブル１１４についても，一時作成を行う。
【０１４０】
図１０（Ａ）のリセット制御ポリシ（１）に示すように，リセットレベル“１”では，リセット範囲が，操作対象のゲストＶＭ１３０すなわち操作対象ＶＭのみとなる。
【０１４１】
管理ＶＭ１２０は，操作対象ＶＭがゲストＶＭ（＃２）１３０ｂである場合のリセット管理テーブル１１４において，リセットレベル“１”のリセット処理対象ＶＭに，ゲストＶＭ（＃２）１３０ｂのデータとして，ＶＭ−ＩＤ＝guest#2-vm，共有数＝０，起動有無＝０のデータを記録する。
【０１４２】
図１０（Ａ）のリセット制御ポリシ（１）に示すように，リセットレベル“２”では，リセットレベル“１”の範囲に加えて，操作対象ＶＭが利用するドライバＶＭ１４０がリセット範囲となる。図７に示すＶＭアクセスポリシ情報１２８から，ゲストＶＭ（＃２）１３０ｂが利用するドライバＶＭ１４０は，ドライバＶＭ（ＬＣＤ）１４０ａであることがわかる。
【０１４３】
図７に示すＶＭアクセスポリシ情報１２８から，ドライバＶＭ（ＬＣＤ）１４０ａは，ゲストＶＭ（＃１）１３０ａとゲストＶＭ（＃２）１３０ｂとの共有であることがわかる。管理ＶＭ１２０は，操作対象ＶＭがゲストＶＭ（＃２）１３０ｂである場合のリセット管理テーブル１１４において，リセットレベル“２”のリセット処理対象ＶＭに，ドライバＶＭ（ＬＣＤ）１４０ａのデータとして，ＶＭ−ＩＤ＝lcd-dev-vm，共有数＝２，起動有無＝０のデータを記録する。
【０１４４】
図１０（Ａ）のリセット制御ポリシ（１）に示すように，リセットレベル“３”では，リセットレベル“１”＋“２”の範囲に加えて，操作対象ＶＭが利用するドライバＶＭ１４０を共有するゲストＶＭ１３０がリセット範囲となる。図７に示すＶＭアクセスポリシ情報１２８から，ゲストＶＭ（＃２）１３０ｂとドライバＶＭ（ＬＣＤ）１４０ａを共有するゲストＶＭ１３０は，ゲストＶＭ（＃１）１３０ａであることがわかる。
【０１４５】
管理ＶＭ１２０は，操作対象ＶＭがゲストＶＭ（＃２）１３０ｂである場合のリセット管理テーブル１１４において，リセットレベル“３”のリセット処理対象ＶＭに，ゲストＶＭ（＃１）１３０ａのデータとして，ＶＭ−ＩＤ＝guest#1-vm，共有数＝０，起動有無＝０のデータを記録する。
【０１４６】
図１１は，一時作成のリセット管理テーブルの例を示す図である。
【０１４７】
図１１では，リセット管理テーブル１１４が，操作対象ＶＭごとに分けられて示されている。図１１（Ａ）は，各ＶＭの起動前に作成された，操作対象ＶＭがゲストＶＭ（＃１）１３０ａである場合についての一時作成のリセット管理テーブル１１４ａ’を示す。また，図１１（Ｂ）は，各ＶＭの起動前に作成された，操作対象ＶＭがゲストＶＭ（＃２）１３０ｂである場合についての一時作成のリセット管理テーブル１１４ｂ’を示す。
【０１４８】
上述の各ＶＭの起動前の処理により，図６に示すＶＭ構成定義情報１２７と図７に示すＶＭアクセスポリシ情報１２８とから，図１１に示す一時作成のリセット管理テーブル１１４ａ’，１１４ｂ’が生成される。
【０１４９】
管理ＶＭ１２０は，リセット管理テーブル１１４の一時作成後，図５に示すＶＭ起動停止順序情報１２６に従って，図６に示すＶＭ構成定義情報１２７を参照しながら各ＶＭを順に起動する。管理ＶＭ１２０は，一時的に作成されたリセット管理テーブル１１４のリセット対象ＶＭにおいて，起動に成功したＶＭのデータの起動有無の情報に１を設定する。本実施の形態では，起動しているＶＭのみがリセット制御対象ＶＭとなり得る。
【０１５０】
図１２は，完成したリセット管理テーブルの例（１）を示す図である。
【０１５１】
図１２（Ａ）は，各ＶＭの起動後に完成した，操作対象ＶＭがゲストＶＭ（＃１）１３０ａである場合についてのリセット管理テーブル１１４ａを示す。また，図１２（Ｂ）は，各ＶＭの起動後に完成した，操作対象ＶＭがゲストＶＭ（＃２）１３０ｂである場合についてのリセット管理テーブル１１４ｂを示す。
【０１５２】
リセット制御ポリシが，図１０（Ａ）に示すリセット制御ポリシ（１）である場合に，図１２に示すリセット管理テーブル１１４が生成される。管理ＶＭ１２０は，生成したリセット管理テーブル１１４を，リセット制御ＶＭ１１０に送信する。
【０１５３】
図１３は，完成したリセット管理テーブルの例（２）を示す図である。
【０１５４】
リセット制御ポリシが，図１０（Ｂ）に示すリセット制御ポリシ（２）である場合には，管理ＶＭ１２０によるリセット管理テーブル１１４の生成処理により，図１３に示すリセット管理テーブル１１４が生成される。図１３（Ａ）は，操作対象ＶＭがゲストＶＭ（＃１）１３０ａである場合についてのリセット管理テーブル１１４ｃを示す。また，図１３（Ｂ）は，各ＶＭの起動後に完成した，操作対象ＶＭがゲストＶＭ（＃２）１３０ｂである場合についてのリセット管理テーブル１１４ｄを示す。
【０１５５】
図１０（Ｂ）に示すリセット制御ポリシ（２）の場合には，リセットレベル“２”において，リセットレベル“１”のリセット範囲に加えて，操作対象ＶＭが単独で利用するドライバＶＭ１４０がリセット範囲となる。図１０（Ｂ）に示すリセット制御ポリシ（２）の場合には，操作対象ＶＭが他のゲストＶＭ１３０と共有して利用するドライバＶＭ１４０は，リセットレベル“３”のリセット範囲となる。
【０１５６】
図１３（Ａ）に示すように，操作対象ＶＭがゲストＶＭ（＃１）１３０ａである場合のリセット管理テーブル１１４ｃにおいて，ゲストＶＭ（＃２）１３０ｂと共有のドライバＶＭ（ＬＣＤ）１４０ａは，リセットレベル“３”のリセット処理対象ＶＭとなる。また，図１３（Ｂ）に示すように，操作対象ＶＭがゲストＶＭ（＃２）１３０ｂである場合のリセット管理テーブル１１４ｄにおいて，ゲストＶＭ（＃１）１３０ａと共有のドライバＶＭ（ＬＣＤ）１４０ａは，リセットレベル“３”のリセット処理対象ＶＭとなる。
【０１５７】
図１４は，本実施の形態によるリセット管理テーブルの動的生成処理フローチャートである。
【０１５８】
図１４に示すリセット管理テーブル１１４の動的生成処理は，各デバイスが初期化された後，ハイパーバイザ１５０がメモリにローディングされて管理ＶＭ１２０の起動が完了したところで，管理ＶＭ１２０によって実行される。
【０１５９】
管理ＶＭ１２０は，リセット管理テーブル１１４の生成に適用するリセット制御ポリシを選択する（ステップＳ１００）。複数のリセット制御ポリシが定義されている場合には，例えば，管理ＶＭ１２０は，ＶＭ起動時に参照する設定情報で設定されたリセット制御ポリシを選択する。複数のリセット制御ポリシが定義されていない場合には，ステップＳ１００の処理は必要ない。
【０１６０】
管理ＶＭ１２０は，適用するリセット制御ポリシに基づいて，リセット管理テーブル１１４の一時作成処理を行う（ステップＳ１０１）。この処理により，例えば，図６に示すＶＭ構成定義情報１２７と図７に示すＶＭアクセスポリシ情報１２８とから，図１１に示す一時作成のリセット管理テーブル１１４ａ’，１１４ｂ’が生成される。
【０１６１】
管理ＶＭ１２０は，各ＶＭの起動処理を行う（ステップＳ１０２）。例えば，ＶＭ制御部１２１は，図５に示すＶＭ起動停止順序情報と図６に示すＶＭ構成定義情報とを参照し，各ドライバＶＭ１４０，各ゲストＶＭ１３０，リセット制御ＶＭ１１０等の各ＶＭを起動する制御を行う。なお，図４に示す携帯端末１００では図示されていないが，管理ＶＭ１２０は，各ＶＭの起動の有無を管理する管理情報を有する。
【０１６２】
管理ＶＭ１２０は，リセット管理テーブル１１４の完成処理を行う（ステップＳ１０３）。管理ＶＭ１２０は，各ＶＭの起動の有無を管理する管理情報をもとに，一時作成したリセット管理テーブル１１４に起動有無情報を設定することにより，リセット管理テーブルを完成させる。この処理により，例えば，図１２に示すリセット管理テーブル１１４ａ，１１４ｂが完成する。
【０１６３】
管理ＶＭ１２０は，完成したリセット管理テーブル１１４を，リセット制御ＶＭ１１０に送る（ステップＳ１０４）。リセット制御ＶＭ１１０では，リセット範囲制御部１１３が，リセット管理テーブル１１４を保持する。
【０１６４】
このように，定義されたリセット制御ポリシに基づいて，携帯端末１００上で動作するＶＭの構成・依存関係に応じたリセット管理テーブル１１４を，動的に生成することが可能となる。
【０１６５】
以下では，生成されたリセット管理テーブル１１４を用いたリセット制御処理の例について説明する。
【０１６６】
図１５，図１６は，本実施の形態によるリセット制御処理シーケンスである。
【０１６７】
図１５，図１６のシーケンス図に示す例は，携帯端末１００ユーザが，ＬＣＤ１６９に画面が表示されている操作対象のゲストＶＭ（＃１）１３０ａの状態をハングアップと判断し，リセットボタン１６１を押下したときのリセット制御処理の例である。なお，ここでは，リセット範囲制御部１１３に保持されているリセット管理テーブル１１４は，図１０（Ａ）に示すリセット制御ポリシ（１）に基づいて生成された，図１２に示すリセット管理テーブル１１４であるものとする。
【０１６８】
携帯端末１００において，ユーザの操作対象であるゲストＶＭ（＃１）１３０ａの画面がＬＣＤ１６９に表示されている状態で，ユーザによりリセットボタン１６１が押下されると，そのリセットボタン１６１の押下がリセットボタンドライバ１１１に検知される（ステップＳ１１０）。リセットボタンドライバ１１１は，リセットボタン１６１の押下状態を入力解析部１１２に通知する（ステップＳ１１１）。
【０１６９】
入力解析部１１２は，リセットボタンドライバ１１１から通知されたリセットボタン１６１の押下状態から，リセットボタン１６１の押下時間を解析する。入力解析部１１２は，リセットボタン１６１の押下時間の解析結果から，リセットレベルを判定する（ステップＳ１１２）。ここでは，ユーザによるリセットボタン１６１の押下時間が“長”であると解析され，リセットレベルが“３”であると判定されるものとする。また，このとき，入力解析部１１２は，操作対象のゲストＶＭ１３０を特定し，そのＶＭ−ＩＤを取得する。ここでは，操作対象のゲストＶＭ１３０として，ゲストＶＭ（＃１）１３０ａが特定され，そのＶＭ−ＩＤ“guest#1-vm”が得られる。
【０１７０】
入力解析部１１２は，リセットレベルと，操作対象のゲストＶＭ１３０とを，リセット範囲制御部１１３に通知する（ステップＳ１１３）。ここでは，リセットレベル“３”と，ＶＭ−ＩＤ“guest#1-vm”とが，リセット範囲制御部１１３に通知される。
【０１７１】
リセット範囲制御部１１３は，入力解析部１１２から通知されたリセットレベルと操作対象のゲストＶＭ１３０のＶＭ−ＩＤとでリセット管理テーブル１１４を参照し，リセット範囲リストを生成する（ステップＳ１１４）。リセット範囲リストは，操作対象のゲストＶＭ１３０すなわち操作対象ＶＭとリセットレベルとに対応するリセット処理対象ＶＭのリストである。ここでは，図１２（Ａ）に示すリセット管理テーブル１１４ａから，操作対象ＶＭ（ＶＭ−ＩＤ“guest#1-vm”），リセットレベル“３”に対応するリセット処理対象ＶＭ（ＶＭ−ＩＤ“guest#1-vm”，“lcd-dev-vm”，“nic-dev-vm”，“guest#2 -vm ”）のリストが生成される。
【０１７２】
リセット範囲制御部１１３は，入力解析部１１２への応答として，生成されたリセット範囲リストを通知する（ステップＳ１１５）。
【０１７３】
入力解析部１１２は，フロント切替制御部１１５に対してフロント切替指示を出す（ステップＳ１１６）。ここでのフロント切替指示は，操作対象のゲストＶＭ１３０のＬＣＤドライバ（フロントエンド）１３１から，リセット制御ＶＭ１１０のＬＣＤドライバ (フロントエンド）１１６へのフロントエンドドライバ切替の指示である。
【０１７４】
フロント切替制御部１１５は，ＬＣＤドライバ (フロントエンド）１１６を介してドライバＶＭ（ＬＣＤ）１４０ａにアクセスし，フロントエンドドライバをリセット制御ＶＭ１１０のＬＣＤドライバ (フロントエンド）１１６に切り替える制御を行う（ステップＳ１１７）。このとき，リセット制御ＶＭ１１０は，ＬＣＤドライバ (フロントエンド）１１６から，ドライバＶＭ（ＬＣＤ）１４０ａのＬＣＤドライバ（バックエンド）１４１に対して，リセット範囲の画面表示を要求する。
【０１７５】
ドライバＶＭ（ＬＣＤ）１４０ａのＬＣＤドライバ（バックエンド）１４１は，リセット制御ＶＭ１１０のＬＣＤドライバ (フロントエンド）１１６からの要求に応じてＬＣＤ１６９を制御し，ＬＣＤ１６９にリセット範囲の画面を表示させる（ステップＳ１１８）。
【０１７６】
このとき，ＬＣＤ１６９に表示されるリセット範囲の内容は，リセット処理対象ＶＭのＶＭ名のリストであってもよいし，ＶＭ構成の図を表示してリセット範囲を提示するものであってもよい。また，ＬＣＤ１６９がタッチパネルディスプレイ対応である場合に，画面表示されたリセット範囲へのユーザのタッチにより，より詳細なリセット範囲の情報を提示するようにしてもよい。また，ユーザがリセットボタン１６１の押下と開放とを繰り返す操作に応答して，リセットレベル“１”からリセットレベル“３”に応じたリセット範囲を，連続してＬＣＤ１６９に提示するようにしてもよい。このようにすれば，ユーザは，自身が希望するリセット範囲が指定されているかをＬＣＤ１６９の画面で確認しながら，リセット範囲の指定操作を行うことができる。
【０１７７】
また，リセット範囲制御部１１３は，管理ＶＭ１２０のＶＭ制御部１２１に対して，リセット対象範囲を示す情報であるリセット範囲リストを送り，リセット処理実行を要求する（ステップＳ１１９）。ここでは，リセット範囲リスト（ＶＭ−ＩＤ“guest#1-vm”，“lcd-dev-vm”，“nic-dev-vm”，“guest#2-vm”）が，管理ＶＭ１２０のＶＭ制御部１２１に送られる。
【０１７８】
管理ＶＭ１２０のＶＭ制御部１２１は，ＶＭ起動停止順序管理部１２２が保持するＶＭ起動停止順序情報１２６の順序に従って，リセット範囲リストに含まれるＶＭのリセット制御を行う（ステップＳ１２０）。ここでは，ＶＭのリセットは，ＶＭの停止とＶＭの再起動とであるものとする。
【０１７９】
ＶＭ制御部１２１は，まず，リセット範囲リストに含まれる各ＶＭの停止制御を実行する。ここでは，ＶＭ制御部１２１は，図５に示すＶＭ起動停止順序情報１２６を参照し，ＶＭ起動停止順序情報１２６に示されたＶＭの起動順序の逆順で，リセット範囲リストに含まれるＶＭの停止制御を実行する。すなわち，ＶＭ制御部１２１は，ゲストＶＭ（＃２）１３０ｂ（ステップＳ１２１），ゲストＶＭ（＃１）１３０ａ（ステップＳ１２２），ドライバＶＭ（ＮＩＣ）１４０ｂ（ステップＳ１２３），ドライバＶＭ（ＬＣＤ）１４０ａ（ステップＳ１２４）の順で，停止制御を行う。
【０１８０】
各ＶＭの停止が完了すると，ＶＭ制御部１２１は，リセット範囲リストに含まれる各ＶＭの起動制御を実行する。ここでは，ＶＭ制御部１２１は，図５に示すＶＭ起動停止順序情報１２６を参照し，ＶＭ起動停止順序情報１２６に示された起動順序で，リセット範囲リストに含まれるＶＭの起動制御を実行する。すなわち，ＶＭ制御部１２１は，ドライバＶＭ（ＬＣＤ）１４０ａ（ステップＳ１２５），ドライバＶＭ（ＮＩＣ）１４０ｂ（ステップＳ１２６），ゲストＶＭ（＃１）１３０ａ（ステップＳ１２７），ゲストＶＭ（＃２）１３０ｂ（ステップＳ１２８）の順で，起動制御を行う。
【０１８１】
管理ＶＭ１２０のＶＭ制御部１２１は，各ＶＭの起動が完了すると，リセット制御ＶＭ１１０のリセット範囲制御部１１３に，リセット完了の通知を返す（ステップＳ１２９）。
【０１８２】
リセット範囲制御部１１３は，フロント切替制御部１１５に対してフロント切替指示を出す（ステップＳ１３０）。ここでのフロント切替指示は，リセット制御ＶＭ１１０のＬＣＤドライバ (フロントエンド）１１６から，当初の操作対象のゲストＶＭ１３０のＬＣＤドライバ（フロントエンド）１３１へのフロントエンドドライバ切替の指示である。
【０１８３】
フロント切替制御部１１５は，ＬＣＤドライバ (フロントエンド）１１６を介してドライバＶＭ（ＬＣＤ）１４０ａにアクセスし，フロントエンドドライバを当初の操作対象のゲストＶＭ１３０のＬＣＤドライバ（フロントエンド）１３１に切り替える制御を行う（ステップＳ１３１）。ここでは，フロントエンドドライバが，ゲストＶＭ（＃１）１３０ａのＬＣＤドライバ（フロントエンド）１３１に切り替えられる。
【０１８４】
以上で，リセット制御ＶＭ１１０によるリセット管理テーブル１１４を用いたリセット制御が終了する。
【０１８５】
図１７は，本実施の形態のリセット範囲制御部によるリセット範囲リスト生成処理フローチャートである。
【０１８６】
リセット範囲制御部１１３は，操作対象ＶＭを判定する（ステップＳ１４０）。リセット範囲制御部１１３が入力解析部１１２から受ける通知には，入力解析部１１２により特定された操作対象であるゲストＶＭ１３０のＶＭ−ＩＤ，すなわち操作対象ＶＭのＶＭ−ＩＤと，入力解析部１１２により判定されたリセットレベルとが含まれている。
【０１８７】
リセット範囲制御部１１３は，操作対象ＶＭのリセット管理テーブル１１４において，リセットレベル“１”のリセット処理対象ＶＭのＶＭ−ＩＤを順に１つ取得し，リセット範囲リストに追加する（ステップＳ１４１）。
【０１８８】
リセット範囲制御部１１３は，操作対象ＶＭのリセット管理テーブル１１４に，未処理のリセットレベル“１”のリセット処理対象ＶＭがあるかを判定する（ステップＳ１４２）。
【０１８９】
未処理のリセットレベル“１”のリセット処理対象ＶＭがあれば（ステップＳ１４２のＹＥＳ），リセット範囲制御部１１３は，ステップＳ１４１に戻り，次のリセット処理対象ＶＭの処理に移る。
【０１９０】
未処理のリセットレベル“１”のリセット処理対象ＶＭがなければ（ステップＳ１４２のＮＯ），リセット範囲制御部１１３は，入力解析部１１２により判定されたリセットレベルが“１”であるかを判定する（ステップＳ１４３）。
【０１９１】
リセットレベルが“１”であれば（ステップＳ１４３のＹＥＳ），この時点でリセット範囲リストが完成となる。リセット範囲制御部１１３は，リセット範囲リストを管理ＶＭ１２０のＶＭ制御部１２１に通知する（ステップＳ１４９）。
【０１９２】
リセットレベルが“１”でなければ（ステップＳ１４３のＮＯ），すなわちリセットレベルが“２”または“３”であれば，リセット範囲制御部１１３は，操作対象ＶＭのリセット管理テーブル１１４において，リセットレベル“２”のリセット処理対象ＶＭのＶＭ−ＩＤを順に１つ取得し，リセット範囲リストに追加する（ステップＳ１４４）。
【０１９３】
リセット範囲制御部１１３は，操作対象ＶＭのリセット管理テーブル１１４に，未処理のリセットレベル“２”のリセット処理対象ＶＭがあるかを判定する（ステップＳ１４５）。
【０１９４】
未処理のリセットレベル“２”のリセット処理対象ＶＭがあれば（ステップＳ１４５のＹＥＳ），リセット範囲制御部１１３は，ステップＳ１４４に戻り，次のリセット処理対象ＶＭの処理に移る。
【０１９５】
未処理のリセットレベル“２”のリセット処理対象ＶＭがなければ（ステップＳ１４５のＮＯ），リセット範囲制御部１１３は，入力解析部１１２により判定されたリセットレベルが“２”であるかを判定する（ステップＳ１４６）。
【０１９６】
リセットレベルが“２”であれば（ステップＳ１４６のＹＥＳ），この時点でリセット範囲リストが完成となる。リセット範囲制御部１１３は，リセット範囲リストを管理ＶＭ１２０のＶＭ制御部１２１に通知する（ステップＳ１４９）。
【０１９７】
リセットレベルが“２”でなければ（ステップＳ１４６のＮＯ），すなわちリセットレベルが“３”であれば，リセット範囲制御部１１３は，操作対象ＶＭのリセット管理テーブル１１４において，リセットレベル“３”のリセット処理対象ＶＭのＶＭ−ＩＤを順に１つ取得し，リセット範囲リストに追加する（ステップＳ１４７）。
【０１９８】
リセット範囲制御部１１３は，操作対象ＶＭのリセット管理テーブル１１４に，未処理のリセットレベル“３”のリセット処理対象ＶＭがあるかを判定する（ステップＳ１４８）。
【０１９９】
未処理のリセットレベル“３”のリセット処理対象ＶＭがあれば（ステップＳ１４８のＹＥＳ），リセット範囲制御部１１３は，ステップＳ１４７に戻り，次のリセット処理対象ＶＭの処理に移る。
【０２００】
未処理のリセットレベル“３”のリセット処理対象ＶＭがなければ（ステップＳ１４８のＮＯ），この時点でリセット範囲リストが完成となる。リセット範囲制御部１１３は，リセット範囲リストを管理ＶＭ１２０のＶＭ制御部１２１に通知する（ステップＳ１４９）。
【０２０１】
以下では，ユーザのリセット操作に応じたリセット制御の具体的な実施例を，いくつかのＶＭ構成の例を挙げて説明する。
【０２０２】
＜実施例１＞
本実施例１では，１つのゲストＶＭ１３０と，そのゲストＶＭ１３０が利用する各種ドライバＶＭ１４０とを有するＶＭ構成におけるリセット制御処理の例を説明する。
【０２０３】
図１８は，本実施例１によるＶＭの構成例を示す図である。
【０２０４】
図１８に示すＶＭ構成では，ゲストＶＭ（＃１）１３０ａは，ドライバＶＭ（ＬＣＤ）１４０ａ，ドライバＶＭ（ＮＩＣ）１４０ｂを通して，それぞれＬＣＤ１６９，ＮＩＣ１６８に接続されている。また，ゲストＶＭ（＃１）１３０ａは，ＵＳＢ接続端子１６３を司るドライバＶＭ (ＵＳＢ）１４０ｃを介し，ドライバＶＭ（ＨＤＤ）１４０ｄを通して，ＨＤＤ１６４に接続されている。
【０２０５】
図１９は，本実施例１によるリセット管理テーブルの例を示す図である。
【０２０６】
図１９に示すリセット管理テーブル１１４ｅは，図１８に示すＶＭ構成の依存関係・順序関係に応じて生成された，操作対象ＶＭがゲストＶＭ（＃１）１３０ａであるリセット管理テーブル１１４である。図１９に示すリセット管理テーブル１１４ｅは，図１０（Ａ）に示すリセット制御ポリシ（１）に基づいても，図１０（Ｂ）に示すリセット制御ポリシ（２）に基づいても，同様に生成される。図１９に示すリセット管理テーブル１１４ｅでは，リセット処理対象ＶＭがＶＭ名で示されている。
【０２０７】
なお，ＶＭの構成に順序関係がある場合には，その順序関係に応じたリセット管理テーブル１１４が生成される。図１８に示すＶＭ構成の例において，ゲストＶＭ（＃１）１３０ａとドライバＶＭ（ＵＳＢ）１４０ｃとドライバＶＭ（ＨＤＤ）１４０ｄとの間には，ゲストＶＭ（＃１）１３０ａ→ドライバＶＭ（ＵＳＢ）１４０ｃ→ドライバＶＭ（ＨＤＤ）１４０ｄの順序関係がある。ここでは，図１０に示すいずれのリセット制御ポリシも，接続端子を介してデバイスが接続されている場合には，可能な限り接続端子のドライバＶＭがデバイスのドライバＶＭ１４０より１レベル高いリセットレベルのリセット処理対象ＶＭとなるように定義されているものとする。
【０２０８】
図２０は，本実施例１によるリセット範囲の表示画面の例を示す図である。
【０２０９】
図２０に示す各表示画面例は，本実施例１において，ＬＣＤ１６９に表示されたリセット範囲をユーザに提示する画面の例である。
【０２１０】
図２０（Ａ）は，ユーザによるリセットボタン１６１の押下時間が“短”である場合に，リセット範囲がＶＭ名で提示された表示画面の例を示す。図２０（Ｂ）は，ユーザによるリセットボタン１６１の押下時間が“短”である場合に，リセット範囲がＶＭのシステム名で提示された表示画面の例を示す。図２０（Ｃ）は，ユーザによるリセットボタン１６１の押下時間が“中”である場合に，リセット範囲がＶＭ名で提示された表示画面の例を示す。図２０（Ｄ）は，ユーザによるリセットボタン１６１の押下時間が“中”である場合に，リセット範囲がＶＭのシステム名で提示された表示画面の例を示す。図２０（Ｅ）は，ユーザによるリセットボタン１６１の押下時間が“長”である場合に，リセット範囲がＶＭ名で提示された表示画面の例を示す。図２０（Ｆ）は，ユーザによるリセットボタン１６１の押下時間が“長”である場合に，リセット範囲がＶＭのシステム名で提示された表示画面の例を示す。
【０２１１】
以下，本実施例１におけるリセット範囲制御部１１３によるリセット範囲リスト生成の具体的な例を説明する。なお，以下の説明において，括弧書きのステップは，図１７に示すフローチャートの該当ステップの処理であることを示している。
【０２１２】
図１８に示すＶＭ構成において，操作対象ＶＭとなり得るＶＭは，ゲストＶＭ（＃１）１３０ａのみである。したがって，リセット範囲制御部１１３が参照するリセット管理テーブル１１４は，図１９に示す操作対象ＶＭがゲストＶＭ（＃１）１３０ａである場合のリセット管理テーブル１１４ｅのみとなる。
【０２１３】
まず，ユーザによるリセットボタン１６１の押下時間が“短”である場合について説明する。ユーザによるリセットボタン１６１の押下時間が“短”であるので，ユーザに指示されたリセットレベルは“１”と判定される。
【０２１４】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｅから，リセットレベル“１”の最初のリセット処理対象ＶＭであるゲストＶＭ（＃１）１３０ａのＶＭ−ＩＤを取得し，リセット範囲リストを生成する（ステップＳ１４１）。
【０２１５】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｅのリセットレベル“１”において，次のリセット処理対象ＶＭが空白（ｎｕｌｌ）であることを確認する（ステップＳ１４２のＮＯ）。
【０２１６】
リセット範囲制御部１１３は，ユーザに指示されたリセットレベルが“１”であることを確認する（ステップＳ１４３のＹＥＳ）。この時点で，リセット範囲リストが完成となる。完成したリセット範囲リストには，リセット処理対象ＶＭとして，ゲストＶＭ（＃１）１３０ａのみが記録されている。
【０２１７】
このとき，ＶＭ名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図２０（Ａ）に示す表示例である。また，システム名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図２０（Ｂ）に示す表示例である。なお，図２０（Ｂ）において，“ｘｘｘｘモード”は，ゲストＶＭ（＃１）１３０ａのシステム名である。
【０２１８】
リセット範囲制御部１１３は，完成したリセット範囲リストを管理ＶＭ１２０に通知する（ステップＳ１４９）。管理ＶＭ１２０は，リセット範囲リストに記録された，ゲストＶＭ（＃１）１３０ａのリセット処理を行う。ゲストＶＭ（＃１）１３０ａに限定したリセット処理が可能となる。
【０２１９】
次に，ユーザによるリセットボタン１６１の押下時間が“中”である場合について説明する。ユーザによるリセットボタン１６１の押下時間が“中”であるので，ユーザに指示されたリセットレベルは“２”と判定される。
【０２２０】
なお，リセットレベル“１”のリセット処理対象ＶＭをリセット範囲リストに記録する処理まで（ステップＳ１４２のＮＯまで）については，リセットボタン１６１の押下時間が“短”である場合と同様であるので，説明を省略する。
【０２２１】
リセットレベル“１”のリセット処理対象ＶＭをリセット範囲リストに記録する処理（ステップＳ１４２のＮＯ）の後，リセット範囲制御部１１３は，ユーザに指示されたリセットレベルが“２”であることを確認する（ステップＳ１４３のＮＯ）。
【０２２２】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｅから，リセットレベル“２”の最初のリセット処理対象ＶＭであるドライバＶＭ（ＨＤＤ）１４０ｄのＶＭ−ＩＤを取得し，リセット範囲リストに追加する（ステップＳ１４４）。
【０２２３】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｅから，リセットレベル“２”の次のリセット処理対象ＶＭであるドライバＶＭ（ＮＩＣ）１４０ｂのＶＭ−ＩＤを取得し，リセット範囲リストに追加する（ステップＳ１４４）。
【０２２４】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｅから，リセットレベル“２”の次のリセット処理対象ＶＭであるドライバＶＭ（ＬＣＤ）１４０ａのＶＭ−ＩＤを取得し，リセット範囲リストに追加する（ステップＳ１４４）。
【０２２５】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｅのリセットレベル“２”において，次のリセット処理対象ＶＭが空白（ｎｕｌｌ）であることを確認する（ステップＳ１４５のＮＯ）。
【０２２６】
リセット範囲制御部１１３は，ユーザに指示されたリセットレベルが“２”であることを確認する（ステップＳ１４６のＹＥＳ）。この時点で，リセット範囲リストが完成となる。完成したリセット範囲リストには，リセット処理対象ＶＭとして，ゲストＶＭ（＃１）１３０ａ，ドライバＶＭ（ＨＤＤ）１４０ｄ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ドライバＶＭ（ＬＣＤ）１４０ａが記録されている。
【０２２７】
このとき，ＶＭ名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図２０（Ｃ）に示す表示例である。また，システム名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図２０（Ｄ）に示す表示例である。なお，図２０（Ｄ）において，ユーザが表示画面上の“デバイス”を指定する操作を行ったときに，リセット処理対象ＶＭであるドライバＶＭ１４０の一覧を表示できるようにしてもよい。
【０２２８】
リセット範囲制御部１１３は，完成したリセット範囲リストを管理ＶＭ１２０に通知する（ステップＳ１４９）。管理ＶＭ１２０は，リセット範囲リストに記録された，ゲストＶＭ（＃１）１３０ａ，ドライバＶＭ（ＨＤＤ）１４０ｄ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ドライバＶＭ（ＬＣＤ）１４０ａのリセット処理を行う。ゲストＶＭ（＃１）１３０ａ，ドライバＶＭ（ＨＤＤ）１４０ｄ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ドライバＶＭ（ＬＣＤ）１４０ａに限定したリセット処理が可能となる。
【０２２９】
次に，ユーザによるリセットボタン１６１の押下時間が“長”である場合について説明する。ユーザによるリセットボタン１６１の押下時間が“長”であるので，ユーザに指示されたリセットレベルは“３”と判定される。
【０２３０】
なお，リセットレベル“２”のリセット処理対象ＶＭをリセット範囲リストに記録する処理まで（ステップＳ１４５のＮＯまで）については，リセットボタン１６１の押下時間が“中”である場合と同様であるので，説明を省略する。
【０２３１】
リセットレベル“２”のリセット処理対象ＶＭをリセット範囲リストに記録する処理（ステップＳ１４５のＮＯ）の後，リセット範囲制御部１１３は，ユーザに指示されたリセットレベルが“３”であることを確認する（ステップＳ１４６のＮＯ）。
【０２３２】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｅから，リセットレベル“３”の最初のリセット処理対象ＶＭであるドライバＶＭ（ＵＳＢ）１４０ｃのＶＭ−ＩＤを取得し，リセット範囲リストに追加する（ステップＳ１４７）。
【０２３３】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｅのリセットレベル“３”において，次のリセット処理対象ＶＭが空白（ｎｕｌｌ）であることを確認する（ステップＳ１４８のＮＯ）。この時点で，リセット範囲リストが完成となる。完成したリセット範囲リストには，リセット処理対象ＶＭとして，ゲストＶＭ（＃１）１３０ａ，ドライバＶＭ（ＨＤＤ）１４０ｄ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ドライバＶＭ（ＬＣＤ）１４０ａ，ドライバＶＭ（ＵＳＢ）１４０ｃが記録されている。
【０２３４】
このとき，ＶＭ名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図２０（Ｅ）に示す表示例である。また，システム名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図２０（Ｆ）に示す表示例である。
【０２３５】
リセット範囲制御部１１３は，完成したリセット範囲リストを管理ＶＭ１２０に通知する（ステップＳ１４９）。管理ＶＭ１２０は，リセット範囲リストに記録された，ゲストＶＭ（＃１）１３０ａ，ドライバＶＭ（ＨＤＤ）１４０ｄ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ドライバＶＭ（ＬＣＤ）１４０ａ，ドライバＶＭ（ＵＳＢ）１４０ｃのリセット処理を行う。ゲストＶＭ（＃１）１３０ａ，ドライバＶＭ（ＨＤＤ）１４０ｄ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ドライバＶＭ（ＬＣＤ）１４０ａ，ドライバＶＭ（ＵＳＢ）１４０ｃに限定したリセット処理が可能となる。
【０２３６】
＜実施例２＞
本実施例２では，２つのゲストＶＭ１３０と，そのゲストＶＭ１３０が利用する各種ドライバＶＭ１４０とを有するＶＭ構成におけるリセット制御処理の例を説明する。なお，本実施例２のＶＭ構成では，２つのゲストＶＭ１３０が共有するドライバＶＭ１４０はない。
【０２３７】
図２１は，本実施例２によるＶＭの構成例を示す図である。
【０２３８】
図２１に示すＶＭ構成では，ゲストＶＭ（＃１）１３０ａは，ＵＳＢ接続端子１６３を司るドライバＶＭ (ＵＳＢ）１４０ｃを介し，ドライバＶＭ（ＨＤＤ）１４０ｄを通して，ＨＤＤ１６４に接続されている。
【０２３９】
また，ゲストＶＭ（＃２）１３０ｂは，ドライバＶＭ（ＬＣＤ）１４０ａ，ドライバＶＭ（ＮＩＣ）１４０ｂを通して，それぞれＬＣＤ１６９，ＮＩＣ１６８に接続されている。
【０２４０】
図２２は，本実施例２によるリセット管理テーブルの例を示す図である。
【０２４１】
図２２に示すリセット管理テーブル１１４は，図２１に示すＶＭ構成の依存関係・順序関係に応じて生成されたリセット管理テーブル１１４である。図２２（Ａ）は，操作対象ＶＭがゲストＶＭ（＃１）１３０ａであるリセット管理テーブル１１４ｆを示す。図２２（Ｂ）は，操作対象ＶＭがゲストＶＭ（＃２）１３０ｂであるリセット管理テーブル１１４ｇを示す。図２２に示すリセット管理テーブル１１４は，図１０（Ａ）に示すリセット制御ポリシ（１）に基づいても，図１０（Ｂ）に示すリセット制御ポリシ（２）に基づいても，同様に生成される。図２２に示すリセット管理テーブル１１４では，リセット処理対象ＶＭがＶＭ名で示されている。
【０２４２】
図２３は，本実施例２によるリセット範囲の表示画面の例を示す図である。
【０２４３】
図２３に示す各表示画面例は，本実施例２において，ＬＣＤ１６９に表示されたリセット範囲をユーザに提示する画面の例である。ここでは，図２２（Ｂ）に示す，ゲストＶＭ（＃２）１３０ｂを操作対象ＶＭとした場合のリセット管理テーブル１１４ｇから得られたリセット範囲を，ＬＣＤ１６９に表示した例を示している。
【０２４４】
図２３（Ａ）は，ユーザによるリセットボタン１６１の押下時間が“短”である場合に，リセット範囲がＶＭ名で提示された表示画面の例を示す。図２３（Ｂ）は，ユーザによるリセットボタン１６１の押下時間が“短”である場合に，リセット範囲がＶＭのシステム名で提示された表示画面の例を示す。図２３（Ｃ）は，ユーザによるリセットボタン１６１の押下時間が“中”である場合に，リセット範囲がＶＭ名で提示された表示画面の例を示す。図２３（Ｄ）は，ユーザによるリセットボタン１６１の押下時間が“中”である場合に，リセット範囲がＶＭのシステム名で提示された表示画面の例を示す。図２３（Ｅ）は，ユーザによるリセットボタン１６１の押下時間が“長”である場合に，リセット範囲がＶＭ名で提示された表示画面の例を示す。図２３（Ｆ）は，ユーザによるリセットボタン１６１の押下時間が“長”である場合に，リセット範囲がＶＭのシステム名で提示された表示画面の例を示す。
【０２４５】
以下，本実施例２におけるリセット範囲制御部１１３によるリセット範囲リスト生成の具体的な例を説明する。なお，以下の説明において，括弧書きのステップは，図１７に示すフローチャートの該当ステップの処理であることを示している。
【０２４６】
ここでは，図２１に示すＶＭ構成において，ゲストＶＭ（＃２）１３０ｂが操作対象ＶＭであるものとする。したがって，リセット範囲制御部１１３が参照するリセット管理テーブル１１４は，図２２（Ｂ）に示す操作対象ＶＭがゲストＶＭ（＃２）１３０ｂである場合のリセット管理テーブル１１４ｇとなる。
【０２４７】
まず，ユーザによるリセットボタン１６１の押下時間が“短”である場合について説明する。ユーザによるリセットボタン１６１の押下時間が“短”であるので，ユーザに指示されたリセットレベルは“１”と判定される。
【０２４８】
リセット範囲制御部１１３は，操作対象ＶＭのリセット管理テーブル１１４ｇから，リセットレベル“１”の最初のリセット処理対象ＶＭであるゲストＶＭ（＃２）１３０ｂのＶＭ−ＩＤを取得し，リセット範囲リストを生成する（ステップＳ１４１）。
【０２４９】
リセット範囲制御部１１３は，操作対象ＶＭのリセット管理テーブル１１４ｇのリセットレベル“１”において，次のリセット処理対象ＶＭが空白（ｎｕｌｌ）であることを確認する（ステップＳ１４２のＮＯ）。
【０２５０】
リセット範囲制御部１１３は，ユーザに指示されたリセットレベルが“１”であることを確認する（ステップＳ１４３のＹＥＳ）。この時点で，リセット範囲リストが完成となる。完成したリセット範囲リストには，リセット処理対象ＶＭとして，ゲストＶＭ（＃２）１３０ｂのみが記録されている。
【０２５１】
このとき，ＶＭ名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図２３（Ａ）に示す表示例である。また，システム名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図２３（Ｂ）に示す表示例である。なお，図２３（Ｂ）において，“ｙｙｙｙウェブ”は，ゲストＶＭ（＃２）１３０ｂのシステム名である。
【０２５２】
リセット範囲制御部１１３は，完成したリセット範囲リストを管理ＶＭ１２０に通知する（ステップＳ１４９）。管理ＶＭ１２０は，リセット範囲リストに記録された，ゲストＶＭ（＃２）１３０ｂのリセット処理を行う。ゲストＶＭ（＃２）１３０ｂに限定したリセット処理が可能となる。
【０２５３】
次に，ユーザによるリセットボタン１６１の押下時間が“中”である場合について説明する。ユーザによるリセットボタン１６１の押下時間が“中”であるので，ユーザに指示されたリセットレベルは“２”と判定される。
【０２５４】
なお，リセットレベル“１”のリセット処理対象ＶＭをリセット範囲リストに記録する処理まで（ステップＳ１４２のＮＯまで）については，リセットボタン１６１の押下時間が“短”である場合と同様であるので，説明を省略する。
【０２５５】
リセットレベル“１”のリセット処理対象ＶＭをリセット範囲リストに記録する処理（ステップＳ１４２のＮＯ）の後，リセット範囲制御部１１３は，ユーザに指示されたリセットレベルが“２”であることを確認する（ステップＳ１４３のＮＯ）。
【０２５６】
リセット範囲制御部１１３は，操作対象ＶＭのリセット管理テーブル１１４ｇから，リセットレベル“２”の最初のリセット処理対象ＶＭであるドライバＶＭ（ＮＩＣ）１４０ｂのＶＭ−ＩＤを取得し，リセット範囲リストに追加する（ステップＳ１４４）。
【０２５７】
リセット範囲制御部１１３は，操作対象ＶＭのリセット管理テーブル１１４ｇから，リセットレベル“２”の次のリセット処理対象ＶＭであるドライバＶＭ（ＬＣＤ）１４０ａのＶＭ−ＩＤを取得し，リセット範囲リストに追加する（ステップＳ１４４）。
【０２５８】
リセット範囲制御部１１３は，操作対象ＶＭのリセット管理テーブル１１４ｇのリセットレベル“２”において，次のリセット処理対象ＶＭが空白（ｎｕｌｌ）であることを確認する（ステップＳ１４５のＮＯ）。
【０２５９】
リセット範囲制御部１１３は，ユーザに指示されたリセットレベルが“２”であることを確認する（ステップＳ１４６のＹＥＳ）。この時点で，リセット範囲リストが完成となる。完成したリセット範囲リストには，リセット処理対象ＶＭとして，ゲストＶＭ（＃２）１３０ｂ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ドライバＶＭ（ＬＣＤ）１４０ａが記録されている。
【０２６０】
このとき，ＶＭ名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図２３（Ｃ）に示す表示例である。また，システム名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図２３（Ｄ）に示す表示例である。
【０２６１】
リセット範囲制御部１１３は，完成したリセット範囲リストを管理ＶＭ１２０に通知する（ステップＳ１４９）。管理ＶＭ１２０は，リセット範囲リストに記録された，ゲストＶＭ（＃２）１３０ｂ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ドライバＶＭ（ＬＣＤ）１４０ａのリセット処理を行う。ゲストＶＭ（＃２）１３０ｂ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ドライバＶＭ（ＬＣＤ）１４０ａに限定したリセット処理が可能となる。
【０２６２】
次に，ユーザによるリセットボタン１６１の押下時間が“長”である場合について説明する。ユーザによるリセットボタン１６１の押下時間が“長”であるので，ユーザに指示されたリセットレベルは“３”と判定される。
【０２６３】
なお，リセットレベル“２”のリセット処理対象ＶＭをリセット範囲リストに記録する処理まで（ステップＳ１４５のＮＯまで）については，リセットボタン１６１の押下時間が“中”である場合と同様であるので，説明を省略する。
【０２６４】
リセットレベル“２”のリセット処理対象ＶＭをリセット範囲リストに記録する処理（ステップＳ１４５のＮＯ）の後，リセット範囲制御部１１３は，ユーザに指示されたリセットレベルが“３”であることを確認する（ステップＳ１４６のＮＯ）。
【０２６５】
リセット範囲制御部１１３は，操作対象ＶＭのリセット管理テーブル１１４ｇのリセットレベル“３”において，最初のリセット処理対象ＶＭが空白（ｎｕｌｌ）であることを確認する（ステップＳ１４８のＮＯ）。この時点で，リセット範囲リストが完成となる。完成したリセット範囲リストには，リセット処理対象ＶＭとして，ゲストＶＭ（＃２）１３０ｂ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ドライバＶＭ（ＬＣＤ）１４０ａが記録されている。
【０２６６】
このとき，ＶＭ名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図２３（Ｅ）に示す表示例である。また，システム名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図２３（Ｆ）に示す表示例である。
【０２６７】
リセット範囲制御部１１３は，完成したリセット範囲リストを管理ＶＭ１２０に通知する（ステップＳ１４９）。管理ＶＭ１２０は，リセット範囲リストに記録された，ゲストＶＭ（＃２）１３０ｂ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ドライバＶＭ（ＬＣＤ）１４０ａのリセット処理を行う。ゲストＶＭ（＃２）１３０ｂ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ドライバＶＭ（ＬＣＤ）１４０ａに限定したリセット処理が可能となる。
【０２６８】
本実施例２では，操作対象ＶＭがゲストＶＭ（＃２）１３０である場合に，図２２（Ｂ）リセット管理テーブル１１４ｇにおいて，リセットレベル“３”に対応するリセット処理対象ＶＭが設定されていない。そのため，リセットボタン１６１の押下時間が“中”である場合と，リセットボタン１６１の押下時間が“長”である場合とで，リセット範囲リストの生成結果が同じとなる。
【０２６９】
＜実施例３＞
本実施例３では，２つのゲストＶＭ１３０と，そのゲストＶＭ１３０が利用する各種ドライバＶＭ１４０とを有するＶＭ構成におけるリセット制御処理の例を説明する。なお，本実施例３のＶＭ構成では，２つのゲストＶＭ１３０が共有するドライバＶＭ１４０が存在する。
【０２７０】
図２４は，本実施例３によるＶＭの構成例を示す図である。
【０２７１】
図２４に示すＶＭ構成では，ゲストＶＭ（＃１）１３０ａは，ドライバＶＭ（ＬＣＤ）１４０ａ，ドライバＶＭ（ＮＩＣ）１４０ｂを通して，それぞれＬＣＤ１６９，ＮＩＣ１６８に接続されている。また，ゲストＶＭ（＃１）１３０ａは，ＵＳＢ接続端子１６３を司るドライバＶＭ (ＵＳＢ）１４０ｃを介し，ドライバＶＭ（ＨＤＤ）１４０ｄを通して，ＨＤＤ１６４に接続されている。
【０２７２】
また，ゲストＶＭ（＃２）１３０ｂは，ドライバＶＭ（ＬＣＤ）１４０ａ，ドライバＶＭ（ＮＩＣ）１４０ｂを通して，それぞれＬＣＤ１６９，ＮＩＣ１６８に接続されている。
【０２７３】
図２４に示すＶＭ構成では，ドライバＶＭ（ＬＣＤ）１４０ａとドライバＶＭ（ＮＩＣ）１４０ｂとが，ゲストＶＭ（＃１）１３０ａとゲストＶＭ（＃２）１３０ｂとの共有となる。
【０２７４】
図２５は，本実施例３によるリセット管理テーブルの例（１）を示す図である。
【０２７５】
図２５に示すリセット管理テーブル１１４は，図１０（Ａ）に示すリセット制御ポリシ（１）に基づいて，図２４に示すＶＭ構成の依存関係・順序関係に応じて生成されたリセット管理テーブル１１４である。図２５（Ａ）は，操作対象ＶＭがゲストＶＭ（＃１）１３０ａであるリセット管理テーブル１１４ｈを示す。図２５（Ｂ）は，操作対象ＶＭがゲストＶＭ（＃２）１３０ｂであるリセット管理テーブル１１４ｉを示す。図２５に示すリセット管理テーブル１１４では，リセット処理対象ＶＭがＶＭ名で示されている。
【０２７６】
図２６は，本実施例３によるリセット管理テーブルの例（２）を示す図である。
【０２７７】
図２６に示すリセット管理テーブル１１４は，図１０（Ｂ）に示すリセット制御ポリシ（２）に基づいて，図２４に示すＶＭ構成の依存関係・順序関係に応じて生成されたリセット管理テーブル１１４である。図２６（Ａ）は，操作対象ＶＭがゲストＶＭ（＃１）１３０ａであるリセット管理テーブル１１４ｊを示す。図２６（Ｂ）は，操作対象ＶＭがゲストＶＭ（＃２）１３０ｂであるリセット管理テーブル１１４ｋを示す。図２６に示すリセット管理テーブル１１４では，リセット処理対象ＶＭがＶＭ名で示されている。
【０２７８】
図２７は，本実施例３によるリセット範囲の表示画面の例を示す図である。
【０２７９】
図２７に示す各表示画面例は，本実施例３において，ＬＣＤ１６９に表示されたリセット範囲をユーザに提示する画面の例である。ここでは，図２６（Ａ）に示す，ゲストＶＭ（＃１）１３０ａを操作対象ＶＭとした場合のリセット管理テーブル１１４ｊから得られたリセット範囲を，ＬＣＤ１６９に表示した例を示している。
【０２８０】
図２７（Ａ）は，ユーザによるリセットボタン１６１の押下時間が“短”である場合に，リセット範囲がＶＭ名で提示された表示画面の例を示す。図２７（Ｂ）は，ユーザによるリセットボタン１６１の押下時間が“短”である場合に，リセット範囲がＶＭのシステム名で提示された表示画面の例を示す。図２７（Ｃ）は，ユーザによるリセットボタン１６１の押下時間が“中”である場合に，リセット範囲がＶＭ名で提示された表示画面の例を示す。図２７（Ｄ）は，ユーザによるリセットボタン１６１の押下時間が“中”である場合に，リセット範囲がＶＭのシステム名で提示された表示画面の例を示す。図２７（Ｅ）は，ユーザによるリセットボタン１６１の押下時間が“長”である場合に，リセット範囲がＶＭ名で提示された表示画面の例を示す。図２７（Ｆ）は，ユーザによるリセットボタン１６１の押下時間が“長”である場合に，リセット範囲がＶＭのシステム名で提示された表示画面の例を示す。
【０２８１】
以下，本実施例３におけるリセット範囲制御部１１３によるリセット範囲リスト生成の具体的な例を説明する。なお，以下の説明において，括弧書きのステップは，図１７に示すフローチャートの該当ステップの処理であることを示している。
【０２８２】
ここでは，図２４に示すＶＭ構成において，ゲストＶＭ（＃１）１３０ａが操作対象ＶＭであるものとする。また，リセット範囲制御部１１３が保持するリセット管理テーブル１１４は，図１０（Ｂ）に示すリセット制御ポリシ（２）に基づいて生成されたものとする。したがって，リセット範囲制御部１１３が参照するリセット管理テーブル１１４は，図２６（Ａ）に示す操作対象ＶＭがゲストＶＭ（＃１）１３０ａである場合のリセット管理テーブル１１４ｊとなる。
【０２８３】
まず，ユーザによるリセットボタン１６１の押下時間が“短”である場合について説明する。ユーザによるリセットボタン１６１の押下時間が“短”であるので，ユーザに指示されたリセットレベルは“１”と判定される。
【０２８４】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｊから，リセットレベル“１”の最初のリセット処理対象ＶＭであるゲストＶＭ（＃１）１３０ａのＶＭ−ＩＤを取得し，リセット範囲リストを生成する（ステップＳ１４１）。
【０２８５】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｊのリセットレベル“１”において，次のリセット処理対象ＶＭが空白（ｎｕｌｌ）であることを確認する（ステップＳ１４２のＮＯ）。
【０２８６】
リセット範囲制御部１１３は，ユーザに指示されたリセットレベルが“１”であることを確認する（ステップＳ１４３のＹＥＳ）。この時点で，リセット範囲リストが完成となる。完成したリセット範囲リストには，リセット処理対象ＶＭとして，ゲストＶＭ（＃１）１３０ａのみが記録されている。
【０２８７】
このとき，ＶＭ名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図２７（Ａ）に示す表示例である。また，システム名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図２７（Ｂ）に示す表示例である。
【０２８８】
リセット範囲制御部１１３は，完成したリセット範囲リストを管理ＶＭ１２０に通知する（ステップＳ１４９）。管理ＶＭ１２０は，リセット範囲リストに記録された，ゲストＶＭ（＃１）１３０ａのリセット処理を行う。ゲストＶＭ（＃１）１３０ａに限定したリセット処理が可能となる。
【０２８９】
次に，ユーザによるリセットボタン１６１の押下時間が“中”である場合について説明する。ユーザによるリセットボタン１６１の押下時間が“中”であるので，ユーザに指示されたリセットレベルは“２”と判定される。
【０２９０】
なお，リセットレベル“１”のリセット処理対象ＶＭをリセット範囲リストに記録する処理まで（ステップＳ１４２のＮＯまで）については，リセットボタン１６１の押下時間が“短”である場合と同様であるので，説明を省略する。
【０２９１】
リセットレベル“１”のリセット処理対象ＶＭをリセット範囲リストに記録する処理（ステップＳ１４２のＮＯ）の後，リセット範囲制御部１１３は，ユーザに指示されたリセットレベルが“２”であることを確認する（ステップＳ１４３のＮＯ）。
【０２９２】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｊから，リセットレベル“２”の最初のリセット処理対象ＶＭであるドライバＶＭ（ＨＤＤ）１４０ｄのＶＭ−ＩＤを取得し，リセット範囲リストに追加する（ステップＳ１４４）。
【０２９３】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｊのリセットレベル“２”において，次のリセット処理対象ＶＭが空白（ｎｕｌｌ）であることを確認する（ステップＳ１４５のＮＯ）。
【０２９４】
リセット範囲制御部１１３は，ユーザに指示されたリセットレベルが“２”であることを確認する（ステップＳ１４６のＹＥＳ）。この時点で，リセット範囲リストが完成となる。完成したリセット範囲リストには，リセット処理対象ＶＭとして，ゲストＶＭ（＃１）１３０ａ，ドライバＶＭ（ＨＤＤ）１４０ｄが記録されている。
【０２９５】
このとき，ＶＭ名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図２７（Ｃ）に示す表示例である。また，システム名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図２７（Ｄ）に示す表示例である。
【０２９６】
リセット範囲制御部１１３は，完成したリセット範囲リストを管理ＶＭ１２０に通知する（ステップＳ１４９）。管理ＶＭ１２０は，リセット範囲リストに記録された，ゲストＶＭ（＃１）１３０ａ，ドライバＶＭ（ＨＤＤ）１４０ｄのリセット処理を行う。ゲストＶＭ（＃１）１３０ａ，ドライバＶＭ（ＨＤＤ）１４０ｄに限定したリセット処理が可能となる。
【０２９７】
次に，ユーザによるリセットボタン１６１の押下時間が“長”である場合について説明する。ユーザによるリセットボタン１６１の押下時間が“長”であるので，ユーザに指示されたリセットレベルは“３”と判定される。
【０２９８】
なお，リセットレベル“２”のリセット処理対象ＶＭをリセット範囲リストに記録する処理まで（ステップＳ１４５のＮＯまで）については，リセットボタン１６１の押下時間が“中”である場合と同様であるので，説明を省略する。
【０２９９】
リセットレベル“２”のリセット処理対象ＶＭをリセット範囲リストに記録する処理（ステップＳ１４５のＮＯ）の後，リセット範囲制御部１１３は，ユーザに指示されたリセットレベルが“３”であることを確認する（ステップＳ１４６のＮＯ）。
【０３００】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｊから，リセットレベル“３”の最初のリセット処理対象ＶＭであるドライバＶＭ（ＵＳＢ）１４０ｃのＶＭ−ＩＤを取得し，リセット範囲リストに追加する（ステップＳ１４７）。
【０３０１】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｊから，リセットレベル“３”の次のリセット処理対象ＶＭであるドライバＶＭ（ＮＩＣ）１４０ｂのＶＭ−ＩＤを取得し，リセット範囲リストに追加する（ステップＳ１４７）。
【０３０２】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｊから，リセットレベル“３”の次のリセット処理対象ＶＭであるドライバＶＭ（ＬＣＤ）１４０ａのＶＭ−ＩＤを取得し，リセット範囲リストに追加する（ステップＳ１４７）。
【０３０３】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｊから，リセットレベル“３”の次のリセット処理対象ＶＭであるゲストＶＭ（＃２）１３０ｂのＶＭ−ＩＤを取得し，リセット範囲リストに追加する（ステップＳ１４７）。
【０３０４】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｊのリセットレベル“３”において，次のリセット処理対象ＶＭが空白（ｎｕｌｌ）であることを確認する（ステップＳ１４８のＮＯ）。この時点で，リセット範囲リストが完成となる。完成したリセット範囲リストには，リセット処理対象ＶＭとして，ゲストＶＭ（＃１）１３０ａ，ドライバＶＭ（ＨＤＤ）１４０ｄ，ドライバＶＭ（ＵＳＢ）１４０ｃ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ドライバＶＭ（ＬＣＤ）１４０ａ，ゲストＶＭ（＃２）１３０ｂが記録されている。
【０３０５】
このとき，ＶＭ名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図２７（Ｅ）に示す表示例である。また，システム名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図２７（Ｆ）に示す表示例である。
【０３０６】
リセット範囲制御部１１３は，完成したリセット範囲リストを管理ＶＭ１２０に通知する（ステップＳ１４９）。管理ＶＭ１２０は，リセット範囲リストに記録された，ゲストＶＭ（＃１）１３０ａ，ドライバＶＭ（ＨＤＤ）１４０ｄ，ドライバＶＭ（ＵＳＢ）１４０ｃ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ドライバＶＭ（ＬＣＤ）１４０ａ，ゲストＶＭ（＃２）１３０ｂのリセット処理を行う。ゲストＶＭ（＃１）１３０ａ，ドライバＶＭ（ＨＤＤ）１４０ｄ，ドライバＶＭ（ＵＳＢ）１４０ｃ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ドライバＶＭ（ＬＣＤ）１４０ａ，ゲストＶＭ（＃２）１３０ｂに限定したリセット処理が可能となる。
【０３０７】
＜実施例４＞
本実施例４では，３つのゲストＶＭ１３０と，そのゲストＶＭ１３０が利用する各種ドライバＶＭ１４０とを有するＶＭ構成におけるリセット制御処理の例を説明する。なお，本実施例４のＶＭ構成では，複数のゲストＶＭ１３０が共有するドライバＶＭ１４０が存在する。
【０３０８】
図２８は，本実施例４によるＶＭの構成例を示す図である。
【０３０９】
図２８に示すＶＭ構成では，ゲストＶＭ（＃１）１３０ａは，ドライバＶＭ（ＬＣＤ）１４０ａ，ドライバＶＭ（ＮＩＣ）１４０ｂを通して，それぞれＬＣＤ１６９，ＮＩＣ１６８に接続されている。また，ゲストＶＭ（＃１）１３０ａは，ＵＳＢ接続端子１６３を司るドライバＶＭ (ＵＳＢ）１４０ｃを介し，ドライバＶＭ（ＨＤＤ）１４０ｄを通して，ＨＤＤ１６４に接続されている。
【０３１０】
また，ゲストＶＭ（＃２）１３０ｂは，ドライバＶＭ（ＬＣＤ）１４０ａ，ドライバＶＭ（ＮＩＣ）１４０ｂを通して，それぞれＬＣＤ１６９，ＮＩＣ１６８に接続されている。
【０３１１】
また，ゲストＶＭ（＃３）１３０ｃは，ドライバＶＭ（ＬＣＤ）１４０ａを通して，ＬＣＤ１６９に接続されている。
【０３１２】
図２８に示すＶＭ構成では，ドライバＶＭ（ＬＣＤ）１４０ａを，ゲストＶＭ（＃１）１３０ａとゲストＶＭ（＃２）１３０ｂとゲストＶＭ（＃３）１３０ｃとで共有する。また，図２８に示すＶＭ構成では，ドライバＶＭ（ＮＩＣ）１４０ｂを，ゲストＶＭ（＃１）１３０ａとゲストＶＭ（＃２）１３０ｂとで共有する。
【０３１３】
図２９は，本実施例４によるリセット管理テーブルの例（１）を示す図である。
【０３１４】
図２９に示すリセット管理テーブル１１４は，図１０（Ａ）に示すリセット制御ポリシ（１）に基づいて，図２８に示すＶＭ構成の依存関係・順序関係に応じて生成されたリセット管理テーブル１１４である。図２９（Ａ）は，操作対象ＶＭがゲストＶＭ（＃１）１３０ａであるリセット管理テーブル１１４ｌを示す。図２９（Ｂ）は，操作対象ＶＭがゲストＶＭ（＃２）１３０ｂであるリセット管理テーブル１１４ｍを示す。図２９（Ｃ）は，操作対象ＶＭがゲストＶＭ（＃３）１３０ｃであるリセット管理テーブル１１４ｎを示す。図２９に示すリセット管理テーブル１１４では，リセット処理対象ＶＭがＶＭ名で示されている。
【０３１５】
図３０は，本実施例４によるリセット管理テーブルの例（２）を示す図である。
【０３１６】
図３０に示すリセット管理テーブル１１４は，図１０（Ｂ）に示すリセット制御ポリシ（２）に基づいて，図２８に示すＶＭ構成の依存関係・順序関係に応じて生成されたリセット管理テーブル１１４である。図３０（Ａ）は，操作対象ＶＭがゲストＶＭ（＃１）１３０ａであるリセット管理テーブル１１４ｏを示す。図３０（Ｂ）は，操作対象ＶＭがゲストＶＭ（＃２）１３０ｂであるリセット管理テーブル１１４ｐを示す。図３０（Ｃ）は，操作対象ＶＭがゲストＶＭ（＃３）１３０ｃであるリセット管理テーブル１１４ｑを示す。図３０に示すリセット管理テーブル１１４では，リセット処理対象ＶＭがＶＭ名で示されている。
【０３１７】
図３１は，本実施例４によるリセット範囲の表示画面の例を示す図である。
【０３１８】
図３１に示す各表示画面例は，本実施例４において，ＬＣＤ１６９に表示されたリセット範囲をユーザに提示する画面の例である。ここでは，図３０（Ａ）に示す，ゲストＶＭ（＃１）１３０ａを操作対象ＶＭとした場合のリセット管理テーブル１１４ｏから得られたリセット範囲を，ＬＣＤ１６９に表示した例を示している。
【０３１９】
図３１（Ａ）は，ユーザによるリセットボタン１６１の押下時間が“短”である場合に，リセット範囲がＶＭ名で提示された表示画面の例を示す。図３１（Ｂ）は，ユーザによるリセットボタン１６１の押下時間が“短”である場合に，リセット範囲がＶＭのシステム名で提示された表示画面の例を示す。図３１（Ｃ）は，ユーザによるリセットボタン１６１の押下時間が“中”である場合に，リセット範囲がＶＭ名で提示された表示画面の例を示す。図３１（Ｄ）は，ユーザによるリセットボタン１６１の押下時間が“中”である場合に，リセット範囲がＶＭのシステム名で提示された表示画面の例を示す。図３１（Ｅ）は，ユーザによるリセットボタン１６１の押下時間が“長”である場合に，リセット範囲がＶＭ名で提示された表示画面の例を示す。図３１（Ｆ）は，ユーザによるリセットボタン１６１の押下時間が“長”である場合に，リセット範囲がＶＭのシステム名で提示された表示画面の例を示す。
【０３２０】
以下，本実施例４におけるリセット範囲制御部１１３によるリセット範囲リスト生成の具体的な例を説明する。なお，以下の説明において，括弧書きのステップは，図１７に示すフローチャートの該当ステップの処理であることを示している。
【０３２１】
ここでは，図２８に示すＶＭ構成において，ゲストＶＭ（＃１）１３０ａが操作対象ＶＭであるものとする。また，リセット範囲制御部１１３が保持するリセット管理テーブル１１４は，図１０（Ｂ）に示すリセット制御ポリシ（２）に基づいて生成されたものとする。したがって，リセット範囲制御部１１３が参照するリセット管理テーブル１１４は，図３０（Ａ）に示す操作対象ＶＭがゲストＶＭ（＃１）１３０ａである場合のリセット管理テーブル１１４ｏとなる。
【０３２２】
まず，ユーザによるリセットボタン１６１の押下時間が“短”である場合について説明する。ユーザによるリセットボタン１６１の押下時間が“短”であるので，ユーザに指示されたリセットレベルは“１”と判定される。
【０３２３】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｏから，リセットレベル“１”の最初のリセット処理対象ＶＭであるゲストＶＭ（＃１）１３０ａのＶＭ−ＩＤを取得し，リセット範囲リストを生成する（ステップＳ１４１）。
【０３２４】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｏのリセットレベル“１”において，次のリセット処理対象ＶＭが空白（ｎｕｌｌ）であることを確認する（ステップＳ１４２のＮＯ）。
【０３２５】
リセット範囲制御部１１３は，ユーザに指示されたリセットレベルが“１”であることを確認する（ステップＳ１４３のＹＥＳ）。この時点で，リセット範囲リストが完成となる。完成したリセット範囲リストには，リセット処理対象ＶＭとして，ゲストＶＭ（＃１）１３０ａのみが記録されている。
【０３２６】
このとき，ＶＭ名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図３１（Ａ）に示す表示例である。また，システム名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図３１（Ｂ）に示す表示例である。
【０３２７】
リセット範囲制御部１１３は，完成したリセット範囲リストを管理ＶＭ１２０に通知する（ステップＳ１４９）。管理ＶＭ１２０は，リセット範囲リストに記録された，ゲストＶＭ（＃１）１３０ａのリセット処理を行う。ゲストＶＭ（＃１）１３０ａに限定したリセット処理が可能となる。
【０３２８】
次に，ユーザによるリセットボタン１６１の押下時間が“中”である場合について説明する。ユーザによるリセットボタン１６１の押下時間が“中”であるので，ユーザに指示されたリセットレベルは“２”と判定される。
【０３２９】
なお，リセットレベル“１”のリセット処理対象ＶＭをリセット範囲リストに記録する処理まで（ステップＳ１４２のＮＯまで）については，リセットボタン１６１の押下時間が“短”である場合と同様であるので，説明を省略する。
【０３３０】
リセットレベル“１”のリセット処理対象ＶＭをリセット範囲リストに記録する処理（ステップＳ１４２のＮＯ）の後，リセット範囲制御部１１３は，ユーザに指示されたリセットレベルが“２”であることを確認する（ステップＳ１４３のＮＯ）。
【０３３１】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｏから，リセットレベル“２”の最初のリセット処理対象ＶＭであるドライバＶＭ（ＨＤＤ）１４０ｄのＶＭ−ＩＤを取得し，リセット範囲リストに追加する（ステップＳ１４４）。
【０３３２】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｏのリセットレベル“２”において，次のリセット処理対象ＶＭが空白（ｎｕｌｌ）であることを確認する（ステップＳ１４５のＮＯ）。
【０３３３】
リセット範囲制御部１１３は，ユーザに指示されたリセットレベルが“２”であることを確認する（ステップＳ１４６のＹＥＳ）。この時点で，リセット範囲リストが完成となる。完成したリセット範囲リストには，リセット処理対象ＶＭとして，ゲストＶＭ（＃１）１３０ａ，ドライバＶＭ（ＨＤＤ）１４０ｄが記録されている。
【０３３４】
このとき，ＶＭ名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図３１（Ｃ）に示す表示例である。また，システム名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図３１（Ｄ）に示す表示例である。
【０３３５】
リセット範囲制御部１１３は，完成したリセット範囲リストを管理ＶＭ１２０に通知する（ステップＳ１４９）。管理ＶＭ１２０は，リセット範囲リストに記録された，ゲストＶＭ（＃１）１３０ａ，ドライバＶＭ（ＨＤＤ）１４０ｄのリセット処理を行う。ゲストＶＭ（＃１）１３０ａ，ドライバＶＭ（ＨＤＤ）１４０ｄに限定したリセット処理が可能となる。
【０３３６】
次に，ユーザによるリセットボタン１６１の押下時間が“長”である場合について説明する。ユーザによるリセットボタン１６１の押下時間が“長”であるので，ユーザに指示されたリセットレベルは“３”と判定される。
【０３３７】
なお，リセットレベル“２”のリセット処理対象ＶＭをリセット範囲リストに記録する処理まで（ステップＳ１４５のＮＯまで）については，リセットボタン１６１の押下時間が“中”である場合と同様であるので，説明を省略する。
【０３３８】
リセットレベル“２”のリセット処理対象ＶＭをリセット範囲リストに記録する処理（ステップＳ１４５のＮＯ）の後，リセット範囲制御部１１３は，ユーザに指示されたリセットレベルが“３”であることを確認する（ステップＳ１４６のＮＯ）。
【０３３９】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｏから，リセットレベル“３”の最初のリセット処理対象ＶＭであるドライバＶＭ（ＵＳＢ）１４０ｃのＶＭ−ＩＤを取得し，リセット範囲リストに追加する（ステップＳ１４７）。
【０３４０】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｏから，リセットレベル“３”の次のリセット処理対象ＶＭであるドライバＶＭ（ＮＩＣ）１４０ｂのＶＭ−ＩＤを取得し，リセット範囲リストに追加する（ステップＳ１４７）。
【０３４１】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｏから，リセットレベル“３”の次のリセット処理対象ＶＭであるドライバＶＭ（ＬＣＤ）１４０ａのＶＭ−ＩＤを取得し，リセット範囲リストに追加する（ステップＳ１４７）。
【０３４２】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｏから，リセットレベル“３”の次のリセット処理対象ＶＭであるゲストＶＭ（＃２）１３０ｂのＶＭ−ＩＤを取得し，リセット範囲リストに追加する（ステップＳ１４７）。
【０３４３】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｏから，リセットレベル“３”の次のリセット処理対象ＶＭであるゲストＶＭ（＃３）１３０ｃのＶＭ−ＩＤを取得し，リセット範囲リストに追加する（ステップＳ１４７）。
【０３４４】
リセット範囲制御部１１３は，リセット管理テーブル１１４ｏのリセットレベル“３”において，次のリセット処理対象ＶＭが空白（ｎｕｌｌ）であることを確認する（ステップＳ１４８のＮＯ）。この時点で，リセット範囲リストが完成となる。完成したリセット範囲リストには，リセット処理対象ＶＭとして，ゲストＶＭ（＃１）１３０ａ，ドライバＶＭ（ＨＤＤ）１４０ｄ，ドライバＶＭ（ＵＳＢ）１４０ｃ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ドライバＶＭ（ＬＣＤ）１４０ａ，ゲストＶＭ（＃２）１３０ｂ，ゲストＶＭ（＃３）１３０ｃが記録されている。
【０３４５】
このとき，ＶＭ名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図３１（Ｅ）に示す表示例である。また，システム名でリセット範囲をＬＣＤ１６９の画面に表示した例が，図３１（Ｆ）に示す表示例である。なお，図３１（Ｆ）において，ユーザが表示画面上の“共有システム”を指定する操作を行ったときに，操作対象ＶＭとドライバＶＭ１４０を共有するゲストＶＭ１３０の一覧を表示できるようにしてもよい。
【０３４６】
リセット範囲制御部１１３は，完成したリセット範囲リストを管理ＶＭ１２０に通知する（ステップＳ１４９）。管理ＶＭ１２０は，リセット範囲リストに記録された，ゲストＶＭ（＃１）１３０ａ，ドライバＶＭ（ＨＤＤ）１４０ｄ，ドライバＶＭ（ＵＳＢ）１４０ｃ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ドライバＶＭ（ＬＣＤ）１４０ａ，ゲストＶＭ（＃２）１３０ｂ，ゲストＶＭ（＃３）１３０ｃのリセット処理を行う。ゲストＶＭ（＃１）１３０ａ，ドライバＶＭ（ＨＤＤ）１４０ｄ，ドライバＶＭ（ＵＳＢ）１４０ｃ，ドライバＶＭ（ＮＩＣ）１４０ｂ，ドライバＶＭ（ＬＣＤ）１４０ａ，ゲストＶＭ（＃２）１３０ｂ，ゲストＶＭ（＃３）１３０ｃに限定したリセット処理が可能となる。
【０３４７】
以上説明した本実施の形態の計算機装置１（または携帯端末１００）によって，リセット処理の範囲を一部のＶＭに限定したリセット制御が可能となる。また，このとき，ＶＭ間の依存関係等に基づいて設定されたリセット管理情報１９（またはリセット管理テーブル１１４）を用いることで，リセット操作の各段階に応じて設定された範囲に限定したＶＭのリセット制御が可能となる。これにより，仮想化技術について詳しい知識のない一般のユーザでも，リセット処理を行うＶＭの範囲を簡易な操作で指定することが可能となる。
【０３４８】
以上，本実施の形態について説明したが，本発明はその主旨の範囲において種々の変形が可能であることは当然である。
【０３４９】
例えば，本実施の形態では，リセット操作に応じたリセットレベルの段階が３段階である例を説明したが，リセット操作に応じたリセットレベルの段階が必ずしも３段階に限るものではない。例えば，セット操作に応じたリセットレベルの段階は，４段階や５段階であってもよい。
【０３５０】
また，例えば，本実施の形態の携帯端末１００では，ユーザがリセットを指示する操作はリセットボタン１６１の押下であり，リセットレベルはリセットボタン１６１の押下時間で判定しているが，これに限るものではない。例えば，携帯端末１００のリセットボタン１６１の部分に圧力センサを搭載し，リセットボタン１６１を押下する圧力の大きさでリセットレベルを判定するようにしてもよい。例えば，ユーザがリセットを指示する操作が電源ボタン１６２の押下であり，その電源ボタン１６２の押下時間でリセットレベルを判定するようにしてもよい。また，例えば，携帯端末１００に加速度センサを搭載し，ユーザがリセットを指示する操作は携帯端末１００を振る操作であり，振った回数でリセットレベルを判定するようにしてもよい。また，例えば，携帯端末１００の各種キー１６７にリセットレベルを割り当て，押下されたキーでリセットレベルを判定するようにしてもよい。また，例えば，タッチ画面の操作メニューでリセット範囲を指定できるようにしてもよい。
【０３５１】
また，例えば，本実施の形態では，リセット制御の機能が独立したリセット制御ＶＭ１０（または１１０）に実装されているが，これに限るものではない。例えば，本実施の形態のリセット制御の機能が，管理ＶＭ２０（または１２０）に実装されていてもよい。
【符号の説明】
【０３５２】
１  計算機装置
１０  リセット制御ＶＭ
１１  入力受付部
１２  リセットレベル判定部
１３  操作対象物特定部
１４  リセット管理情報記憶部
１５  リセット対象物特定部
１６  リセット信号送信部
２０  管理ＶＭ
３０  ユーザＶＭ
４０  デバイスドライバ用ＶＭ
５０  ハイパーバイザ
６０  ハードウェア
６１  ＣＰＵ
６２  メモリ
６３  記憶装置
６４  入力装置
６５  出力装置
１００  携帯端末
１１０  リセット制御ＶＭ
１１１  リセットボタンドライバ
１１２  入力解析部
１１３  リセット範囲制御部
１１４  リセット管理テーブル
１１５  フロント切替制御部
１１６  ＬＣＤドライバ（フロントエンド）
１２０  管理ＶＭ
１２１  ＶＭ制御部
１２２  ＶＭ起動停止順序管理部
１２３  ＶＭ構成定義管理部
１２４  ＶＭアクセスポリシ管理部
１３０  ゲストＶＭ
１３１  ＬＣＤドライバ（フロントエンド）
１４０  ドライバＶＭ
１４１  ＬＣＤドライバ（バックエンド）
１５０  ハイパーバイザ
１６０  ハードウェア
１６１  リセットボタン
１６２  電源ボタン
１６３  ＵＳＢ接続端子
１６４  ＨＤＤ
１６５  ＮＡＮＤ記憶装置
１６６  カメラ
１６７  各種キー
１６８  ＮＩＣ
１６９  ＬＣＤ
【図１】
0005569197.tif 000002
【図２】
0005569197.tif 000003
【図３】
0005569197.tif 000004
【図４】
0005569197.tif 000005
【図５】
0005569197.tif 000006
【図６】
0005569197.tif 000007
【図７】
0005569197.tif 000008
【図８】
0005569197.tif 000009
【図９】
0005569197.tif 000010
【図１０】
0005569197.tif 000011
【図１１】
0005569197.tif 000012
【図１２】
0005569197.tif 000013
【図１３】
0005569197.tif 000014
【図１４】
0005569197.tif 000015
【図１５】
0005569197.tif 000016
【図１６】
0005569197.tif 000017
【図１７】
0005569197.tif 000018
【図１８】
0005569197.tif 000019
【図１９】
0005569197.tif 000020
【図２０】
0005569197.tif 000021
【図２１】
0005569197.tif 000022
【図２２】
0005569197.tif 000023
【図２３】
0005569197.tif 000024
【図２４】
0005569197.tif 000025
【図２５】
0005569197.tif 000026
【図２６】
0005569197.tif 000027
【図２７】
0005569197.tif 000028
【図２８】
0005569197.tif 000029
【図２９】
0005569197.tif 000030
【図３０】
0005569197.tif 000031
【図３１】
0005569197.tif 000032