JP2013137649A - 情報処理装置および仮想マシンの制御方法 - Google Patents
情報処理装置および仮想マシンの制御方法 Download PDFInfo
- Publication number
- JP2013137649A JP2013137649A JP2011288105A JP2011288105A JP2013137649A JP 2013137649 A JP2013137649 A JP 2013137649A JP 2011288105 A JP2011288105 A JP 2011288105A JP 2011288105 A JP2011288105 A JP 2011288105A JP 2013137649 A JP2013137649 A JP 2013137649A
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- user
- image data
- storage
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Power Sources (AREA)
- Stored Programmes (AREA)
Abstract
【課題】仮想マシンを使用可能な上になるまでの待機時間を短縮すること。
【解決手段】実施形態によれば、ハイパーバイザ上で動作する仮想マシンの動作環境を制御する仮想マシンの制御方法であって、仮想マシン内のOSに対するログアウト要求に応答して、仮想マシンを稼働状態からスリープ状態に移行させ、制御手段によって、OSによって使用されていたメモリの内容を示す第1のイメージデータを、OSにログオンしていた第1のユーザに対応する動作環境として不揮発性記憶装置に保存し、OSを使用するユーザを第1のユーザから第2のユーザに切り替える要求が発生した場合、制御手段によって、メモリの内容を、不揮発性記憶装置に格納されている、第2のユーザに対応する第2の動作環境を示す第2のイメージデータに基づく内容に復元し、制御手段によって、メモリの内容が第2のイメージデータに基づく内容に復元された後に、仮想マシンを復帰させる。
【選択図】 図2
【解決手段】実施形態によれば、ハイパーバイザ上で動作する仮想マシンの動作環境を制御する仮想マシンの制御方法であって、仮想マシン内のOSに対するログアウト要求に応答して、仮想マシンを稼働状態からスリープ状態に移行させ、制御手段によって、OSによって使用されていたメモリの内容を示す第1のイメージデータを、OSにログオンしていた第1のユーザに対応する動作環境として不揮発性記憶装置に保存し、OSを使用するユーザを第1のユーザから第2のユーザに切り替える要求が発生した場合、制御手段によって、メモリの内容を、不揮発性記憶装置に格納されている、第2のユーザに対応する第2の動作環境を示す第2のイメージデータに基づく内容に復元し、制御手段によって、メモリの内容が第2のイメージデータに基づく内容に復元された後に、仮想マシンを復帰させる。
【選択図】 図2
Description
本発明の実施形態は、ハイパーバイザ上で仮想マシンが実行される情報処理装置および仮想マシンの制御方法に関する。
同一OS、アプリ環境を多数の人数が、場所を特定せずどのクライアントからも使用するシステムとして、シンクライアントがある。シンクライアントシステムでは、サーバ上で実行した画面情報を各クライアントに送信し、クライアント側では画面情報を表示することで実現している。キー入力や、マウスなどのINPUT情報は、クライアントからサーバに送り、サーバで実行される。
画面情報を転送する方式は、ネットワーク帯域が十分で、かつ遅延がすくない環境であれば快適に使用することが出来るが、そうでない場合は、操作に対する応答が遅く操作性が悪くなる欠点がある。
シンクライアントシステムと同じ、同一OS,アプリケーション環境を複数の人数で使用し、どのクライアントからも使用できるようにするために、実行環境のディスクイメージを各クライアントに配信し、クライアント側で仮想化することで、上記のシンクライアントの欠点を解決する方法がある。
従来、シンクライアント側で仮想マシンを実行する方法では、1つのクライアントコンピュータを、複数のユーザ環境の仮想マシンを切り替えて使用するには、複数の仮想マシンが同時実行できるようなハードウェア(I/Oを仮想化するための専用ハードウェア、例:インテル社製VT−dなど)が必要であったり、ハードウェアがない場合には、デバイスI/Oをソフトウェアでエミュレーションで実現していて、I/Oの性能が低かった。1つのI/Oを直接アクセスする方式で、複数の仮想マシンで切り替えて使用するには、仮想マシンを再起動して切り替えたりし、仮想マシンが使用できるようになるまでの待機時間が長かった。
I/O性能を損ねずに、仮想マシンから直接アクセスする方式で、仮想マシンを切り替える場合に、仮想マシンが使用できるようになるまでの待機時間を短くすることが望まれている。
本発明の目的は、仮想マシンを切り替える場合に、仮想マシンが使用できるようになるまでの待機時間を短縮することが可能な情報処理装置および仮想マシンの制御方法を提供することにある。
実施形態によれば、情報処理装置は、メモリと、ハイパーバイザ上で動作する仮想マシンの動作環境を制御する制御手段とを具備する。前記制御手段は、前記仮想マシン内のオペレーティングシステムに対するログアウト要求に応答して、前記仮想マシンを稼働状態からスリープ状態に移行させる変更手段と、前記オペレーティングシステムによって使用されていた前記メモリの内容を示す第1のイメージデータを、前記オペレーティングシステムにログオンしていた第1のユーザに対応する動作環境として不揮発性記憶装置に保存する保存手段と、前記オペレーティングシステムを使用するユーザを第1のユーザから第2のユーザに切り替える要求が発生した場合、前記メモリの内容を、前記不揮発性記憶装置に格納されている、前記第2のユーザに対応する第2の動作環境を示す第2のイメージデータに基づく内容に復元する復元手段と、前記メモリの内容が前記第2のイメージデータに基づく内容に復元された後に、前記仮想マシンを復帰させる手段とを具備する。
以下、実施の形態について図面を参照して説明する。
図1は、システム構成を示すブロック図である。
システムは、クライアントコンピュータ(クライアントPC)100、管理サーバ201、配信サーバ202、Network Attached Storage(NAS)220等から構成されている。
管理サーバ201および配信サーバ202に、システムプール210が接続されている。システムプール210内には、ゲスト仮想マシンのディスクイメージファイルが保存されている。ディスクイメージファイルは、配信サーバ202を経由して、クライアントコンピュータに転送される。管理サーバ201は、各クライアントに対応するディスクイメージファイルの管理、設定を行う。
クライアントコンピュータ100内では、ハイパーバイザ(仮想化ソフトウェア)101によってハードウェアが仮想化され、ハイパーバイザ101上で複数の仮想マシンが動作する。このシステムでは、ゲスト仮想マシン(デスクトップOS、アプリ)と仮想マシン制御ドメインの仮想マシン制御用のOSが同時実行する。
クライアントコンピュータ100内のストレージ(HDDまたはSDD)131内には、配信サーバ202から配信されたディスクイメージファイルが格納される。LANコントローラ132に接続されたネットワークには、ファイルサーバ(NAS)220が接続される。ファイルサーバ(NAS)220には、各ユーザが更新したアプリケーションのデータ、設定値が保存される。
また、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を除いたGPU(Graphics Processing Unit)233、USBコントローラ(USB Cont.)234や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へのモード確認要求を送信する。
仮想マシンマネージャ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−COM)301が、各クライアントコンピュータ100のストレージ131に保存される。
各クライアントコンピュータ100は、配信イメージの受信後、セットアップモードとなる。各クライアントコンピュータ100は、ストレージ131から基本仮想ディスクファイル(SYS−COM)301を読み出して仮想マシンを起動する。この時、仮想ディスク127には、配信された基本仮想ディスクファイル301のほかに、さらに1段の空のシステム差分仮想ディスクファイル(SYS−DIFF)302をストレージ131内に作成して、差分仮想ディスクファイル(SYS−DIFF)302が仮想ディスク127に組み込まれる。これによりゲスト仮想マシンからの仮想ディスク127への書き込みは、すべてその空のシステム差分仮想ディスクファイル(SYS−DIFF)302に対して行われる。
ゲストOS121が起動すると、最初のクライアントコンピュータ100上での起動であるため、ドライバのインストール、ネットワーク等の設定が行われる。また、各クライアント個別ID(マシン名等)の設定も行われる。システム差分仮想ディスクファイル(SYS−DIFF)302は、各クライアント毎に用意される。各システム差分仮想ディスクファイル(SYS−DIFF)302には、対応するクライアントで用いられるデータが格納されることになる。
セットアップが終了すると、ゲスト仮想マシン管理エージェント123が、セットアップの終了を認識する。ゲスト仮想マシン管理エージェント123は、セットアップが終了した旨を、仮想マシン制御ドメイン110の仮想マシンマネージャ118に通知する。そして、ゲスト仮想マシン管理エージェント123は、ゲストOS121に対してスリープ要求を発行する。
ゲストOS121は、ACPIに準拠したOSPM(OS Directed Power Management)モジュールを有している。ゲストOS121が、ゲスト仮想マシン管理エージェント123からスリープ(S3:Suspend to RAM)の要求を受けると、ゲスト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(VM Manager)は、ゲスト仮想マシンがS3(スリープ)状態に移行したことを認識し、ゲストOSが使用していた(ゲスト仮想マシンに割り当てられていた)メモリ(RAM)202Aのデータを保存するように、ゲストメモリコントローラ(GuestMemCnt)119に対して指示する。
ゲストメモリコントローラ119は、ゲストOS121が使用していたメモリ(RAM)202Aをページ(4KB)またはスーパページ(2MB)単位に抜き出し、ストレージ131内にイメージファイル(MEM−COM)411として保存する。保存後、仮想マシンマネージャ118は、ハイパーバイザ101に対して、ゲスト仮想マシン120の終了を指示し、システムをシャットダウンさせ、セットアップは終了する。この時、管理サーバ201にはセットアップモードの完了を通知、運用モードにセットする。
ユーザが、仮想化環境がセットアップ済みのクライアントコンピュータ100の電源を投入し起動した後(INIT)、セットされたモードが運用モードであれば、仮想マシンマネージャ118は、「運用モード」になる。
図6を用いて、運用モードについて、説明する。運用モードでは、クライアントコンピュータ100はハイパーバイザ101の起動、制御ドメインOS111の起動を行う。そして、図6に示すように、制御ドメインOS111上で仮想マシンマネージャ118が起動し、配信された基本仮想ディスクファイル(SYS−COM)301とセットアップ時に保存したシステム差分仮想ディスクファイル(SYS−DIFF)302とを仮想ディスク127としてハイパーバイザに割り当てる。そして、仮想マシンマネージャ118は、さらにデータが格納されていない仮想ディスクファイル(SYS−USER−NULL)を仮想ディスク127に設定する。
仮想マシンマネージャ118は、ゲスト仮想マシンを起動するためにゲストドメインの生成をハイパーバイザ101に指示する。そして、仮想マシンマネージャ118は、ゲストメモリコントローラ(GuestMemCntl)119に対して、ゲスト仮想マシン120に割り当てられるゲストメモリ(RAM)に、セットアップ時に保存されたMEM−COMファイル411に基づいて、データをリストアするように指示する。ハイパーバイザ101は、MEM−COMファイル411の保存時と同じアドレスにデータをマッピングして、ゲストOSからメモリ内のデータを使用できるように、メモリの記憶領域をゲスト仮想マシンにゲストメモリ(RAM)202Aとして割り当てる。ゲストメモリコントローラ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−NULL)403に含まれる差分情報とを比較する。そして、SYS−USER−Aファイル221Aの作成時から変更された新たな変更位置および変更データを示すデータを含むように、SYS−USER−Aファイル221Aを更新する。そして、仮想マシンマネージャ118は、仮想ディスクファイル(SYS−USER−NULL)403の中身を空にする。そして、仮想マシンマネージャ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も同様に保存されたものである。
ログイン中に、保存の指示またはログアウトの指示を検出すると、ゲスト仮想マシン管理エージェント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情報から、そのユーザの差分ディスクファイル(SYS−USER−B)と差分メモリデータファイル(MEM−USER−B)を、ネットワーク上の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を復帰させる。
仮想マシンマネージャ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は、パススルーしている各種I/Oデバイスと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状態に移行するように指示する(3.2.1)。
仮想マシンマネージャ118は、ドメインの状態を取得する(4)。ドメインがS3状態に移行したら、仮想マシンマネージャ118は、ゲストOSが稼働していた仮想マシンに割り当てられていたメモリの記憶領域に格納されていたデータの保存をゲストメモリコントローラに指示する(5)。先に図7を参照して説明したように、ゲストメモリコントローラは、仮想マシンに割り当てられていたメモリの記憶領域に格納されていたデータと、MEM−COMファイル411が示すデータとの差分を抽出する(5.1)。抽出された差分データと、差分データの格納位置とを示す差分情報を例えばNAS220に格納する(5.2)。
仮想マシンマネージャ118は、ドメインの終了をハイパーバイザ101に指示する(6)。ハイパーバイザ101は、ドメインを終了させる(6.1)。仮想マシンマネージャ118は、I/Oエミュレータ116を終了させる(7)。
図11において、仮想マシンマネージャ118は、MEM−COMファイル411およびログインユーザに対応するMEM−USERファイルを用いてメモリ内のデータのリストアを行うようにゲストメモリコントローラに指示する(8)。
仮想マシンマネージャ118は、ハイパーバイザ101に仮想マシンを実行するためのドメインの生成を指示する(9)。ハイパーバイザ101は、ドメインを生成する(9.1)。
先に図8を用いて説明したように、仮想マシンマネージャ118は、基本仮想ディスクファイル301、システム差分仮想ディスクファイル(SYS−DIFF)302、およびユーザ差分仮想ディスクファイル(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状態に復帰すると、オペレータが操作を開始する(13)。ゲスト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状態に移行するように指示する(15.2.1)。
仮想マシンマネージャ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の記憶領域にデータが復元された場合、オペレーティングシステムをスリープ状態から通常状態へ復帰させることをハイパーバイザに要求することで、ゲスト仮想マシンの起動時やログインユーザの切り替え時に、ゲスト仮想マシンが使用できるようになるまでに待つ時間を短縮することが可能になります。
上記は、作業中のユーザデータ、環境を保存するようにしているが、保存せずに、セットアップ時に保存したディスクイメージとメモリデータにいつもリストアすることで、ゲスト仮想マシンの状態をいつも一定に保つことができる。
学校や教育用のクライアントコンピュータや、不特定者が使用するコンピュータなどデータを保存したくない利用の場合に、再起動なしに、戻すことが可能となる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100…クライアントコンピュータ、101…ハイパーバイザ、102…メモリ、103…I/Oマネージャ、104…メモリマネージャ、105…スケジューラ、110…仮想マシン制御ドメイン、111…制御ドメインOS、112…バックエンドドライバ、117…仮想ACPI、118…仮想マシンマネージャ、120…ゲスト仮想マシン、121…ゲストOS、123…ゲスト仮想マシン管理エージェントプログラム。
Claims (10)
- メモリと、ハイパーバイザ上で動作する仮想マシンの動作環境を制御する制御手段とを具備し、
前記制御手段は、
前記仮想マシン内のオペレーティングシステムに対するログアウト要求に応答して、前記仮想マシンを稼働状態からスリープ状態に移行させる変更手段と、
前記オペレーティングシステムによって使用されていた前記メモリの内容を示す第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のイメージデータに基づく内容に復元された後に、前記仮想マシンを復帰させる
仮想マシンの制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011288105A JP2013137649A (ja) | 2011-12-28 | 2011-12-28 | 情報処理装置および仮想マシンの制御方法 |
US13/608,378 US20130174151A1 (en) | 2011-12-28 | 2012-09-10 | Information processing apparatus and method of controlling virtual machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011288105A JP2013137649A (ja) | 2011-12-28 | 2011-12-28 | 情報処理装置および仮想マシンの制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013137649A true JP2013137649A (ja) | 2013-07-11 |
Family
ID=48696042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011288105A Pending JP2013137649A (ja) | 2011-12-28 | 2011-12-28 | 情報処理装置および仮想マシンの制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130174151A1 (ja) |
JP (1) | JP2013137649A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018116462A (ja) * | 2017-01-18 | 2018-07-26 | 株式会社東芝 | 仮想環境実行装置及びプログラム |
JP2020021519A (ja) * | 2019-11-08 | 2020-02-06 | 富士通株式会社 | 初期化プログラム、初期化方法および情報処理装置 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9971616B2 (en) * | 2013-02-26 | 2018-05-15 | Red Hat Israel, Ltd. | Virtual machine suspension |
US10896155B2 (en) * | 2013-08-23 | 2021-01-19 | Vmware, Inc. | Opening unsupported file types through remoting sessions |
WO2015041636A1 (en) * | 2013-09-17 | 2015-03-26 | Empire Technology Development, Llc | Virtual machine switching based on processor power states |
US9934047B2 (en) * | 2014-03-20 | 2018-04-03 | Intel Corporation | Techniques for switching between operating systems |
US9813258B2 (en) | 2014-03-31 | 2017-11-07 | Tigera, Inc. | Data center networks |
US9344364B2 (en) | 2014-03-31 | 2016-05-17 | Metaswitch Networks Ltd. | Data center networks |
US9559950B2 (en) * | 2014-03-31 | 2017-01-31 | Tigera, Inc. | Data center networks |
US11182185B2 (en) * | 2014-06-27 | 2021-11-23 | Vmware, Inc. | Network-based signaling to control virtual machine placement |
US20160026492A1 (en) * | 2014-07-24 | 2016-01-28 | Samsung Electronics Co., Ltd. | Electronic apparatus for executing virtual machine and method for executing virtual machine |
US10044695B1 (en) | 2014-09-02 | 2018-08-07 | Amazon Technologies, Inc. | Application instances authenticated by secure measurements |
US9584517B1 (en) | 2014-09-03 | 2017-02-28 | Amazon Technologies, Inc. | Transforms within secure execution environments |
US10061915B1 (en) | 2014-09-03 | 2018-08-28 | Amazon Technologies, Inc. | Posture assessment in a secure execution environment |
US9442752B1 (en) * | 2014-09-03 | 2016-09-13 | Amazon Technologies, Inc. | Virtual secure execution environments |
US9754116B1 (en) | 2014-09-03 | 2017-09-05 | Amazon Technologies, Inc. | Web services in secure execution environments |
US9491111B1 (en) | 2014-09-03 | 2016-11-08 | Amazon Technologies, Inc. | Securing service control on third party hardware |
US9577829B1 (en) | 2014-09-03 | 2017-02-21 | Amazon Technologies, Inc. | Multi-party computation services |
US10079681B1 (en) | 2014-09-03 | 2018-09-18 | Amazon Technologies, Inc. | Securing service layer on third party hardware |
US9246690B1 (en) | 2014-09-03 | 2016-01-26 | Amazon Technologies, Inc. | Secure execution environment services |
US9898321B2 (en) * | 2015-07-23 | 2018-02-20 | At&T Intellectual Property I, L.P. | Data-driven feedback control system for real-time application support in virtualized networks |
US9940159B1 (en) * | 2016-06-09 | 2018-04-10 | Parallels IP Holdings GmbH | Facilitating hibernation mode transitions for virtual machines |
US10552194B2 (en) * | 2017-10-23 | 2020-02-04 | Microsoft Technology Licensing, Llc | Virtualization operations for directly assigned devices |
US10642518B1 (en) * | 2018-10-25 | 2020-05-05 | Nutanix, Inc. | System and method for creating high frequency snapshots of an entity in a virtualized environment |
KR102392469B1 (ko) * | 2021-05-04 | 2022-04-29 | 에스디티 주식회사 | 트러블 슈팅을 위한 프로젝트 서버의 복제 방법 및 이를 이용한 클라우드 개발 플랫폼 시스템 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070174429A1 (en) * | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
US8225314B2 (en) * | 2006-03-31 | 2012-07-17 | Intel Corporation | Support for personal computing in a public computing infrastructure by using a single VM delta image for each VM base image utilized by a user |
-
2011
- 2011-12-28 JP JP2011288105A patent/JP2013137649A/ja active Pending
-
2012
- 2012-09-10 US US13/608,378 patent/US20130174151A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018116462A (ja) * | 2017-01-18 | 2018-07-26 | 株式会社東芝 | 仮想環境実行装置及びプログラム |
JP2020021519A (ja) * | 2019-11-08 | 2020-02-06 | 富士通株式会社 | 初期化プログラム、初期化方法および情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20130174151A1 (en) | 2013-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2013137649A (ja) | 情報処理装置および仮想マシンの制御方法 | |
JP5784482B2 (ja) | 情報処理装置および通信制御方法 | |
US9798565B2 (en) | Data processing system and method having an operating system that communicates with an accelerator independently of a hypervisor | |
US9600369B2 (en) | Operating system recovery method and apparatus, and terminal device | |
US9223596B1 (en) | Virtual machine fast provisioning based on dynamic criterion | |
JP4921384B2 (ja) | メモリを1台のバーチャル・マシンからもう一方へダイナミックに再割り当てする方法、装置及びシステム | |
JP5251188B2 (ja) | 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム | |
JP2011100431A (ja) | 仮想マシン制御装置及び仮想マシン制御方法 | |
JP6029550B2 (ja) | 計算機の制御方法及び計算機 | |
CN103019802B (zh) | 一种虚拟机管理方法及平台 | |
US20150269187A1 (en) | Apparatus and method for providing virtual machine image file | |
JP2015503784A (ja) | グラフィックス処理部における仮想マシン間の移行 | |
JP2009259108A (ja) | 情報処理装置および情報処理装置の制御方法 | |
EP2905700B1 (en) | Operating system recovery method, apparatus and terminal device | |
WO2021018267A1 (zh) | 虚拟机热迁移方法和通信设备 | |
JP6165964B2 (ja) | 計算機 | |
KR20110095051A (ko) | 가상화 환경에서의 데이터 처리 방법 및 드라이버 | |
US10210007B2 (en) | Parallel mapping of client partition memory to multiple physical adapters | |
US10783108B2 (en) | Memory management process in a set of information processing devices | |
US9959842B2 (en) | On-screen display at thin client | |
CN101937261A (zh) | 基于通用串行总线的云计算终端 | |
JP2006215648A (ja) | コンピュータの高速起動システム及び方法 | |
Colesa et al. | Fast creation of short-living virtual machines using copy-on-write ram-disks | |
KR20220107775A (ko) | 노하드(No-HDD) 서비스에서 부트스톰을 방지하기 위한 장치 및 방법 | |
JP6244786B2 (ja) | 情報処理装置、ストレージ制御装置、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140205 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140919 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140930 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150217 |