JP2011100431A - 仮想マシン制御装置及び仮想マシン制御方法 - Google Patents

仮想マシン制御装置及び仮想マシン制御方法 Download PDF

Info

Publication number
JP2011100431A
JP2011100431A JP2009276432A JP2009276432A JP2011100431A JP 2011100431 A JP2011100431 A JP 2011100431A JP 2009276432 A JP2009276432 A JP 2009276432A JP 2009276432 A JP2009276432 A JP 2009276432A JP 2011100431 A JP2011100431 A JP 2011100431A
Authority
JP
Japan
Prior art keywords
virtual machine
switching
computer device
hypervisor
computer
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
Application number
JP2009276432A
Other languages
English (en)
Inventor
Hsiang-Tsung Kung
祥重 孔
Teng-Chang Chang
登章 張
Kuang-Ming Wang
曠銘 王
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute for Information Industry
Original Assignee
Institute for Information Industry
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute for Information Industry filed Critical Institute for Information Industry
Publication of JP2011100431A publication Critical patent/JP2011100431A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract


【課題】 単一のシステムに組み込まれる複数の同一機種環境または異機種環境間の仮想マシンを管理・制御する、改善された効果的な仮想マシン制御装置及び方法を提供する。
【解決手段】 実行中の仮想マシンを制御する仮想マシン制御装置であって、
仮想マシンが実行する第1スイッチングハイパーバイザーを有する第1コンピュータデバイス、第2スイッチングハイパーバイザーを有し、前記第2スイッチングハイパーバイザーが第1スイッチングハイパーバイザーと通信する第2コンピュータデバイス、及び前記第1と第2コンピュータデバイスに接続され、前記第1と第2スイッチングハイパーバイザーでアクセス可能となる共通メモリを含む。
【選択図】 図1

Description

本発明は、複数の同一機種環境あるいは異機種環境のCPUで構成されるコンピュータシステム(デスクトップまたはラップトッププラットフォーム等)において実行される仮想マシンの管理・制御に関し、特に、同一のコンピュータプラットフォーム(コンピュータシステム)に属している2つまたは2つ以上のコンピュータデバイス間での実行中の仮想マシンの切り替えを管理・制御する仮想マシン制御装置及び仮想マシン制御方法に関する。
コンピューティングシステムの仮想化は、最近一般的になってきている。仮想化は、オペレーティングシステム(OS)とそれで実行するアプリケーションからコンピュータハードウェアを切り離した新しい層を指している。仮想化技術は、コンピュータハードウェアが1つ以上のオペレーティングシステムの同時実行をサポートするのを可能にする。また、仮想マシンと言われるコンテナに保持された(コンテナのような収容単位ごとに保持・管理された)オペレーティングシステムとそのアプリケーションは、ハイパーバイザー(いわゆる仮想マシンモニタ(VMM)、仮想化OS)によって制御されてスケジュールされる。ハイパーバイザーは、コンピュータシステムにおいて仮想マシン(バーチャルマシン)を実現するための制御プログラムであり、複数の仮想マシンが同時にホストコンピュータで実行するのを可能にするコンピュータソフトウェア/ハードウェアプラットフォームの仮想化ソフトである。ハイパーバイザーは、例えば仮想CPU、メモリと、それで実行するアプリケーションのIOデバイスなどの一組の仮想資源を提供する。ハイパーバイザーは、ホストコンピュータの物理ハードウェアデバイスの一部、または全てを仮想マシンにマッピングして、仮想マシンに含まれる仮想デバイスを作成することができる。ハイパーバイザーは、仮想化したハードウェアデバイスを用いて仮想マシンのサービスとそれで実行する複数の仮想マシンの保護を提供することができる。
現在の仮想化技術は、仮想OSと一組の仮想化したハードウェアデバイスを有する1つ以上の仮想マシンが同一のコンピュータアーキテクチャで実行されるようにすることができる。例えば、現在の仮想化技術を用いると、単一のx86ベースのコンピュータシステムは、1つまたは1つ以上のARMベースの、またはx86ベースの仮想マシンをホスティング(host)することができる。しかし、これは、例えばデスクトップまたはラップトップなどの単一のコンピュータシステムを構成する複数の同一機種環境または異機種環境のCPU間で(例えば、同一アーキテクチャまたは異なるアーキテクチャのCPU間で)、同一の仮想マシンを実行する動的スイッチングをサポートしない。この動的スイッチングをCPU間でサポートすることができれば、これは重要な有利性がある。例えば、期間中に仮想マシンが軽い作業負荷のみをCPUにかけた時、複数の作業負荷が統合されることができるもう1つのCPUに切り替えられることができる。これは、元のCPUが待機モードまたは節電モードに入り、システム全体の電力消費を減少することを可能にする。例えばx86とARMの異機種環境のCPUを有するハイブリッドデスクトップまたはラップトッププラットフォームでは、例えば、x86の仮想マシンは、通常ARM CPUを用いて電力消費を減少するが、CPU−bound x86のアプリケーション(例えば、マルチメディアエンコーディング/デコーディング)を実行するように要求された時、仮想マシンは、x86 CPU上で実行するように動的に切り替えられる可能性がある。
よって、単一のプラットフォームに組み込まれる複数のコンピュータデバイス間で仮想マシンを管理・制御する新しい仮想マシン制御方法が必要となる。
本発明は、単一のコンピュータシステムに組み込まれる複数の同一機種環境または異機種環境間の仮想マシンを管理・制御する、改善された効果的な仮想マシン制御装置及び仮想マシン制御方法を提供することを目的とする。
実行中の仮想マシンを管理・制御する装置(仮想マシン制御装置)としてのコンピュータシステムは、一例として、第1コンピュータデバイス、第2コンピュータデバイスと、共有メモリを含む。第1コンピュータデバイスは、仮想マシンが実行する第1スイッチングハイパーバイザーを有する。第2コンピュータデバイスは、第2スイッチングハイパーバイザーを有し、第2スイッチングハイパーバイザーは、第1スイッチングハイパーバイザーと通信している。共通メモリは、第1と第2コンピュータデバイスに接続され、第1と第2スイッチングハイパーバイザーでアクセス可能となる。第1スイッチングハイパーバイザーは、仮想マシンの状態情報を共有メモリに保存する。前記仮想マシンを第2コンピュータデバイスに切り替えるための切り替え通知を受けた時、第1スイッチングハイパーバイザーは、仮想マシンの実行を中断する。続いて第2スイッチングハイパーバイザーは、共有メモリから仮想マシンの保存された状態情報を得て、仮想マシンの得られた状態情報に基づいて、第2コンピュータデバイスで仮想マシンの実行を再開する。
一実施例では、その間に接続された少なくとも第1と第2コンピュータデバイスと共有メモリを含むコンピュータシステムのコンピュータデバイス間で、実行中の仮想マシンを切り替える仮想マシン制御方法が提供され、第1コンピュータデバイスは、仮想マシンが実行する第1スイッチングハイパーバイザーを有し、第2コンピュータデバイスは、第1スイッチングハイパーバイザーと通信している第2スイッチングハイパーバイザーを有する。前記仮想マシン制御方法は、下記のステップを含む。まず、仮想マシンが第1コンピュータデバイスで実行の時、実行中の仮想マシンの状態情報は、第1コンピュータデバイスの第1スイッチングハイパーバイザーで共有メモリに保存される。続いて仮想マシンを第2コンピュータデバイスに切り替えるための切り替え通知が受けられる。その後、仮想マシンの保存された状態情報が共有メモリから得られ、仮想マシンの実行が仮想マシンの得られた状態情報に基づいて、第2スイッチングハイパーバイザーによって第2コンピュータデバイスで再開される。
この仮想マシン制御装置と仮想マシン制御方法は、有形的表現媒体に組み込まれるプログラムコードの形をとることができる。プログラムコードが機械によってロードされて実行された時、前記機械は、前記方法を実施する装置となる。
本発明の一実施形態を説明するためのコンピュータシステムの構成を示す図である。 図1に示すコンピュータシステムの共有メモリを示す図である。 図1に示すコンピュータシステムで、実行中の仮想マシンを選択する方法の一実施形態を示す流れ図である。 図1に示すコンピュータシステムで、実行中の仮想マシンを第1コンピュータデバイスから第2コンピュータデバイスに切り替える切り替え方法を示す流れ図である。
本発明についての目的、特徴、長所が一層明確に理解されるよう、以下に実施形態を例示し、図面を参照にしながら、詳細に説明する。
図1は、本発明の一実施形態としての、本発明に係る装置及び方法を適用したコンピュータシステム100の構成を示す図である。コンピュータシステム100は、少なくとも2つまたは2つ以上のコンピュータデバイス110と120、共有メモリ130と、接続インターフェース140を含む。仮想マシン150は、コンピュータデバイス110とコンピュータデバイス120とにおいて実行することができ、また、コンピュータデバイス110とコンピュータデバイス120との間で実行を切り替えることができる。各コンピュータデバイスは、コンピュータデバイスの動作を制御する処理ユニットと、仮想マシン150の実行を処理するスイッチングハイパーバイザー(switching hypervisor)を更に含むことができる。コンピュータデバイス110と120のスイッチングハイパーバイザーによって作り出されて制御された仮想マシン150は、仮想中央処理装置(CPU)、メモリと、一組の仮想ハードウェアデバイスを含むことができる。例えば、図1に示されるように、コンピュータデバイス110は、コンピュータデバイス110の動作を制御する処理ユニット112と、仮想マシン150の実行を処理する第1スイッチングハイパーバイザー114を含むことができる。コンピュータデバイス120は、処理ユニット122と、第1スイッチングハイパーバイザー114と通信し、仮想マシンの実行を処理する第2スイッチングハイパーバイザー124を含むことができる。コンピュータデバイス120は、接続インターフェース140によってコンピュータデバイス110に接続される。
コンピュータデバイス110と120は、同じまたは異なる処理ユニットタイプとハードウェアデバイスの処理ユニットを有することができる。一実施例では、例えばコンピュータデバイス110と120は、例えばx86シリーズCPUの同じ処理ユニットタイプの処理ユニットを有し、例えばWindowベースのオペレーティングシステム(OS)などの同じOSを稼動することができる。もう1つの実施例では、コンピュータデバイス110と120は、異なるOSを稼動する、異なる処理ユニットタイプの処理ユニットを有することができる。例えば、コンピュータデバイス110の処理ユニットタイプは、x86シリーズCPUであることができ、コンピュータデバイス120の処理ユニットタイプは、ARMプロセッサであることができる。また、コンピュータデバイス110のOSのタイプは、WindowベースのOSで、コンピュータデバイス120のOSのタイプは、LinuxベースのOSであることができる。
共有メモリ130は、コンピュータデバイス110と120に接続されてアクセス可能となり、よって第1と第2スイッチングハイパーバイザー114と124でもアクセス可能となる。共有メモリ130は、実行中の仮想マシンまたは一部の物理メモリで用いられる全ての物理メモリをホスティングすることができる。注意するのは、共有メモリ130は、ソフトウェア(例えば、別々のメモリシステムの収集(collection)に共有表示(view)を提供するデーモン)で、または例えばどのタイプでも大域的にアクセス可能なメモリ構造のハードウェアで実施されることができる。コンピュータデバイス110と120は、接続インターフェース140によって共有メモリ130に接続することができる。接続インターフェース140は、第1スイッチングハイパーバイザー114が第2スイッチングハイパーバイザー124と通信するように、コンピュータデバイス110とコンピュータデバイス120に接続される。接続インターフェース140は、例えばどのタイプのバスデバイス、例えばPCI−Eバスデバイスであることができる。
動作では、一般に仮想マシン150で実行している第1スイッチングハイパーバイザー114は、仮想マシン150の状態情報を共有メモリ130に持続的に保存することができる。仮想マシン150の状態情報は、例えば、CPUレジスタと状態、周辺機器の状態と、コンピュータデバイス110または120の仮想マシン150のメモリ内容に関する情報を含むことができる。
CPUレジスタと状態、周辺機器の状態と、コンピュータデバイス110の仮想マシン150のメモリ内容に関する情報は、共有メモリ130の特定の記憶場所に保存されることができる。よって、仮想マシン150の実行がコンピュータデバイス120に切り替えられた時、コンピュータデバイス120は、共有メモリ130の特定の記憶場所から保存された情報を直接読み出し、仮想マシン150の状態情報を得ることができる。
図2は、本発明の共有メモリ130の実施例を示している。図2に示されるように、例えば、メモリアドレスX、メモリアドレスYと、メモリアドレスZがCPUレジスタと状態、周辺機器の状態と、仮想マシンのメモリ内容に関する情報を含むメモリブロックの先頭(starting)アドレスをそれぞれ示すことで、コンピュータデバイス120は、例えば、共有メモリ130のメモリアドレスXから仮想マシンのCPUレジスタと状態に関する情報を得ることができる。
実行中の仮想マシンをユーザーがコンピュータデバイス110からコンピュータデバイス120に切り替えようとした時、仮想マシン150をコンピュータデバイス120に切り替えるための切り替え通知が発動され、第1スイッチングハイパーバイザー114に伝送される。切り替え通知を受けた時、第1スイッチングハイパーバイザー114は、仮想マシン150の実行を中断し、接続インターフェース140によって切り替え通知を第2スイッチングハイパーバイザー124にパスする。切り替え通知を受けた後、第2スイッチングハイパーバイザー124は、共有メモリ130から仮想マシン150の保存された状態情報を得る。また、仮想マシンは、共有メモリ130から仮想マシン150の得られた状態情報に基づいて、コンピュータデバイス120で実行するように構成され、コンピュータデバイス120で仮想マシン150の実行を再開する。コンピュータデバイス110のCPUレジスタと状態、周辺機器の状態と、仮想マシンのメモリ内容に関する情報が共有メモリ130の特定の記憶場所に保存されることができることから(例えば図2に示すように)、コンピュータデバイス120は、共有メモリ130の特定の記憶場所から保存された情報を直接読み出し、仮想マシン150の状態情報を得ることができる。
図3は、本発明に係る装置、システムで、実行中の仮想マシンを選択する方法の実施例の流れ図である。ユーザーがコンピュータシステム100を起動した時、コンピュータデバイス110は、まず初期設定で起動されることができる。よって、コンピュータデバイス110のハードウェア構成は、ハードウェアを起動するように初期化され(ステップS310)、続いて、そのスイッチングハイパーバイザー114が初期化される(ステップS320)。スイッチングハイパーバイザー114が初期化された後、仮想マシンを構成することができる。第1スイッチングハイパーバイザー114は、記憶媒体(例えばハードディスク、読み出し専用メモリまたはフラッシュメモリ)に保存された既定の設定、またはユーザー選択に基づいて、複数の既定の仮想マシンの設定の中でコンピュータデバイス110の実行中の仮想マシンとなるように仮想マシンを更に選ぶことができる(ステップS330)。仮想マシン150の構成が決定された後、スイッチングハイパーバイザー114は、選ばれた仮想マシンを起動し、それがコンピュータデバイス110のOSとして機能することができる(ステップS340)。注意するのは、仮想マシン150の構成は、CPUタイプ(例えば、CPUアーキテクチャ)構成と仮想マシン150の周辺構成を含むことができる。仮想マシン150のCPUタイプ構成がコンピュータデバイス110の構成と適合しない場合(例えば、仮想マシン150のCPUタイプ構成は、ARMベースのCPUアーキテクチャであり、コンピュータデバイス110のCPUタイプは、Intel x86ベースのCPUアーキテクチャである)、仮想マシンは、コンピュータデバイス110で実行されるようにコンピュータデバイス110で実行できる一組の仮想ハードウェアデバイスをシミュレートするように求められることができる。仮想マシンに用いられるハードウェアアーキテクチャがコンピュータデバイス110で用いられるのと異なる時、仮想マシン150は、命令変換(instruction translator)、または命令エミュレータを更に用いて第1コンピュータデバイス110の命令セットをシミュレートすることができるため、仮想マシン150のオペレーティングシステムとユーザーアプリケーションがホストコンピュータデバイス110で動作されることができる。
仮想マシン150がホストコンピュータデバイス110で実行された後、本発明の仮想マシン制御方法は、実行中の仮想マシンを第1コンピュータデバイスから第1コンピュータデバイスにスイッチするように更に実施されることができる。
図4は、本発明に係る装置、システムで、実行中の仮想マシンを第1コンピュータデバイスから第2コンピュータデバイスに切り替える、切り替え方法(仮想マシン制御方法)の実施例の流れ図である。図1に示されるように、切り替え方法は、コンピュータシステム100に用いられることができる。まず、ステップS410では、仮想マシンが第1コンピュータデバイスで現在実行されると仮定し(即ち、コンピュータデバイス)、実行中の時に常に第1スイッチングハイパーバイザー114が仮想マシンの状態情報の全てを共有メモリ130に書き込む。仮想マシン150の状態情報は、例えば、CPUレジスタと状態、周辺機器の状態と、コンピュータデバイス110の仮想マシン150のメモリ内容に関する情報を含むことができる。仮想マシン150の状態情報は、共有メモリ130の特定の記憶場所に保存されることができる。続いてステップS420では、切り替え通知が受け取られたかどうか判断される。通知が受け取られてない場合、ステップS410は、第1スイッチングハイパーバイザー114によって持続的に実施され、仮想マシンの状態情報の全てを書き込む。ユーザーが仮想マシンの実行を第2コンピュータデバイス(即ちコンピュータデバイス120)に切り替えようとした時、ユーザーは、切り替え通知を第1スイッチングハイパーバイザー114に出す。切り替え通知は、仮想マシンと、共有メモリ130の仮想マシンの状態情報のために切り替えられるコンピュータデバイスと仮想マシンの状態情報のメモリアドレスの情報を含む。切り替え通知を受けた後(ステップS420でYes)、ステップS430では、第1スイッチングハイパーバイザー114は、第2スイッチングハイパーバイザー124と通信し、第2スイッチングハイパーバイザー124に新しい仮想マシンインスタンスを準備するように知らせ、現在実行中の仮想マシンの状態情報を受ける。また、第1スイッチングハイパーバイザー114は、仮想マシンの全ての動作を中断することができる。ターゲットのコンピュータデバイス(即ち、コンピュータデバイス120)の新しい仮想マシンインスタンスが整った後、ステップS440では、第1スイッチングハイパーバイザー114は、第2スイッチングハイパーバイザー124に共有メモリ130の仮想マシンの状態情報のメモリアドレスの情報を読み込むように知らせ、前に実行の仮想マシンの状態情報を得て、ターゲットのコンピュータデバイスで、実行中の仮想マシンを再開する。
この実施例では、仮想マシンの状態情報は、ターゲットのコンピュータデバイスにコピーされるのでなく、共有メモリ130に持続的に更新されて保存されるため、ターゲットのコンピュータデバイスは、特定の記憶場所で共有メモリ130から状態情報を読み込み、切り替え通知を受けることで、仮想マシンの実行を即時に開始することができる。
いくつかの実施例では、コンピュータデバイス110と120は、異なる処理ユニットタイプ及び/または異なる実行OSの処理ユニットを有することができる。例えばコンピュータデバイス110の処理ユニットタイプは、x86シリーズCPUであることができ、コンピュータデバイス120の処理ユニットタイプは、ARMプロセッサであることができる。また、コンピュータデバイス110のOSのタイプは、WindowベースのOSであることができ、コンピュータデバイス120のウィンドウシステム124のOSのタイプは、LinuxベースのOSであることができる。コンピュータデバイス110の実際のハードウェア周辺機器は、コンピュータデバイス120のそれと同じでないことから、コンピュータデバイス120は、コンピュータデバイス110で用いられる特定のハードウェアデバイスに直接適合することができない可能性がある。よって、いくつかの方法が上述のハードウェアの不適合問題を克服するように提供される。
例えば、一実施例では、コンピュータデバイス110は、プラグ可能デバイスを含み、コンピュータデバイス120は、プラグ可能デバイスに差し込みが適合するプラグ可能インターフェースを含むものとされる。この場合、切り替え通知を受けた後、プラグ可能デバイスは、まず、コンピュータデバイス110から取り除かれ、続いてプラグ可能インターフェースを介してそれによって用いられるコンピュータデバイス120に差し込まれることができる。例えば、プラグ可能デバイスは、プラグアンドプレイ機能をサポートするUSBデバイスであることができ、よって、プラグ可能インターフェースは、USBインターフェースである。
もう1つの実施例では、コンピュータデバイス110で用いられる特定のハードウェアデバイスがコンピュータデバイス120に存在しない場合、第2スイッチングハイパーバイザー124は、コンピュータデバイス120のハードウェアデバイスから対応するハードウェアデバイスとして、特定のハードウェアデバイスと類似した機能を有するハードウェアデバイスを更に選ぶことができる。例えば、マウスデバイスがコンピュータデバイス110で用いられているが、コンピュータデバイス120に存在していない場合、第2スイッチングハイパーバイザー124は、マウスデバイス(例えばタッチパネル)と類似した機能のハードウェアデバイスを選ぶことができる。
もう1つの実施例では、コンピュータデバイス110で用いられる特定のハードウェアデバイスがコンピュータデバイス120に存在せず、且つ対応するハードウェアデバイスがない場合、第2スイッチングハイパーバイザー124は、ソフトウェアモジュールで特定のハードウェアデバイスを実装するか、または第2スイッチングハイパーバイザー124は、第1スイッチングハイパーバイザー114と更に通信して、コンピュータデバイス110で特定のハードウェアデバイスの元の設定を用い、続いてコンピュータデバイス110と120間の接続インターフェース140を介して仮想デバイスを用いて仮想デバイスを設定することができる。
注意するのは、説明のために、2つのコンピュータデバイスのみが上述の実施例の仮想マシンの実行を切り替えるのに用いられるが、本発明はこれを限定するものではない。言い換えれば、2つ以上のコンピュータデバイスは共有メモリの直接アクセスによって、実行中の仮想マシンの状態情報を共有することができ、続いて本発明の切り替え方法(仮想マシン制御方法)を用いて仮想マシンを異なるコンピュータデバイスに切り替えることができる。
要約すると、コンピュータデバイス間で、実行中の仮想マシンを切り替える本発明に係る装置及び方法によれば、特に同一機種環境と異機種環境のCPUで構成されるデスクトップまたはラップトッププラットフォームで実行中の仮想マシンの管理に複数の仮想マシンインスタンスが同時に動作されることができる。仮想マシンは、命令変換によって同じCPUシステム(例えば、同じCPUアーキテクチャ)を有する装置上で、または異なるCPUシステム(例えば、異なるCPUアーキテクチャ)を有するコンピュータシステムでホスティングされることができる。本発明のスイッチングハイパーバイザーを用いれば、仮想マシンの必要不可欠(essential)な状態(例えば、CPUレジスタの状態)は、関連する複数のコンピュータデバイスでアクセス可能な共有メモリに保存されることができるため、仮想マシンを再開する待機時間が短くなる。即ち、スイッチングハイパーバイザーは、1つのコンピュータデバイスからもう1つのコンピュータデバイスにそれらをコピーすることなく、共有メモリによって仮想マシンの状態を転送することができ、仮想マシンが同一機種環境または異機種環境のコンピュータデバイスで実行されるように動的に切り替えられることができて、リアルタイム、またはほぼリアルタイムで同じプラットフォームに属しているコンピュータデバイス間で転送することができる。
本発明に係る仮想マシン制御装置と仮想マシン制御方法(切り替え方法)、または本発明の特定の態様または部分は、例えばフレキシブルディスク、CD−ROM 、ハードディスク、または他の機械読み取り可能な記憶媒体などの有形的表現媒体に組み込まれるプログラムコードの形をとることができる。プログラムコードは、例えばコンピュータなどの機械によってロードされて実行された時、前記機械は、それによって前記方法を実施する装置となる。前記方法は、光ファイバーを通して、またはその他の伝送形態を通して、例えば電気配線またはケーブルなどのいくつかの伝送媒体を介して伝送されたプログラムコードの形で組み込まれることもできる。例えばコンピュータなどの機械にプログラムコードが受信されてロードされ、実行された時、前記機械は、上述の方法を実施する装置となる。汎用プロセッサに実施された時、プログラムコードは、プロセッサと組み合わせられ、特定用途向けロジック回路に類似して動作する固有の装置を提供する。
以上、本発明の好適な実施例を例示したが、これは本発明を限定するものではなく、本発明の精神及び範囲を逸脱しない限りにおいては、当業者であれば行い得る少々の変更や修飾を付加することが可能である。従って、本発明が請求する保護範囲は、特許請求の範囲を基準とする。
100 コンピュータシステム
110 コンピュータデバイス
112 処理ユニット
114 第1スイッチングハイパーバイザー
120 コンピュータデバイス
122 処理ユニット
124 第2スイッチングハイパーバイザー
130 共有メモリ
140 接続インターフェース
150 仮想マシン

Claims (22)

  1. 実行中の仮想マシンを制御する仮想マシン制御装置であって、
    第1スイッチングハイパーバイザーを有する第1コンピュータデバイス、
    前記第1スイッチングハイパーバイザーと通信可能な第2スイッチングハイパーバイザーを有する第2コンピュータデバイス、及び
    前記第1と第2コンピュータデバイスに接続され、前記第1と第2スイッチングハイパーバイザーでアクセス可能となる共通メモリを含み、
    前記第1スイッチングハイパーバイザーは、当該第1スイッチングハイパーバイザーで仮想マシンを実行している時、当該仮想マシンの状態情報を前記共有メモリに保存し、前記仮想マシンを前記第2コンピュータデバイスで実行するように切り替えるための切り替え通知を受けた時、前記仮想マシンの実行を中断し、
    前記第2スイッチングハイパーバイザーは、前記共有メモリから前記仮想マシンの前記保存された状態情報を得て、前記仮想マシンの前記得られた状態情報に基づいて、前記第2コンピュータデバイスで前記仮想マシンの実行を再開する仮想マシン制御装置。
  2. 前記第2スイッチングハイパーバイザーは、当該第2スイッチングハイパーバイザーで仮想マシンを実行している時であって前記仮想マシンの状態情報が更新された時は、前記仮想マシンの状態情報を前記共有メモリに更に持続的に保存する請求項1に記載の仮想マシン制御装置。
  3. 前記仮想マシンの状態情報は、CPUレジスタと状態、周辺機器の状態と、前記第1コンピュータデバイスまたは前記第2コンピュータデバイスの前記仮想マシンのメモリ内容に関する情報を少なくとも含む請求項1に記載の仮想マシン制御装置。
  4. 前記CPUレジスタと状態、前記周辺機器の状態と、前記第1コンピュータデバイスの前記仮想マシンのメモリ内容に関する情報は、前記共有メモリの特定の記憶場所に保存され、前記第2コンピュータデバイスは、そこから前記保存された情報を読み出し、前記仮想マシンの状態情報を得る請求項3に記載の仮想マシン制御装置。
  5. 前記第1コンピュータデバイスと、前記第1スイッチングハイパーバイザーを前記第2スイッチングハイパーバイザーに通信させる前記第2コンピュータデバイスに接続された接続インターフェースを更に含む請求項1に記載の仮想マシン制御装置。
  6. 前記接続インターフェースのユニットは、PCI−Eバスを含む請求項5に記載の仮想マシン制御装置。
  7. 前記第1スイッチングハイパーバイザーは、既定の設定またはユーザー選択に基づいて、複数の既定の仮想マシンの設定の中で前記第1コンピュータデバイスの前記実行中の仮想マシンとなるように仮想マシンの設定を更に選ぶ請求項1に記載の仮想マシン制御装置。
  8. 前記仮想マシンは、前記仮想マシンに用いられるハードウェアアーキテクチャが前記第1コンピュータデバイスで用いられるのと異なる時、前記第1コンピュータデバイスの命令セットをシミュレートする、命令変換または命令エミュレータを更に用いる請求項1に記載の仮想マシン制御装置。
  9. 前記第1コンピュータデバイスはARMベースのコンピュータデバイスであり、前記第2コンピュータデバイスはx86ベースのコンピュータデバイスであるか、あるいはまた、前記第1コンピュータデバイスはx86ベースのコンピュータデバイスであり、前記第2コンピュータデバイスはARMベースのコンピュータデバイスであるか、いずれかである請求項8に記載の仮想マシン制御装置。
  10. 前記第1コンピュータデバイスは、プラグ可能デバイスを更に含み、前記第2コンピュータデバイスは、前記プラグ可能デバイスに差し込みが適合するプラグ可能インターフェースを含み、前記切り替え通知を受けた後、前記プラグ可能デバイスは、前記第1コンピュータデバイスから更に取り除かれ、前記プラグ可能インターフェースを介してそれによって用いられる前記コンピュータデバイスに差し込まれる請求項9に記載の仮想マシン制御装置。
  11. 特定のハードウェアデバイスが前記第2コンピュータデバイスに存在しない場合、前記第2スイッチングハイパーバイザーは、対応するハードウェアデバイスとして前記特定のハードウェアデバイスと類似した機能を有するハードウェアデバイスを更に選ぶか、またはソフトウェアモジュールで前記特定のハードウェアデバイスを実装する請求項9に記載の仮想マシン制御装置。
  12. 特定のハードウェアデバイスが前記第2コンピュータデバイスに存在しない場合、前記第2スイッチングハイパーバイザーは、前記第1スイッチングハイパーバイザーと更に通信して、前記第1と第2コンピュータデバイス間の接続インターフェースを介して、前記第1コンピュータデバイスで前記特定のハードウェアデバイスの元の設定を用いて仮想デバイスを設定する請求項9に記載の仮想マシン制御装置。
  13. 前記第1と第2コンピュータデバイスは、異機種環境のCPUを有する請求項1に記載の仮想マシン制御装置。
  14. 第1スイッチングハイパーバイザーを有する第1コンピュータデバイスと前記第1スイッチングハイパーバイザーと通信可能な第2スイッチングハイパーバイザーを有する第2コンピュータデバイスとを少なくとも含む複数のコンピュータデバイスと、共有メモリとを含むコンピュータシステムで、実行中の仮想マシンを切り替える仮想マシン制御方法であって、
    前記仮想マシンが前記第1コンピュータデバイスで実行されている時、前記実行中の仮想マシンの状態情報を前記第1コンピュータデバイスの前記第1スイッチングハイパーバイザーが前記共有メモリに保存するステップ、
    前記仮想マシンを前記第2コンピュータデバイスに切り替えるための切り替え通知を受けるステップ、前記第1スイッチングハイパーバイザーによって前記仮想マシンの実行が中断されるステップ、及び
    前記第2スイッチングハイパーバイザーによって前記共有メモリから前記仮想マシンの保存された状態情報が獲得され、前記仮想マシンの前記獲得された状態情報に基づいて、前記第2コンピュータデバイスの前記第2スイッチングハイパーバイザーにより前記第2コンピュータデバイスで前記仮想マシンの実行が再開されるステップ
    を含む仮想マシン制御方法。
  15. 前記仮想マシンの状態情報が更新された時、前記仮想マシンの状態情報を前記共有メモリに持続的に保存するステップを更に含む請求項14に記載の仮想マシン制御方法。
  16. 前記仮想マシンの状態情報は、CPUレジスタと状態、周辺機器の状態と、前記第1コンピュータデバイスまたは前記第2コンピュータデバイスの前記仮想マシンのメモリ内容に関する情報を少なくとも含む請求項14に記載の仮想マシン制御方法。
  17. 前記CPUレジスタと状態、前記周辺機器の状態と、前記第1コンピュータデバイスの前記仮想マシンのメモリ内容に関する情報は、前記共有メモリの特定の記憶場所に保存され、前記第2コンピュータデバイスは、そこから前記保存された情報を読み出し、前記仮想マシンの状態情報を得る請求項16に記載の仮想マシン制御方法。
  18. 前記第1スイッチングハイパーバイザーによって、既定の設定またはユーザー選択に基づいて、複数の既定の仮想マシンの設定の中で前記第1コンピュータデバイスの前記実行中の仮想マシンとなるように仮想マシンの設定を更に選ぶステップを更に含む請求項14に記載の仮想マシン制御方法。
  19. 前記仮想マシンは、前記仮想マシンに用いられるハードウェアアーキテクチャが前記第1コンピュータデバイスで用いられるのと異なる時、前記第1コンピュータデバイスの命令セットをシミュレートする、命令変換または命令エミュレータを更に用いる請求項14に記載の仮想マシン制御方法。
  20. 前記第1コンピュータデバイスは、プラグ可能デバイスを更に含み、前記第2コンピュータデバイスは、前記プラグ可能デバイスに差し込みが適合するプラグ可能インターフェースを含み、前記切り替え通知を受けた後、前記プラグ可能デバイスは、前記第1コンピュータデバイスから更に取り除かれ、前記プラグ可能インターフェースを介してそれによって用いられる前記コンピュータデバイスに差し込まれる請求項14に記載の仮想マシン制御方法。
  21. 特定のハードウェアデバイスが前記第2コンピュータデバイスに存在しない場合、前記第2スイッチングハイパーバイザーは、対応するハードウェアデバイスとして前記特定のハードウェアデバイスと類似した機能を有するハードウェアデバイスを更に選ぶか、またはソフトウェアモジュールで前記特定のハードウェアデバイスを実装する請求項14に記載の仮想マシン制御方法。
  22. 前記第1と第2コンピュータデバイスは、異機種環境のCPUを有する請求項14に記載の仮想マシン制御方法。
JP2009276432A 2009-11-09 2009-12-04 仮想マシン制御装置及び仮想マシン制御方法 Pending JP2011100431A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/614,860 US20110113426A1 (en) 2009-11-09 2009-11-09 Apparatuses for switching the running of a virtual machine between multiple computer devices belonging to the same computer platform and the associated switching methods

Publications (1)

Publication Number Publication Date
JP2011100431A true JP2011100431A (ja) 2011-05-19

Family

ID=42084232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009276432A Pending JP2011100431A (ja) 2009-11-09 2009-12-04 仮想マシン制御装置及び仮想マシン制御方法

Country Status (6)

Country Link
US (1) US20110113426A1 (ja)
JP (1) JP2011100431A (ja)
CN (1) CN102053857A (ja)
DE (1) DE102010001985A1 (ja)
GB (1) GB2475357B (ja)
TW (1) TW201117100A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012173137A1 (ja) * 2011-06-13 2012-12-20 日本電気株式会社 情報処理システム、情報処理装置、ストレージ装置、およびプログラム
JP2012256309A (ja) * 2011-06-08 2012-12-27 Shijin Kogyo Sakushinkai 異種計算機システムにおけるプロセッサブリッジ
WO2015001615A1 (ja) 2013-07-02 2015-01-08 富士通株式会社 仮想マシン管理方法,仮想マシン管理装置,および仮想マシン管理プログラム
JP2016504673A (ja) * 2012-12-03 2016-02-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation プロセスをマイグレートするためのコンピュータ実装方法、コンピュータベースのシステム、およびコンピュータ可読媒体(異種コンピューティング環境におけるプロセスのマイグレーションのための方法およびシステム)
KR20160067180A (ko) * 2013-10-11 2016-06-13 브이엠웨어, 인코포레이티드 가상 머신들을 관리하는 장치 및 방법

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI451245B (zh) * 2011-09-14 2014-09-01 Inst Information Industry 虛擬機器監控方法、系統及儲存其之電腦可讀取紀錄媒體
US9767058B2 (en) * 2011-11-17 2017-09-19 Futurewei Technologies, Inc. Method and apparatus for scalable low latency solid state drive interface
US20130135816A1 (en) * 2011-11-17 2013-05-30 Futurewei Technologies, Inc. Method and Apparatus for Scalable Low Latency Solid State Drive Interface
US9372735B2 (en) 2012-01-09 2016-06-21 Microsoft Technology Licensing, Llc Auto-scaling of pool of virtual machines based on auto-scaling rules of user associated with the pool
US9170849B2 (en) * 2012-01-09 2015-10-27 Microsoft Technology Licensing, Llc Migration of task to different pool of resources based on task retry count during task lease
US8904008B2 (en) 2012-01-09 2014-12-02 Microsoft Corporation Assignment of resources in virtual machine pools
CN103415838B (zh) 2012-03-21 2016-10-05 广州市飞元信息科技有限公司 支持用户自定义的虚拟操作空间系统及其操作方法和支撑系统
US9160815B2 (en) * 2012-06-28 2015-10-13 Intel Corporation Method and apparatus for virtual machine interoperability
US9330013B2 (en) 2012-06-28 2016-05-03 Industrial Technology Research Institute Method of cloning data in a memory for a virtual machine, product of computer programs and computer system therewith
TWI475489B (zh) * 2012-06-28 2015-03-01 Ind Tech Res Inst 複製虛擬機器的記憶體資料的方法、其電腦程式產品以及電腦系統
US9547515B2 (en) 2012-07-25 2017-01-17 Hewlett-Packard Development Company, L.P. Convert a gesture
US10684875B2 (en) 2012-12-06 2020-06-16 At&T Intellectual Property I, L.P. Synchronization of a virtual machine across mobile devices
CN103729233A (zh) * 2013-12-20 2014-04-16 中电长城网际系统应用有限公司 一种多虚拟机管理方法和装置
US9411765B2 (en) 2013-12-20 2016-08-09 Qualcomm Incorporated Methods of using a peripheral component interconnect express (PCIE) device in a virtual environment
WO2015122007A1 (ja) * 2014-02-17 2015-08-20 株式会社日立製作所 計算機、及び、ハイパバイザによる資源スケジューリング方法
TWI515599B (zh) * 2014-03-17 2016-01-01 Chunghwa Telecom Co Ltd Computer program products and methods for monitoring and defending security
CN104253860B (zh) * 2014-09-11 2017-08-08 武汉噢易云计算股份有限公司 一种基于共享存储消息队列的虚拟机高可用实现方法
US9612860B2 (en) * 2015-03-24 2017-04-04 International Business Machines Corporation Sharing memory between guests by adapting a base address register to translate pointers to share a memory region upon requesting for functions of another guest
US9606827B2 (en) 2015-03-24 2017-03-28 International Business Machines Corporation Sharing memory between guests by adapting a base address register to translate pointers to share a memory region upon requesting for functions of another guest
CN104750578A (zh) * 2015-04-13 2015-07-01 成都双奥阳科技有限公司 具有三种操作系统的访问控制设备
US10740131B2 (en) 2017-06-14 2020-08-11 Red Hat, Inc. Input-output based virtual CPU halt
US10972449B1 (en) * 2018-06-28 2021-04-06 Amazon Technologies, Inc. Communication with components of secure environment
CN108880898B (zh) * 2018-06-29 2020-09-08 新华三技术有限公司 主备容器系统切换方法及装置
CN111124536B (zh) * 2019-12-12 2024-03-22 诚迈科技(南京)股份有限公司 基于数据隔离的双系统的数据共享方法和装置、终端设备
CN113467884A (zh) * 2021-05-25 2021-10-01 阿里巴巴新加坡控股有限公司 资源配置方法和装置、电子设备及计算机可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03206528A (ja) * 1989-11-30 1991-09-09 Nec Corp 情報処理システム
JP2003330737A (ja) * 2002-05-15 2003-11-21 Hitachi Ltd 計算機システム
JP2004234114A (ja) * 2003-01-28 2004-08-19 Toshiba Corp 計算機システム、計算機装置、オペレーティングシステムの移送方法及びプログラム
JP2005327279A (ja) * 2004-05-11 2005-11-24 Internatl Business Mach Corp <Ibm> 仮想計算機をマイグレーションするためのシステム、方法、およびプログラム
WO2009069385A1 (ja) * 2007-11-27 2009-06-04 Nec Corporation デバイス検出装置、デバイス検出方法及びプログラム
JP2009205696A (ja) * 2009-06-15 2009-09-10 Hitachi Ltd マルチコアプロセッサ計算機の制御方法
JP2009217608A (ja) * 2008-03-11 2009-09-24 Hitachi Ltd 仮想計算機システム及びその制御方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7213246B1 (en) * 2002-03-28 2007-05-01 Veritas Operating Corporation Failing over a virtual machine
US7484208B1 (en) * 2002-12-12 2009-01-27 Michael Nelson Virtual machine migration
JP2004258840A (ja) * 2003-02-25 2004-09-16 Hitachi Ltd 仮想化されたi/oデバイスをもつ計算機システム
US7203944B1 (en) * 2003-07-09 2007-04-10 Veritas Operating Corporation Migrating virtual machines among computer systems to balance load caused by virtual machines
US7383405B2 (en) * 2004-06-30 2008-06-03 Microsoft Corporation Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity
US8015561B2 (en) * 2004-12-28 2011-09-06 Sap Ag System and method for managing memory of Java session objects
US7730486B2 (en) * 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems
US7680643B2 (en) * 2005-11-17 2010-03-16 International Business Machines Corporation Method for carrying multiple suspended runtime images
US7536541B2 (en) * 2006-03-07 2009-05-19 Novell Inc. Parallelizing multiple boot images with virtual machines
US8856781B2 (en) * 2006-09-14 2014-10-07 Intel Corporation Method and apparatus for supporting assignment of devices of virtual machines
US7624240B1 (en) * 2006-10-17 2009-11-24 Vmware, Inc. Separate swap files corresponding to different virtual machines in a host computer system
US7673113B2 (en) * 2006-12-29 2010-03-02 Intel Corporation Method for dynamic load balancing on partitioned systems
US7743389B2 (en) * 2007-11-06 2010-06-22 Vmware, Inc. Selecting between pass-through and emulation in a virtual machine environment
US8359593B2 (en) * 2008-04-21 2013-01-22 Vmware, Inc. Computer machine migration of file system images using a redo-log file
US7886183B2 (en) * 2008-08-07 2011-02-08 Symantec Operating Corporation Providing fault tolerant storage system to a cluster
US8352952B2 (en) * 2008-12-01 2013-01-08 Citrix Systems, Inc. Systems and methods for facilitating virtualization of a heterogeneous processor pool
US8146082B2 (en) * 2009-03-25 2012-03-27 Vmware, Inc. Migrating virtual machines configured with pass-through devices
US8150971B2 (en) * 2009-05-31 2012-04-03 Red Hat Israel, Ltd. Mechanism for migration of client-side virtual machine system resources

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03206528A (ja) * 1989-11-30 1991-09-09 Nec Corp 情報処理システム
JP2003330737A (ja) * 2002-05-15 2003-11-21 Hitachi Ltd 計算機システム
JP2004234114A (ja) * 2003-01-28 2004-08-19 Toshiba Corp 計算機システム、計算機装置、オペレーティングシステムの移送方法及びプログラム
JP2005327279A (ja) * 2004-05-11 2005-11-24 Internatl Business Mach Corp <Ibm> 仮想計算機をマイグレーションするためのシステム、方法、およびプログラム
WO2009069385A1 (ja) * 2007-11-27 2009-06-04 Nec Corporation デバイス検出装置、デバイス検出方法及びプログラム
JP2009217608A (ja) * 2008-03-11 2009-09-24 Hitachi Ltd 仮想計算機システム及びその制御方法
JP2009205696A (ja) * 2009-06-15 2009-09-10 Hitachi Ltd マルチコアプロセッサ計算機の制御方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012256309A (ja) * 2011-06-08 2012-12-27 Shijin Kogyo Sakushinkai 異種計算機システムにおけるプロセッサブリッジ
WO2012173137A1 (ja) * 2011-06-13 2012-12-20 日本電気株式会社 情報処理システム、情報処理装置、ストレージ装置、およびプログラム
JP2016504673A (ja) * 2012-12-03 2016-02-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation プロセスをマイグレートするためのコンピュータ実装方法、コンピュータベースのシステム、およびコンピュータ可読媒体(異種コンピューティング環境におけるプロセスのマイグレーションのための方法およびシステム)
WO2015001615A1 (ja) 2013-07-02 2015-01-08 富士通株式会社 仮想マシン管理方法,仮想マシン管理装置,および仮想マシン管理プログラム
KR20160067180A (ko) * 2013-10-11 2016-06-13 브이엠웨어, 인코포레이티드 가상 머신들을 관리하는 장치 및 방법
KR102277715B1 (ko) 2013-10-11 2021-07-15 브이엠웨어, 인코포레이티드 가상 머신들을 관리하는 장치 및 방법

Also Published As

Publication number Publication date
DE102010001985A1 (de) 2011-05-19
US20110113426A1 (en) 2011-05-12
TW201117100A (en) 2011-05-16
GB2475357A (en) 2011-05-18
CN102053857A (zh) 2011-05-11
GB2475357B (en) 2012-01-04
GB201001550D0 (en) 2010-03-17

Similar Documents

Publication Publication Date Title
JP2011100431A (ja) 仮想マシン制御装置及び仮想マシン制御方法
JP6359069B2 (ja) オペレーティングシステムと切り離される異種計算
JP5706036B2 (ja) 複合仮想グラフィクスデバイス
US7434003B2 (en) Efficient operating system operation on a hypervisor
US8271976B2 (en) Systems and methods for initializing multiple virtual processors within a single virtual machine
US9043562B2 (en) Virtual machine trigger
US8910169B2 (en) Methods and systems to perform a computer task in a reduced power consumption state
US11487523B2 (en) Updating machine emulator
JP2015503784A (ja) グラフィックス処理部における仮想マシン間の移行
US10725770B2 (en) Hot-swapping operating systems using inter-partition application migration
KR20070100367A (ko) 하나의 가상 머신에서 다른 가상 머신으로 메모리를동적으로 재할당하기 위한 방법, 장치 및 시스템
JP2010250817A (ja) システム管理モードにおけるプロセッサ間割り込みの再方向付け
JP2013516021A (ja) プロセッサコアのハイパーバイザ離隔
US9959134B2 (en) Request processing using VM functions
JP2009259108A (ja) 情報処理装置および情報処理装置の制御方法
US20120272235A1 (en) Consolidation of idle virtual machines
US9715403B2 (en) Optimized extended context management for virtual machines
JP2015022553A (ja) 計算機の制御方法及び計算機
US10853259B2 (en) Exitless extended page table switching for nested hypervisors
Kooburat et al. The Best of Both Worlds with {On-Demand} Virtualization
US11169837B2 (en) Fast thread execution transition
JP6458650B2 (ja) 情報処理システム、情報処理プログラムおよび情報処理装置
CN113391864A (zh) 云桌面切换方法及系统
Avramidis et al. Live migration on ARM-based micro-datacentres
CN117075973A (zh) 一种基于RISC-V服务器CPU的新型LinuxBoot启动引导方法及系统

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120514

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120614

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130205