(57)【要約】  第１種仮想計算機Ａ２１０と第２種仮想計算機２２０とを実行制御する仮想計算機制御装置１００である。そして、第１種仮想計算機Ａ２１０は、自機においてデバイスの利用を開始しようとすることを検知する開始検知部２６１と、開始検知部２６１がその検知を行った場合に、開始信号を出力する開始信号出力部２６２とを有する。また、第２種仮想計算機２２０は、デバイス（外部記憶装置１６０）が低消費電力状態（電源オフ状態）である場合において、開始信号出力部２６２から開始信号が出力されるときに、デバイス（外部記憶装置１６０）の状態を通常状態（電源オン状態）に設定するデバイス制御部（外部記憶装置デバイスドライバ２７３）を有する。
2013125160.tif 000002
【特許請求の範囲】
【請求項１】
通常状態と、当該通常状態よりも、単位時間当たりの消費電力量が少なくて処理能力が低い低消費電力状態とのいずれかの状態に設定され得るデバイスを利用するプロセッサと、当該プロセッサの実行すべきプログラムを記憶するメモリとを備え、当該プロセッサが当該メモリに記憶されるプログラムを実行することで、１つ以上の第１種仮想計算機と、１つの第２種仮想計算機と、当該第１種仮想計算機と当該第２種仮想計算機とを実行制御するハイパーバイザとを実現する仮想計算機制御装置であって、
前記第１種仮想計算機は、
自機において前記デバイスの利用を開始しようとすることを検知する開始検知部と、
前記開始検知部が前記検知を行った場合に、開始信号を出力する開始信号出力部とを有し、
前記第２種仮想計算機は、前記デバイスが前記低消費電力状態である場合において、前記開始信号出力部から前記開始信号が出力されるときに、前記デバイスの状態を前記通常状態に設定するデバイス制御部を有する
ことを特徴とする仮想計算機制御装置。
【請求項２】
前記第１種仮想計算機は、さらに、
自機において前記デバイスの利用を終了しようとすることを検知する終了検知部と
前記終了検知部が前記検知を行った場合に、終了信号を出力する終了信号出力部とを有し、
前記デバイス制御部は、前記デバイスが前記通常状態である場合において、少なくとも１度前記開始信号を出力した前記開始信号出力部を有する第１種仮想計算機の全てにおいて、前記開始信号出力部から前記開始信号が最後に出力された後に前記終了信号出力部から前記終了信号が出力されたときに、前記デバイスの状態を前記低消費電力状態に設定する
ことを特徴とする請求項１記載の仮想計算機制御装置。
【請求項３】
前記ハイパーバイザは、さらに、
前記第２種仮想計算機についての実行制御モードを、前記第２種仮想計算機を実行対象とする実行モードと、前記第２種仮想計算機を実行対象から除外する停止モードとのいずれかに設定する実行制御モード設定部と、
前記実行制御モード設定部によって設定された実行制御モードに従って、前記第２種仮想計算機の実行制御を行う実行制御部とを有し、
前記実行制御モード設定部は、前記第２種仮想計算機についての実行制御モードを前記停止モードに設定している場合において、前記開始信号出力部から前記開始信号が出力されるときに、前記第２種仮想計算機についての実行制御モードを前記実行モードに設定し、
前記ハイパーバイザは、さらに、前記実行制御モード設定部が、前記第２種仮想計算機についての実行制御モードを前記停止モードに設定していた場合において、前記開始信号出力部から前記開始信号が出力されたことで、前記第２種仮想計算機についての実行制御モードを前記実行モードに設定したときに、前記第２種仮想計算機に開始通知信号を出力する通知部を有し、
前記デバイス制御部は、前記実行制御モード設定部が、前記第２種仮想計算機についての実行制御モードの設定を前記停止モードにしていた期間において、前記開始信号出力部から前記開始信号が出力されたことを、前記通知部から出力された前記開始通知信号を受けることで検知し、
前記通知部は、前記実行制御モード設定部が、前記第２種仮想計算機についての実行制御モードを前記実行モードに設定している場合において、少なくとも１度前記開始信号を出力した前記開始信号出力部を有する第１種仮想計算機の全てにおいて、前記開始信号出力部から前記開始信号が最後に出力された後に前記終了信号出力部から前記終了信号が出力されるときに、前記第２種仮想計算機に終了通知信号を出力し、
前記デバイス制御部は、前記デバイスが前記通常状態である場合において、少なくとも１度前記開始信号を出力した前記開始信号出力部を有する第１種仮想計算機の全てにおいて、前記開始信号出力部から前記開始信号が最後に出力された後に前記終了信号出力部から前記終了信号が出力されたことを、前記通知部から出力された終了通知信号を受けることで検知し、
前記実行制御モード設定部は、前記通知部から前記終了通知信号が出力された場合に、前記第２種仮想計算機についての実行制御モードを前記停止モードに設定する
ことを特徴とする請求項２記載の仮想計算機制御装置。
【請求項４】
前記デバイス制御部は、前記デバイスを制御するデバイスドライバを含み、
前記第１種仮想計算機は、さらに、自機で実行されるプログラムで指定される、前記デバイスを利用する処理を示すコマンドの実行にあたり、前記デバイスドライバに前記デバイスを制御させるための信号を生成して前記第２種仮想計算機へ出力する仮想デバイスドライバを有し、
前記第２種仮想計算機は、さらに、前記仮想デバイスドライバから出力される信号を受信して前記デバイスドライバへ伝達する伝達部を有する
ことを特徴とする請求項３記載の仮想計算機制御装置。
【請求項５】
前記第１種仮想計算機の有する前記開始検知部は、当該第１種仮想計算機で実行されるプログラムで指定される、前記デバイスの利用を開始する処理を示す利用開始コマンドが実行されることで、前記検知を行う
ことを特徴とする請求項４記載の仮想計算機制御装置。
【請求項６】
前記第１種仮想計算機は、前記デバイスを利用する権限のあるプログラムを特定するための特定情報を記憶する特定情報記憶部を有し、
前記第１種仮想計算機の有する前記開始信号出力部は、当該第１種仮想計算機が有する前記開始検知部によって実行されることが検知された前記利用開始コマンドを指定するプログラムが、前記特定情報記憶部に記憶される前記特定情報によって特定されるプログラムである場合に限って、前記開始信号の出力を行う
ことを特徴とする請求項５記載の仮想計算機制御装置。
【請求項７】
前記第１種仮想計算機は、さらに、
自機を使用するユーザからの、前記デバイスの利用を要求する利用要求を受け付ける利用要求受付部と、
正当な利用要求を特定するための特定情報を記憶する特定情報記憶部と、
前記利用要求受付部によって受け付けられた利用要求が、前記特定情報記憶部に記憶される前記特定情報によって特定される正当な利用要求であるか否かを判定する判定部とを有し、
前記開始検知部は、前記判定部の行う判定が肯定的であることにより、前記検知を行う
ことを特徴とする請求項４記載の仮想計算機制御装置。
【請求項８】
前記第１種仮想計算機は、さらに、
自機を使用するユーザからの、前記デバイスの利用を要求する利用要求を受け付ける利用要求受付部と、
前記利用要求受付部によって、前記ユーザからの利用要求が受け付けられた場合に、当該受け付けられた利用要求を出力する利用要求出力部とを有し、
前記開始検知部は、前記利用要求受付部によって前記利用要求が受け付けられることにより、前記検知を行い、
前記第２種仮想計算機は、さらに、
利用要求が正当なものであるための条件を示す特定情報を記憶するための特定情報記憶部と、
前記利用要求出力部から利用要求が出力された場合に、当該利用要求が、前記特定情報記憶部に記憶される前記特定情報によって示される前記条件を見たすか否かを判定する判定部とを有し、
前記デバイス制御部は、前記デバイスが前記通常状態である場合において、前記判定部の行う前記判定が否定的であるとき、前記デバイスの状態を前記通常状態から前記低消費電力状態に変更し、
前記第２種仮想計算機は、さらに、前記判定部の行う前記判定が否定的である場合に、否定判定信号を出力する判定信号出力部を有し、
前記実行制御モード設定部は、前記第２種仮想計算機についての実行制御モードを前記実行モードに設定している場合において、前記判定信号出力部から前記否定判定信号が出力されたときに、前記第２種仮想計算機についての実行制御モードを前記停止モードに設定する
ことを特徴とする請求項４記載の仮想計算機制御装置。
【請求項９】
前記第１種仮想計算機は、さらに、自機で実行されるプログラムで指定される、前記デバイスを利用する処理を示すコマンドの実行にあたり、前記デバイスを制御する信号を生成して前記第２種仮想計算機へ出力する仮想デバイスドライバを有し、
前記第２種仮想計算機は、さらに、前記仮想デバイスドライバから出力される信号を受信して前記デバイスへ伝達する伝達部を有する
ことを特徴とする請求項３記載の仮想計算機制御装置。
【請求項１０】
前記第１種仮想計算機の有する前記開始検知部は、当該第１種仮想計算機で実行されるプログラムで指定される、前記デバイスの利用を開始する処理を示すコマンドが実行されることで、前記検知を行う
ことを特徴とする請求項９記載の仮想計算機制御装置。
【請求項１１】
通常状態と、当該通常状態よりも、単位時間当たりの消費電力量が少なくて処理能力が低い低消費電力状態とのいずれかの状態に設定され得るデバイスを利用するプロセッサと、当該プロセッサの実行すべきプログラムを記憶するメモリとを備え、当該プロセッサが当該メモリに記憶されるプログラムを実行することで、１つ以上の第１種仮想計算機と、１つの第２種仮想計算機と、当該第１種仮想計算機と当該第２種仮想計算機とを実行制御するハイパーバイザとを実現する仮想計算機制御装置を制御する仮想計算機制御方法であって、
前記第１種仮想計算機が、自機において前記デバイスの利用を開始しようとすることを検知する開始検知ステップと
前記第１種仮想計算機が、前記開始検知ステップによって前記検知が行われた場合に、開始信号を出力する開始信号出力ステップと、
前記第２種仮想計算機が、前記デバイスが前記低消費電力状態である場合において、前記開始信号出力ステップによって前記開始信号が出力されるときに、前記デバイスの状態を前記通常状態に設定するデバイス制御ステップとを有する
ことを特徴とする仮想計算機制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスを利用する仮想計算機を実現する仮想計算機制御装置に関する。
【背景技術】
【０００２】
互いに独立に動作する複数の仮想計算機を実現する仮想計算機制御装置が知られている。このような仮想計算機制御装置の一例として、例えば、特許文献１記載のＯＳ（Operating System）切替装置がある。【０００３】
ところで、互いに独立に動作する複数の仮想計算機のそれぞれが共通のデバイスを利用する環境下において、それぞれの仮想計算機が独自にそのデバイスを制御してしまうと、仮想計算機間でデバイス制御の競合が発生してしまい、そのデバイスを正しく利用することができなくなってしまう恐れがある。【０００４】
このため、このような環境下では、一般に、１つの仮想計算機（以下、「仮想計算機Ａ」と呼ぶ。）に限ってそのデバイスを制御するデバイス制御部を有し、他の仮想計算機は、そのデバイスを利用する場合に、仮想計算機Ａにそのデバイスの制御を依頼してそのデバイスを利用するということが行われる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−４６８８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、あるシステムを利用する場合に、そのシステムで消費する電力量を抑えたいという要望がある。【０００７】
そこで、本発明は、複数の仮想計算機を実現する仮想計算機制御装置と、その仮想計算機制御装置が利用するデバイスとを含むシステムにおいて係る要望に答えるべく、そのシステムにおける消費電力量を低減することができる仮想計算機制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の一態様である仮想計算機制御装置は、通常状態と、当該通常状態よりも、単位時間当たりの消費電力量が少なくて処理能力が低い低消費電力状態とのいずれかの状態に設定され得るデバイスを利用するプロセッサと、当該プロセッサの実行すべきプログラムを記憶するメモリとを備え、当該プロセッサが当該メモリに記憶されるプログラムを実行することで、１つ以上の第１種仮想計算機と、１つの第２種仮想計算機と、当該第１種仮想計算機と当該第２種仮想計算機とを実行制御するハイパーバイザとを実現する仮想計算機制御装置であって、前記第１種仮想計算機は、自機において前記デバイスの利用を開始しようとすることを検知する開始検知部と、前記開始検知部が前記検知を行った場合に、開始信号を出力する開始信号出力部とを有し、前記第２種仮想計算機は、前記デバイスが前記低消費電力状態である場合において、前記開始信号出力部から前記開始信号が出力されるときに、前記デバイスの状態を前記通常状態に設定するデバイス制御部を有することを特徴とする。
【発明の効果】
【０００９】
上述の構成を備える本発明の一態様である仮想計算機制御装置によると、デバイス制御部を有する第２種仮想計算機は、デバイスの状態が低消費電力状態である場合において、第１種仮想計算機がデバイスの利用を開始しようとすると、デバイスの状態を低消費電力状態から通常状態に変更する。このことにより、通常状態であるデバイスを利用する第１種仮想計算機がそのデバイスの利用を開始するまでの期間、そのデバイスを低消費電力状態とすることができるようになる。【００１０】
従って、この仮想計算機制御装置によると、複数の仮想計算機を実現する仮想計算機制御装置と、その仮想計算機制御装置が利用するデバイスとを含むシステムにおける消費電力量を低減することができるようになる。
【図面の簡単な説明】
【００１１】
【図１】仮想計算機制御装置１００の主要なハードウエア構成を示すブロック図
【図２】プロセッサ１２０上で実行対象となるモジュール群２００を示す模式図
【図３】デバイス利用開始処理のフローチャート
【図４】デバイス利用終了処理のフローチャート
【図５】プロセッサ１２０上で実行対象となるモジュール群５００を示す模式図
【図６】第１変形デバイス利用開始処理のフローチャート
【図７】第１変形デバイス利用終了処理のフローチャート
【図８】プロセッサ１２０上で実行対象となるモジュール群８００を示す模式図
【図９】第２変形デバイス利用開始処理のフローチャート
【図１０】第２変形デバイス利用終了処理のフローチャート
【図１１】プロセッサ１２０上で実行対象となるモジュール群１１００を示す模式図
【図１２】第３変形デバイス利用開始処理のフローチャートその１
【図１３】第３変形デバイス利用開始処理のフローチャートその２
【図１４】第３変形デバイス利用終了処理のフローチャート
【図１５】プロセッサ１２０上で実行対象となるモジュール群１５００を示す模式図
【図１６】第４変形デバイス開始処理のフローチャートその２
【図１７】第４変形デバイス利用終了処理のフローチャート
【図１８】プロセッサ１２０上で実行対象となるモジュール群１８００を示す模式図
【図１９】第５変形デバイス利用開始処理のフローチャートその１
【図２０】第５変形デバイス利用開始処理のフローチャートその２
【図２１】第５変形デバイス利用終了処理のフローチャート
【図２２】プロセッサ１２０上で実行対象となるモジュール群２２００を示す模式図
【図２３】仮想計算機制御装置２３００の構成を示すブロック図
【発明を実施するための形態】
【００１２】
＜実施の形態１＞
＜概要＞
以下、本発明に係る仮想計算機制御装置の一実施形態として、外部デバイスである外部記憶装置を利用するタスクを含む複数の第１種仮想計算機と、外部記憶装置のデバイスドライバを有する第２種仮想計算機と、第１種仮想計算機と第２種仮想計算機との実行制御を行うハイパーバイザとを実現する仮想計算機制御装置について説明する。
【００１３】
この仮想計算機制御装置は、外部記憶装置が電源オフ状態であって、第２種仮想計算機が停止状態（ハイパーバイザにおいて実行対象となっていない状態）である場合において、一の第１種仮想計算機に含まれるタスクが外部記憶装置の利用を開始しようとするとき、その第１種仮想計算機が、そのタスクによる外部記憶装置の利用の開始を検知して、ハイパーバイザに開始信号を出力する。すると、ハイパーバイザは、第２種仮想計算機をレジュームして実行状態（ハイパーバイザにおいて実行対象となっている状態）として、第２種仮想計算機に、第１種仮想計算機から開始信号が出力された旨を示す開始通知信号を出力する。すると、第２種仮想計算機は、外部記憶装置を起動して、電源オン状態にする。
【００１４】
また、外部記憶装置が起動状態であって、第２種仮想計算機が実行状態である場合において、一の第１種仮想計算機に含まれるタスクが外部記憶装置の利用を終了しようとするとき、その第１種仮想計算機は、そのタスクによる外部記憶装置の利用の終了を検知して、ハイパーバイザに終了信号を出力する。すると、ハイパーバイザは、他の第１種仮想計算機が外部記憶装置を利用していない場合に、第２種仮想計算機に、第１種仮想計算機から終了信号が出力された旨を示す終了通知信号を出力する。すると、第２種仮想計算機は、外部記憶装置を停止して電源オフ状態にして、その後、ハイパーバイザは、第２種仮想計算機を停止状態にする。
【００１５】
なお、ここでは、「信号を出力する」等の表現を用いて、データ等をやり取りするさまを説明しているが、この「信号を出力する」等の表現は、必ずしも、物理的な信号の出力等によるデータ等のやり取りのみに限定するものではない。
【００１６】
以下、この仮想計算機制御装置の構成について図面を参照しながら説明する。
【００１７】
＜構成＞
図１は、仮想計算機制御装置１００の主要なハードウエア構成を示すブロック図である。
【００１８】
同図に示されるように、仮想計算機制御装置１００は、ハードウエアとしてはコンピュータ装置であり、集積回路１１０と入力装置１５１と出力装置１５２とから構成され、外部記憶装置１６０に接続される。そして、集積回路１１０は、さらに、プロセッサ１２０とメモリ１３０とバス１４０と第１Ｉ／Ｆ（インターフェース）１４１と第２Ｉ／Ｆ１４２と第３Ｉ／Ｆ１４３とから構成される。
【００１９】
メモリ１３０は、ＲＯＭ（Read Only Memory）とＲＡＭ（Random Access Memory）とから構成され、バス１４０に接続され、プロセッサ１２０の動作を規定するプログラムと、プロセッサ１２０が利用するデータとを記憶する。
【００２０】
バス１４０は、プロセッサ１２０とメモリ１３０と第１Ｉ／Ｆ１４１と第２Ｉ／Ｆ１４２と第３Ｉ／Ｆ１４３とに接続され、接続される回路間の信号を伝達する機能を有する。
【００２１】
第１Ｉ／Ｆ１４１と第２Ｉ／Ｆ１４２と第３Ｉ／Ｆ１４３とは、それぞれ、バス１４０と入力装置１５１と、バス１４０と出力装置１５２と、バス１４０と外部記憶装置１６０とに接続され、それぞれ、接続される回路間の信号のやり取りを仲介する機能を有する。
【００２２】
入力装置１５１は、キーボード、マウス等から構成され、第１Ｉ／Ｆ１４１に接続され、プログラムを実行するプロセッサ１２０によって制御され、仮想計算機制御装置１００を利用するユーザからの操作コマンドを受け付ける機能を有する。
【００２３】
出力装置１５２は、ディスプレイ等から構成され、第２Ｉ／Ｆ１４２に接続され、プログラムを実行するプロセッサ１２０によって制御され、プロセッサ１２０から送られる信号に基づく、文字列、画像等を表示する機能を有する。
【００２４】
プロセッサ１２０は、バス１４０に接続され、メモリ１３０に記憶されるプログラムを実行することで、入力装置１５１と出力装置１５２と外部記憶装置１６０とを制御して、仮想計算機制御装置１００を、第１種仮想計算機と、第２種仮想計算機と、仮想計算機の実行制御を行うハイパーバイザとを実現するコンピュータ装置として機能させる機能を有する。ここで、プロセッサ１２０は、メモリ１３０に記憶されるプログラムを実行することで、仮想計算機制御装置１００を制御して、仮想計算機制御装置１００に、その特徴的な動作である、デバイス利用開始処理とデバイス利用終了処理とを実現させる。これら、デバイス利用開始処理とデバイス利用終了処理とについては、後程、フローチャートを用いて詳細に説明する。
【００２５】
外部記憶装置１６０は、第３Ｉ／Ｆ１４３に接続され、プログラムを実行するプロセッサ１２０によって制御され、内蔵するフラッシュメモリにデータを書き込む機能と、内蔵するフラッシュメモリからデータを読み出す機能とを有する。
【００２６】
上記ハードウエア構成を備える仮想計算機制御装置１００について、以下、機能面から見た機能構成について図面を参照しながら説明する。
【００２７】
図２は、プロセッサ１２０上で実行対象となるプログラムモジュール（以下、単に「モジュール」と呼ぶ。）群２００を模式的に示す模式図である。
【００２８】
同図に示されるように、プロセッサ１２０上で実行対象となるモジュールには、ハイパーバイザ２４０と、ハイパーバイザ２４０によって実行制御される、第１種ＯＳ２６０と第２種ＯＳ２７０と第１種ＯＳ２８０と、第１種ＯＳ２６０によって実行制御されるタスクＡ２１１〜タスクＫ２１３と、第２種ＯＳ２７０によって実行制御されるタスクＬ２２１〜タスクＰ２２３と、第１種ＯＳ２８０によって実行制御されるタスクＱ２３１〜タスクＺ２３２とが含まれる。
【００２９】
ここで、第１種ＯＳ２６０は、自ＯＳと、自ＯＳが実行制御するタスク群とからなるシステムを第１種仮想計算機Ａ２１０として機能させ、第２種ＯＳ２７０は、自ＯＳと、自ＯＳが実行制御するタスク群とからなるシステムを第２種仮想計算機２２０として機能させ、第１種ＯＳ２８０は、自ＯＳと、自ＯＳが実行制御するタスク群とからなるシステムを第１種仮想計算機Ｂ２３０として機能させる。
【００３０】
ハイパーバイザ２４０は、ＶＭ（Virtual Machine：仮想計算機）間通信中継部２４１とＶＭスケジュール部２４２とＶＭ実行制御部２４３と開始通知部２４４とを含み、第１種ＯＳ２６０と第２種ＯＳ２７０と第１種ＯＳ２８０とを実行制御する機能、すなわち、第１種仮想計算機Ａ２１０と第２種仮想計算機２２０と第１種仮想計算機Ｂ２３０とを実行制御する機能を有する。
【００３１】
第１種ＯＳ２６０は、開始検知部２６１と開始信号出力部２６２と仮想デバイスドライバ２６３と入力受付部２６４とを含み、タスクＡ２１１〜タスクＫ２１３を実行制御する機能を有する。
【００３２】
第１種ＯＳ２８０は、開始検知部２６１と開始信号出力部２６２と仮想デバイスドライバ２６３とを含み、タスクＱ２３１〜タスクＺ２３２を実行制御する機能を有する。
【００３３】
なお、ここでは、少なくとも、開始検知部２６１と開始信号出力部２６２と仮想デバイスドライバ２６３とを含むＯＳのことを第１種ＯＳと呼んでいる。
【００３４】
第２種ＯＳ２７０は、通信部２７１と省電力制御部２７２と外部記憶装置デバイスドライバ２７３とを含み、タスクＬ２２１〜タスクＰ２２３を実行制御する機能を有する。
【００３５】
なお、ここでは、少なくとも、通信部２７１と省電力制御部２７２と外部記憶装置デバイスドライバ２７３とを含むＯＳのことを第２種ＯＳと呼んでいる。
【００３６】
開始検知部２６１は、開始信号出力部２６２に接続され、以下の２つの機能を有する。
【００３７】
開始検知機能：第１種仮想計算機Ａ２１０で実行されるタスク（ここでは、タスクＡ２１１〜タスクＫ２１３）において、外部記憶装置１６０の利用開始時に実行されるｏｐｅｎコマンドが実行対象となったことを検知する機能。
【００３８】
ここで、開始検知部２６１の機能説明を一旦中断して、タスクによる外部記憶装置１６０の利用手順について説明する。
【００３９】
タスクは、外部記憶装置１６０を利用する場合に、まず、ｏｐｅｎコマンドを実行して、外部記憶装置１６０の利用開始を宣言する。そして、その後、実際に外部記憶装置１６０を利用するコマンド群（例えば、ｒｅａｄコマンド、ｗｒｉｔｅコマンド等）を実行する。そして、これらコマンド群の実行が終了すると、ｃｌｏｓｅコマンドを実行して、外部記憶装置１６０の利用終了を宣言する。
【００４０】
以下、開始検知部２６１の機能説明を続ける。
【００４１】
終了検知機能：第１種仮想計算機Ａ２１０で実行されるタスクにおいて、外部記憶装置１６０の利用終了時に実行されるｃｌｏｓｅコマンドが実行対象となったことを検知する機能。
【００４２】
開始信号出力部２６２は、開始検知部２６１とＶＭスケジュール部２４２とに接続され、以下の２つの機能を有する。
【００４３】
開始信号出力機能：開始検知部２６１によって、ｏｐｅｎコマンドが実行対象となったことが検知された場合に、外部記憶装置１６０の利用を開始しようとする旨を示す開始信号を、ＶＭスケジュール部２４２に送出する機能。
【００４４】
終了信号出力機能：開始検知部２６１によって、ｃｌｏｓｅコマンドが実行対象となったことが検知された場合に、自部を含むＯＳによってそのｃｌｏｓｅコマンドに対応する処理が実行された後に、外部記憶装置１６０の利用を終了しようとする旨を示す終了信号を、ＶＭスケジュール部２４２に送出する機能。
【００４５】
仮想デバイスドライバ２６３は、ＶＭ間通信中継部２４１に接続され、以下の２つの機能を有する。
【００４６】
デバイスドライバ制御信号生成機能：第１種仮想計算機Ａ２１０で実行されるタスクにおいて、外部記憶装置１６０を利用するコマンドが実行された場合に、そのコマンドに対応する動作を外部記憶装置１６０にさせるための制御信号を、外部記憶装置デバイスドライバ２７３から外部記憶装置１６０に送出させるために、外部記憶装置デバイスドライバ２７３を制御するデバイスドライバ制御信号を、ＶＭ間通信中継部２４１を介して通信部２７１に送出する機能。
【００４７】
デバイス応答信号通知機能：送出したデバイスドライバ制御信号に応答するデバイス応答信号が、通信部２７１から送られて来た場合に、そのデバイス応答信号を、そのデバイス応答信号の応答対象となるタスクに送出する機能。
【００４８】
この仮想デバイスドライバ２６３は、第１種仮想計算機Ａ２１０で実行されるタスクに対するインターフェースが、外部記憶装置デバイスドライバ２７３と同様なものとなっている。このため、第１種仮想計算機Ａ２１０で実行されるタスクは、仮想デバイスドライバ２６３と外部記憶装置デバイスドライバ２７３とを区別しない。
【００４９】
入力受付部２６４は、入力装置１５１に接続され、入力装置１５１を利用して入力される、ユーザからの、第１種仮想計算機Ａ２１０に係る操作コマンドを受け付ける機能を有する。
【００５０】
ＶＭ間通信中継部２４１は、第１種ＯＳ２６０に含まれる仮想デバイスドライバ２６３と、第１種ＯＳ２８０に含まれる仮想デバイスドライバ２６３と、通信部２７１とに接続され、互いに異なるＯＳ間における信号のやり取りを中継する機能を有する。
【００５１】
ＶＭスケジュール部２４２は、第１種ＯＳ２６０に含まれる開始信号出力部２６２と第１種ＯＳ２８０に含まれる開始信号出力部２６２とＶＭ実行制御部２４３と開始通知部２４４５とに接続され、以下の３つの機能を有する。
【００５２】
ＶＭスケジューリング機能：実行制御対象となるＯＳについての、時分割法によるスケジューリングを行う機能。
【００５３】
第２種仮想計算機レジューム機能：第２種ＯＳ２７０を実行対象としないようにスケジューリングしている場合（第２種ＯＳ２７０が、いわゆる、サスペンド状態となっている場合）において、いずれかの第１種ＯＳ（ここでは、第１種ＯＳ２６０と第１種ＯＳ２８０とのいずれか）に含まれる開始信号出力部２６２から開始信号が送出されるとき、第２種ＯＳ２７０を実行対象とするように変更して、ＯＳについてのスケジューリングを行う機能。
【００５４】
第２種仮想計算機サスペンド機能：第２種ＯＳ２７０を実行対象とするようにスケジューリングしている場合において、少なくとも１度開始信号を送出した開始信号出力部２６２を含む第１種ＯＳの全てにおいて開始信号出力部２６２から開始信号が最後に送出された後にその開始信号出力部２６２から終了信号が送出されるとき、所定時間Ｔ１の経過を待って、第２種ＯＳ２７０を実行対象としないように変更して（第２種ＯＳ２７０が、いわゆる、ラン状態、又は、いわゆる、レディ状態となるように変更して）、ＯＳについてのスケジューリングを行う機能。ここで、この所定時間Ｔ１とは、後述のデバイス利用終了処理（図４参照）における、ステップＳ４４０の処理が開始されてからステップＳ４６０の処理が終了するまでに必要となる時間（外部記憶装置１６０を停止するまでに必要な時間）以上の、予め定められた時間である。
【００５５】
ＶＭ実行制御部２４３は、ＶＭスケジュール部２４２に接続され、ＶＭスケジュール部２４２によってスケジューリングされたスケジュールに従って、ＯＳの実行制御を行う機能を有する。なお、以下では、第２種ＯＳ２７０を実行対象とするように、ＯＳの実行制御を行っている状態のことを、「第２種仮想計算機２２０についての実行制御モードが実行モードである」と言い、第２種ＯＳ２７０を実行対象としないように、ＯＳの実行制御を行っている状態のことを、「第２種仮想計算機２２０についての実行制御モードが停止モードである」と言うこともある。
【００５６】
開始通知部２４４は、ＶＭスケジュール部２４２と省電力制御部２７２とに接続され、以下の２つの機能を有する。
【００５７】
開始通知機能：第２種仮想計算機２２０についての実行制御モードが停止モードであった場合において、いずれかの第１種ＯＳ（ここでは、第１種ＯＳ２６０と第１種ＯＳ２８０とのいずれか）に含まれる開始信号出力部２６２から開始信号が送出されたことで、第２種仮想計算機２２０についての実行制御モードが実行モードになったとき、省電力制御部２７２に、開始通知信号を送出する機能。
【００５８】
終了通知機能：第２種仮想計算機２２０についての実行制御モードが実行モードであった場合において、少なくとも１度開始信号を送出した開始信号出力部２６２を含む第１種ＯＳの全てにおいて開始信号出力部２６２から開始信号が最後に送出された後にその開始信号出力部２６２から終了信号が送出されたとき、省電力制御部２７２に、終了通知信号を送出する機能。
【００５９】
通信部２７１は、ＶＭ間通信中継部２４１と外部記憶装置デバイスドライバ２７３とに接続され、以下の２つの機能を有する。
【００６０】
第１通信機能：ＶＭ間通信中継部２４１を介して仮想デバイスドライバ２６３からデバイスドライバ制御信号が送られて来た場合に、そのデバイスドライバ制御信号を受け取って、外部記憶装置デバイスドライバ２７３に送出する機能。
【００６１】
第２通信機能：外部記憶装置デバイスドライバ２７３による外部記憶装置１６０への制御に応答して、外部記憶装置１６０から外部記憶装置デバイスドライバ２７３に送られて来たデバイス応答信号が、外部記憶装置デバイスドライバ２７３から送られて来た場合に、そのデバイス応答信号を受け取って、ＶＭ間通信中継部２４１を介して、その応答信号の応答先となる第１種仮想計算機に含まれる仮想デバイスドライバ２６３に送出する機能。
【００６２】
省電力制御部２７２は、開始通知部２４４と外部記憶装置デバイスドライバ２７３とに接続され、以下の２つの機能を有する。
【００６３】
起動指示機能：開始通知部２４４から開始通知信号が送られて来た場合に、外部記憶装置デバイスドライバ２７３に外部記憶装置１６０を起動させる（すなわち、電源を投入して利用可能状態にさせる）旨の起動指示信号を、外部記憶装置デバイスドライバ２７３に送出する機能。
【００６４】
停止指示機能：開始通知部２４４から終了通知信号が送られて来た場合に、外部記憶装置デバイスドライバ２７３に外部記憶装置１６０を停止させる（すなわち、電源を切って利用不可能状態にさせる）旨の停止指示信号を、外部記憶装置デバイスドライバ２７３に送出する機能。
【００６５】
外部記憶装置デバイスドライバ２７３は、通信部２７１と省電力制御部２７２と外部記憶装置１６０とに接続され、以下の４つの機能を有する。
【００６６】
外部記憶装置制御機能：通信部２７１からデバイスドライバ制御信号が送られて来た場合に、そのデバイスドライバ制御信号に従って、外部記憶装置１６０を制御する機能。
【００６７】
外部記憶装置応答機能：外部記憶装置１６０への制御に応答して、外部記憶装置１６０からその制御に応答するデバイス応答信号が送られて来た場合に、そのデバイス応答信号を通信部２７１へ送出する機能。
【００６８】
外部記憶装置起動機能：外部記憶装置１６０が停止している場合において、省電力制御部２７２から起動指示信号が送られて来たときに、外部記憶装置１６０の電源を投入して外部記憶装置１６０を起動する機能。
【００６９】
外部記憶装置停止機能：外部記憶装置１６０が起動している場合において、省電力制御部２７２から停止指示信号が送られて来たときに、外部記憶装置１６０の電源を切って、外部記憶装置１６０を停止する機能。
【００７０】
以上のように構成される仮想計算機制御装置１００の行う動作について、以下図面を参照しながら説明する。
【００７１】
＜動作＞
仮想計算機制御装置１００は、その特徴的な動作として、外部記憶装置１６０が電源オフ状態であって、第２種仮想計算機２２０についての実行制御モードが停止モードである場合において、いずれかの第１種仮想計算機で実行されるタスクにおいて、外部記憶装置１６０の利用開始時に実行されるｏｐｅｎコマンドが実行対象となるとき、以下に述べるデバイス利用開始処理を実行することで、（１）第２種仮想計算機２２０についての実行制御モードを停止モードに変更して、（２）外部記憶装置１６０を電源オン状態とする。
【００７２】
また、仮想計算機制御装置１００は、その特徴的な動作として、外部記憶装置１６０が電源オン状態であって、第２種仮想計算機２２０についての実行制御モードが実行モードである場合において、少なくとも１度開始信号を送出した開始信号出力部２６２を含む第１種仮想計算機の全てにおいて開始信号出力部２６２から開始信号が最後に送出された後にその開始信号出力部２６２から終了信号が送出されるとき、以下に述べるデバイス利用終了処理を実行することで、（１）外部記憶装置１６０を電源オフ状態として、（２）第２種仮想計算機２２０についての実行制御モードを停止モードに変更する。
【００７３】
以下、デバイス利用開始処理とデバイス利用終了処理とについて説明する。
【００７４】
＜デバイス利用開始処理＞
図３はデバイス利用開始処理のフローチャートである。
【００７５】
デバイス利用開始処理は、外部記憶装置１６０が電源オフ状態である場合において、いずれかの第１種仮想計算機（ここでは、この第１種仮想計算機が第１種仮想計算機Ａ２１０であるとして説明する。）で実行されるタスクにおいて、外部記憶装置１６０の利用開始時に実行されるｏｐｅｎコマンドが実行対象となることで開始される。
【００７６】
デバイス利用開始処理が開始されると、開始検知部２６１は、第１種仮想計算機Ａ２１０で実行されるタスクにおいて、ｏｐｅｎコマンドが実行対象となったことを検知する（ステップＳ３００）。そして、開始信号出力部２６２は、開始信号を、ＶＭスケジュール部２４２に送出する（ステップＳ３１０）。
【００７７】
開始信号出力部２６２から、開始信号が送出されると、ＶＭスケジュール部２４２は、第２種仮想計算機２２０についての実行制御モードが停止モードであるか否かを調べる（ステップＳ３２０）。
【００７８】
ステップＳ３２０の処理において、第２種仮想計算機２２０についての実行制御モードが停止モードである場合に（ステップＳ３２０：Ｙｅｓ）、ＶＭスケジュール部２４２は、第２種ＯＳ２７０を実行対象とするように変更してＯＳについてのスケジューリングを行うことで、第２種仮想計算機２２０についての実行制御モードを実行モードに変更する（ステップＳ３３０）。
【００７９】
第２種仮想計算機２２０についての実行制御モードが実行モードに変更されると、ＶＭ実行制御部２４３は、第２種仮想計算機２２０を実行対象とするように仮想計算機の実行制御を行うことで、第２種仮想計算機２２０をレジュームする（ステップＳ３４０）。そして、開始通知部２４４は、省電力制御部２７２に、開始通知信号を送出する（ステップＳ３５０）。
【００８０】
開始通知信号が送出されると、省電力制御部２７２は、外部記憶装置デバイスドライバ２７３に外部記憶装置１６０を起動させる旨の起動指示信号を、外部記憶装置デバイスドライバ２７３に送出する（ステップＳ３６０）。
【００８１】
起動指示信号が送出されると、外部記憶装置デバイスドライバ２７３は、外部記憶装置１６０を起動する（ステップＳ３７０）。
【００８２】
ステップＳ３７０の処理が終了した場合、及び、ステップＳ３２０の処理において、第２種仮想計算機２２０についての実行制御モードが停止モードでない場合に（ステップＳ３２０：Ｙｅｓ）、外部記憶装置１６０が起動されていて利用可能状態となっているので、第１種ＯＳ２６０は、ｏｐｅｎコマンドに対応する処理を実行して、そのデバイス利用開始処理を終了する。
【００８３】
＜デバイス利用終了処理＞
図４はデバイス利用終了処理のフローチャートである。
【００８４】
デバイス利用終了処理は、外部記憶装置１６０が電源オン状態であって、第２種仮想計算機２２０についての実行制御モードが実行モードである場合において、いずれかの第１種仮想計算機（ここでは、この第１種仮想計算機が第１種仮想計算機Ａ２１０であるとして説明する。）外部記憶装置１６０の利用終了時に実行されるｃｌｏｓｅコマンドが実行対象となることで開始される。
【００８５】
デバイス利用終了処理が開始されると、開始検知部２６１は、第１種仮想計算機Ａ２１０で実行されるタスクにおいて、ｃｌｏｓｅコマンドが実行対象となったことを検知する（ステップＳ４００）。この時点において、外部記憶装置１６０は利用可能状態であるので、自部を含むＯＳは、そのｃｌｏｓｅコマンドに対応する処理を実行する（ステップＳ４１０）。自部を含むＯＳによってそのｃｌｏｓｅコマンドに対応する処理が実行されると、開始信号出力部２６２は、終了信号を、ＶＭスケジュール部２４２に送出する（ステップＳ４２０）。
【００８６】
終了信号が送出されると、ＶＭスケジュール部２４２は、少なくとも１度開始信号を送出した開始信号出力部２６２を含む第１種ＯＳの全てにおいて開始信号出力部２６２から開始信号が最後に送出された後にその開始信号出力部２６２から終了信号が送出されたか否かを調べる（ステップＳ４３０）。
【００８７】
ステップＳ４３０の処理において、少なくとも１度開始信号を送出した開始信号出力部２６２を含む第１種ＯＳの全てにおいて開始信号出力部２６２から開始信号が最後に送出された後にその開始信号出力部２６２から終了信号が送出された場合に（ステップＳ４３０：Ｙｅｓ）、開始通知部２４４は、省電力制御部２７２に、終了通知信号を送出する（ステップＳ４４０）。
【００８８】
終了通知信号が送出されると、省電力制御部２７２は、外部記憶装置デバイスドライバ２７３に外部記憶装置１６０を停止させる旨の停止指示信号を、外部記憶装置デバイスドライバ２７３に送出する（ステップＳ４５０）。
【００８９】
停止指示信号が送出されると、外部記憶装置デバイスドライバ２７３は、外部記憶装置１６０を停止する（ステップＳ４６０）。
【００９０】
ステップＳ４４０の処理が開始されてから所定時間Ｔ１が経過して、ステップＳ４６０の処理が終了すると、ＶＭスケジュール部２４２は、第２種ＯＳ２７０を実行対象としないように変更してＯＳについてのスケジューリングを行うことで、第２種仮想計算機２２０についての実行制御モードを停止モードに変更する（ステップＳ４７０）。
【００９１】
第２種仮想計算機２２０についての実行制御モードが停止モードに変更されると、ＶＭ実行制御部２４３は、第２種仮想計算機２２０を実行対象としないように仮想計算機の実行制御を行うことで、第２種仮想計算機２２０をサスペンドする（ステップＳ４８０）。
【００９２】
ステップＳ４８０の処理が終了すると、仮想計算機制御装置１００は、そのデバイス利用終了処理を開始する。
【００９３】
＜考察＞
上記構成の仮想計算機制御装置１００は、いずれかの第１種仮想計算機が外部記憶装置１６０の利用を開始する時点から、全ての第１種仮想計算機が外部記憶装置１６０の利用を終了する時点までの期間、外部記憶装置１６０を電源オン状態とし、その期間以外の期間、外部記憶装置１６０を電源オフ状態とする。
【００９４】
そして、このことによって、仮想計算機制御装置１００と外部記憶装置１６０とから構成されるシステムで消費される電力量を比較的低く抑えることができる。
＜実施の形態２＞
＜概要＞
以下、本発明に係る仮想計算機制御装置の一実施形態として、実施の形態１に係る仮想計算機制御装置１００の一部を変形した第１変形仮想計算機制御装置について説明する。
【００９５】
実施の形態１に係る仮想計算機制御装置１００は、外部記憶装置１６０が電源オフ状態である場合において、いずれかの第１種仮想計算機で実行されるタスクにおいて、外部記憶装置１６０の利用開始時に実行されるｏｐｅｎコマンドが実行対象となるときに、外部記憶装置１６０の電源をオン状態にする構成の例であった。
【００９６】
これに対して、実施の形態２に係る第１変形仮想計算機制御装置は、外部記憶装置１６０が電源オフ状態である場合において、いずれかの第１種仮想計算機で実行されるタスクのうちの、外部記憶装置１６０を利用する権限が予め与えられているタスクにおいて、外部記憶装置１６０の利用開始時に実行されるｏｐｅｎコマンドが実行対象となるときに、外部記憶装置１６０の電源をオン状態にする構成の例となっている。
【００９７】
以下、実施の形態２に係る第１変形仮想計算機制御装置の構成について、図面を参照しながら、実施の形態１に係る仮想計算機制御装置１００との相違点を中心に説明する。
【００９８】
＜構成＞
第１変形仮想計算機制御装置は、ハードウエアとしては、実施の形態１に係る仮想計算機制御装置１００から変形されていないが、プロセッサ１２０によって実行されるソフトウエアの一部が、実施の形態１に係る仮想計算機制御装置１００から変形されている。
【００９９】
図５は、プロセッサ１２０上で実行対象となるモジュール群５００を模式的に示す模式図である。
【０１００】
同図に示されるように、モジュール群５００は、実施の形態１に係るモジュール群２００（図２参照）から、特定情報記憶部５６５が追加され、開始信号出力部２６２が開始信号出力部５６２に変更されるように変形されている。そして、これらの変形にともなって、第１種ＯＳ５６０が第１種ＯＳ５６０に変形され、第１種仮想計算機Ａ２１０が第１種仮想計算機Ｃ５１０に変形されている。
【０１０１】
特定情報記憶部５６５は、開始信号出力部５６２に接続され、第１種ＯＳ５６０に含まれ、第１種仮想計算機Ｃ５１０において実行制御対象となるタスクのうち、予め外部記憶装置１６０を利用する権限が与えられているタスクを特定するための特定情報を記憶する機能を有する。
【０１０２】
開始信号出力部５６２は、開始検知部２６１とＶＭスケジュール部２４２と特定情報記憶部５６５とに接続され、第２種ＯＳ５６０に含まれ、以下の４つの機能を有する。
【０１０３】
変形開始信号出力機能：開始検知部２６１によって、ｏｐｅｎコマンドが実行対象となったことが検知された場合において、そのｏｐｅｎコマンドを含むタスクが、特定情報記憶部５６５に記憶される特定情報によって特定される、予め外部記憶装置１６０を利用する権限が与えられているタスクであるとき、外部記憶装置１６０の利用を開始しようとする旨を示す開始信号を、ＶＭスケジュール部２４２に送出する機能。
【０１０４】
ｏｐｅｎエラー処理機能：開始検知部２６１によって、ｏｐｅｎコマンドが実行対象となったことが検知された場合において、そのｏｐｅｎコマンドを含むタスクが、特定情報記憶部５６５に記憶される特定情報によって特定される、予め外部記憶装置１６０を利用する権限が与えられているタスクでないとき、自部を含むＯＳに、そのｏｐｅｎコマンドを実行する代わりに、予め定められたｏｐｅｎエラー処理を実行させる機能。
【０１０５】
変形終了信号出力機能：開始検知部２６１によって、ｃｌｏｓｅコマンドが実行対象となったことが検知された場合において、そのｃｌｏｓｅコマンドを含むタスクが、特定情報記憶部５６５に記憶される特定情報によって特定される、予め外部記憶装置１６０を利用する権限が与えられているタスクであるとき、自部を含むＯＳによってそのｃｌｏｓｅコマンドに対応する処理が実行された後に、外部記憶装置１６０の利用を終了しようとする旨を示す終了信号を、ＶＭスケジュール部２４２に送出する機能。
【０１０６】
ｃｌｏｓｅエラー処理機能：開始検知部２６１によって、ｃｌｏｓｅコマンドが実行対象となったことが検知された場合において、そのｃｌｏｓｅコマンドを含むタスクが、特定情報記憶部５６５に記憶される特定情報によって特定される、予め外部記憶装置１６０を利用する権限が与えられているタスクでないとき、自部を含むＯＳに、そのｃｌｏｓｅコマンドを実行する代わりに、予め定められたｃｌｏｓｅエラー処理を実行させる機能。
【０１０７】
以上のように構成される第１変形仮想計算機制御装置の行う動作について、以下図面を参照しながら説明する。
【０１０８】
＜動作＞
第１変形仮想計算機制御装置は、実施の形態１に係る仮想計算機制御装置１００の行うデバイス利用開始処理の代わりに、第１変形デバイス利用開始処理を行い、実施の形態１に係る仮想計算機制御装置１００の行うデバイス利用終了処理の代わりに、第１変形デバイス利用終了処理を行う。ここでは、これら、第１変形デバイス利用開始処理と第１変形デバイス利用終了処理とについて説明する。
【０１０９】
＜第１変形デバイス利用開始処理＞
第１変形デバイス利用開始処理は、実施の形態１に係るデバイス利用開始処理から、その一部の処理が変形された処理である。
【０１１０】
図６は第１変形デバイス利用開始処理のフローチャートである。
【０１１１】
同図に示されるように、第１変形デバイス利用開始処理は、実施の形態１に係るデバイス利用開始処理（図３参照）に対して、ステップＳ６０５の処理とステップＳ６９０の処理とが追加されたものとなっている。よって、ここでは、ステップＳ６０５の処理とステップＳ６９０の処理とを中心に説明する。
【０１１２】
ステップＳ３００の処理が終了すると、開始信号出力部５６２は、そのｏｐｅｎコマンドを含むタスクが、特定情報記憶部５６５に記憶される特定情報によって特定される、予め外部記憶装置１６０を利用する権限が与えられているタスクであるか否かを調べる（ステップＳ６０５）。
【０１１３】
ステップＳ６０５の処理において、そのタスクが、予め外部記憶装置１６０を利用する権限が与えられているタスクである場合に（ステップＳ６０５：Ｙｅｓ）、第１変形仮想計算機制御装置は、ステップＳ３１０の処理を行う。
【０１１４】
ステップＳ６０５の処理において、そのタスクが、予め外部記憶装置１６０を利用する権限が与えられているタスクでない場合に（ステップＳ６０５：Ｎｏ）、開始信号出力部５６２は、第１種ＯＳ５６０に、そのｏｐｅｎコマンドを実行する代わりに、予め定められたｏｐｅｎエラー処理を実行させる（ステップＳ６９０）。
【０１１５】
ステップＳ６９０の処理が終了すると、第１変形仮想計算機制御装置は、その第１変形デバイス利用開始処理を終了する。
【０１１６】
＜第１変形デバイス利用終了処理＞
第１変形デバイス利用終了処理は、実施の形態１に係るデバイス利用終了処理から、その一部の処理が変形された処理である。
【０１１７】
図７は第１変形デバイス利用終了処理のフローチャートである。
【０１１８】
同図に示されるように、第１変形デバイス利用終了処理は、実施の形態１に係るデバイス利用終了処理（図４参照）に対して、ステップＳ７０５の処理とステップＳ７９０の処理とが追加されたものとなっている。よって、ここでは、ステップＳ７０５の処理とステップＳ７９０の処理とを中心に説明する。
【０１１９】
ステップＳ４００の処理が終了すると、開始信号出力部５６２は、そのｃｌｏｓｅコマンドを含むタスクが、特定情報記憶部５６５に記憶される特定情報によって特定される、予め外部記憶装置１６０を利用する権限が与えられているタスクであるか否かを調べる（ステップＳ７０５）。
【０１２０】
ステップＳ７０５の処理において、そのタスクが、予め外部記憶装置１６０を利用する権限が与えられているタスクである場合に（ステップＳ７０５：Ｙｅｓ）、第１変形仮想計算機制御装置は、ステップＳ４１０の処理を行う。
【０１２１】
ステップＳ７０５の処理において、そのタスクが、予め外部記憶装置１６０を利用する権限が与えられているタスクでない場合に（ステップＳ７０５：Ｎｏ）、開始信号出力部５６２は、第１種ＯＳ５６０に、そのｃｌｏｓｅコマンドを実行する代わりに、予め定められたｃｌｏｓｅエラー処理を実行させる（ステップＳ７９０）。
【０１２２】
ステップＳ７９０の処理が終了すると、第１変形仮想計算機制御装置は、その第１変形デバイス利用終了処理を終了する。
＜実施の形態３＞
＜概要＞
以下、本発明に係る仮想計算機制御装置の一実施形態として、実施の形態１に係る仮想計算機制御装置１００の一部を変形した第２変形仮想計算機制御装置について説明する。
【０１２３】
実施の形態１に係る仮想計算機制御装置１００は、開始検知部２６１が、第１種仮想計算機で実行されるタスクにおいて、ｏｐｅｎコマンドが実行対象となることを検知することで、第１種仮想計算機において外部記憶装置１６０を利用しようとすることを検知する構成の例であった。
【０１２４】
これに対して、実施の形態３に係る第２変形仮想計算機制御装置は、第１種仮想計算機を利用するユーザから、外部記憶装置１６０の利用開始を要求する旨の正当な操作がなされたことを検知することで、第１種仮想計算機において外部記憶装置１６０を利用しようとすることを検知する構成の例となっている。
【０１２５】
以下、実施の形態３に係る第２変形仮想計算機制御装置の構成について、図面を参照しながら、実施の形態１に係る仮想計算機制御装置１００との相違点を中心に説明する。
【０１２６】
＜構成＞
第２変形仮想計算機制御装置は、ハードウエアとしては、実施の形態１に係る仮想計算機制御装置１００から変形されていないが、プロセッサ１２０によって実行されるソフトウエアの一部が、実施の形態１に係る仮想計算機制御装置１００から変形されている。
【０１２７】
図８は、プロセッサ１２０上で実行対象となるモジュール群８００を模式的に示す模式図である。
【０１２８】
同図に示されるように、モジュール群８００は、実施の形態１に係るモジュール群２００（図２参照）から、開始検知部２６１が削除され、アクセス認証部８１４が追加され、開始信号出力部２６２が開始信号出力部８６２に変更され、入力受付部２６４が入力受付部８６４に変更されるように変形されている。そして、これらの変形にともなって、第１種ＯＳ５６０が第１種ＯＳ８６０に変形され、第１種仮想計算機Ａ２１０が第１種仮想計算機Ｄ８１０に変形されている。
【０１２９】
入力受付部８６４は、入力装置１５１とアクセス認証部８１４とに接続され、第１種ＯＳ８６０に含まれ、以下の２つの機能を有する。
【０１３０】
利用開始要求受付機能：第１種仮想計算機Ｄ８１０を利用するユーザから、入力装置１５１を操作してなされた、外部記憶装置１６０の利用開始を要求する利用開始要求を受け付けて、受け付けた利用開始要求をアクセス認証部８１４に送付する機能。
【０１３１】
利用終了要求受付機能：第１種仮想計算機Ｄ８１０を利用するユーザから、入力装置１５１を操作してなされた、外部記憶装置１６０の利用終了を要求する利用終了要求を受け付けて、受け付けた利用終了要求をアクセス認証部８１４に送付する機能。
【０１３２】
アクセス認証部８１４は、入力受付部８６４と開始信号出力部８６２とに接続され、第１種ＯＳ８６０によって実行制御され、以下の４つの機能を有する。
【０１３３】
第１特定情報記憶機能：正当な利用開始要求を特定するための第１特定情報を記憶する機能。ここでは、以下、利用開始要求は第１パスワードを含み、この第１特定情報は、第１パスワードが正当なものであるか否かを判定するための情報であるとして説明する。
【０１３４】
利用開始要求判定機能：入力受付部８６４から利用開始要求が送られて来た場合において、その利用開始要求に含まれる第１パスワードが、記憶する第１特定情報によって特定される正当なパスワードであるとき、開始信号出力部８６２に、開始要求検知信号を送出する機能。
【０１３５】
第２特定情報記憶機能：正当な利用終了要求を特定するための第２特定情報を記憶する機能。ここでは、以下、利用終了要求は第２パスワードを含み、この第２特定情報は、第２パスワードが正当なものであるか否かを判定するための情報であるとして説明する。
【０１３６】
利用終了要求判定機能：入力受付部８６４から利用終了要求が送られて来た場合において、その利用終了要求に含まれる第１パスワードが、記憶する第１特定情報によって特定される正当なパスワードであるとき、開始信号出力部８６２に、終了要求検知信号を送出する機能。
【０１３７】
開始信号出力部８６２は、アクセス認証部８１４とＶＭスケジュール部２４２とに接続され、第１種ＯＳ８６０に含まれ、以下の２つの機能を有する。
【０１３８】
第１変形開始信号出力機能：アクセス認証部８１４から開始要求検知信号が送られて来た場合に、外部記憶装置１６０の利用を開始しようとする旨を示す開始信号を、ＶＭスケジュール部２４２に送出する機能。
【０１３９】
第１変形終了信号出力機能：アクセス認証部８１４から終了要求検知信号が送られて来た場合に、外部記憶装置１６０の利用を終了しようとする旨を示す終了信号を、ＶＭスケジュール部２４２に送出する機能。
【０１４０】
以上のように構成される第２変形仮想計算機制御装置の行う動作について、以下図面を参照しながら説明する。
【０１４１】
＜動作＞
第２変形仮想計算機制御装置は、実施の形態１に係る仮想計算機制御装置１００の行うデバイス利用開始処理の代わりに、第２変形デバイス利用開始処理を行い、実施の形態１に係る仮想計算機制御装置１００の行うデバイス利用終了処理の代わりに、第２変形デバイス利用終了処理を行う。ここでは、これら、第２変形デバイス利用開始処理と第２変形デバイス利用終了処理とについて説明する。
【０１４２】
＜第２変形デバイス利用開始処理＞
第２変形デバイス利用開始処理は、実施の形態１に係るデバイス利用開始処理から、その一部の処理が変形された処理である。
【０１４３】
図９は第２変形デバイス利用開始処理のフローチャートである。
【０１４４】
同図に示されるように、第２変形デバイス利用開始処理は、実施の形態１に係るデバイス利用開始処理（図３参照）に対して、ステップＳ３００の処理とステップＳ３８０の処理とが削除され、ステップＳ９００の処理とステップＳ９０５の処理とが追加されたものとなっている。よって、ここでは、ステップＳ９００の処理とステップＳ９０５の処理とを中心に説明する。
【０１４５】
第２変形デバイス利用開始処理は、外部記憶装置１６０が電源オフ状態である場合において、いずれかの第１種仮想計算機Ｄ（ここでは、この第１種仮想計算機Ｄが第１種仮想計算機Ｄ８１０であるとして説明する。）に対して、その第１種仮想計算機Ｄを利用するユーザから、外部記憶装置１６０の利用開始を要求する利用開始要求がなされることで開始される。
【０１４６】
第２変形デバイス利用開始処理が開始されると、入力受付部８６４は、ユーザによってなされた利用開始要求を受け付けて（ステップＳ９００）、受け付けた利用開始要求をアクセス認証部８１４に送付する。
【０１４７】
入力受付部８６４から利用開始要求が送られて来ると、アクセス認証部８１４は、その利用開始要求に含まれる第１パスワードが、記憶する第１特定情報で特定される正当なパスワードであるか否かを調べる（ステップＳ９０５）。
【０１４８】
ステップＳ９０５の処理において、利用開始要求に含まれる第１パスワードが、記憶する第１特定情報で特定される正当なパスワードである場合に（ステップＳ９０５：Ｙｅｓ）、第２変形仮想計算機制御装置は、ステップＳ３１０の処理を行う。
【０１４９】
ステップＳ３７０の処理が終了した場合、及び、ステップＳ９０５の処理において、利用開始要求に含まれる第１パスワードが、記憶する第１特定情報で特定される正当なパスワードでない場合に（ステップＳ９０５：Ｎｏ）、第２変形仮想計算機制御装置は、その第２変形デバイス開始処理を終了する。
【０１５０】
＜第２変形デバイス利用終了処理＞
第２変形デバイス利用終了処理は、実施の形態１に係るデバイス利用終了処理から、その一部の処理が変形された処理である。
【０１５１】
図１０は第２変形デバイス利用終了処理のフローチャートである。
【０１５２】
同図に示されるように、第２変形デバイス利用終了処理は、実施の形態１に係るデバイス利用終了処理（図４参照）に対して、ステップＳ４００の処理とステップＳ４１０の処理とが削除され、ステップＳ１０００の処理とステップＳ１００５の処理とが追加されたものとなっている。よって、ここでは、ステップＳ１０００の処理とステップＳ１００５の処理とを中心に説明する。
【０１５３】
第２変形デバイス利用終了処理は、外部記憶装置１６０が電源オン状態であって、第２種仮想計算機２２０についての実行制御モードが実行モードである場合において、いずれかの第１種仮想計算機Ｄ（ここでは、この第１種仮想計算機Ｄが第１種仮想計算機Ｄ８１０であるとして説明する。）に対して、その第１種仮想計算機Ｄを利用するユーザから、外部記憶装置１６０の利用終了を要求する利用終了要求がなされることで開始される。
【０１５４】
第２変形デバイス利用終了処理が開始されると、入力受付部８６４は、ユーザによってなされた利用終了要求を受け付けて（ステップＳ１０００）、受け付けた利用終了要求をアクセス認証部８１４に送付する。
【０１５５】
入力受付部８６４から利用終了要求が送られて来ると、アクセス認証部８１４は、その利用終了要求に含まれる第２パスワードが、記憶する第２特定情報で特定される正当なパスワードであるか否かを調べる（ステップＳ１００５）。
【０１５６】
ステップＳ９０５の処理において、利用終了要求に含まれる第２パスワードが、記憶する第２特定情報で特定される正当なパスワードである場合に（ステップＳ１００５：Ｙｅｓ）、第２変形仮想計算機制御装置は、ステップＳ４２０の処理を行う。
【０１５７】
ステップＳ１００５の処理において、利用終了要求に含まれる第２パスワードが、記憶する第２特定情報で特定される正当なパスワードでない場合に（ステップＳ１００５：Ｎｏ）、第２変形仮想計算機制御装置は、その第２変形デバイス終了処理を終了する。
＜実施の形態４＞
＜概要＞
以下、本発明に係る仮想計算機制御装置の一実施形態として、実施の形態３に係る第２変形仮想計算機制御装置の一部を変形した第３変形仮想計算機制御装置について説明する。
【０１５８】
実施の形態３に係る第２変形仮想計算機制御装置は、第１種仮想計算機に含まれるアクセス認証部８１４が、その第１種仮想計算機を利用するユーザからの利用開始要求が正当なものであるか否かを判定する構成の例であった。
【０１５９】
これに対して実施の形態４に係る第３変形仮想計算機制御装置は、第２種仮想計算機に含まれるアクセス認証判定部が、第１種仮想計算機を利用するユーザからの利用開始要求が正当なものであるか否かを判定する構成の例である。
【０１６０】
以下、実施の形態４係る第３変形仮想計算機制御装置の構成について、図面を参照しながら、実施の形態３に係る第２種仮想計算機制御装置との相違点を中心に説明する。
【０１６１】
＜構成＞
第３変形仮想計算機制御装置は、ハードウエアとしては、実施の形態３に係る第２変形仮想計算機制御装置から変形されていないが、プロセッサ１２０によって実行されるソフトウエアの一部が、実施の形態３に係る第２変形仮想計算機制御装置から変形されている。
【０１６２】
図１１は、プロセッサ１２０上で実行対象となるモジュール群１１００を模式的に示す模式図である。
【０１６３】
同図に示されるように、モジュール群１１００は、実施の形態３に係るモジュール群８００（図８参照）から、アクセス認証部８１４が削除され、アクセス認証要求部１１１４とアクセス認証判定部１１２４とが追加されるように変形されている。そして、これらの変形にともなって、第１種ＯＳ８６０が第１種ＯＳ１１６０に変形され、第１種仮想計算機Ｄ８１０が第１種仮想計算機Ｅ１１１０に変形され、第２種仮想計算機２２０が第２種仮想計算機１１２０に変形されている。
【０１６４】
アクセス認証要求部１１１４は、入力受付部８６４と開始信号出力部１１６２とＶＭ間通信中継部２４１とに接続され、第１種ＯＳ１１６０によって実行制御され、以下の５つの機能を有する。
【０１６５】
利用開始要求通知機能：入力受付部８６４から利用開始要求が送られて来た場合に、（１）開始信号出力部８６２に、開始要求検知信号を送出して、（２）所定時間Ｔ２の経過を待って、その利用開始要求を、ＶＭ間通信中継部２４１を介して、アクセス認証判定部１１２４に送出する機能。ここで、この所定時間Ｔ２とは、後述の第３変形デバイス利用開始処理（図１２参照）における、ステップＳ１２００の処理が終了してからステップＳ３７０の処理が終了するまでに必要となる時間（外部記憶装置１６０を起動するまでに必要な時間）以上の、予め定められた時間である。
【０１６６】
利用終了要求通知機能：入力受付部８６４から利用終了要求が送られて来た場合に、その利用終了要求を、ＶＭ間通信中継部２４１を介して、アクセス認証判定部１１２４に送出する機能。
【０１６７】
開始否定判定処理機能：ＶＭ間通信中継部２４１を介して、アクセス認証判定部１１２４から、開始否定判定信号（後述）が送られて来た場合に、（１）自部を含むＯＳに、予め定められた、利用開始要求が正当なものでなかった場合に行う第１エラー処理を実行させて、（２）開始信号出力部８６２に、終了要求通知信号を送出する機能。
【０１６８】
肯定判定処理機能：ＶＭ間通信中継部２４１を介して、アクセス認証判定部１１２４から、肯定判定信号（後述）が送られて来た場合に、開始信号出力部８６２に、終了要求検知信号を送出する機能。
【０１６９】
終了否定判定処理機能：ＶＭ間通信中継部２４１を介して、アクセス認証判定部１１２４から、開始否定判定信号（後述）が送られて来た場合に、自部を含むＯＳに、予め定められた、利用終了要求が正当なものでなかった場合に行う第２エラー処理を実行させる機能。
【０１７０】
アクセス認証判定部１１２４は、ＶＭ間通信中継部２４１に接続され、第２種ＯＳ２７０によって実行制御され、以下の４つの機能を有する。
【０１７１】
変形第１特定情報記憶機能：正当な利用開始要求を特定するための第１特定情報を記憶する機能。ここでは、以下、利用開始要求は第１パスワードを含み、この第１特定情報は、第１パスワードが正当なものであるか否かを判定するための情報であるとして説明する。
【０１７２】
第１変形利用開始要求判定機能：ＶＭ間通信中継部２４１を介して、アクセス認証要求部１１１４から利用開始要求が送られて来た場合において、その利用開始要求に含まれる第１パスワードが、記憶する第１特定情報によって特定される正当なパスワードでないとき、利用開始要求に含まれるパスワードが正当なものでない旨を示す開始否定判定信号を、ＶＭ間通信中継部２４１を介して、アクセス認証要求部１１１４に送出する機能。
【０１７３】
変形第２特定情報記憶機能：正当な利用終了要求を特定するための第２特定情報を記憶する機能。ここでは、以下、利用終了要求は第２パスワードを含み、この第２特定情報は、第２パスワードが正当なものであるか否かを判定するための情報であるとして説明する。
【０１７４】
第１変形利用終了要求判定機能：ＶＭ間通信中継部２４１を介して、アクセス認証要求部１１１４から利用終了要求が送られて来た場合において、（１）その利用終了要求に含まれる第２パスワードが、記憶する第２特定情報によって特定される正当なパスワードであるとき、利用終了要求に含まれるパスワードが正当なものである旨を示す肯定判定信号を、ＶＭ間通信中継部２４１を介して、アクセス認証要求部１１１４に送出し、（２）その利用終了要求に含まれる第２パスワードが、記憶する第２特定情報によって特定される正当なパスワードでないとき、利用終了要求に含まれるパスワードが正当なものでない旨を示す終了否定判定信号を、ＶＭ間通信中継部２４１を介して、アクセス認証要求部１１１４に送出する機能。
【０１７５】
以上のように構成される第３変形仮想計算機制御装置の行う動作について、以下図面を参照しながら説明する。
【０１７６】
＜動作＞
第３変形仮想計算機制御装置は、実施の形態３に係る第２変形仮想計算機制御装置の行う第２変形デバイス利用開始処理の代わりに、第３変形デバイス利用開始処理を行い、実施の形態３に係る第２変形仮想計算機制御装置の行う第２変形デバイス利用終了処理の代わりに、第３変形デバイス利用終了処理を行う。ここでは、これら、第３変形デバイス利用開始処理と第３変形デバイス利用終了処理とについて説明する。
【０１７７】
＜第３変形デバイス利用開始処理＞
第３変形デバイス利用開始処理は、実施の形態３に係る第２デバイス利用開始処理から、その一部の処理が変形された処理である。
【０１７８】
図１２と図１３とは第３変形デバイス利用開始処理のフローチャートである。
【０１７９】
図１２、図１３に示されるように、第３変形デバイス利用開始処理は、実施の形態３に係る第２デバイス利用開始処理（図９参照）に対して、ステップＳ９００の処理とステップＳ９０５の処理とが削除され、ステップＳ１２００の処理とステップＳ１２８０の処理とステップＳ１２９０の処理とステップＳ１３００の処理〜ステップＳ１３１０の処理とが追加され、さらに、実施の形態１に係るデバイス終了処理（図４参照）のステップＳ４２０の処理〜ステップＳ４８０の処理が追加されたものとなっている。よって、ここでは、ステップＳ１２００の処理とステップＳ１２８０の処理とステップＳ１２９０の処理とステップＳ１３００の処理〜ステップＳ１３１０の処理とを中心に説明する。
【０１８０】
第３変形デバイス利用開始処理は、外部記憶装置１６０が電源オフ状態である場合において、いずれかの第１種仮想計算機Ｅ（ここでは、この第１種仮想計算機Ｅが第１種仮想計算機Ｅ１１１０であるとして説明する。）に対して、その第１種仮想計算機Ｅを利用するユーザから、外部記憶装置１６０の利用開始を要求する利用開始要求がなされることで開始される。
【０１８１】
第３変形デバイス利用開始処理が開始されると、入力受付部８６４は、ユーザによってなされた利用開始要求を受け付けて（ステップＳ１２００）、受け付けた利用開始要求をアクセス認証要求部１１１４に送出する。すると、アクセス認証要求部１１１４は、開始信号出力部８６２に開始要求検知信号を送出する。そして、第３変形仮想計算機制御装置は、ステップＳ３１０の処理を行う。
【０１８２】
ステップＳ３７０の処理が終了した場合とステップＳ３２０：Ｎｏの場合とにおいて、アクセス認証要求部１１１４が開始信号出力部８６２に開始要求検知信号を送出してから所定時間Ｔ２経過すると、アクセス認証要求部１１１４は、利用開始要求を、ＶＭ間通信中継部２４１を介して、アクセス認証判定部１１２４に送出し（ステップＳ１２８０）、アクセス認証判定部１１２４は、その利用開始要求を受ける（ステップＳ１２９０）。
【０１８３】
利用開始要求を受けると、アクセス認証判定部１１２４は、その利用開始要求に含まれる第１パスワードが、記憶する第１特定情報によって特定される正当なパスワードであるか否かを調べる（ステップＳ１３００）。
【０１８４】
ステップＳ１３００の処理において、その利用開始要求に含まれる第１パスワードが、記憶する第１特定情報によって特定される正当なパスワードでない場合に（ステップＳ１３００：Ｎｏ）、アクセス認証判定部１１２４は、利用開始要求に含まれるパスワードが正当なものでない旨を示す開始否定判定信号を、ＶＭ間通信中継部２４１を介して、アクセス認証要求部１１１４に送出する（ステップＳ１３０４）。
【０１８５】
すると、アクセス認証要求部１１１４は、その開始否定判定信号を受け取り（ステップＳ１３０６）、自部を含むＯＳ（すなわち、第１種ＯＳ１１６０）に、予め定められた、利用開始要求が正当なものでなかった場合に行う第１エラー処理を実行させて（ステップＳ１３１０）、開始信号出力部８６２に、終了要求通知信号を送出する。
【０１８６】
すると、第３変形仮想計算機制御装置は、ステップＳ４２０の処理を行う。
【０１８７】
ステップＳ１３００の処理において、その利用開始要求に含まれる第１パスワードが、記憶する第１特定情報によって特定される正当なパスワードである場合と（ステップＳ１３００：Ｙｅｓ）、ステップＳ４３０：Ｎｏの場合と、ステップＳ４８０の処理が終了した場合とに、第３変形仮想計算機制御装置は、その第３変形デバイス利用開始処理を終了する。
【０１８８】
＜第３変形デバイス利用終了処理＞
第３変形デバイス利用終了処理は、実施の形態３に係る第２デバイス利用終了処理から、その一部の処理が変形された処理である。
【０１８９】
図１４は第３変形デバイス利用終了処理のフローチャートである。
【０１９０】
同図に示されるように、第３変形デバイス利用終了処理は、実施の形態３に係る第２デバイス利用終了処理（図１０参照）に対して、ステップＳ１０００の処理とステップＳ１００５の処理とが削除され、ステップＳ１４００の処理〜ステップＳ１４３０の処理とが追加されたものとなっている。よって、ここでは、ステップＳ１４００の処理〜ステップＳ１４３０の処理を中心に説明する。
【０１９１】
第３変形デバイス利用終了処理は、外部記憶装置１６０が電源オン状態であって、第２種仮想計算機１１２０についての実行制御モードが実行モードである場合において、いずれかの第１種仮想計算機Ｅ（ここでは、この第１種仮想計算機Ｅが第１種仮想計算機Ｅ１１１０であるとして説明する。）に対して、その第１種仮想計算機Ｅを利用するユーザから、外部記憶装置１６０の利用終了を要求する利用終了要求がなされることで開始される。
【０１９２】
第３変形デバイス利用終了処理が開始されると、入力受付部８６４は、ユーザによってなされた利用終了要求を受け付けて（ステップＳ１４００）、受け付けた利用終了要求をアクセス認証判定部１１２４に送出する（ステップＳ１４０２）。
【０１９３】
すると、アクセス認証判定部１１２４は、送出された利用終了要求を受け取り（ステップＳ１４０３）、その利用終了要求に含まれる第２パスワードが、記憶する第２特定情報によって特定される正当なパスワードであるか否かを調べる（ステップＳ１４０５）。
【０１９４】
ステップＳ１４０５の処理において、利用終了要求に含まれる第２パスワードが、記憶する第２特定情報によって特定される正当なパスワードである場合に（ステップＳ１４０５：Ｙｅｓ）、利用終了要求に含まれるパスワードが正当なものである旨を示す肯定判定信号を、ＶＭ間通信中継部２４１を介して、アクセス認証要求部１１１４に送出する（ステップＳ１４０７）。
【０１９５】
すると、アクセス認証要求部１１１４は、肯定判定信号を受け取り（ステップＳ１４０８）、開始信号出力部８６２に、終了要求検知信号を送出する。
【０１９６】
すると、第３変形仮想計算機制御装置は、ステップＳ４２０の処理を行う。
【０１９７】
ステップＳ１４０５の処理において、利用終了要求に含まれる第２パスワードが、記憶する第２特定情報によって特定される正当なパスワードでない場合に（ステップＳ１４０５：Ｎｏ）、利用終了要求に含まれるパスワードが正当なものでない旨を示す終了否定判定信号を、ＶＭ間通信中継部２４１を介して、アクセス認証要求部１１１４に送出する（ステップＳ１４１０）。
【０１９８】
すると、アクセス認証要求部は、その終了否定判定信号を受け取り（ステップＳ１４２０）、自部を含むＯＳ（すなわち、第１種ＯＳ１１６０）に、予め定められた、利用終了要求が正当なものでなかった場合に行う第２エラー処理を実行させる（ステップＳ１４３０）。
【０１９９】
ステップＳ１４３０の処理が終了した場合と、ステップＳ４３０：Ｎｏの場合と、ステップＳ４８０の処理が終了した場合とに、第３変形仮想計算機制御装置は、その第３変形デバイス利用終了処理を終了する。
＜実施の形態５＞
＜概要＞
以下、本発明に係る仮想計算機制御装置の一実施形態として、実施の形態４に係る第３変形仮想計算機制御装置の一部を変形した第４変形仮想計算機制御装置について説明する。
【０２００】
実施の形態４に係る第３変形仮想計算機制御装置は、第１種仮想計算機Ｅ１１１０に含まれる開始信号出力部８６２が終了信号を出力する構成の例であった。
【０２０１】
これに対して実施の形態５に係る第４変形仮想計算機制御装置は、第２種仮想計算機に含まれる終了信号出力部が終了信号を出力する構成の例である。
【０２０２】
以下、実施の形態５係る第４変形仮想計算機制御装置の構成について、図面を参照しながら、実施の形態４に係る第３仮想計算機制御装置との相違点を中心に説明する。
【０２０３】
＜構成＞
第４変形仮想計算機制御装置は、ハードウエアとしては、実施の形態４に係る第３変形仮想計算機制御装置から変形されていないが、プロセッサ１２０によって実行されるソフトウエアの一部が、実施の形態４に係る第３変形仮想計算機制御装置から変形されている。
【０２０４】
図１５は、プロセッサ１２０上で実行対象となるモジュール群１５００を模式的に示す模式図である。
【０２０５】
同図に示されるように、モジュール群１５００は、実施の形態４に係るモジュール群１１００（図１１参照）から、終了信号出力部１５７４が追加され、開始信号出力部８６２が開始信号出力部１５６２に変更され、アクセス認証要求部１１１４がアクセス認証要求部１５１４に変更され、アクセス認証判定部１１２４がアクセス認証判定部１５２４に変更されるように変形されている。そして、これらの変形にともなって、第１種ＯＳ１１６０が第１種ＯＳ１５６０に変形され、第１種仮想計算機Ｅ１１１０が第１種仮想計算機Ｆ１５１０に変形され、第２種ＯＳ２７０が第２種ＯＳ１５７０に変形され、第２種仮想計算機１１２０が第２種仮想計算機１５２０に変形されている。
【０２０６】
開始信号出力部１５６２は、アクセス認証要求部１５１４とＶＭスケジュール部２４２とに接続され、第１種ＯＳ１５６０に含まれ、アクセス認証要求部１５１４から開始要求検知信号が送られて来た場合に、外部記憶装置１６０の利用を開始しようとする旨を示す開始信号を、ＶＭスケジュール部２４２に送出する機能を有する。
【０２０７】
アクセス認証要求部１５１４は、入力受付部８６４と開始信号出力部１５６２とＶＭ間通信中継部２４１とに接続され、第１種ＯＳ１５６０によって実行制御され、実施の形態４に係るアクセス認証要求部１１１４の有する利用開始要求通知機能と利用終了要求通知機能と終了否定判定処理機能とに加えて、以下の機能を有する。
【０２０８】
開始否定判定処理機能：ＶＭ間通信中継部２４１を介して、アクセス認証判定部１１２４から、開始否定判定信号が送られて来た場合に、自部を含むＯＳに、予め定められた、利用開始要求が正当なものでなかった場合に行う第１エラー処理を実行させる機能。
【０２０９】
アクセス認証判定部１５２４は、ＶＭ間通信中継部２４１と終了信号出力部１５７４とに接続され、第２種ＯＳ１５７０によって実行制御され、実施の形態４に係るアクセス認証判定部１１２４の有する変形第１特定情報記憶機能と変形第２特定情報記憶機能とに加えて、以下の２つの機能を有する。
【０２１０】
第２変形利用開始要求判定機能：ＶＭ間通信中継部２４１を介して、アクセス認証要求部１５１４から利用開始要求が送られて来た場合において、その利用開始要求に含まれる第１パスワードが、記憶する第１特定情報によって特定される正当なパスワードでないとき、（１）利用開始要求に含まれるパスワードが正当なものでない旨を示す開始否定判定信号を、ＶＭ間通信中継部２４１を介して、アクセス認証要求部１５１４に送出し、（２）終了信号出力部１５７４に、終了要求通知信号を送出する機能。
【０２１１】
第２変形利用終了要求判定機能：ＶＭ間通信中継部２４１を介して、アクセス認証要求部１５１４から利用終了要求が送られて来た場合において、（１）その利用終了要求に含まれる第２パスワードが、記憶する第２特定情報によって特定される正当なパスワードであるとき、終了信号出力部１５７４に、終了要求通知信号を送出し、（２）その利用終了要求に含まれる第２パスワードが、記憶する第２特定情報によって特定される正当なパスワードでないとき、利用終了要求に含まれるパスワードが正当なものでない旨を示す終了否定判定信号を、ＶＭ間通信中継部２４１を介して、アクセス認証要求部１５１４に送出する機能。
【０２１２】
終了信号出力部１５７４は、アクセス認証判定部１５２４とＶＭ間通信中継部２４１とに接続され、第２種ＯＳ１５７０に含まれ、アクセス認証判定部１５２４から終了要求検知信号が送られて来た場合に、外部記憶装置１６０の利用を終了しようとする旨を示す終了信号を、ＶＭスケジュール部２４２に送出する機能を有する。
【０２１３】
以上のように構成される第４変形仮想計算機制御装置の行う動作について、以下図面を参照しながら説明する。
【０２１４】
＜動作＞
第４変形仮想計算機制御装置は、実施の形態４に係る第３変形仮想計算機制御装置の行う第３変形デバイス利用開始処理の代わりに、第４変形デバイス利用開始処理を行い、実施の形態４に係る第３変形仮想計算機制御装置の行う第３変形デバイス利用終了処理の代わりに、第４変形デバイス利用終了処理を行う。ここでは、これら、第４変形デバイス利用開始処理と第４変形デバイス利用終了処理とについて説明する。
【０２１５】
＜第４変形デバイス利用開始処理＞
第４変形デバイス利用開始処理は、実施の形態４に係る第３デバイス利用開始処理から、その一部の処理が変形された処理である。
【０２１６】
第４変形デバイス利用開始処理は、実施の形態４に係る第３デバイス利用開始処理（図１２と図１３と参照）に対して、ステップＳ１３０４の処理〜ステップＳ１３１０の処理とステップＳ４２０の処理が削除され、ステップＳ１６０４の処理〜ステップＳ１６２０の処理が追加されるように変形している。
【０２１７】
図１２に記載されている処理の部分は変更されていないため、図１２を流用して、図１２と図１６とで第４変形デバイス開始処理のフローチャートを示す。
【０２１８】
ここでは、ステップＳ１６０４の処理〜ステップＳ１６２０の処理を中心に説明する。
【０２１９】
ステップＳ１３００：Ｎｏの場合に、アクセス認証判定部１５２４は、利用開始要求に含まれるパスワードが正当なものでない旨を示す開始否定判定信号を、ＶＭ間通信中継部２４１を介して、アクセス認証要求部１１１４に送出し（ステップＳ１６０４）、終了信号出力部１５７４に、終了要求通知信号を送出する。
【０２２０】
すると、アクセス認証要求部１５１４は、その開始否定判定信号を受け取り（ステップＳ１６０６）、自部を含むＯＳ（すなわち、第１種ＯＳ１５６０）に、予め定められた、利用開始要求が正当なものでなかった場合に行う第１エラー処理を実行させる（ステップＳ１６１０）。
【０２２１】
一方、アクセス認証要求部１５１４は、アクセス認証判定部１５２４から終了要求通知信号が送出されると、外部記憶装置１６０の利用を終了しようとする旨を示す終了信号を、ＶＭスケジュール部２４２に送出する（ステップＳ１６２０）。
【０２２２】
ステップＳ１６２０の処理が終了すると、第４変形仮想計算機制御装置は、ステップＳ４３０の処理を行う。
【０２２３】
＜第４変形デバイス利終了処理＞
第４変形デバイス利用終了処理は、実施の形態４に係る第３デバイス利用終了処理から、その一部の処理が変形された処理である。
【０２２４】
図１７は第４変形デバイス利用終了処理のフローチャートである。
【０２２５】
同図に示されるように、第４変形デバイス利用終了処理は、実施の形態４に係る第３デバイス利用終了処理（図１４参照）に対して、ステップＳ１４０７の処理とステップＳ１４０８の処理とステップＳ４２０の処理とが削除され、ステップＳ１７２０の処理が追加されたものとなっている。よって、ここでは、ステップＳ１７２０の処理を中心に説明する。
【０２２６】
ステップＳ１４０５：Ｙｅｓの場合に、アクセス認証判定部１５２４は、終了信号出力部１５７４に、終了要求通知信号を送出する。すると終了信号出力部１５７４は、外部記憶装置１６０の利用を終了しようとする旨を示す終了信号を、ＶＭスケジュール部２４２に送出する（ステップＳ１７２０）。
【０２２７】
ステップＳ１７２０の処理が終了すると、第４変形仮想計算機制御装置は、ステップＳ４３０の処理を行う。
＜実施の形態６＞
＜概要＞
以下、本発明に係る仮想計算機制御装置の一実施形態として、実施の形態４に係る第３変形仮想計算機制御装置の一部を変形した第５変形仮想計算機制御装置について説明する。
【０２２８】
実施の形態４に係る第３変形仮想計算機制御装置は、第１種仮想計算機Ｅ１１１０が、第２種仮想計算機１１２０の有する外部記憶装置デバイスドライバ２７３に制御される外部記憶装置１６０を利用する構成の例であった。
【０２２９】
これに対して実施の形態６に係る第５変形仮想計算機制御装置は、第２種仮想計算機が外部記憶装置デバイスドライバ２７３を有さず、第１種仮想計算機の有する仮想デバイスドライバが、ＶＭ間通信中継部と通信部とを介して、第２種仮想計算機に含まれるデータ記憶部を利用する構成の例である。
【０２３０】
以下、実施の形態６係る第５変形仮想計算機制御装置の構成について、図面を参照しながら、実施の形態４に係る第３仮想計算機制御装置との相違点を中心に説明する。
【０２３１】
＜構成＞
第５変形仮想計算機制御装置は、ハードウエアとしては、実施の形態４に係る第３変形仮想計算機制御装置から変形されていないが、プロセッサ１２０によって実行されるソフトウエアの一部が、実施の形態４に係る第３変形仮想計算機制御装置から変形されている。
【０２３２】
図１８は、プロセッサ１２０上で実行対象となるモジュール群１８００を模式的に示す模式図である。
【０２３３】
同図に示されるように、モジュール群１８００は、実施の形態４に係るモジュール群１１００（図１１参照）から、セキュアデータ記憶部１８２５が追加され、開始通知部２４４と省電力制御部２７２と外部記憶装置デバイスドライバ２７３とが削除され、仮想デバイスドライバ２６３が仮想デバイスドライバ１８６３に変更され、通信部２７１が通信部１８７１に変更されるように変形されている。そして、これらの変形にともなって、第１種ＯＳ１１６０が第１種ＯＳ１８６０に変形され、第１種仮想計算機Ｅ１１１０が第１種仮想計算機Ｇ１８１０に変形され、第２種ＯＳ２７０が第２種ＯＳ１８７０に変形され、第２種仮想計算機１１２０が第２種仮想計算機１８２０に変形され、ハイパーバイザ２４０がハイパーバイザ１８４０に変形されている。
【０２３４】
セキュアデータ記憶部１８２５は、通信部１８７１に接続され、第２種ＯＳ１８７０によって実行制御され、予め定められた秘匿すべきデータを記憶する機能を有する。
【０２３５】
このセキュアデータ記憶部１８２５は、メモリ１３０の記憶領域の一部として実現され、仮想デバイスとして動作する。
【０２３６】
仮想デバイスドライバ１８６３は、ＶＭ間通信中継部２４１に接続され、第１種ＯＳ１８６０に含まれ、以下の２つの機能を有する。
【０２３７】
デバイス制御信号生成機能：第１種仮想計算機Ｇ１８１０で実行されるタスクにおいて、セキュアデータ記憶部１８２５を利用するコマンドが実行された場合に、そのコマンドに対応する、セキュアデータ記憶部１８２５を制御するデバイス制御信号を、ＶＭ間通信中継部２４１を介して通信部１８７１に送出する機能。
【０２３８】
デバイス応答信号通知機能：送出したデバイス制御信号に応答するデバイス応答信号が、通信部１８７１から送られて来た場合に、そのデバイス応答信号を、そのデバイス応答信号の応答対象となるタスクに送出する機能。
【０２３９】
通信部１８７１は、セキュアデータ記憶部１８２５とＶＭ間通信中継部２４１とに接続され、第２種ＯＳ１８７０によって実行制御され、以下の２つの機能を有する。
【０２４０】
変形第１通信機能：ＶＭ間通信中継部２４１を介して仮想デバイスドライバ１８６３からデバイス制御信号が送られて来た場合に、そのデバイス制御信号を受け取って、セキュアデータ記憶部１８２５に送出する機能。
【０２４１】
変形第２通信機能：デバイス制御信号に応答して、セキュアデータ記憶部１８２５からデバイス応答信号が送られて来た場合に、そのデバイス応答信号を受け取って、ＶＭ間通信中継部２４１を介して、その応答信号の応答先となる第１種仮想計算機に含まれる仮想デバイスドライバ１８６３に送出する機能。
【０２４２】
以上のように構成される第５変形仮想計算機制御装置の行う動作について、以下図面を参照しながら説明する。
【０２４３】
＜動作＞
第５変形仮想計算機制御装置は、実施の形態４に係る第３変形仮想計算機制御装置の行う第３変形デバイス利用開始処理の代わりに、第５変形デバイス利用開始処理を行い、実施の形態４に係る第３変形仮想計算機制御装置の行う第３変形デバイス利用終了処理の代わりに、第５変形デバイス利用終了処理を行う。
【０２４４】
ここでは、第５変形デバイス利用開始処理と第５変形デバイス利用終了処理とについて説明する。
【０２４５】
＜第５変形デバイス利用開始処理＞
第５変形デバイス利用開始処理は、実施の形態４に係る第３変形デバイス利用開始処理から、その一部の処理が変形された処理である。
【０２４６】
図１９と図２０とは第５変形デバイス利用開始処理のフローチャートである。
【０２４７】
図１９と図２０とに示されるように、第５変形デバイス利用開始処理は、実施の形態４に係る第３変形デバイス利用開始処理（図１２と図１３と参照）から、ステップＳ３５０の処理〜ステップＳ３７０の処理と、ステップＳ４４０の処理〜ステップＳ４６０の処理とが削除されたものとなっている。
【０２４８】
＜第５変形デバイス利用終了処理＞
第５変形デバイス利用開始処理は、実施の形態４に係る第３変形デバイス利用終了処理から、その一部の処理が変形された処理である。
【０２４９】
図２１は第５変形デバイス利用終了処理のフローチャートである。
【０２５０】
同図に示されるように、第５変形デバイス利用終了処理は、実施の形態４に係る第３変形デバイス利用終了処理（図１４参照）から、ステップＳ４４０の処理〜ステップＳ４６０の処理が削除されたものとなっている。
【０２５１】
＜考察＞
上記構成の第５変形仮想計算機制御装置は、仮想デバイスドライバ１８６３が、ＶＭ間通信中継部２４１と通信部１８７１とを介して、セキュアデータ記憶部１８２５を制御する。このことによって、第１種仮想計算機Ｇ１８１０に含まれるタスクは、第２種仮想計算機１８２０についての実行制御モードが実行モードである場合において、仮想デバイスドライバ１８６３を用いて、セキュアデータ記憶部１８２５に記憶されているデータを利用することができる。
【０２５２】
また、第５変形仮想計算機制御装置は、第１種仮想計算機Ｇ１８１０がセキュアデータ記憶部１８２５の利用を開始する時点から、セキュアデータ記憶部１８２５の利用を終了する時点までの期間、第２種仮想計算機１８２０についての実行制御モードを実行モードとし、それ以外の期間、第２種仮想計算機１８２０についての実行制御モードを停止モードとする。
＜補足＞
以上、本発明に係る仮想計算機制御装置の一実施形態として、実施の形態１〜実施の形態６において、６つの仮想計算機制御装置の例について説明したが、以下のように変形することも可能であり、本発明は上述した実施の形態で示した通りの仮想計算機制御装置に限られないことはもちろんである。
【０２５３】
（１）実施の形態１において、外部記憶装置１６０は、電源オフ状態と電源オン状態とのうちのいずれかの状態に設定され得る構成の例であった。しかしながら、一方の状態（以下、「第１の状態」と呼ぶ。）が他方の状態（以下、「第２の状態」と呼ぶ。）よりも、単位時間当たりの消費電力量が少なくて処理能力が低い状態であって、かつ、外部記憶装置１６０が第１の状態である場合に、第１種仮想計算機によって利用不可能となり、外部記憶装置１６０が第２の状態である場合に、第１種仮想計算機によって利用可能となる構成であれば、外部記憶装置１６０は、必ずしも、電源オフ状態と電源オン状態とのうちのいずれかの状態に設定され得るものである必要はない。一例として、外部記憶装置１６０は、第１種仮想計算機によって利用不可能となる低消費電力状態と、第１種仮想計算機によって利用可能となる、低消費電力状態よりも、単位時間当たりの消費電力量が多くて処理能力が高い通常状態とのいずれかの状態に設定され得る構成の例等が考えられる。
【０２５４】
（２）実施の形態１において、仮想計算機制御装置１００は、利用する外部のデバイスが、外部記憶装置１６０である構成の例であった。しかしながら、仮想計算機制御装置１００の利用する外部のデバイスは、第１種仮想計算機によって利用され、第２種仮想計算機によって制御されるデバイスであれば、必ずしも、外部記憶装置１６０である必要はない。一例として、仮想計算機制御装置１００の利用する外部のデバイスが、第１種仮想計算機によって利用され、第２種仮想計算機によって制御されるカメラモジュールである構成の例等が考えられる。
【０２５５】
（３）実施の形態１において、仮想計算機制御装置１００は、第１種仮想計算機が外部記憶装置１６０の利用を開始しようとする場合に、第１種仮想計算機が外部記憶装置１６０の利用を開始しようとする旨の情報を、ハイパーバイザ２４０を介して、第２種仮想計算機に伝達する構成の例であった。しかしながら、第１種仮想計算機が外部記憶装置１６０の利用を開始しようとする場合に、第１種仮想計算機が外部記憶装置１６０の利用を開始しようとする旨の情報を、第２種仮想計算機に伝達することができれば、必ずしもハイパーバイザ２４０を介して伝達する必要はない。一例として、ハイパーバイザ２４０以外のモジュールを介して伝達する構成の例等が考えられる。
【０２５６】
（４）実施の形態１において、仮想計算機制御装置１００は、いずれかの第１種仮想計算機が外部記憶装置１６０の利用を開始する時点から、全ての第１種仮想計算機が外部記憶装置１６０の利用を終了する時点までの期間、第２種仮想計算機２２０についての実行制御モードを実行モードとし、その期間以外の期間、第２種仮想計算機２２０についての実行制御モードを停止モードとする構成の例であった。しかしながら、少なくとも、いずれかの第１種仮想計算機が外部記憶装置１６０の利用を開始する時点から、全ての第１種仮想計算機が外部記憶装置１６０の利用を終了する時点までの期間、第２種仮想計算機２２０についての実行制御モードを実行モードとする構成であれば、必ずしも、いずれかの第１種仮想計算機が外部記憶装置１６０の利用を開始する時点から、全ての第１種仮想計算機が外部記憶装置１６０の利用を終了する時点までの期間、第２種仮想計算機２２０についての実行制御モードを実行モードとし、その期間以外の期間、第２種仮想計算機２２０についての実行制御モードを停止モードとする必要はない。一例として、常に第２種仮想計算機２２０についての実行制御モードを実行モードとする構成の例等が考えられる。
【０２５７】
（５）実施の形態３において、第２変形仮想計算機制御装置は、第１種仮想計算機を利用するユーザから、外部記憶装置１６０の利用終了を要求する旨の正当な操作がなされた場合に、第１種仮想計算機において外部記憶装置１６０の利用を終了しようとすることを検知する構成の例であった。しかしながら、所定の事象を契機として、第１種仮想計算機において外部記憶装置１６０の利用を終了しようとすることを検知することができれば、必ずしも、第１種仮想計算機を利用するユーザから、外部記憶装置１６０の利用終了を要求する旨の正当な操作がなされた場合に、第１種仮想計算機において外部記憶装置１６０の利用を終了しようとすることを検知する必要はない。一例として、第１種仮想計算機を利用するユーザから、外部記憶装置１６０の利用開始を要求する旨の正当な操作がなされてから、所定時間経過したことを契機として、第１種仮想計算機において外部記憶装置１６０の利用を終了しようとすることを検知する構成の例が考えられる。また、別の一例として、第１種仮想計算機で実行されるタスクにおいて、外部記憶装置１６０の利用終了時に実行されるｃｌｏｓｅコマンドが実行対象となったことを契機として、第１種仮想計算機において外部記憶装置１６０の利用を終了しようとすることを検知する構成の例等が考えられる。
【０２５８】
（６）実施の形態４において、第３変形仮想計算機制御装置は、外部記憶装置１６０が電源オフ状態の場合において、第１種仮想計算機を利用するユーザからの利用開始要求が受け付けられたときに、先に外部記憶装置１６０を起動してから、その利用開始要求が正当なものであるか否かを判定して、その判定が否定的なものである場合に、外部記憶装置１６０を再び電源オフの状態にする構成の例であった。しかしながら、外部記憶装置１６０が電源オフ状態の場合において、第１種仮想計算機を利用するユーザからの利用開始要求が受け付けられたときに、その利用開始要求が否定的なものである場合に外部記憶装置１６０を電源オフの状態にする構成であれば、必ずしも、外部記憶装置１６０が電源オフ状態の場合において、第１種仮想計算機を利用するユーザからの利用開始要求が受け付けられたときに、先に外部記憶装置１６０を起動してから、その利用開始要求が正当なものであるか否かを判定して、その判定が否定的なものである場合に、外部記憶装置１６０を再び電源オフの状態にする必要はない。一例として、外部記憶装置１６０が電源オフ状態の場合において、第１種仮想計算機を利用するユーザからの利用開始要求が受け付けられたときに、先にその利用開始要求が正当なものであるか否かを判定して、その判定が肯定的なものである場合に限って、外部記憶装置１６０を起動する構成の例等が考えられる。
【０２５９】
（７）実施の形態４において、第３変形仮想計算機制御装置は、開始信号出力部８６２が第１種ＯＳ１１６０に含まれる構成の例であった。しかしながら、開始信号出力部８６２が第１種ＯＳ１１６０に含まれる場合と同様の機能を実現することができれば、必ずしも、開始信号出力部８６２が第１種ＯＳ１１６０に含まれる構成に限られない。一例として、開始信号出力部８６２と同等の機能を持つモジュールがハイパーバイザに含まれる構成の例等が考えられる。図２２に、開始信号出力部８６２と同等の機能を持つ開始信号出力部２２４５が、ハイパーバイザ２２４０に含まれる構成において、プロセッサ１２０上で実行対象となるモジュール群２２００を模式的に示す模式図を示す。
【０２６０】
また、同様に、ＯＳに含まれる、入力受付部８６４、省電力制御部２７２等のモジュールがハイパーバイザに含まれる構成の例等も考えられる。
【０２６１】
（８）実施の形態３において、利用終了要求が第２パスワードを含み、第２変形デバイス終了処理のステップＳ１００５の処理において、利用終了要求に含まれる第２パスワードが、記憶する第２特定情報で特定される正当なパスワードであるか否かを調べる構成の例について説明した。
【０２６２】
しかしながら、利用終了要求がパスワードを含まずに、第２変形デバイス終了処理のステップＳ１００５の処理が、常にＹｅｓであるとして処理を行う構成であっても構わない。
【０２６３】
また、実施の形態４において、利用終了要求が第２パスワードを含み、第３変形デバイス終了処理のステップＳ１４０５の処理において、利用終了要求に含まれる第２パスワードが、記憶する第２特定情報で特定される正当なパスワードであるか否かを調べる構成の例について説明した。
【０２６４】
しかしながら、利用終了要求がパスワードを含まずに、第３変形デバイス終了処理のステップＳ１４０５の処理が、常にＹｅｓであるとして処理を行う構成であっても構わない。
【０２６５】
また、実施の形態５において、利用終了要求が第２パスワードを含み、第４変形デバイス終了処理のステップＳ１４０５の処理において、利用終了要求に含まれる第２パスワードが、記憶する第２特定情報で特定される正当なパスワードであるか否かを調べる構成の例について説明した。
【０２６６】
しかしながら、利用終了要求がパスワードを含まずに、第４変形デバイス終了処理のステップＳ１４０５の処理が、常にＹｅｓであるとして処理を行う構成であっても構わない。
【０２６７】
また、実施の形態６において、利用終了要求が第２パスワードを含み、第５変形デバイス終了処理のステップＳ１４０５の処理において、利用終了要求に含まれる第２パスワードが、記憶する第２特定情報で特定される正当なパスワードであるか否かを調べる構成の例について説明した。
【０２６８】
しかしながら、利用終了要求がパスワードを含まずに、第５変形デバイス終了処理のステップＳ１４０５の処理が、常にＹｅｓであるとして処理を行う構成であっても構わない。
【０２６９】
（９）実施の形態１において、プロセッサ１２０とメモリ１３０とバス１４０と第１Ｉ／Ｆ１４１と第２Ｉ／Ｆ１４２と第３Ｉ／Ｆ１４３とが、集積回路１１０に集積されている構成の例について説明した（図１参照）。しかしながら、集積回路１１０と同様の機能を実現することができれば、これらは、必ずしも１つの集積回路に集積される必要はなく、複数の集積回路に集積されていても構わない。一般に、集積回路は、その集積度の違いにより、ＩＣ（Integrated Circuit）、システムＬＳＩ（Large Scale Integration）、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧA（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてあり得る。
【０２７０】
（１０）以下、さらに本発明の一実施形態に係る仮想計算機制御装置の構成及びその変形例と各効果について説明する。
【０２７１】
（ａ）本発明の一実施形態に係る仮想計算機制御装置は、通常状態と、当該通常状態よりも、単位時間当たりの消費電力量が少なくて処理能力が低い低消費電力状態とのいずれかの状態に設定され得るデバイスを利用するプロセッサと、当該プロセッサの実行すべきプログラムを記憶するメモリとを備え、当該プロセッサが当該メモリに記憶されるプログラムを実行することで、１つ以上の第１種仮想計算機と、１つの第２種仮想計算機と、当該第１種仮想計算機と当該第２種仮想計算機とを実行制御するハイパーバイザとを実現する仮想計算機制御装置であって、前記第１種仮想計算機は、自機において前記デバイスの利用を開始しようとすることを検知する開始検知部と、前記開始検知部が前記検知を行った場合に、開始信号を出力する開始信号出力部とを有し、前記第２種仮想計算機は、前記デバイスが前記低消費電力状態である場合において、前記開始信号出力部から前記開始信号が出力されるときに、前記デバイスの状態を前記通常状態に設定するデバイス制御部を有することを特徴とする。
【０２７２】
上述の構成を備える本変形例に係る仮想計算機制御装置によると、デバイス制御部を有する第２種仮想計算機は、デバイスの状態が低消費電力状態である場合において、第１種仮想計算機がデバイスの利用を開始しようとすると、デバイスの状態を低消費電力状態から通常状態に変更する。このことにより、通常状態であるデバイスを利用する第１種仮想計算機がそのデバイスの利用を開始するまでの期間、そのデバイスを低消費電力状態とすることができるようになる。
【０２７３】
従って、この仮想計算機制御装置によると、複数の仮想計算機を実現する仮想計算機制御装置と、その仮想計算機制御装置が利用するデバイスとを含むシステムにおける消費電力量を低減することができるようになる。
【０２７４】
図２３は、上記変形例における仮想計算機制御装置２３００の構成を示すブロック図である。
【０２７５】
同図に示されるように、仮想計算機制御装置２３００は、ハードウエアとして、プロセッサ２３１０とメモリ２３２０とを備え、プロセッサ２３１０がメモリ２３２０に記憶されるプログラムを実行することで、第１種仮想計算機２３３０と、第２種仮想計算機２３４０と、第１種仮想計算機２３３０と第２種仮想計算機２３４０とを実行制御するハイパーバイザ２３５０とを実現する。そして、第１種仮想計算機２３３０は、開始検知部２３３１と開始信号出力部２３３２とを有し、第２種仮想計算機２３４０は、デバイス制御部２３４１を有する。
【０２７６】
また、仮想計算機制御装置２３００は、デバイス２３６０に接続する。
【０２７７】
プロセッサ２３１０は、デバイス２３６０を利用し、メモリ２３２０に記憶されるプログラムを実行することで、１つ以上の第１種仮想計算機２３３０と、１つの第２種仮想計算機２３４０と、ハイパーバイザ２３５０とを実現する。一例として、実施の形態１に係るプロセッサ１２０として実現される。
【０２７８】
メモリ２３２０は、プロセッサ２３１０の実行すべきプログラムを記憶する。一例として、実施の形態１に係るメモリ１３０として実現される。
【０２７９】
デバイス２３６０は、通常状態と、通常状態よりも、単位時間当たりの消費電力量が少なくて処理能力が低い低消費電力状態とのいずれかの状態に設定され得る。一例として、実施の形態１に係る外部記憶装置１６０として実現される。
【０２８０】
第１種仮想計算機２３３０は、プロセッサ２３１０が、メモリ２３２０に記憶されるプログラムを実行することで実現される。一例として、実施の形態１における第１種仮想計算機Ａ２１０として実現される。
【０２８１】
第２種仮想計算機２３４０は、プロセッサ２３１０が、メモリ２３２０に記憶されるプログラムを実行することで実現される。一例として、実施の形態１における第２種仮想計算機２２０として実現される。
【０２８２】
ハイパーバイザ２３５０は、プロセッサ２３１０が、メモリ２３２０に記憶されるプログラムを実行することで実現される。一例として、実施の形態１におけるハイパーバイザ２４０として実現される。
【０２８３】
開始検知部２３３１は、第１種仮想計算機２３３０において、デバイス２３６０の利用を開始しようとすることを検知する。一例として、実施の形態１における開始検知部２６１として実現される。
【０２８４】
開始信号出力部２３３２は、開始検知部２３３１が、第１種仮想計算機２３３０において、デバイス２３６０の利用を開始しようとすることを検知した場合に、開始信号を出力する。一例として、実施の形態１における開始信号出力部２６２として実現される。
【０２８５】
デバイス制御部２３４１は、デバイス２３６０が低消費電力状態である場合において、開始信号出力部２３３２から開始信号が出力されるときに、デバイス２３６０の状態を通常状態に設定する。一例として、実施の形態１における、省電力制御部２７２と外部記憶装置デバイスドライバ２７３とによって実現される。
【０２８６】
（ｂ）また、前記第１種仮想計算機は、さらに、自機において前記デバイスの利用を終了しようとすることを検知する終了検知部と前記終了検知部が前記検知を行った場合に、終了信号を出力する終了信号出力部とを有し、前記デバイス制御部は、前記デバイスが前記通常状態である場合において、少なくとも１度前記開始信号を出力した前記開始信号出力部を有する第１種仮想計算機の全てにおいて、前記開始信号出力部から前記開始信号が最後に出力された後に前記終了信号出力部から前記終了信号が出力されたときに、前記デバイスの状態を前記低消費電力状態に設定するとしてもよい。
【０２８７】
このような構成にすることで、過去においてデバイスの利用を開始した全ての第１種仮想計算機においてデバイスを利用しなくなる場合に、デバイスの状態を通常状態から低消費状態に変更することができるようになる。
【０２８８】
（ｃ）また、前記ハイパーバイザは、さらに、前記第２種仮想計算機についての実行制御モードを、前記第２種仮想計算機を実行対象とする実行モードと、前記第２種仮想計算機を実行対象から除外する停止モードとのいずれかに設定する実行制御モード設定部と、前記実行制御モード設定部によって設定された実行制御モードに従って、前記第２種仮想計算機の実行制御を行う実行制御部とを有し、前記実行制御モード設定部は、前記第２種仮想計算機についての実行制御モードを前記停止モードに設定している場合において、前記開始信号出力部から前記開始信号が出力されるときに、前記第２種仮想計算機についての実行制御モードを前記実行モードに設定し、前記ハイパーバイザは、さらに、前記実行制御モード設定部が、前記第２種仮想計算機についての実行制御モードを前記停止モードに設定していた場合において、前記開始信号出力部から前記開始信号が出力されたことで、前記第２種仮想計算機についての実行制御モードを前記実行モードに設定したときに、前記第２種仮想計算機に開始通知信号を出力する通知部を有し、前記デバイス制御部は、前記実行制御モード設定部が、前記第２種仮想計算機についての実行制御モードの設定を前記停止モードにしていた期間において、前記開始信号出力部から前記開始信号が出力されたことを、前記通知部から出力された前記開始通知信号を受けることで検知し、前記通知部は、前記実行制御モード設定部が、前記第２種仮想計算機についての実行制御モードを前記実行モードに設定している場合において、少なくとも１度前記開始信号を出力した前記開始信号出力部を有する第１種仮想計算機の全てにおいて、前記開始信号出力部から前記開始信号が最後に出力された後に前記終了信号出力部から前記終了信号が出力されるときに、前記第２種仮想計算機に終了通知信号を出力し、前記デバイス制御部は、前記デバイスが前記通常状態である場合において、少なくとも１度前記開始信号を出力した前記開始信号出力部を有する第１種仮想計算機の全てにおいて、前記開始信号出力部から前記開始信号が最後に出力された後に前記終了信号出力部から前記終了信号が出力されたことを、前記通知部から出力された終了通知信号を受けることで検知し、前記実行制御モード設定部は、前記通知部から前記終了通知信号が出力された場合に、前記第２種仮想計算機についての実行制御モードを前記停止モードに設定するとしてもよい。
【０２８９】
このような構成にすることで、第２種仮想計算機が実行対象から除外されている場合において、第１種仮想計算機がデバイスの利用を開始しようとするときに、第２仮想計算機を実行対象に変更し、第２種仮想計算機が実行対象とされている場合において、過去においてデバイスの利用を開始した全ての第１種仮想計算機においてデバイスを利用しなくなるときに、第２仮想計算機を実行対象から除外されるように変更することができるようになる。
【０２９０】
（ｄ）また、前記デバイス制御部は、前記デバイスを制御するデバイスドライバを含み、前記第１種仮想計算機は、さらに、自機で実行されるプログラムで指定される、前記デバイスを利用する処理を示すコマンドの実行にあたり、前記デバイスドライバに前記デバイスを制御させるための信号を生成して前記第２種仮想計算機へ出力する仮想デバイスドライバを有し、前記第２種仮想計算機は、さらに、前記仮想デバイスドライバから出力される信号を受信して前記デバイスドライバへ伝達する伝達部を有するとしてもよい。
【０２９１】
このような構成にすることで、第１種仮想計算機で実行されるプログラムは、仮想デバイスドライバを介して、デバイスを利用することができるようになる。
できるようになる。
【０２９２】
（ｅ）また、前記第１種仮想計算機の有する前記開始検知部は、当該第１種仮想計算機で実行されるプログラムで指定される、前記デバイスの利用を開始する処理を示す利用開始コマンドが実行されることで、前記検知を行うとしてもよい。
【０２９３】
このような構成にすることで、第１種仮想計算機で実行されるプログラムは、利用開始コマンドが実行されることで、デバイスを利用することができるようになる。
【０２９４】
（ｆ）また、前記第１種仮想計算機は、前記デバイスを利用する権限のあるプログラムを特定するための特定情報を記憶する特定情報記憶部を有し、前記第１種仮想計算機の有する前記開始信号出力部は、当該第１種仮想計算機が有する前記開始検知部によって実行されることが検知された前記利用開始コマンドを指定するプログラムが、前記特定情報記憶部に記憶される前記特定情報によって特定されるプログラムである場合に限って、前記開始信号の出力を行うとしてもよい。
【０２９５】
このような構成にすることで、第１種仮想計算機で実行されるプログラムの中で、デバイスの利用を開始することができるプログラムを、特定情報によって特定されるプログラムに限定することができるようになる。
【０２９６】
（ｇ）また、前記第１種仮想計算機は、さらに、自機を使用するユーザからの、前記デバイスの利用を要求する利用要求を受け付ける利用要求受付部と、正当な利用要求を特定するための特定情報を記憶する特定情報記憶部と、前記利用要求受付部によって受け付けられた利用要求が、前記特定情報記憶部に記憶される前記特定情報によって特定される正当な利用要求であるか否かを判定する判定部とを有し、前記開始検知部は、前記判定部の行う判定が肯定的であることにより、前記検知を行うとしてもよい。
【０２９７】
このような構成にすることで、第１種仮想計算機で実行されるプログラムは、利用要求受付部が、第１種仮想計算機を利用するユーザからの利用要求を受け付けることで、デバイスを利用することができるようになる。
【０２９８】
（ｈ）また、前記第１種仮想計算機は、さらに、自機を使用するユーザからの、前記デバイスの利用を要求する利用要求を受け付ける利用要求受付部と、前記利用要求受付部によって、前記ユーザからの利用要求が受け付けられた場合に、当該受け付けられた利用要求を出力する利用要求出力部とを有し、前記開始検知部は、前記利用要求受付部によって前記利用要求が受け付けられることにより、前記検知を行い、前記第２種仮想計算機は、さらに、利用要求が正当なものであるための条件を示す特定情報を記憶するための特定情報記憶部と、前記利用要求出力部から利用要求が出力された場合に、当該利用要求が、前記特定情報記憶部に記憶される前記特定情報によって示される前記条件を見たすか否かを判定する判定部とを有し、前記デバイス制御部は、前記デバイスが前記通常状態である場合において、前記判定部の行う前記判定が否定的であるとき、前記デバイスの状態を前記通常状態から前記低消費電力状態に変更し、前記第２種仮想計算機は、さらに、前記判定部の行う前記判定が否定的である場合に、否定判定信号を出力する判定信号出力部を有し、前記実行制御モード設定部は、前記第２種仮想計算機についての実行制御モードを前記実行モードに設定している場合において、前記判定信号出力部から前記否定判定信号が出力されたときに、前記第２種仮想計算機についての実行制御モードを前記停止モードに設定するとしてもよい。
【０２９９】
このような構成にすることで、判定部を第２種仮想計算機に含めることができるようになる。
【０３００】
（ｉ）また、前記第１種仮想計算機は、さらに、自機で実行されるプログラムで指定される、前記デバイスを利用する処理を示すコマンドの実行にあたり、前記デバイスを制御する信号を生成して前記第２種仮想計算機へ出力する仮想デバイスドライバを有し、前記第２種仮想計算機は、さらに、前記仮想デバイスドライバから出力される信号を受信して前記デバイスへ伝達する伝達部を有するとしてもよい。
【０３０１】
このような構成にすることで、第１種仮想計算機で実行されるプログラムは、仮想デバイスドライバを介して、デバイスを利用することができるようになる。
【０３０２】
（ｊ）また、前記第１種仮想計算機の有する前記開始検知部は、当該第１種仮想計算機で実行されるプログラムで指定される、前記デバイスの利用を開始する処理を示すコマンドが実行されることで、前記検知を行うとしてもよい。
【０３０３】
このような構成にすることで、第１種仮想計算機で実行されるプログラムは、利用開始コマンドが実行されることで、デバイスを利用することができるようになる。
【産業上の利用可能性】
【０３０４】
本発明は、仮想計算機を利用する機器に広く利用することができる。
【符号の説明】
【０３０５】
１００  仮想計算機制御装置
１１０  集積回路
１２０  プロセッサ
１３０  メモリ
１５１  入力装置
１５２  出力装置
１６０  外部記憶装置
２００  モジュール群
２１０  第１種仮想計算機Ａ
２２０  第２種仮想計算機
２３０  第１種仮想計算機Ｂ
２４０  ハイパーバイザ
２４１  ＶＭ間通信中継部
２４２  ＶＭスケジュール部
２４３  ＶＭ実行制御部
２４４  開始通知部
２６０  第１種ＯＳ
２６１  開始検知部
２６２  開始信号出力部
２６３  仮想デバイスドライバ
２６４  入力受付部
２７０  第２種ＯＳ
２７１  通信部
２７２  省電力制御部
２７３  外部記憶装置デバイスドライバ
２８０  第１種ＯＳ
【図１】
2013125160.tif 000003
【図２】
2013125160.tif 000004
【図３】
2013125160.tif 000005
【図４】
2013125160.tif 000006
【図５】
2013125160.tif 000007
【図６】
2013125160.tif 000008
【図７】
2013125160.tif 000009
【図８】
2013125160.tif 000010
【図９】
2013125160.tif 000011
【図１０】
2013125160.tif 000012
【図１１】
2013125160.tif 000013
【図１２】
2013125160.tif 000014
【図１３】
2013125160.tif 000015
【図１４】
2013125160.tif 000016
【図１５】
2013125160.tif 000017
【図１６】
2013125160.tif 000018
【図１７】
2013125160.tif 000019
【図１８】
2013125160.tif 000020
【図１９】
2013125160.tif 000021
【図２０】
2013125160.tif 000022
【図２１】
2013125160.tif 000023
【図２２】
2013125160.tif 000024
【図２３】
2013125160.tif 000025
【国際調査報告】
2013125160.tif 000026
2013125160.tif 000027