JP2009116914A - 仮想マシンをフォークまたはマイグレートするための方法 - Google Patents

仮想マシンをフォークまたはマイグレートするための方法 Download PDF

Info

Publication number
JP2009116914A
JP2009116914A JP2009049688A JP2009049688A JP2009116914A JP 2009116914 A JP2009116914 A JP 2009116914A JP 2009049688 A JP2009049688 A JP 2009049688A JP 2009049688 A JP2009049688 A JP 2009049688A JP 2009116914 A JP2009116914 A JP 2009116914A
Authority
JP
Japan
Prior art keywords
virtual machine
parent
child
parent virtual
transmitting
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.)
Granted
Application number
JP2009049688A
Other languages
English (en)
Other versions
JP5085590B2 (ja
Inventor
Eric P Traut
ピー.トラウト エリック
Rene A Vega
エー.ベガ レネ
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009116914A publication Critical patent/JP2009116914A/ja
Application granted granted Critical
Publication of JP5085590B2 publication Critical patent/JP5085590B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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/45537Provision of facilities of other operating environments, e.g. WINE

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)
  • Forklifts And Lifting Vehicles (AREA)

Abstract

【課題】仮想マシン処理の効率を高めるための方法を提供する。
【解決手段】親仮想マシンをホストコンピュータ上に提供する。親仮想マシンを一時的にまたは永続的に中止する。子仮想マシンは親仮想マシンに関連付けられた全格納されたデータを初めは備えていない。親仮想マシンをフォークして、新しいロケーションで子仮想マシンを生成する。子仮想マシンは、親仮想マシンに関連付けられた格納データの全てを最初は持っていなくてもよい。
【選択図】図2

Description

本発明は一般的に仮想マシンの分野に関し、特に詳細には、フォーキング(forking)およびマイグレーション(migration)の概念を仮想マシンに適応するための方法に関する。
コンピュータは、システム命令の特定の組を実行するよう設計されている汎用の中央処理装置(CPU)を備えている。類似のアーキテクチャーまたは設計仕様を提供する一群のプロセッサは、同じプロセッサファミリーのメンバーと考えられる。現在のプロセッサファミリーの例は、アリゾナ州フェニックスのモトローラ(株)により製造されたプロセッサ680X0のファミリー、カリフォルニア州サニーベイルのインテル(株)により製造されたプロセッサ80X86のファミリー、および、モトローラ(株)により製造され、カルフォルニア州クパチーノのアップルコンピュータ(株)により製造されたコンピュータで用いられているPowerPCプロセッサファミリーを含む。ある群のプロセッサは、アーキテクチャーおよび設計仕様が類似しているために同一のファミリーに属しているが、プロセッサはクロックスピードおよび他の性能パラメータにしたがってファミリー内でも幅広く相違していることがある。
マイクロプロセッサの各ファミリーは、そのプロセッサファミリーに対して独自の命令を実行する。プロセッサあるいはファミリーのプロセッサが実行する命令の集合セットは、プロセッサ命令セットとして知られている。一例として、インテルの80X86プロセッサファミリーで用いられる命令セットは、PowerPCのプロセッサファミリーで用いられる命令セットと互換性がない。インテルの80X86命令セットは、複雑命令セットコンピュータ(CISC)のフォーマットに基づいている。モトローラのPowerPC命令セットは、縮小命令セットコンピュータ(RISC)フォーマットに基づいている。CISCプロセッサは多数の命令を用いており、その命令のいくつかは複雑な機能を実行できるが、実行するために多数のクロックサイクルが必要である。RISCプロセッサはより少数の利用可能な命令を用いて、より速いスピードで実行される、より単純なファンクションセットを実行する。
コンピュータシステム間のプロセッサファミリーの独自性は、典型的には、コンピュータシステムのハードウェアアーキテクチャの別の要素間で互換性をなくすことになる。インテルの80X86プロセッサファミリーのプロセッサで製造されたコンピュータシステムは、PowerPCプロセッサファミリーのプロセッサで製造されたコンピュータシステムのハードウェアアーキテクチャと異なるハードウェアアーキテクチャを有している。プロセッサ命令セットおよびコンピュータシステムのハードウェアアーキテクチャの独自性のために、アプリケーションソフトウェアプログラムは、典型的には、特定のオペレーティングシステムを実行する特定のコンピュータシステム上で実行されるように書き込まれる。
コンピュータ製造者は、製造者の製品ラインに関連付けられたマイクロプロセッサのファミリー上で実行されるアプリケーションがわずかであるよりは、より多いことによってその機能を最大化することを望んでいる。コンピュータシステム上で実行できるオペレーティングシステムおよびアプリケーションプログラムの数を増やすために、ホストと呼ばれる一種類のCPUを有する所定のコンピュータは、ホストコンピュータがゲストと呼ばれる関連のない種類のCPUの命令を受取って実行することを、エミュレートするようにするエミュレータプログラムを実行する技術分野が開発されている。したがって、そのホストコンピュータは、1つまたは2つ以上のホスト命令が所定のゲスト命令に応答して呼び出されるようにするアプリケーションを実行する。いくつかの場合において、ホストコンピュータは、それ自体のハードウェアアーキテクチャのために設計された、エミュレーションプログラム以外のソフトウェア、および、関連のないハードウェアアーキテクチャを備えるコンピュータのために記述されたソフトウェアの双方を実行できる。より具体的な例として、例えば、アップルコンピュータ(株)により製造されたコンピュータシステムは、PCを基本としたコンピュータシステムのために書き込まれたオペレーティングシステムおよびプログラムを実行できる。単一のCPU上で複数の非互換性のオペレーティングシステムを同時に実行するためのエミュレータプログラムを用いることも可能である。この構成において、各オペレーティングシステムは他のオペレーティングシステムと非互換性であるが、エミュレータプログラムは2つのオペレーティングシステムの1つをホストすることができ、それによって、別の非互換性のオペレーティングシステムを同じコンピュータシステム上で同時に実行できるようにする。
ゲストコンピュータシステムをホストコンピュータシステム上でエミュレートする時、ゲストコンピュータシステムは、仮想マシンであるといえる。その理由は、ゲストコンピュータシステムは、ゲストコンピュータシステムのハードウェアアーキテクチャの動作のソフトウェアによる表現としてだけ存在するからである。エミュレータおよび仮想マシンという用語は、コンピュータシステム全体のハードウェアアーキテクチャを模倣するか、あるいは、エミュレートする能力を示すために互換的に用いられる。一例として、カルフォルニア州、サンマテオ市のConnectix(株)によって作られたVirtual
PCソフトウェアは、Intel80X86ペンティアム(登録商標)プロセッサ、および種々のマザーボードコンポーネントおよびカードを含むコンピュータ全体をエミュレートする。これらのコンポーネントの動作は、ホストマシン上で実行される仮想マシンのなかでエミュレートされる。PowerPCプロセッサを備えるコンピュータシステムのような、ホストコンピュータのオペレーティングシステムソフトウェアおよびハードウェアアーキテクチャ上で実行されるエミュレータプログラムは、ゲストコンピュータシステム全体のオペレーションを模倣している。エミュレータプログラムは、ホストマシンのハードウェアアーキテクチャとエミュレートされた環境内で実行されるソフトウェアによって送信される命令との間での互換を行うものとして作用する。
実際のマシンに対する仮想マシンの一つの利点は、迅速かつ安価に複数例の仮想マシンを生成する機能を有していることである。もし、仮想マシンの実装によって許されるならば、複数の仮想マシンは単一のホストマシン(ホストコンピュータシステム)の環境中に同時に存在することができる。ホストマシンの資源を種々の仮想マシン間で分割することができる。例えば、4つのプロセッサおよび1ギガバイトのランダムアクセスメモリ(RAM)を提供する単一のホストマシンを、4つの仮想マシンに平等に分割し、各仮想マシンに1つのプロセッサおよび256メガバイトのRAMを与えることができる。他の資源割り当ての分割も可能である。
この柔軟性のある資源割り当ては、仮想マシンをあるホストマシンから他のホストマシンへ移動させる機能と組合わされるときに、さらにより有用となる。これによりシステムの「負荷バランシング」が可能となる。例えば、仮想マシンが、1つのホストマシン上で利用できる以上の処理能力を必要とするときに、余分の能力を備える他のホストマシンに移動させることができる。
あるコンピュータ環境において、(ハードウェアおよびソフトウェアの双方の)構成がほぼ同一である複数のマシンを有することは有用である。例えば、Amazon.comのような大規模な電子商取引のウェブサイトは、構成がほぼ同一の何十または何百もウェブサーバを有している。この構成配置によって容易に拡張することができる。現在の容量が適切でないとき、追加サーバを迅速にオンラインで設置可能である。
ほぼ同一の構成が有用である他の場合は、構成の変更のテストにおいてである。任務上重大なアプリケーションを取り扱うときには、IS管理者はソフトウェア構成の変更のテストを、その変更を製造システムに適用する前に、行うことをしばしば望んでいる。例えば、新しい「セキュリティパッチ」がウィンドウズ(登録商標)オペレーティングシステムに対してマイクロソフト(株)によって利用可能となった場合、管理者は、プロダクションサーバ上にそのパッチをインストールする前に、別個のサーバマシン上でこのパッチをテストすることを望むこともある。
本発明は、一つの実施形態において、仮想マシンプロセッシングの効率を増すための方法を提供する。その方法の一つのステップは親仮想マシンを提供することである。他のステップは親仮想マシンを一時的に中止することである。他のステップは、親仮想マシンをフォークして、新しいロケーションで子仮想マシンを生成することである。
本発明は、仮想マシンプロセッシングの効率を増すための他の方法を提供する。この方法の一つのステップは、格納されたデータに関連付けられた親仮想マシンを提供することである。この方法の他のステップは、親仮想マシンを永続的に中止することである。もう一つのステップは、親仮想マシンをフォークして、格納されたデータの少なくとも第1の部分なしに、新しいロケーションで子仮想マシンを生成することである。
さらに、本発明は仮想マシンプロセッシングの効率を高めるためのもう一つの方法を提供する。この方法の一つのステップは、格納されたデータに関連付けられた親仮想マシンを提供することである。この方法の他のステップは、親仮想マシンを永続的に中止することである。もう一つのステップは、親仮想マシンをマイグレートして、格納されたデータの少なくとも第1の部分なしに、新しいロケーションで子仮想マシンを生成することである。
本発明の一つの実施形態の利点は、仮想マシンのフォーキングを可能にすることにある。フォークを行う能力により仮想マシンの前述の複数の例の実用性が増加する。ある状況の下で、仮想マシンの大抵の機能および仮想マシン上で実行するアプリケーションが、大きく影響されないのに十分なほど迅速に、フォーキングは複数の例を生成することができる。
本発明の一実施形態の他の利点は、本発明により仮想マシンの処理の効率が増大することである。
本発明の方法の一つの実施形態は、フォーキング時間が親仮想マシンのメモリのサイズによって影響されないという利点を備えている。親仮想マシンの非メモリ部分が僅か数百キロバイトのデータから構成されているときには、フォーキング時間はあるシステム上で約1ミリ秒である。
デマンドページングがその方法に加えられるならば、全実行時間もまた親のメモリのサイズに依存することができる。しかしながら、デマンドページングは、親および子の仮想マシン上で実行するアプリケーションとコンフリクトを生じない。
前述の利点のいずれも本発明にとって重要である。本発明の特定の実施によっては一部の利点のみを達成するだけかもしれない。例えば、本発明の一つの実施は仮想マシンをフォーキングすることを提供するだけかもしれない。本発明の他の技術的な利点は、以下の図、詳細な説明および特許請求の範囲から当業者であれば明らかなことである。
ホストコンピュータシステムにおいて動作するエミュレートされたコンピュータシステムの要素の論理的関係の図である。 仮想マシンをフォークするための方法の流れ図である。 仮想マシンをフォークする際に用いられるデマンドページングの流れ図である。 仮想マシンをマイグレートするための方法の流れ図である。 仮想マシンをマイグレートする際に用いられるデマンドページングの流れ図である。
エミュレートされたコンピュータシステム、すなわち仮想マシンにおいて、エミュレーションプログラムは、ホストコンピュータシステムにおけるエミュレートされた動作環境を提供する。コンピュータシステム10におけるエミュレートされた動作環境のためのハードウェアおよびソフトウェアアーキテクチャの論理層の図が図1に示されている。エミュレーションプログラム14は、ホストコンピュータシステムハードウェア、すなわちプロセッサ11で動作するホストオペレーティングシステム上で動作する。エミュレーションプログラム14は、ゲストオペレーティングシステム18を含むゲストコンピュータシステム16をエミュレートする。ゲストアプリケーションプログラムはゲストオペレーティングシステム18上で実行することができる。図1のエミュレートされた動作環境においては、エミュレーションプログラム14の実行のために、ホストオペレーティングシステム12およびホストコンピュータシステムハードウェア11と一般的に非互換性のオペレーティングシステム上で動作するようにゲストアプリケーション20が設計されていても、ゲストアプリケーション20はコンピュータシステム10上で動作する。
図2および図3を参照して、「フォーキング」は、UNIX(登録商標)プロセスおよびそのアドレス空間の複製を記述するために、UNIX(登録商標)プログラマーに用いられている用語である。もとのプロセスおよびフォークの双方は、フォーキングポイントから独立したプロセスとして動作することができる。フォーキングの実装は、両アドレス空間中の全メモリページが、「ライト禁止」(write protected)としてマークされた「コピーオンライト(copy on write)」と呼ばれる技術を伴う。もとのプロセスあるいはフォークされたプロセスのいずれかが、ページに書き込むとき、各プロセスがそれ自体のコピーを持つようにコピーが行われる。変更されていないページは、引き続き2つのプロセス間で共有されることができる。この技術はメモリ資源を節約するだけではなく、その他の可能な技術よりも速くフォーキングする。
本発明において、単一のプロセスをフォーキングすることの概念は、仮想マシンの概念と組合わされている。本発明によれば、オリジナルの仮想マシンとそのフォーク間で、プライベートなコピーに対する共有された資源の速い変換を行うことができる。しかしながら、資源の分配は、同一のホスト上で両仮想マシンが動作している場合にだけ可能である。
仮想マシンのフォーキングを使用して、既存の仮想マシンを迅速に複製することができる。例えば、ユーザーが新しいパッチをテストしたいならば、仮想マシンをフォークし、そして、非生産フォーク(non−production fork)にそのパッチをつけることができる。そのパッチがテストされたならば、限定されたリスクでオリジナルコピーにつけることが可能となる。あるいはまた、パッチのテストがいったん完了したならば、生産および非生産の仮想マシンはスワップすることができる。
図2には仮想マシンをフォークするための方法20の流れ図を示す。ステップ202において、親仮想マシンを中止する。ステップ204において、コピーすなわち「スナップショット(snapshot)」を、親仮想マシンのメモリ以外の全ての構成要素で作る。ステップ206において、そのスナップショットを新しいロケーション、すなわち、その親のロケーション以外のロケーションに移動させる。そのスナップショットを新しいロケーションに移動することにより、新しい子仮想マシンを生成する。その子は親と同じホストコンピュータシステム上に配置してもよいし、あるいは配置しなくてもよい。ステップ208において、親のメモリの部分を、デマンドページングを用いている子に送信する。図3に示されているデマンドページングは、親から子へメモリの部分あるいはページを送信する方法である。デマンドページングにおいて、子が積極的に要求することに基づいて、親のメモリに優先度が付けられる。
図3は仮想マシンをフォークする際に用いられる、ステップ208のデマンドページングの流れ図である。ステップ302において、子にまだ送信されていない親のメモリの一部分を親仮想マシンが変更しようとしているか否かを判断する。親仮想マシンがメモリの一部分を変更しようとしているならば、ステップ304において、親がそのメモリの一部分を変更することを許される前に、そのメモリの一部分を、子の仮想マシンに送信するが、あるいはその一部分の一時的なコピーが作成される。一時的なコピーはデマンドページングの方法の中のまだ決定されていない後のポイントまで、親によってセーブされ、そのポイントにおいて、そのコピーが子に送信される。親がメモリの一部分を変更しようとしていないか、あるいはステップ304が完了している場合には、その方法はステップ306に進む。
ステップ306において、子仮想マシンが親仮想マシンのメモリにアクセス中であるか否かを判断する。子が親のメモリにアクセス中であるならば、ステップ308において、子仮想マシンは一時的に中止され、子によって要求される親のメモリの一部分が親から子へ送信される。その子が親のメモリにアクセス中でないならば、ステップ310において、子によって積極的に要求されていない親のメモリの部分を親から子へ送信してもよい。ステップ308あるいはステップ310が完了したならば、その方法はステップ312へ進む。
ステップ312において、親仮想マシンのメモリの全部が子仮想マシンに送信されたか否かを判断する。メモリの全部が送信されていないのであれば、本方法は上述したステップ302に進む。メモリの全部が送信されたならば、デマンドページング方法は終了する。
ここで、図4および図5を参照するに、「マイグレーティング」は、あるホストマシンから他のホストマシンへの仮想マシンの移動を示す用語である。仮想マシンがマイグレートされるとき、オリジナルの仮想マシンは永続的に中止されている。そして、コピーが新しいロケーションで動作する。マイグレーションを実行する一つの手順は、ディスク上のファイルに(全てのRAMを含む)仮想マシンの全ての状態をセーブし、ついでファイルを新しいホストにコピーして、マシンの状態を回復する。
本発明では、マイグレーティングはその実行においてはフォーキングと類似している。フォークされた仮想マシンと同様に、マイグレートされた仮想マシンは、それが生成されたほぼ直後に、すなわち生成後1ないし2秒内に動作を始動する。この特徴はデマンドページングおよび「コピーオンアクセス(copy−on−access)」の使用により生じている。ここで、コピーオンアクセスは、子が親のメモリにアクセスするうえで子に親のメモリをコピーすることと定義される。コピーオンアクセスは仮想マシンをマイグレーティングするためのデマンドページングの一側面である。
コピーオンアクセスは、既存の技術に対する本発明の利点でもある。既存の技術は親のランダムアクセスメモリ(RAM)の全体のコピーをセーブし、および回復する。既存の技術のセーブおよび回復することは、親に割当てられたメモリのサイズに依存して、5秒から60秒の時間がかかってしまう。
仮想マシンをマイグレートする一つの応用は、負荷バランシングである。他の応用は故障回復(fail−over)あるいはハードウェアメンテナンスのためのものである。例えば、ホストマシン中のハードウェアがメンテナンス(例えば、メモリの増設)を要求するときには、仮想マシンはバックアップマシンに一時的にマイグレートされ、中断時間を避ける。
図4は仮想マシンをマイグレートするための方法40の流れ図である。ステップ402において、親の仮想マシンを永続的に中止している。ステップ204において、コピーあるいは「スナップショット」は、親仮想マシンのメモリ以外の全ての構成要素で作られている。ステップ206において、そのスナップショットを新しいロケーション、すなわち、その親のロケーション以外のロケーションに移動させる。そのスナップショットを新しいロケーションに移動することにより、新しい子仮想マシンを生成する。その子は親と同じホストコンピュータシステム上に配置してもよいし、あるいは配置しなくてもよい。ステップ404において、親のメモリの部分をデマンドページングを用いている子に送信する。図5に示されているデマンドページングは、親から子へメモリの部分あるいはページを送信する方法である。デマンドページングにおいて、子が積極的に要求することに基づいて、親のメモリに優先度が付けられる。
図5は、仮想マシンをマイグレートするのに用いられるステップ404のデマンドページングの流れ図である。ステップ306において、子仮想マシンが親仮想マシンのメモリにアクセス中であるか否かを判断する。子が親のメモリにアクセスするならば、ステップ308において、子仮想マシンは一時的に中止され、子によって要求される親のメモリの一部分が親から子へ送信される。その子が親のメモリにアクセス中でないならば、ステップ310において、子によって積極的に要求されていない親のメモリの部分を親から子へ送信してもよい。ステップ308あるいはステップ310が完了したならば、その方法はステップ312へ進む。
ステップ312において、親仮想マシンのメモリの全部が子仮想マシンに送信されたか否かを判断する。メモリの全部が送信されていないのであれば、本方法は上述したステップ502に進む。ステップ502において、親のメモリを削除する。ステップ502の後、デマンドページング方法は終了する。
本発明は、その適用にあたって、特定のコンピュータシステムアーキテクチャー、特にインテル80X86アーキテクチャーのエミュレーションに限定されない。
本発明を詳細に記載してきたが、特許請求の範囲により定義されている本発明の精神および範囲から離れることなく、種々の変更、代用および代替を行うことができる。

Claims (20)

  1. 仮想マシン処理の方法において、
    ゲストオペレーティングシステムをホストするように構成された親仮想マシンを第1のホストシステム上に提供するステップと、
    前記親仮想マシンを中止するステップと、
    前記親仮想マシンをマイグレーティングして、少なくとも一つの新しいロケーションに、仮想マシンとして実行する前記親仮想マシンのコピーを備える少なくとも一つの子仮想マシンを作成するステップと、
    前記親仮想マシンの実行又は前記子仮想マシンの実行に必要な前記親仮想マシンの部分を前記少なくとも一つの子仮想マシンに送信するステップと
    を備えたことを特徴とする方法。
  2. 前記親仮想マシンの前記コピーは前記親仮想マシンのメモリを含まず、前記部分を送信するステップは前記子仮想マシンによってアクセスされるメモリの副部分を送信するステップを有することを特徴とする請求項1に記載の方法。
  3. 前記少なくとも一つの新しいロケーションは、前記第1のホストコンピュータシステム上に存在することを特徴とする請求項1又は請求項2に記載の方法。
  4. 前記少なくとも一つの新しいロケーションは、前記第2のホストコンピュータシステム上に存在することを特徴とする請求項1から請求項3のいずれかに記載の方法。
  5. 前記親仮想マシンはネットワークサーバであることを特徴とする請求項1から請求項4のいずれかに記載の方法。
  6. 仮想マシン処理の方法において、
    ゲストオペレーティングシステムをホストするように構成された親仮想マシンであって、データが格納された前記親仮想マシンを第1のホストシステム上に提供するステップと、
    前記親仮想マシンを中止するステップと、
    前記親仮想マシンをマイグレーティングして、少なくとも一つの新しいロケーションに、前記親仮想マシンの前記格納されたデータの第1の部分を除いた前記親仮想マシンのコピーを備える少なくとも一つの子仮想マシンを作成するステップと、
    前記親仮想マシンを実行しながら前記作成した少なくとも一つの子仮想マシンを実行するステップと、
    前記子仮想マシンによって必要とされる前記データの第1の部分の副部分であって、前記子仮想マシンがアクセス中ではない前記副部分を、前記親仮想マシンから前記少なくとも一つの子仮想マシンへ送信するステップと
    を備えたことを特徴とする方法。
  7. 前記副部分を送信するステップは、前記親仮想マシンによって必要とされる前記第1の部分の副部分を前記親仮想マシンから前記子仮想マシンへ送信するステップを有することを特徴とする請求項6に記載の方法。
  8. 前記少なくとも一つの新しいロケーションは前記第1のホストコンピュータシステム上に存在することを特徴とする請求項6又は請求項7に記載の方法。
  9. 前記少なくとも一つの新しいロケーションは第2のホストコンピュータシステム上に存在することを特徴とする請求項6から請求項8のいずれかに記載の方法。
  10. 前記子仮想マシンは、マイグレーティングのとき、前記マイグレーティングされる親仮想マシンによってホストされたゲストオペレーティングシステムの少なくとも一部分のコピーをホストし、前記ゲストオペレーティングシステムは、前記親仮想マシンの前記格納されたデータの前記第1の部分が欠けた前記子仮想マシン上で実行開始可能であることを特徴とする請求項6から請求項9のいずれかに記載の方法。
  11. 前記送信するステップは、デマンドページングを用いて、前記格納されたデータの第1の部分の副部分を前記少なくとも一つの子仮想マシンに送信することを特徴とする請求項6から請求項10のいずれかに記載の方法。
  12. 前記送信するステップは、前記少なくとも一つの子仮想マシンが前記第1の部分の第1の副部分にアクセスする場合、前記少なくとも一つの子仮想マシンを一時的に中止するステップ、および、前記第1の副部分を前記少なくとも一つの子仮想マシンに送信するステップを備えることを特徴とする請求項11に記載の方法。
  13. 前記送信するステップは、前記親仮想マシンに関連付けられた格納されたデータの前記第1の部分の全てが、前記少なくとも一つの子仮想マシンに送信されていない場合、前記第1の部分の第2の副部分を前記少なくとも一つの子仮想マシンに送信するステップをさらに備えることを特徴とする請求項12に記載の方法。
  14. 前記送信するステップは、前記少なくとも一つの子仮想マシンが前記親仮想マシンの少なくとも一つのメモリにアクセスしない場合、前記第1の部分のメモリページを前記少なくとも一つの子仮想マシンに送信するステップを備えることを特徴とする請求項11から請求項13のいずれかに記載の方法。
  15. 前記第1の部分は前記親仮想マシンのメモリを有することを特徴とする請求項6から請求項14のいずれかに記載の方法。
  16. 前記送信するステップは、前記親仮想マシンが第1の副部分を変更しようとする場合に、第1の副部分が親仮想マシンによって変更される前に、前記第1の副部分を少なくとも一つの子仮想マシンに送信するステップを備えることを特徴とする請求項11に記載の方法。
  17. 前記送信するステップは、前記親仮想マシンに関連付けられた前記格納されたデータの前記第1の部分の全てが、前記少なくとも一つの子仮想マシンに送信されていない場合、前記第1の部分の第2の副部分を前記少なくとも一つの子仮想マシンに送信するステップをさらに備えることを特徴とする請求項16に記載の方法。
  18. 前記送信するステップは、前記親仮想マシンが第1の副部分を変更しようとする場合、前記第1の副部分が前記親仮想マシンによって変更される前に、当該第1の副部分をコピーするステップをさらに備えることを特徴とする請求項11に記載の方法。
  19. 前記第1の副部分のコピーは一時的なコピーであることを特徴とする請求項18に記載の方法。
  20. 前記送信するステップは、前記親仮想マシンに関連付けられた前記格納されたデータの前記第1の部分の全てが、前記少なくとも一つの子仮想マシンに送信されていない場合、第1の部分の第2の副部分を前記少なくとも一つの子仮想マシンに送信するステップをさらに備えることを特徴とする請求項18に記載の方法。
JP2009049688A 2002-07-11 2009-03-03 仮想マシンをフォークまたはマイグレートするための方法 Expired - Fee Related JP5085590B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/193,531 US7313793B2 (en) 2002-07-11 2002-07-11 Method for forking or migrating a virtual machine
US10/193,531 2002-07-11

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003182219A Division JP4942909B2 (ja) 2002-07-11 2003-06-26 仮想マシンをフォークまたはマイグレートするための方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012010295A Division JP2012074090A (ja) 2002-07-11 2012-01-20 仮想マシンをフォークまたはマイグレートするための方法

Publications (2)

Publication Number Publication Date
JP2009116914A true JP2009116914A (ja) 2009-05-28
JP5085590B2 JP5085590B2 (ja) 2012-11-28

Family

ID=29735332

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2003182219A Expired - Lifetime JP4942909B2 (ja) 2002-07-11 2003-06-26 仮想マシンをフォークまたはマイグレートするための方法
JP2009049688A Expired - Fee Related JP5085590B2 (ja) 2002-07-11 2009-03-03 仮想マシンをフォークまたはマイグレートするための方法
JP2012010295A Pending JP2012074090A (ja) 2002-07-11 2012-01-20 仮想マシンをフォークまたはマイグレートするための方法
JP2013213842A Expired - Lifetime JP5769212B2 (ja) 2002-07-11 2013-10-11 仮想マシンをフォークまたはマイグレートするための方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2003182219A Expired - Lifetime JP4942909B2 (ja) 2002-07-11 2003-06-26 仮想マシンをフォークまたはマイグレートするための方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2012010295A Pending JP2012074090A (ja) 2002-07-11 2012-01-20 仮想マシンをフォークまたはマイグレートするための方法
JP2013213842A Expired - Lifetime JP5769212B2 (ja) 2002-07-11 2013-10-11 仮想マシンをフォークまたはマイグレートするための方法

Country Status (4)

Country Link
US (2) US7313793B2 (ja)
EP (1) EP1380947B1 (ja)
JP (4) JP4942909B2 (ja)
ES (1) ES2734248T3 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011149326A1 (en) * 2010-05-25 2011-12-01 Mimos Berhad System and method for virtual on-demand application
JPWO2013008450A1 (ja) * 2011-07-14 2015-02-23 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 仮想計算機システム、メモリ管理方法、メモリ管理プログラム、記録媒体および集積回路

Families Citing this family (209)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8631066B2 (en) 1998-09-10 2014-01-14 Vmware, Inc. Mechanism for providing virtual machines for use by multiple users
US7516453B1 (en) 1998-10-26 2009-04-07 Vmware, Inc. Binary translator with precise exception synchronization mechanism
US7213246B1 (en) 2002-03-28 2007-05-01 Veritas Operating Corporation Failing over a virtual machine
US7603670B1 (en) * 2002-03-28 2009-10-13 Symantec Operating Corporation Virtual machine transfer between computer systems
US7093086B1 (en) * 2002-03-28 2006-08-15 Veritas Operating Corporation Disaster recovery and backup using virtual machines
US6757778B1 (en) 2002-05-07 2004-06-29 Veritas Operating Corporation Storage management system
US7313793B2 (en) * 2002-07-11 2007-12-25 Microsoft Corporation Method for forking or migrating a virtual machine
US7478387B2 (en) * 2002-09-25 2009-01-13 International Business Machines Corporation System and method for creating a restartable non-native language routine execution environment
WO2004038175A1 (en) * 2002-10-24 2004-05-06 Shell Internationale Research Maatschappij B.V. Inhibiting wellbore deformation during in situ thermal processing of a hydrocarbon containing formation
EP1418501A1 (fr) * 2002-11-08 2004-05-12 Dunes Technologies S.A. Méthode d'administration d'applications sur des machines virtuelles
US7484208B1 (en) * 2002-12-12 2009-01-27 Michael Nelson Virtual machine migration
US7424710B1 (en) * 2002-12-18 2008-09-09 Vmware, Inc. TCP/IP offloading for virtual machines
US7536688B2 (en) * 2003-02-28 2009-05-19 Azul Systems Segmented virtual machine
US7111145B1 (en) 2003-03-25 2006-09-19 Vmware, Inc. TLB miss fault handler and method for accessing multiple page tables
US8209680B1 (en) 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US7299468B2 (en) * 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
US7203944B1 (en) * 2003-07-09 2007-04-10 Veritas Operating Corporation Migrating virtual machines among computer systems to balance load caused by virtual machines
US20050060590A1 (en) * 2003-09-16 2005-03-17 International Business Machines Corporation Power-aware workload balancing usig virtual machines
US8560671B1 (en) 2003-10-23 2013-10-15 Netapp, Inc. Systems and methods for path-based management of virtual servers in storage network environments
US7246200B1 (en) 2003-11-12 2007-07-17 Veritas Operating Corporation Provisioning and snapshotting using copy on read/write and transient virtual machine technology
US7293267B1 (en) * 2003-12-22 2007-11-06 Sun Microsystems Inc System and method for performing speculative initialization of application models for a cloned runtime system process
US7529897B1 (en) 2003-12-31 2009-05-05 Vmware, Inc. Generating and using checkpoints in a virtual computer system
US7810092B1 (en) 2004-03-02 2010-10-05 Symantec Operating Corporation Central administration and maintenance of workstations using virtual machines, network filesystems, and replication
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US8413155B2 (en) 2004-03-13 2013-04-02 Adaptive Computing Enterprises, Inc. System and method for a self-optimizing reservation in time of compute resources
US8156490B2 (en) * 2004-05-08 2012-04-10 International Business Machines Corporation Dynamic migration of virtual machine computer programs upon satisfaction of conditions
US7257811B2 (en) * 2004-05-11 2007-08-14 International Business Machines Corporation System, method and program to migrate a virtual machine
US20050283779A1 (en) * 2004-05-19 2005-12-22 Pronk Van Hoogeveen Joost W D Method and apparatus for deploying software applications using a zone architecture
US7370233B1 (en) * 2004-05-21 2008-05-06 Symantec Corporation Verification of desired end-state using a virtual machine environment
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US7577959B2 (en) * 2004-06-24 2009-08-18 International Business Machines Corporation Providing on-demand capabilities using virtual machines and clustering processes
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
US7996785B2 (en) * 2004-06-30 2011-08-09 Microsoft Corporation Systems and methods for integrating application windows in a virtual machine environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US7506338B2 (en) * 2004-08-30 2009-03-17 International Business Machines Corporation Method and apparatus for simplifying the deployment and serviceability of commercial software environments
US20060085784A1 (en) * 2004-10-15 2006-04-20 Microsoft Corporation Systems and methods for authoring and accessing computer-based materials using virtual machines
US7840963B2 (en) * 2004-10-15 2010-11-23 Microsoft Corporation Marking and utilizing portions of memory state information during a switch between virtual machines to minimize software service interruption
CA2486103A1 (en) * 2004-10-26 2006-04-26 Platespin Ltd. System and method for autonomic optimization of physical and virtual resource use in a data center
WO2006053093A2 (en) 2004-11-08 2006-05-18 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US7536525B2 (en) * 2004-11-09 2009-05-19 Dell Products L.P. Virtual machine hot cloning including freezing and unfreezing memory in a distributed network
US8959299B2 (en) 2004-11-15 2015-02-17 Commvault Systems, Inc. Using a snapshot as a data source
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
WO2006107531A2 (en) 2005-03-16 2006-10-12 Cluster Resources, Inc. Simple integration of an on-demand compute environment
US9015324B2 (en) 2005-03-16 2015-04-21 Adaptive Computing Enterprises, Inc. System and method of brokering cloud computing resources
CA2603577A1 (en) 2005-04-07 2006-10-12 Cluster Resources, Inc. On-demand access to compute resources
US7698706B2 (en) * 2005-05-20 2010-04-13 International Business Machines Corporation Methods and apparatus for implementing an integrated user interface for managing multiple virtual machines operative in a computing system
US7480908B1 (en) * 2005-06-24 2009-01-20 Azul Systems, Inc. Segmented virtual machine transport mechanism
JP5060485B2 (ja) * 2005-09-27 2012-10-31 オナロ インコーポレイテッド 複製データの可用性及び最新性を検証するための方法及びシステム。
WO2007036072A1 (en) 2005-09-29 2007-04-05 Intel Corporation Apparatus and method for expedited virtual machine (vm) launch in vm cluster environment
US20070079307A1 (en) * 2005-09-30 2007-04-05 Puneet Dhawan Virtual machine based network carriers
US7761573B2 (en) * 2005-12-07 2010-07-20 Avaya Inc. Seamless live migration of virtual machines across optical networks
US8521912B2 (en) * 2006-01-12 2013-08-27 Broadcom Corporation Method and system for direct device access
US7788665B2 (en) * 2006-02-28 2010-08-31 Microsoft Corporation Migrating a virtual machine that owns a resource such as a hardware device
US20070204271A1 (en) * 2006-02-28 2007-08-30 Andrew Gaiarsa Method and system for simulating a multi-CPU/multi-core CPU/multi-threaded CPU hardware platform
US7536541B2 (en) * 2006-03-07 2009-05-19 Novell Inc. Parallelizing multiple boot images with virtual machines
US7802302B1 (en) 2006-03-10 2010-09-21 Symantec Corporation Single scan for a base machine and all associated virtual machines
US7370164B1 (en) * 2006-03-21 2008-05-06 Symantec Operating Corporation Backup of virtual machines from the base machine
US8056076B1 (en) * 2006-03-31 2011-11-08 Vmware, Inc. Method and system for acquiring a quiesceing set of information associated with a virtual machine
US8151263B1 (en) 2006-03-31 2012-04-03 Vmware, Inc. Real time cloning of a virtual machine
US8296759B1 (en) * 2006-03-31 2012-10-23 Vmware, Inc. Offloading operations to a replicate virtual machine
US8321377B2 (en) * 2006-04-17 2012-11-27 Microsoft Corporation Creating host-level application-consistent backups of virtual machines
US8886865B1 (en) 2006-04-24 2014-11-11 Vmware, Inc. Virtual machine image management using delta trees
US8141075B1 (en) * 2006-05-08 2012-03-20 Vmware, Inc. Rule engine for virtualized desktop allocation system
US20070283314A1 (en) * 2006-06-05 2007-12-06 Dennis Michael Browning A Method and System for Performing a Change-Over to a Component of a Computing System
US7823152B2 (en) * 2006-06-06 2010-10-26 International Business Machines Corporation System and method for collaborative hosting of applications, virtual machines, and data objects
US20070294364A1 (en) * 2006-06-15 2007-12-20 International Business Machines Corporation Management of composite software services
US7496893B2 (en) * 2006-06-15 2009-02-24 International Business Machines Corporation Method for no-demand composition and teardown of service infrastructure
US8607009B2 (en) 2006-07-13 2013-12-10 Microsoft Corporation Concurrent virtual machine snapshots and restore
US10013268B2 (en) * 2006-08-29 2018-07-03 Prometric Inc. Performance-based testing system and method employing emulation and virtualization
US20080126792A1 (en) * 2006-09-19 2008-05-29 Herington Daniel E Systems and methods for achieving minimal rebooting during system update operations
US8234640B1 (en) 2006-10-17 2012-07-31 Manageiq, Inc. Compliance-based adaptations in managed virtual systems
US8949825B1 (en) 2006-10-17 2015-02-03 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US8752045B2 (en) 2006-10-17 2014-06-10 Manageiq, Inc. Methods and apparatus for using tags to control and manage assets
US8458695B2 (en) 2006-10-17 2013-06-04 Manageiq, Inc. Automatic optimization for virtual systems
US8234641B2 (en) 2006-10-17 2012-07-31 Managelq, Inc. Compliance-based adaptations in managed virtual systems
US9697019B1 (en) * 2006-10-17 2017-07-04 Manageiq, Inc. Adapt a virtual machine to comply with system enforced policies and derive an optimized variant of the adapted virtual machine
US9086917B1 (en) 2006-10-17 2015-07-21 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US9038062B2 (en) 2006-10-17 2015-05-19 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US9015703B2 (en) * 2006-10-17 2015-04-21 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US8612971B1 (en) 2006-10-17 2013-12-17 Manageiq, Inc. Automatic optimization for virtual systems
US8949826B2 (en) * 2006-10-17 2015-02-03 Managelq, Inc. Control and management of virtual systems
US7707185B1 (en) * 2006-10-19 2010-04-27 Vmware, Inc. Accessing virtual data storage units to offload operations from a computer system hosting a virtual machine to an offload server
US8732699B1 (en) 2006-10-27 2014-05-20 Hewlett-Packard Development Company, L.P. Migrating virtual machines between physical machines in a define group
US8185893B2 (en) * 2006-10-27 2012-05-22 Hewlett-Packard Development Company, L.P. Starting up at least one virtual machine in a physical machine by a load balancer
US8296760B2 (en) * 2006-10-27 2012-10-23 Hewlett-Packard Development Company, L.P. Migrating a virtual machine from a first physical machine in response to receiving a command to lower a power mode of the first physical machine
US8903888B1 (en) * 2006-10-27 2014-12-02 Hewlett-Packard Development Company, L.P. Retrieving data of a virtual machine based on demand to migrate the virtual machine between physical machines
US9092250B1 (en) 2006-10-27 2015-07-28 Hewlett-Packard Development Company, L.P. Selecting one of plural layouts of virtual machines on physical machines
US20080127182A1 (en) * 2006-11-29 2008-05-29 Newport William T Managing Memory Pages During Virtual Machine Migration
US8826032B1 (en) 2006-12-27 2014-09-02 Netapp, Inc. Systems and methods for network change discovery and host name resolution in storage network environments
US8336046B2 (en) * 2006-12-29 2012-12-18 Intel Corporation Dynamic VM cloning on request from application based on mapping of virtual hardware configuration to the identified physical hardware resources
US8327350B2 (en) * 2007-01-02 2012-12-04 International Business Machines Corporation Virtual resource templates
US8108855B2 (en) * 2007-01-02 2012-01-31 International Business Machines Corporation Method and apparatus for deploying a set of virtual software resource templates to a set of nodes
US8554981B2 (en) * 2007-02-02 2013-10-08 Vmware, Inc. High availability virtual machine cluster
US8176486B2 (en) 2007-02-15 2012-05-08 Clearcube Technology, Inc. Maintaining a pool of free virtual machines on a server computer
US9043391B2 (en) 2007-02-15 2015-05-26 Citrix Systems, Inc. Capturing and restoring session state of a machine without using memory images
JP5246388B2 (ja) 2007-03-08 2013-07-24 日本電気株式会社 仮想装置構成システム、及びその方法
US8356297B1 (en) 2007-03-21 2013-01-15 Azul Systems, Inc. External data source redirection in segmented virtual machine
WO2008117470A1 (ja) * 2007-03-27 2008-10-02 Fujitsu Limited 仮想計算機制御プログラム、仮想計算機制御システムおよび仮想計算機移動方法
JP4739272B2 (ja) * 2007-04-19 2011-08-03 株式会社富士通アドバンストエンジニアリング 負荷分散装置、仮想サーバ管理システム、負荷分散方法および負荷分散プログラム
US8479194B2 (en) * 2007-04-25 2013-07-02 Microsoft Corporation Virtual machine migration
US8782322B2 (en) * 2007-06-21 2014-07-15 International Business Machines Corporation Ranking of target server partitions for virtual server mobility operations
US7747814B2 (en) * 2007-06-26 2010-06-29 Microsoft Corporation Virtual machine state snapshots
US8806480B2 (en) * 2007-06-29 2014-08-12 Microsoft Corporation Virtual machine smart migration
US20090013029A1 (en) * 2007-07-03 2009-01-08 Childress Rhonda L Device, system and method of operating a plurality of virtual logical sites
US8280974B2 (en) * 2007-07-31 2012-10-02 Hewlett-Packard Development Company, L.P. Migrating workloads using networked attached memory
US8239646B2 (en) 2007-07-31 2012-08-07 Vmware, Inc. Online virtual machine disk migration
US20090063752A1 (en) * 2007-08-27 2009-03-05 International Business Machines Corporation Utilizing data access patterns to determine a data migration order
US8661211B2 (en) * 2007-08-27 2014-02-25 International Business Machines Corporation Method for migrating contents of a memory on a virtual machine
US8671256B2 (en) * 2007-08-27 2014-03-11 International Business Machines Corporation Migrating contents of a memory on a virtual machine
US8694990B2 (en) * 2007-08-27 2014-04-08 International Business Machines Corporation Utilizing system configuration information to determine a data migration order
US20090063753A1 (en) * 2007-08-27 2009-03-05 International Business Machines Corporation Method for utilizing data access patterns to determine a data migration order
US9274949B2 (en) 2007-08-27 2016-03-01 International Business Machines Corporation Tracking data updates during memory migration
US8370802B2 (en) 2007-09-18 2013-02-05 International Business Machines Corporation Specifying an order for changing an operational state of software application components
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8191063B2 (en) * 2007-09-30 2012-05-29 Symantex Corporation Method for migrating a plurality of virtual machines by associating files and state information with a single logical container
US8407518B2 (en) * 2007-10-26 2013-03-26 Vmware, Inc. Using virtual machine cloning to create a backup virtual machine in a fault tolerant system
US7840839B2 (en) * 2007-11-06 2010-11-23 Vmware, Inc. Storage handling for fault tolerance in virtual machines
WO2009069573A1 (ja) * 2007-11-26 2009-06-04 Nec Corporation 仮想計算機移行システム、仮想計算機移行方法および仮想計算機移行プログラム
US8418173B2 (en) 2007-11-27 2013-04-09 Manageiq, Inc. Locating an unauthorized virtual machine and bypassing locator code by adjusting a boot pointer of a managed virtual machine in authorized environment
US8407688B2 (en) 2007-11-27 2013-03-26 Managelq, Inc. Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets
US8341626B1 (en) 2007-11-30 2012-12-25 Hewlett-Packard Development Company, L. P. Migration of a virtual machine in response to regional environment effects
JP4894745B2 (ja) * 2007-12-14 2012-03-14 富士通株式会社 仮想マシン移動制御方式
EP2248003A1 (en) 2007-12-31 2010-11-10 Netapp, Inc. System and method for automatic storage load balancing in virtual server environments
US8667595B2 (en) * 2007-12-31 2014-03-04 Intel Corporation Method, apparatus and system for containing and localizing malware propagation
US8359593B2 (en) * 2008-04-21 2013-01-22 Vmware, Inc. Computer machine migration of file system images using a redo-log file
US9501305B2 (en) * 2008-04-23 2016-11-22 Inernational Business Machines Corporation System for virtualisation monitoring
US9501124B2 (en) * 2008-05-22 2016-11-22 Microsoft Technology Licensing, Llc Virtual machine placement based on power calculations
US9032397B2 (en) * 2008-05-28 2015-05-12 Hewlett-Packard Development Company, L.P. Virtual machine migration with direct physical access control
US20090296726A1 (en) * 2008-06-03 2009-12-03 Brocade Communications Systems, Inc. ACCESS CONTROL LIST MANAGEMENT IN AN FCoE ENVIRONMENT
US8577845B2 (en) * 2008-06-13 2013-11-05 Symantec Operating Corporation Remote, granular restore from full virtual machine backup
US8099615B2 (en) * 2008-06-30 2012-01-17 Oracle America, Inc. Method and system for power management in a virtual machine environment without disrupting network connectivity
JP5222651B2 (ja) * 2008-07-30 2013-06-26 株式会社日立製作所 仮想計算機システムおよび仮想計算機システムの制御方法
WO2010038307A1 (ja) * 2008-10-03 2010-04-08 富士通株式会社 仮想計算機システムのテスト方法、テストプログラム並びにその記録媒体、仮想計算機システム
US8055736B2 (en) * 2008-11-03 2011-11-08 International Business Machines Corporation Maintaining storage area network (‘SAN’) access rights during migration of operating systems
JP5124430B2 (ja) * 2008-12-04 2013-01-23 株式会社エヌ・ティ・ティ・データ 仮想マシンの移行方法、サーバ、及び、プログラム
US20100153946A1 (en) * 2008-12-17 2010-06-17 Vmware, Inc. Desktop source transfer between different pools
US9270785B2 (en) * 2008-12-18 2016-02-23 Citrix Systems, Inc. System and method for a distributed virtual desktop infrastructure
JP5333735B2 (ja) * 2009-01-27 2013-11-06 日本電気株式会社 仮想計算機システム、仮想計算機のマイグレーション方法、及びプログラム
US8478801B2 (en) * 2009-05-20 2013-07-02 Vmware, Inc. Efficient reconstruction of virtual disk hierarchies across storage domains
JP5227887B2 (ja) * 2009-05-21 2013-07-03 株式会社日立製作所 バックアップ管理方法
US8234469B2 (en) * 2009-07-09 2012-07-31 Microsoft Corporation Backup of virtual machines using cloned virtual machines
US9043454B2 (en) * 2009-08-26 2015-05-26 Red Hat Israel, Ltd. Auto suspense of virtual machine on client disconnection
US8635395B2 (en) * 2009-09-14 2014-01-21 Vmware, Inc. Method of suspending and resuming virtual machines
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US8370560B2 (en) * 2009-11-16 2013-02-05 International Business Machines Corporation Symmetric live migration of virtual machines
US8850426B2 (en) * 2009-12-13 2014-09-30 International Business Machines Corporation Managing remote deployment of a virtual machine and service request to be processed by the virtual machines based on network bandwith and storage connectivity
US8370473B2 (en) * 2009-12-16 2013-02-05 International Business Machines Corporation Live multi-hop VM remote-migration over long distance
US8726275B2 (en) * 2009-12-18 2014-05-13 International Business Machines Corporation Selective partial cloning of virtual machines in a virtual computing environment
JP5487951B2 (ja) * 2009-12-22 2014-05-14 富士通株式会社 運用管理プログラム、運用管理装置および運用管理方法
WO2011082132A1 (en) 2009-12-31 2011-07-07 Commvault Systems, Inc. Systems and methods for analyzing snapshots
CA2783370C (en) 2009-12-31 2016-03-15 Commvault Systems, Inc. Systems and methods for performing data management operations using snapshots
US8996667B2 (en) 2010-04-27 2015-03-31 International Business Machines Corporation Deploying an operating system
GB2480599A (en) * 2010-05-17 2011-11-30 Tech Universit T Muenchen Hybrid OLTP and OLAP database
US9317314B2 (en) * 2010-06-29 2016-04-19 Microsoft Techology Licensing, Llc Techniques for migrating a virtual machine using shared storage
WO2012020482A1 (ja) 2010-08-11 2012-02-16 富士通株式会社 バックアップ方法、情報処理装置及びプログラム
US8706947B1 (en) * 2010-09-30 2014-04-22 Amazon Technologies, Inc. Virtual machine memory page sharing system
US8499114B1 (en) 2010-09-30 2013-07-30 Amazon Technologies, Inc. Virtual machine memory page sharing system
JP5907983B2 (ja) 2010-11-23 2016-05-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation マイグレーション方法、コンピュータ・プログラム、およびシステム
GB2499963B (en) 2010-12-09 2014-03-26 Ibm Computer-readable storage mediums for encrypting and decrypting a virtual disc
WO2012079864A1 (en) 2010-12-13 2012-06-21 International Business Machines Corporation Upgrade of software images based on streaming technique
JP5767565B2 (ja) 2010-12-14 2015-08-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェア・イメージの管理方法、コンピュータ・プログラム、およびシステム(共有メモリ・ブロックを用いた複数のソフトウェア・イメージの管理)
US9110693B1 (en) * 2011-02-17 2015-08-18 Emc Corporation VM mobility over distance
US9223605B2 (en) * 2011-07-01 2015-12-29 V3 Systems Holdings, Inc. Virtual machine allocation internal and external to physical environment
CN102736945B (zh) 2011-03-31 2016-05-18 国际商业机器公司 一种运行应用程序的多个实例的方法和系统
CN102959555B (zh) * 2011-04-27 2015-09-02 松下电器(美国)知识产权公司 虚拟计算机系统、虚拟计算机控制方法及半导体集成电路
US8924967B2 (en) 2011-04-28 2014-12-30 Vmware, Inc. Maintaining high availability of a group of virtual machines using heartbeat messages
US8621274B1 (en) * 2011-05-18 2013-12-31 Netapp Inc. Virtual machine fault tolerance
CN103827823A (zh) 2011-07-29 2014-05-28 惠普发展公司,有限责任合伙企业 迁移虚拟机
US20130097296A1 (en) * 2011-10-18 2013-04-18 Telefonaktiebolaget L M Ericsson (Publ) Secure cloud-based virtual machine migration
WO2013061376A1 (en) * 2011-10-28 2013-05-02 Hitachi, Ltd. Storage system and data processing method in storage system
WO2013112538A1 (en) * 2012-01-23 2013-08-01 Citrix Systems, Inc. Storage encryption
JP5518143B2 (ja) * 2012-08-03 2014-06-11 株式会社エヌ・ティ・ティ・データ 仮想マシンの移行方法、サーバ、プログラム、及び、仮想マシンシステム
US10684875B2 (en) * 2012-12-06 2020-06-16 At&T Intellectual Property I, L.P. Synchronization of a virtual machine across mobile devices
US9250827B2 (en) 2012-12-14 2016-02-02 Vmware, Inc. Storing checkpoint file in high performance storage device for rapid virtual machine suspend and resume
US9378068B2 (en) 2013-03-13 2016-06-28 International Business Machines Corporation Load balancing for a virtual networking system
US9438670B2 (en) 2013-03-13 2016-09-06 International Business Machines Corporation Data replication for a virtual networking system
EP2979180B1 (en) * 2013-03-27 2019-10-30 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for emulating virtualization resources
WO2015009913A1 (en) 2013-07-19 2015-01-22 Altria Client Services Inc. Methods and systems for incorporating nicotine into oral products
US9870268B2 (en) * 2013-08-05 2018-01-16 Amazon Technologies, Inc. Virtual computing instance migration
US9654411B2 (en) 2013-08-27 2017-05-16 Vmware, Inc. Virtual machine deployment and management engine
US9268610B2 (en) * 2013-11-01 2016-02-23 Vmware, Inc. Rapid virtual machine cloning
US10977063B2 (en) * 2013-12-20 2021-04-13 Vmware, Inc. Elastic compute fabric using virtual machine templates
US9477507B2 (en) 2013-12-20 2016-10-25 Vmware, Inc. State customization of forked virtual machines
US9323565B2 (en) 2013-12-20 2016-04-26 Vmware, Inc. Provisioning customized virtual machines without rebooting
US9823881B2 (en) 2013-12-23 2017-11-21 Vmware, Inc. Ensuring storage availability for virtual machines
US10097410B2 (en) 2014-06-26 2018-10-09 Vmware, Inc. Methods and apparatus to scale application deployments in cloud computing environments
US9619268B2 (en) 2014-08-23 2017-04-11 Vmware, Inc. Rapid suspend/resume for virtual machines via resource sharing
US9578032B2 (en) * 2014-08-23 2017-02-21 Vmware, Inc. Application publishing using memory state sharing
US9389901B2 (en) * 2014-09-09 2016-07-12 Vmware, Inc. Load balancing of cloned virtual machines
US10303782B1 (en) 2014-12-29 2019-05-28 Veritas Technologies Llc Method to allow multi-read access for exclusive access of virtual disks by using a virtualized copy of the disk
US9483360B1 (en) * 2015-05-27 2016-11-01 Red Hat Israel, Ltd. Guest-driven virtual machine backups
JP6458650B2 (ja) 2015-06-08 2019-01-30 富士通株式会社 情報処理システム、情報処理プログラムおよび情報処理装置
US10027661B2 (en) * 2015-11-05 2018-07-17 International Business Machines Corporation Biometric virtual machine image administration
US10230785B1 (en) 2015-12-28 2019-03-12 Amazon Technologies, Inc. Post data synchronization for domain migration
JP6645275B2 (ja) * 2016-03-04 2020-02-14 富士通株式会社 情報処理装置、仮想マシン移動方法、および仮想マシン制御プログラム
US10341215B2 (en) 2016-04-06 2019-07-02 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems, and computer readable media for emulating network traffic patterns on a virtual machine
US20170371693A1 (en) * 2016-06-23 2017-12-28 Vmware, Inc. Managing containers and container hosts in a virtualized computer system
US20180027009A1 (en) * 2016-07-20 2018-01-25 Cisco Technology, Inc. Automated container security
US10564996B2 (en) * 2016-08-28 2020-02-18 Vmware, Inc. Parentless virtual machine forking
US10162559B2 (en) * 2016-09-09 2018-12-25 Veritas Technologies Llc Systems and methods for performing live migrations of software containers
US10268612B1 (en) * 2016-09-23 2019-04-23 Amazon Technologies, Inc. Hardware controller supporting memory page migration
FI20165910A (fi) 2016-11-30 2018-05-31 AJR Solutions Oy Virtuaalikoneiden siirtäminen
US10528477B2 (en) 2017-04-24 2020-01-07 International Business Machines Corporation Pseudo-invalidating dynamic address translation (DAT) tables of a DAT structure associated with a workload
US10977066B2 (en) 2018-04-06 2021-04-13 Red Hat, Inc. Virtual machine to container conversion and optimization
US20220035905A1 (en) * 2020-07-31 2022-02-03 Palo Alto Networks, Inc. Malware analysis through virtual machine forking
US11323354B1 (en) 2020-10-09 2022-05-03 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using switch emulation
US11483227B2 (en) 2020-10-13 2022-10-25 Keysight Technologies, Inc. Methods, systems and computer readable media for active queue management

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187308A (ja) * 1992-12-21 1994-07-08 Toshiba Corp 複合計算機システムに於ける分散共有記憶管理方式及び負荷分散方式
JPH10283210A (ja) * 1997-04-01 1998-10-23 Hitachi Ltd 仮想計算機システム間の仮想計算機移動制御方式

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5313647A (en) * 1991-09-20 1994-05-17 Kendall Square Research Corporation Digital data processor with improved checkpointing and forking
US5752036A (en) * 1993-10-05 1998-05-12 Seiko Epson Corporation Apparatus for generating a program for parallel processing
US6802062B1 (en) * 1997-04-01 2004-10-05 Hitachi, Ltd. System with virtual machine movable between virtual machine systems and control method
US6795966B1 (en) * 1998-05-15 2004-09-21 Vmware, Inc. Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction
US6704764B1 (en) * 1998-06-18 2004-03-09 Hewlett-Packard Development Company, L.P. Method and apparatus for a servlet server class
US6732220B2 (en) * 1999-02-17 2004-05-04 Elbrus International Method for emulating hardware features of a foreign architecture in a host operating system environment
US6850953B1 (en) * 1999-08-23 2005-02-01 Sun Microsystems, Inc. Creating multiple sets of data by spawning a secondary virtual machine
JP2002024048A (ja) * 2000-07-10 2002-01-25 Oki Electric Ind Co Ltd 高可用性システム
US7506265B1 (en) * 2000-07-17 2009-03-17 Microsoft Corporation System and method for displaying images of virtual machine environments
AU2002303207B2 (en) * 2001-04-03 2009-01-22 L-3 Communications Security And Detection Systems, Inc. A remote baggage screening system, software and method
US20020184287A1 (en) * 2001-06-01 2002-12-05 Patrick Nunally Method and device for executing network-centric program code with reduced memory
GB2378535A (en) * 2001-08-06 2003-02-12 Ibm Method and apparatus for suspending a software virtual machine
US7698360B2 (en) * 2002-02-26 2010-04-13 Novell, Inc. System and method for distance learning
US7093086B1 (en) * 2002-03-28 2006-08-15 Veritas Operating Corporation Disaster recovery and backup using virtual machines
US7065549B2 (en) * 2002-03-29 2006-06-20 Illinois Institute Of Technology Communication and process migration protocols for distributed heterogeneous computing
US7313793B2 (en) * 2002-07-11 2007-12-25 Microsoft Corporation Method for forking or migrating a virtual machine
US7299468B2 (en) * 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
US7257811B2 (en) * 2004-05-11 2007-08-14 International Business Machines Corporation System, method and program to migrate a virtual machine
US20060085784A1 (en) * 2004-10-15 2006-04-20 Microsoft Corporation Systems and methods for authoring and accessing computer-based materials using virtual machines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06187308A (ja) * 1992-12-21 1994-07-08 Toshiba Corp 複合計算機システムに於ける分散共有記憶管理方式及び負荷分散方式
JPH10283210A (ja) * 1997-04-01 1998-10-23 Hitachi Ltd 仮想計算機システム間の仮想計算機移動制御方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011149326A1 (en) * 2010-05-25 2011-12-01 Mimos Berhad System and method for virtual on-demand application
JPWO2013008450A1 (ja) * 2011-07-14 2015-02-23 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 仮想計算機システム、メモリ管理方法、メモリ管理プログラム、記録媒体および集積回路
US9176781B2 (en) 2011-07-14 2015-11-03 Panasonic Intellectual Property Corporation Of America Virtual machine system, memory management method, memory management program, recording medium, and integrated circuit

Also Published As

Publication number Publication date
US20080098154A1 (en) 2008-04-24
JP2004133894A (ja) 2004-04-30
JP5085590B2 (ja) 2012-11-28
US7657888B2 (en) 2010-02-02
EP1380947B1 (en) 2019-05-01
EP1380947A2 (en) 2004-01-14
JP5769212B2 (ja) 2015-08-26
JP4942909B2 (ja) 2012-05-30
US20040010787A1 (en) 2004-01-15
EP1380947A3 (en) 2008-11-05
ES2734248T3 (es) 2019-12-05
US7313793B2 (en) 2007-12-25
JP2014006935A (ja) 2014-01-16
JP2012074090A (ja) 2012-04-12

Similar Documents

Publication Publication Date Title
JP5769212B2 (ja) 仮想マシンをフォークまたはマイグレートするための方法
US8151263B1 (en) Real time cloning of a virtual machine
JP5657121B2 (ja) 仮想マシンのオンデマンド型イメージ・ストリーミング
US8370560B2 (en) Symmetric live migration of virtual machines
US9317314B2 (en) Techniques for migrating a virtual machine using shared storage
EP4050477B1 (en) Virtual machine migration techniques
US8769226B2 (en) Discovering cluster resources to efficiently perform cluster backups and restores
EP2053509B1 (en) System for and method of migrating one or more virtual machines
US9256463B2 (en) Method and apparatus to replicate stateful virtual machines between clouds
US8621461B1 (en) Virtual machine based operating system simulation using host ram-based emulation of persistent mass storage device
US20060005189A1 (en) Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity
US20110238969A1 (en) Intelligent boot device selection and recovery
EP3570166B1 (en) Speculative virtual machine execution
EP3786797A1 (en) Cloud resource marketplace
Deka et al. Application of virtualization technology in IaaS cloud deployment model
US20240184612A1 (en) Virtual machine live migration with direct-attached non-volatile memory express device
Wu et al. Vshadow: Promoting Physical Servers into Virtualization World
Sheuly Resource Virtualization for Real-time Industrial Clouds
EP2622460B1 (en) Techniques for streaming virtual machines from a server to a host
Opsahl A Comparison of Management of Virtual Machines with z/VM and ESX Server
Muda A Strategy for Virtual Machine Migration Based on Resource Utilization
Kim et al. An Efficient Method by Using Prediction to Reduce Times in Live Migration of Virtual Machine

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110922

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111222

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120410

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120710

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120831

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120905

R150 Certificate of patent or registration of utility model

Ref document number: 5085590

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150914

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees