"メモリと、ハイパーバイザ上で動作する仮想マシンの動作環境を制御する制御手段とを具備し、前記制御手段は、前記仮想マシン内のオペレーティングシステムに対するログアウト要求に応答して、前記仮想マシンを稼働状態からスリープ状態に移行させる変更手段と、前記オペレーティングシステムによって使用されていた前記メモリの内容を示す第1のイメージデータを、前記オペレーティングシステムにログオンしていた第1のユーザに対応する動作環境として不揮発性記憶装置に保存する保存手段と、前記オペレーティングシステムを使用するユーザを前記第1のユーザから第2のユーザに切り替える要求が発生した場合、前記メモリの内容を、前記不揮発性記憶装置に格納されている、前記第2のユーザに対応する第2の動作環境を示す第2のイメージデータに基づく内容に復元する復元手段と、前記メモリの内容が前記第2のイメージデータに基づく内容に復元された後に、前記仮想マシンを復帰させる手段とを具備する情報処理装置。前記第1のイメージデータは、基本イメージデータと、前記基本イメージデータが示す内容に対するデータの変更箇所と変更データとを示す差分情報を含む差分イメージファイルとを含み、前記保存手段は、前記第1のイメージデータの保存時に、前記差分イメージファイルを更新する請求項1に記載の情報処理装置。前記変更手段は、前記第2の動作環境の稼働時に、前記仮想マシン内のオペレーティングシステムに対するログアウト要求に応答して、前記仮想マシンを稼働状態からスリープ状態に移行させ、前記保存手段は、前記オペレーティングシステムによって使用されていた前記メモリの内容を示す前記第2のイメージデータを、前記第2のユーザに対応する動作環境として前記不揮発性記憶装置に保存する、請求項2に記載の情報処理装置。前記第2のイメージデータは、前記基本イメージデータと、前記基本イメージデータが示す内容に対するデータの変更箇所と変更データとを示す差分情報を含む第2の差分イメージデータとを含み、前記保存手段は、前記第2のイメージデータの保存時に、前記第2の差分イメージデータを更新する請求項3に記載の情報処理装置。記憶装置と、前記仮想マシンがスリープ状態に移行した場合に、前記記憶装置に格納され前記仮想マシンを実行するためのストレージデータの内容を示す第1のストレージイメージデータを、前記オペレーティングシステムにログオンしていた第1のユーザに対応する動作環境として前記不揮発性記憶装置に保存する第2の保存手段と、前記オペレーティングシステムを使用するユーザを前記第1のユーザから前記第2のユーザに切り替える要求が発生した場合、前記不揮発性記憶装置に格納されている、前記第2のユーザに対応する動作環境を示す第2のストレージイメージデータを前記記憶装置に復元する第2の復元手段とを更に具備する請求項1に記載の情報処理装置。前記第1のストレージイメージデータは、基本仮想ストレージファイルと、前記基本仮想ストレージファイルが示す内容に対するデータの変更箇所と変更データとを示す差分情報を含む差分仮想ストレージファイルとを含み、前記保存手段は、前記第1のストレージイメージデータの保存時に、前記差分仮想ストレージファイルを更新する請求項1に記載の情報処理装置。前記変更手段は、前記第2の動作環境の稼働時に、前記仮想マシン内のオペレーティングシステムに対するログアウト要求に応答して、前記仮想マシンを稼働状態からスリープ状態に移行させ、前記第2の保存手段は、前記ストレージデータの内容を示す前記第2のストレージイメージデータを、前記第2のユーザに対応する動作環境として前記不揮発性記憶装置に保存する、請求項6に記載の情報処理装置。前記第2のストレージイメージデータは、前記基本仮想ストレージファイルと、前記基本仮想ストレージファイルが示す内容に対するデータの変更箇所と変更データとを示す差分情報を含む第2の差分仮想ストレージファイルとを含み、前記保存手段は、前記第2のストレージイメージデータの保存時に、前記第2の差分仮想ストレージファイルを更新する請求項3に記載の情報処理装置。前記記憶装置と通信を行う第1のコントローラと、ネットワーク上のデバイスと通信を行う第2のコントローラと含む複数のデバイスを更に具備し、前記オペレーティングシステムは、前記複数のデバイスから前記第1のコントローラおよび前記第2のコントローラを除いたデバイスにパススルーモデルでアクセスする請求項1に記載の情報処理装置。メモリと、ハイパーバイザ上で動作する仮想マシンの動作環境を制御する制御手段とを具備する情報処理装置の仮想マシンの制御方法であって、前記制御手段によって、前記仮想マシン内のオペレーティングシステムに対するログアウト要求に応答して、前記仮想マシンを稼働状態からスリープ状態に移行させ、前記制御手段によって、前記オペレーティングシステムによって使用されていた前記メモリの内容を示す第1のイメージデータを、前記オペレーティングシステムにログオンしていた第1のユーザに対応する動作環境として不揮発性記憶装置に保存し、前記オペレーティングシステムを使用するユーザを第1のユーザから第2のユーザに切り替える要求が発生した場合、前記制御手段によって、前記メモリの内容を、前記不揮発性記憶装置に格納されている、前記第2のユーザに対応する第2の動作環境を示す第2のイメージデータに基づく内容に復元し、前記制御手段によって、前記メモリの内容が前記第2のイメージデータに基づく内容に復元された後に、前記仮想マシンを復帰させる仮想マシンの制御方法。I/O性能を損ねずに、仮想マシンから直接アクセスする方式で、仮想マシンを切り替える場合に、仮想マシンが使用できるようになるまでの待機時間を短くすることが望まれている。本発明の目的は、仮想マシンを切り替える場合に、仮想マシンが使用できるようになるまでの待機時間を短縮することが可能な情報処理装置および仮想マシンの制御方法を提供することにある。実施形態によれば、情報処理装置は、メモリと、ハイパーバイザ上で動作する仮想マシンの動作環境を制御する制御手段とを具備する。前記制御手段は、前記仮想マシン内のオペレーティングシステムに対するログアウト要求に応答して、前記仮想マシンを稼働状態からスリープ状態に移行させる変更手段と、前記オペレーティングシステムによって使用されていた前記メモリの内容を示す第1のイメージデータを、前記オペレーティングシステムにログオンしていた第1のユーザに対応する動作環境として不揮発性記憶装置に保存する保存手段と、前記オペレーティングシステムを使用するユーザを第1のユーザから第2のユーザに切り替える要求が発生した場合、前記メモリの内容を、前記不揮発性記憶装置に格納されている、前記第2のユーザに対応する第2の動作環境を示す第2のイメージデータに基づく内容に復元する復元手段と、前記メモリの内容が前記第2のイメージデータに基づく内容に復元された後に、前記仮想マシンを復帰させる手段とを具備する。以下、実施の形態について図面を参照して説明する。図1は、システム構成を示すブロック図である。システムは、クライアントコンピュータクライアントPC100、管理サーバ201、配信サーバ202、NetworkAttachedStorageNAS220等から構成されている。管理サーバ201および配信サーバ202に、システムプール210が接続されている。システムプール210内には、ゲスト仮想マシンのディスクイメージファイルが保存されている。ディスクイメージファイルは、配信サーバ202を経由して、クライアントコンピュータに転送される。管理サーバ201は、各クライアントに対応するディスクイメージファイルの管理、設定を行う。クライアントコンピュータ100内では、ハイパーバイザ仮想化ソフトウェア101によってハードウェアが仮想化され、ハイパーバイザ101上で複数の仮想マシンが動作する。このシステムでは、ゲスト仮想マシンデスクトップOS、アプリと仮想マシン制御ドメインの仮想マシン制御用のOSが同時実行する。クライアントコンピュータ100内のストレージHDDまたはSDD131内には、配信サーバ202から配信されたディスクイメージファイルが格納される。LANコントローラ132に接続されたネットワークには、ファイルサーバNAS220が接続される。ファイルサーバNAS220には、各ユーザが更新したアプリケーションのデータ、設定値が保存される。また、NAS220内には、SYS-USER-Aファイル221A、SYS-USER-Bファイル221B、MEM-USER-Aファイル222A、MEM-USER-Bファイル222Bが格納されている。SYS-USER-Aファイル221AおよびMEM-USER-Aファイル222Aは、ゲスト仮想マシン120のユーザAの使用環境を再現するためのファイルである。また、SYS-USER-Bファイル221BおよびMEM-USER-Bファイル222Bは、ゲスト仮想マシン120のユーザBの使用環境を再現するためのファイルである。使用するユーザに応じて、SYS-USER-Aファイル221AおよびMEM-USER-Aファイル222A、またはSYS-USER-Bファイル221BおよびMEM-USER-Bファイル222Bがクライアントコンピュータ100に転送される。I/Oデバイスの仮想化にはいくつかの手法があるが、本装置では、パススルーモデルを用いて、I/Oデバイスを仮想化する。パススルーモデルでは、仮想マシンモニタがI/Oデバイスを直接仮想マシンに割り当てることができる。例えば、仮想マシンごとに専用のSCSIカードやネットワークカードなどを用意し、それらを1つずつ仮想マシンに割り当てる。また、デバイスマネージャは、PCIデバイスの初期化制御を行う。次に、図2を参照して、クライアントコンピュータ100のソフトウェア構成を説明する。ハイパーバイザ101上で、仮想マシン制御ドメイン110およびゲスト仮想マシン120が動作する。ハイパーバイザ101は、CPU231のリソースを調停し、スケジューラ105によるスケジューリングに従って、CPU231のリソースを仮想CPUとして、各ドメイン仮想マシン制御ドメインおよびゲスト仮想マシンに配分する。メモリ102のリソースは、ハイパーバイザ101内で動作するメモリマネージャ104によって、各ドメインのOSに割り当てられる。ディスクコントローラ236とLANコントローラ132を除いたGPUGraphicsProcessingUnit233、USBコントローラUSBCont234やAudio、USB、IEEE1394などのデバイスの場合、ゲスト仮想マシン120内のゲストOS121は、ドライバ124,125等によって、デバイスのI/Oに直接アクセスできるパススルー方式。ディスクコントローラ236とLANコントローラ132の場合、ゲスト仮想マシン内のゲストOS121は、フロントエンド仮想ドライバ126経由で、仮想マシン制御ドメイン110のバックエンドドライバ112にアクセスするサービスVM方式。バックエンドドライバ112は、制御ドメインOS111のアクセスとゲストOS121のアクセスとの調停をとって、ディスクコントローラ236およびLANコントローラ132にアクセスする。この時、ゲストOS121から見えるディスクは1つであるが、ゲストOSは複数の仮想ディスクファイルで構成された仮想ディスクをディスクとして利用する図3。図3は、仮想ディスクの構成の一例を示すブロック図である。例えば、図3に示すように、仮想ディスクは、マスター原本になる基本仮想ディスクファイル301と、基本仮想ディスクファイル301が示すデータに対する変更箇所及び変更されたデータを示す差分情報を格納するシステム差分仮想ディスクファイル302,ユーザ差分仮想ディスクファイル303とから構成される。本実施形態では、差分仮想ディスクファイルが使用される。例えば、ユーザ差分仮想ディスクファイル303に、書き込みデータが格納される。ゲストOS121上で動作するゲスト仮想マシン管理エージェントプログラム以下、管理エージェントと記す123が、ゲスト仮想マシン120の状態を監視する。管理エージェント123は、ハイパーバイザ101内で動作するI/Oマネージャ103経由で制御ドメイン110内の仮想マシンマネージャVMマネージャ118と通信する。仮想マシンマネージャ118は、ハイパーバイザ101のコントロールI/Fを使用して、ゲスト仮想マシン120の起動、終了、スリープ復帰などの指示を行うことができる。制御ドメイン110の仮想ACPI117は、ゲストOS121からの電源コントロールACPIに対して、直接クライアントコンピュータ100のACPIを制御市内。仮想ACPI117は、ゲスト仮想マシン120のドメイン内のみの電源制御となるように動作する。例えば、ゲストOS121をスリープした場合、ゲストOS121上でのみスリープ状態となり、ハイパーバイザ101、制御ドメインOS111は通常の状態で動作する。このクライアントコンピュータ100では、いくつかのモード状態がある。以下に、クライアントコンピュータ100のモードについて説明する。1.配信イメージ受信モード:配信サーバ202から基本仮想ディスクファイル301および差分仮想ディスクファイル302,303を受信して、基本仮想ディスクファイル301および差分仮想ディスクファイル302,303をクライアントコンピュータ100のストレージ131に保存するモード。2.セットアップモード:ストレージ131に保存したディスクイメージファイルをゲストOS121として起動し、ユーザがログイン可能な状態までのセットアップドライバのインストール、設定を行う。3.運用モード:ユーザがゲストOS121にログインして実行している状態。4.ユーザ切り替えモード:ユーザのアカウントが変わり、仮想マシンを切り替えている状態。5.ゲストOS保存モード:ゲストOS121の環境が使用していたメモリRAMの内容をNAS220に保存する状態。図4を参照して、上述したモードの遷移を説明する。仮想マシンマネージャ118は、開始すると初期状態INITとなる。ここで、非運用モードの通知を受けると、待機状態となるWAIT。待機時、仮想マシンマネージャ118は、管理サーバ201へモード確認要求を送信する。送信してからT1時間経過するまでに、管理サーバ201からの応答が無ければ、仮想マシンマネージャ118は、再度管理サーバ201へのモード確認要求を送信する。モード確認要求に応じて管理サーバ201から配信受信モードであることが指示されれば、配信受信モードに移行する。そして、仮想マシンマネージャ118は、イメージ送信開始要求を配信サーバに送信する。仮想マシンマネージャ118は、配信サーバからデータを受信すると、ストレージ131にイメージファイルを格納する。必要があれば、仮想マシンマネージャ118は、次のイメージファイルをストレージに格納するためのデータの送信要求を、配信サーバに対して送信する。配信サーバから送信完了が通知されたら、仮想マシンマネージャ118は、イメージファイルをハイパーバイザ101に登録する。そして、仮想マシンマネージャ118は、配信受信モードの終了を管理サーバ201に通知し、待機状態WAITとなる。管理サーバ201は、セットアップモードに移行するよう指示する。管理サーバ201からセットアップモードの通知を受信した場合、セットアップモードに移行する。仮想マシンマネージャ118は、セットアップモード開始通知を管理サーバ201に送信する。仮想マシンマネージャ118は、ハイパーバイザ101にゲスト仮想マシンの起動要求を発行する。セットアップモードの場合、仮想マシンマネージャ118は、T2時間毎にゲストOSのセットアップ状態を確認する。ゲストOSのセットアップ状態が、セットアップの終了を確認したら、仮想マシンマネージャ118は、管理サーバ201にセットアップの終了を通知し、システムをシャットダウンする。図5を参照して、セットアップモード時の処理について説明する。配信サーバ202から基本仮想ディスクファイル301を各クライアントコンピュータ100に配布する。同じ基本仮想ディスクファイルSYS-COM301が、各クライアントコンピュータ100のストレージ131に保存される。各クライアントコンピュータ100は、配信イメージの受信後、セットアップモードとなる。各クライアントコンピュータ100は、ストレージ131から基本仮想ディスクファイルSYS-COM301を読み出して仮想マシンを起動する。この時、仮想ディスク127には、配信された基本仮想ディスクファイル301のほかに、さらに1段の空のシステム差分仮想ディスクファイルSYS-DIFF302をストレージ131内に作成して、差分仮想ディスクファイルSYS-DIFF302が仮想ディスク127に組み込まれる。これによりゲスト仮想マシンからの仮想ディスク127への書き込みは、すべてその空のシステム差分仮想ディスクファイルSYS-DIFF302に対して行われる。ゲストOS121が起動すると、最初のクライアントコンピュータ100上での起動であるため、ドライバのインストール、ネットワーク等の設定が行われる。また、各クライアント個別IDマシン名等の設定も行われる。システム差分仮想ディスクファイルSYS-DIFF302は、各クライアント毎に用意される。各システム差分仮想ディスクファイルSYS-DIFF302には、対応するクライアントで用いられるデータが格納されることになる。セットアップが終了すると、ゲスト仮想マシン管理エージェント123が、セットアップの終了を認識する。ゲスト仮想マシン管理エージェント123は、セットアップが終了した旨を、仮想マシン制御ドメイン110の仮想マシンマネージャ118に通知する。そして、ゲスト仮想マシン管理エージェント123は、ゲストOS121に対してスリープ要求を発行する。ゲストOS121は、ACPIに準拠したOSPMOSDirectedPowerManagementモジュールを有している。ゲストOS121が、ゲスト仮想マシン管理エージェント123からスリープS3:SuspendtoRAMの要求を受けると、ゲストOS121内のOSPMモジュールが、物理レイヤ230の各種デバイスをそれらデバイスに対応するデバイスドライバによってD3状態停止状態にする。OSPMモジュールは、すべてのデバイスが停止になったことを確認すると、ゲスト仮想マシン120の仮想BIOSに対して、システムをS3スリープに移行するようI/Oを出力する。例えば、特定のI/Oアドレスに対してアクセスを行うことによって例えばこの特定のI/Oアドレスに対する出力命令を発行することによって、OSPMモジュールは、仮想BIOSにS3スリープ状態へ移行するように指示する。仮想環境の場合、このI/O例えば、特定のI/Oアドレスに対してアクセスは、ハイパーバイザ101のI/Oマネージャ103によって捕捉される。I/Oマネージャ103は、補足したI/Oを制御ドメインOS111上のI/Oエミュレータ116に渡す。渡されたI/OがACPIのI/Oアドレスであるので、I/Oエミュレータ116は、渡されたI/Oを仮想ACPIの処理に通知する。そこで、仮想マシンマネージャ118は、ゲスト仮想マシンがS3スリープ状態に移行したことを認識し、ゲストOSが使用していたゲスト仮想マシンに割り当てられていたメモリRAM202Aのデータを保存するように、ゲストメモリコントローラGuestMemCnt119に対して指示する。ゲストメモリコントローラ119は、ゲストOS121が使用していたメモリRAM202Aをページまたはスーパページ2MB単位に抜き出し、ストレージ131内にイメージファイルMEM-COM411として保存する。保存後、仮想マシンマネージャ118は、ハイパーバイザ101に対して、ゲスト仮想マシン120の終了を指示し、システムをシャットダウンさせ、セットアップは終了する。この時、管理サーバ201にはセットアップモードの完了を通知、運用モードにセットする。ユーザが、仮想化環境がセットアップ済みのクライアントコンピュータ100の電源を投入し起動した後INIT、セットされたモードが運用モードであれば、仮想マシンマネージャ118は、運用モードになる。図6を用いて、運用モードについて、説明する。運用モードでは、クライアントコンピュータ100はハイパーバイザ101の起動、制御ドメインOS111の起動を行う。そして、図6に示すように、制御ドメインOS111上で仮想マシンマネージャ118が起動し、配信された基本仮想ディスクファイル301とセットアップ時に保存したシステム差分仮想ディスクファイル302とを仮想ディスク127としてハイパーバイザに割り当てる。そして、仮想マシンマネージャ118は、さらにデータが格納されていない仮想ディスクファイルSYS-USER-NULLを仮想ディスク127に設定する。仮想マシンマネージャ118は、ゲスト仮想マシンを起動するためにゲストドメインの生成をハイパーバイザ101に指示する。そして、仮想マシンマネージャ118は、ゲストメモリコントローラGuestMemCntl119に対して、ゲスト仮想マシン120に割り当てられるゲストメモリRAMに、セットアップ時に保存されたMEM-COMファイル411に基づいて、データをリストアするように指示する。ハイパーバイザ101は、MEM-COMファイル411の保存時と同じアドレスにデータをマッピングして、ゲストOSからメモリ内のデータを使用できるように、メモリの記憶領域をゲスト仮想マシンにゲストメモリRAM202Aとして割り当てる。ゲストメモリコントローラ119は、割り当てたメモリの記憶領域にMEM-COMファイル411に基づいてデータをリストアする。リストア完了後、仮想マシンマネージャ118は、S0通電動作状態への復帰をゲスト仮想マシンに指示する。これにより、ゲストOS121は、セットアップモードの最後の状態に戻り、画面上にはログイン入力画面が表示される。ユーザは、自分のアカウントIDとパスワードを入力してログインしようとする。ゲストOS121は、このログイン時に入力されたIDとパスワードを元に指定された認証を行い、認証がとれたならば、ログオン処理に入る。ゲスト仮想マシン120のゲスト仮想マシン管理エージェント123は、このログオンイベントを受信し、ユーザIDを仮想マシンマネージャ118に送信し、直ちにS3スリープ状態に入るようゲストOS121に指示する。ゲストOS121は、セットアップ時と同じ様に各デバイスをD3停止状態にし、S3スリープ状態に移行するようI/Oを出力する。運用モード時に、管理エージェント123からログアウトまたは環境の保存イベントを示す情報を受信すると、仮想マシンマネージャ118は、保存モードになる。保存モードでは、クライアントコンピュータ100がS3スリープ状態に移行すると、ゲスト仮想マシンに割り当てられているメモリの記憶領域のデータを、仮想マシン制御ドメイン110に割り当てられているストレージ131の記憶領域に保存する。仮想マシンマネージャ118は、MEM-COMファイル411とメモリ202内のデータとの差分を抽出し、変更位置および変更データを示す差分情報を生成する。仮想マシンマネージャ118は、生成された差分情報をNAS220に保存する。仮想マシンマネージャ118は、NAS220からSYS-USER-Aファイル221Aを取得し、SYS-USER-Aファイル221Aに含まれる差分情報と仮想ディスクファイルSYS-USER-NULL403に含まれる差分情報とを比較する。そして、SYS-USER-Aファイル221Aの作成時から変更された新たな変更位置および変更データを示すデータを含むように、SYS-USER-Aファイル221Aを更新する。そして、仮想マシンマネージャ118は、仮想ディスクファイルSYS-USER-NULL403の中身を空にする。そして、仮想マシンマネージャ118は、S3状態からS0通電動作状態への復帰をゲスト仮想マシンに指示する。そして、仮想マシンマネージャ118は運用モードに戻る。図7を参照して、保存モード時の動作を説明する。ログイン中に、保存の指示またはログアウトの指示を検出すると、ゲスト仮想マシン管理エージェント123はそれらの指示を検出し、ゲストドメインをS3スリーブ状態にする。そして、図7に示すように、S3スリーブ状態になったところで、仮想マシンマネージャ118は、現在のRAMの内容MEM-USER-Aファイル202Bとセットアップ時の内容MEM-COMファイル411とを比較し、ページあるいはスーパページ単位で差分をとる。仮想マシンマネージャ118は、変更位置および変更データを示す差分情報をMEM-USER-Aファイル222AとしてNAS220に保存し、NAS220内のMEM-USER-Aファイル222Aを更新する。MEM-USER-Bファイル222Bも同様に保存されたものである。仮想マシンマネージャ118は、仮想ディスクファイルを構成するSYS-USER-NULLファイル403をSYS-USER-Aファイル221AとしてNAS220に格納し、NAS220内のSYS-USER-Aファイル221Aを更新する。SYS-USER-Aファイル221AおよびMEM-USER-Aファイル222Aが更新された後、仮想マシンマネージャ118は、先ほどのユーザID情報から、そのユーザの差分ディスクファイルと差分メモリデータファイルを、ネットワーク上のNAS220から取得できるよう設定する。管理エージェント123からログインイベントを受信したら、仮想マシンマネージャ118は運用モードからユーザ切替モードになる。クライアントコンピュータ100がS3スリープ状態に移行すると、仮想マシンマネージャ118は、配信サーバ202から基本仮想ディスクファイル301、システム差分仮想ディスクファイル302、および基本メモリイメージファイル411を受信し、NASからログインするユーザに対応する差分メモリイメージファイルおよびユーザ差分仮想ディスクファイルを受信する。そして、仮想マシンマネージャ118は、メモリ202の記憶領域にデータをリストアし、イメージファイルをクライアントコンピュータ100のストレージ131に格納する。そして、仮想マシンマネージャ118は、S3状態からS0通電動作状態への復帰をゲスト仮想マシン120に指示する。そして、仮想マシンマネージャ118は運用モードに戻る。図8を参照して、ユーザ切替モード時の処理を説明する。以下では、ユーザBの使用環境を再現する場合について説明する。仮想マシンマネージャ118は、MEM-USER-Bファイル222Bと、クライアントコンピュータ100にあるMEM-COMファイル441とを結合したデータを生成する。ゲストメモリコントローラ119は、生成されたデータをゲスト仮想マシン120に割り当てられたメモリ202Cに配置リストアする。また、SYS-USER-NULLファイル403としてSYS-USER-Bファイル221Bが用いられる。リストア終了後、仮想マシンマネージャ118は、ハイパーバイザ101にドメインのS0復帰を指示して、ゲストOSを復帰させる。ログイン中に画面が変わって、ユーザBのデスクトップ環境が表示された後、ユーザBは、作業を開始できる。コンピュータが運用モードで起動してからのユーザの切替の動作を、図9~図12のシーケンス図を参照して説明する。図9において、クライアントコンピュータ100の電源がオンされると、ハイパーバイザ101が実行される。ハイパーバイザ101は、VM制御ドメインOS111を起動する1.1。制御ドメインOS111は、仮想マシンマネージャ118を起動する。仮想マシンマネージャ118は、ゲストメモリコントローラ119を起動する1.1.1。仮想マシンマネージャ118は、基本仮想ディスクファイル301およびシステム差分仮想ディスクファイル302をストレージ131から参照し、基本仮想ディスクファイル301およびシステム差分仮想ディスクファイル302から構成される仮想ディスクを制御ドメインOS111に設定する1.1.1.2。仮想マシンマネージャ118は、ハイパーバイザ101に仮想マシンを実行するためのドメインの生成を指示する1.1.1.3。ハイパーバイザ101は、ドメインを生成する1.1.1.3.1。仮想マシンマネージャ118は、I/Oエミュレータ116を起動する1.1.1.4。仮想マシンマネージャ118は、ゲストメモリコントローラ119にメモリ202に共通データのリストアを指示する。ゲストメモリコントローラ119は、ハイパーバイザ101が管理する、メモリ119の物理アドレスと仮想マシンで管理される仮想メモリの論理アドレスとの変換テーブルの論理アドレスに対して、MEM-COMファイル411の保存時と同じ論理アドレスをマッピングする1.1.1.5.1。ゲストメモリコントローラ119は、MEM-COMファイル411に基づいて、メモリ202にデータを格納する1.1.1.5.2。仮想マシンマネージャ118は、ハイパーバイザ101にS0状態への復帰を指示する1.1.1.6。ハイパーバイザ101は、ゲストOS121に対してS0状態への復帰を指示する1.1.1.6.1。ゲストOS121は、S0状態への復帰処理を開始する1.1.1.6.1.1。管理エージェント123は、ゲストOSがS3状態に復帰したら、仮想マシンマネージャ118に復帰処理が完了したことを通知する1.1.1.6.1.1.1。ゲストOS121は、ストレージ131にアクセスする場合、VM制御ドメインOS111上のバックエンドドライバ112にアクセス要求を発行する1.1.1.6.1.1.2。ここまでの説明した処理によって、コンピュータは、図6に示す状態になる。図10において、オペレータがログインすると2、ゲストOS121がユーザ認証を行う2.1ゲストOS121は、ログインイベントを受信した旨を管理エージェント123に通知する2.1.1。管理エージェント123は、ゲストOS121にS3状態への移行を要求する3。ゲストOS121のOSPMは、パススルーしている各種IOデバイスとI/Oエミュレータ116に対して、デバイスのD3状態への移行を指示する3.1。ゲストOS121のOSPMは、全てのデバイスが停止状態になったことを確認すると、仮想BIOSに対して、システムをS3状態に移行するようI/Oを出力する。ゲストOS121からのI/Oへの出力は、I/Oエミュレータ116によって捕捉される3.2。I/Oエミュレータ116は、ハイパーバイザ101に対して、ゲストOS121が稼働しているドメインをS3状態に移行するように指示する。仮想マシンマネージャ118は、ドメインの状態を取得する4。ドメインがS3状態に移行したら、仮想マシンマネージャ118は、ゲストOSが稼働していた仮想マシンに割り当てられていたメモリの記憶領域に格納されていたデータの保存をゲストメモリコントローラに指示する5。先に図7を参照して説明したように、ゲストメモリコントローラは、仮想マシンに割り当てられていたメモリの記憶領域に格納されていたデータと、MEM-COMファイル411が示すデータとの差分を抽出する5.1。抽出された差分データと、差分データの格納位置とを示す差分情報を例えばNAS220に格納する5.2。仮想マシンマネージャ118は、ドメインの終了をハイパーバイザ101に指示する6。ハイパーバイザ101は、ドメインを終了させる。仮想マシンマネージャ118は、I/Oエミュレータ116を終了させる7。図11において、仮想マシンマネージャ118は、MEM-COMファイル411およびログインユーザに対応するMEM-USERファイルを用いてメモリ内のデータのリストアを行うようにゲストメモリコントローラに指示する8。仮想マシンマネージャ118は、ハイパーバイザ101に仮想マシンを実行するためのドメインの生成を指示する9。ハイパーバイザ101は、ドメインを生成する9.1。先に図8を用いて説明したように、仮想マシンマネージャ118は、基本仮想ディスクファイル301、システム差分仮想ディスクファイルSYS-DIFF302、およびユーザ差分仮想ディスクファイルSYS-USERファイル303に基づいてゲスト仮想マシンを実行するための仮想ディスクをハイパーバイザに設定し、ゲスト仮想マシンを起動させる10。仮想マシンマネージャ118は、I/Oエミュレータ116を起動する11。ゲストメモリコントローラ119は、MEM-COMファイル411とログインユーザに対応するMEM-USERファイルとの読み出し要求をVM制御ドメインOS111に発行する8.1。ゲストメモリコントローラは、ハイパーバイザ101が管理する、メモリの物理アドレスと仮想マシンで管理される仮想メモリの論理アドレスとの変換テーブルの論理アドレスに対して、MEM-COMファイルの保存時と同じ論理アドレスをマッピングする8.2。ゲストメモリコントローラは、MEM-COMファイル411およびMEM-USERファイルに基づいて、メモリ202にデータを格納する8.3。仮想マシンマネージャ118は、ハイパーバイザ101にオペレーティングシステムのS0状態への復帰を指示する12。ハイパーバイザ101は、ゲストOS121に対してS0状態への復帰を指示する12.1。ゲストOS121は、S0状態への復帰処理を開始する12.1.1。管理エージェント123は、ゲストOS121がS3状態に復帰したら、仮想マシンマネージャ118に復帰処理が完了したことを通知する12.1.1.1。図12において、S0状態に復帰すると、オペレータが操作を開始する。ゲストOSは、ストレージにアクセスする場合、VM制御ドメインOS111上のバックエンドドライバにアクセス要求を発行する13.1。オペレータがログアウトの操作を行うと14、ゲストOS121がログアウトイベントを管理エージェント123に送信する。管理エージェント123は、ログアウトイベントを受信した旨を仮想マシンマネージャ118に通知する。管理エージェント123は、ゲストOSにS3状態への移行を要求する15。ゲストOSは、I/Oエミュレータ116に対して、デバイスのD3状態への移行を指示する15.1。ゲストOS121は、全てのデバイスが停止状態になったことを確認すると、仮想BIOSに対して、システムをS3状態に移行するようI/Oを出力する。ゲストOSからのI/Oへの出力は、I/Oエミュレータ116によって補足される15.2。I/Oエミュレータ116は、ハイパーバイザ101に対して、ゲストOSが稼働しているドメインゲスト仮想マシンをS3状態に移行するように指示する。仮想マシンマネージャ118は、ドメインの状態を取得する16。ドメインがS3状態に移行したら、仮想マシンマネージャ118は、ゲストOS121が稼働していた仮想マシンに割り当てられていたメモリの記憶領域に格納されていたデータの保存をゲストメモリコントローラに指示する17。ゲストメモリコントローラ119は、仮想マシンに割り当てられていたメモリの記憶領域に格納されていたデータとと、MEM-COMファイルが示すデータとの差分を抽出する17.1。抽出された差分データに基づいて、MEM-USERファイルを更新する17.2。仮想マシンマネージャ118は、ハイパーバイザ101にドメインの終了を指示する18。ハイパーバイザ101は、仮想マシンマネージャ118からの指示に応じて、ドメインを終了する18.1。そして、仮想マシンマネージャ118は、I/Oエミュレータ116を終了する19。次に、図13のフローチャートを参照して運用モード時の管理エージェント123の動作を説明する。管理エージェント123は、ゲストOSからのイベントを待っているステップB901。イベントを受信したら、管理エージェント123は、ログインイベントであるかを判定するステップB902。ログインイベントであると判定した場合ステップB902のYes、管理エージェント123は、ログインイベントを受信した旨を仮想マシンマネージャ118に通知するステップB905。ログインイベントでは無いと判定した場合ステップB902のNo、管理エージェント123は、ログアウトイベントであるかを判定するステップB903。ログアウトイベントであると判定した場合ステップB903のYes、管理エージェント123は、ログアウトイベントを受信した旨を仮想マシンマネージャ118に通知するステップB906。ログアウトイベントでは無いと判定した場合ステップB903のNo、管理エージェント123は、デスクトップ環境の保存指示ベントであるかを判定するステップB904。デスクトップ環境の保存指示イベントであると判定した場合ステップB904のYes、管理エージェント123は、デスクトップ環境の保存指示イベントを受信した旨を仮想マシンマネージャ118に通知するステップB907。ステップB905、B906、B907の後、管理エージェント123は、オペレーティングシステムのOSPMにS3状態への移行を要求するステップB908。オペレーティングシステムは、各デバイスをD3状態に遷移させ、ACPIのI/OにS3状態を設定するステップB909。図14は、メモリの差分データの作成を説明するための図である。ゲスト仮想マシンが1つ制御ドメインOS111は除くである場合には、ゲスト仮想マシンの使用するメモリ領域は、セットアップ時と同等になる。ハイパーバイザ101には、分断されたメモリ領域のブロックのマッピング情報物理アドレスとサイズを有する。マッピング情報は、ユーザログイン後の状態もセットアップ時と同じであるため、差分をとることができる。通常、ゲストOSが固定で使用するメモリの記憶領域とアプリケーションが動的に使用するメモリ記憶領域とがある。固定で使用される記憶領域は内容の変化がないことが多い。したがって、それらの領域のセットアップ時の差分を取ることによって、保存するメモリ量が減少する。上記実施形態によれば、ゲスト仮想マシン内で動作するゲストOSにログアウトが要求された場合に、ゲストOSに通常状態からスリープ状態への移行を要求し、ゲストOSがスリープ状態に移行した場合に、ゲストOSが使用するメモリの記憶領域内のデータを示すメモリイメージファイルを作成し、ゲスト仮想マシンの起動が要求された場合に、メモリイメージファイルの作成時の仮想マシンに割り当てられていた記憶装置の記憶領域内のデータを示すディスクイメージファイルをハイパーバイザに設定し、メモリイメージファイルに基づいて、仮想マシンに割り当てられたメモリの第2の記憶領域に第1の記憶領域に格納されていたデータを復元し、第2の記憶領域にデータが復元された場合、オペレーティングシステムをスリープ状態から通常状態へ復帰させることをハイパーバイザに要求することで、ゲスト仮想マシンの起動時やログインユーザの切り替え時に、ゲスト仮想マシンが使用できるようになるまでに待つ時間を短縮することが可能になります。上記は、作業中のユーザデータ、環境を保存するようにしているが、保存せずに、セットアップ時に保存したディスクイメージとメモリデータにいつもリストアすることで、ゲスト仮想マシンの状態をいつも一定に保つことができる。学校や教育用のクライアントコンピュータや、不特定者が使用するコンピュータなどデータを保存したくない利用の場合に、再起動なしに、戻すことが可能となる。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。"