JP5689475B2 - ホスト・コンピューティング・システム上に1つまたは複数の仮想計算機を配備するための方法、コンピューティング・システムのメモリに1組のデータをロードするための方法、システム、およびコンピュータ・プログラム(コンピューティング・システムのメモリへのデータの効率的なロード) - Google Patents

ホスト・コンピューティング・システム上に1つまたは複数の仮想計算機を配備するための方法、コンピューティング・システムのメモリに1組のデータをロードするための方法、システム、およびコンピュータ・プログラム(コンピューティング・システムのメモリへのデータの効率的なロード) Download PDF

Info

Publication number
JP5689475B2
JP5689475B2 JP2012542499A JP2012542499A JP5689475B2 JP 5689475 B2 JP5689475 B2 JP 5689475B2 JP 2012542499 A JP2012542499 A JP 2012542499A JP 2012542499 A JP2012542499 A JP 2012542499A JP 5689475 B2 JP5689475 B2 JP 5689475B2
Authority
JP
Japan
Prior art keywords
data
memory
data chunk
copy
loaded
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.)
Active
Application number
JP2012542499A
Other languages
English (en)
Other versions
JP2013513841A (ja
Inventor
ファクター・マイケル
メス・カルマン
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2013513841A publication Critical patent/JP2013513841A/ja
Application granted granted Critical
Publication of JP5689475B2 publication Critical patent/JP5689475B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0667Virtualisation aspects at data level, e.g. file, record or object virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

開示された主題は、一般に、コンピューティング・システムに関し、詳細には、複数の仮想計算機を処理するコンピューティング・システムのメモリへのデータの効率的なロードに関する。
仮想化環境では、1つまたは複数のソフトウェアまたはハードウェア・インフラストラクチャ(すなわち、ホスト・マシン)上で実行されるホスト・ソフトウェア(すなわち、ハイパーバイザ)は、1つまたは複数のゲスト・ソフトウェアのためにホスト・マシンをエミュレートまたは仮想化することができる。換言すれば、ハイパーバイザは1つまたは複数の仮想計算機(VM)を実現することができる。
ハイパーバイザは、VM(すなわち、VMのイメージ)を実現するために使用されるデータをデータ記憶システムからホスト・マシンのメモリにロードすることにより、VMを実現する。そのイメージが同じイメージ(すなわち、マスタ・イメージ)から導出される場合、そのイメージはかなりの量のデータを共通して有する可能性がある。既存の実現例では、ハイパーバイザは、複数のVMイメージに共通するデータを識別せずに、それぞれのイメージを取り出して、それをメモリの個別領域に独立してロードする。したがって、ハイパーバイザは、共通データを繰り返し取り出してロードすることにより、リソース(たとえば、処理能力、メモリ空間、記憶およびネットワーク帯域幅)を浪費する。
米国特許出願公報第20090182928号では、IDを使用してVMの移動を追跡するための方法およびシステムを開示している。米国特許出願公報第20080263296号では、情報ブロックがすでに記憶装置に保管されているかどうかを判断するための方法およびシステムを開示している。米国特許第7500048号では、第1の候補メモリ・ページと第2の候補メモリ・ページとの間にハッシュ一致が存在するかどうかを判断するための方法およびシステムを開示している。米国特許第7356665号では、前記処理システム内のマシン・メモリ・ブロックを各仮想計算機内で使用される物理メモリ・ブロックにマッピングする逆マッピング構造を維持するための方法およびシステムを開示している。米国特許第7246200号では、マップ情報に基づいて仮想計算機に関連するイメージが記憶域に保管されているかどうかをチェックするための方法を開示している。
米国特許出願公報第20090182928号 米国特許出願公報第20080263296号 米国特許第7500048号 米国特許第7356665号 米国特許第7246200号
上記の従来技術の文献はいずれも、共通データを繰り返し取り出してロードする必要性によるリソースの浪費問題に対処していない。
概要を示すために、特定の態様、利点、および新規の特徴が本明細書に記載されている。いずれかの特定の一実施形態により、このような利点をすべて達成できるわけではないことを理解されたい。したがって、開示された主題は、本明細書で教示または提案できるようなすべての利点を達成せずに、1つの利点または1群の利点を達成または最適化するように実施または実行することができる。
一実施形態により、ホスト・コンピューティング・システム上に1つまたは複数の仮想計算機を配備するための方法が提供される。この方法は、データ記憶システムからマッピング情報を受信することを含む。マッピング情報は、データ記憶システムに保管された第1のデータ・チャンク(data chunk)を固有ID(unique identifier)に関連付けて、ホスト・コンピューティング・システム上の第1の仮想計算機の配備をサポートする。マッピング情報が受信されると、このマッピング情報は、ホスト・コンピューティング・システム上の第1の仮想計算機または第2の仮想計算機の配備に関連して、第1のデータ・チャンクのいずれかのコピーがすでにホスト・コンピューティング・システムのメモリにロードされているかどうかを判断するために使用される。第1のデータ・チャンクのいずれのコピーもまだメモリにロードされていない場合、第1のデータ・チャンクがデータ記憶システムから取り出され、メモリにロードされ、ホスト・コンピューティング・システム上に第1の仮想計算機を配備するために使用される。
1つまたは複数の実施形態により、1つまたは複数の論理装置を含むシステムが提供される。1つまたは複数の論理装置は、上記で開示された方法に関連する機能および動作を実行するように構成される。さらに他の実施形態では、コンピュータ可読プログラムを有するコンピュータ可読記憶媒体を含むコンピュータ・プログラム(computer program product)が提供される。コンピュータ可読プログラムは、コンピュータ上で実行されると、上記で開示された方法に関連する機能および動作をコンピュータに実行させる。
特定の代替例に加えて、上記で開示された諸実施形態のうちの1つまたは複数は、添付図面に関連して以下により詳細に示されている。しかし、開示された主題は開示された任意の特定の実施形態に限定されない。
次に、以下の図面に関連して、一例としてのみ、本発明の好ましい諸実施形態について説明する。
1つまたは複数の実施形態により、模範的な仮想化環境を示す図である。 一実施形態により、1つまたは複数のVMイメージを取り出してメモリにロードするための方法の流れ図である。 一実施形態により、1つまたは複数のVMイメージを取り出してメモリにロードするための方法の流れ図である。 1つまたは複数の実施形態により、本発明のシステムが動作可能なハードウェア環境のブロック図である。 1つまたは複数の実施形態により、本発明のシステムが動作可能なソフトウェア環境のブロック図である。
異なる図で同じ番号によって参照される特徴、要素、および態様は、1つまたは複数の実施形態により、同じか同等かまたは同様の特徴、要素、または態様を表している。
以下の説明では、様々な実施形態について徹底的に説明するために、多数の具体的な詳細が示されている。特定の実施形態は、このような具体的な詳細がないかまたは細部を多少変更しても実践することができる。いくつかの実例では、他の態様を曖昧にしないようにするために、特定の特徴についてあまり詳細に説明していない。それぞれの要素または特徴に関連する詳細レベルは、他の特徴に対するある特徴の新規性または重要性を限定するものと解釈してはならない。
図1を参照すると、1つまたは複数の実施形態により、模範的な仮想化環境100は、データ記憶システム110とホスト・マシン120とを含む。データ記憶システム110は、データを保管するための1つまたは複数のストレージ・デバイス112と、データを管理するためのストレージ・コントローラ114とを含む。ホスト・マシン120は、データを保管するためのメモリ122と、データを管理するためのメモリ・コントローラ124と、1つまたは複数のVM130を実現するためのハイパーバイザ126とを含む。
図1、図2、および図3を参照すると、一実施形態により、VM130(すなわち、VMイメージ)を実現するために使用されるデータは、ストレージ・デバイス112から取り出して、メモリ122にロードすることができる。ストレージ・コントローラ114は、一般に共用されるデータの複数コピーがデータ記憶システム110に保管されるのを防止または排除するためにコピー・オン・ライト(copy-on-write)、重複解除(de-duplication)、またはその他の空間効率の良い記憶メカニズムを使用する記憶方式により、ストレージ・デバイス112にVMイメージを保管する(P200)。VMイメージがマスタ・イメージから導出される場合、VMイメージがかなりの量のデータを共通して有する可能性があることは注目すべきことである。たとえば、一実現例では、マスタ・イメージの空間効率の良いポイント・イン・タイム・コピー(たとえば、スナップショット)を生成し、次にそのコピーを変更することにより、マスタ・イメージからVMイメージを導出することができる。
データ記憶システム110に保管された各データ・チャンクは、固有IDに有利に関連付けることができる(P210)。データ・チャンクは、データ・ブロック、データ・エクステント、またはその他のデータのグループ化を参照する。実現例次第で、データ・チャンクに関連する固有IDは、記憶位置に応じて生成するか、データ・チャンクの内容に応じて生成するか、このようなIDを生成するためのその他のメカニズムに応じて生成することができる。したがって、実現例によっては、1つのデータ・チャンクについて、同じ記憶位置に保管されるかまたは同じ内容を有する複数のコピーが同じ固有IDに関連付けられる場合がある。
模範的な一実施形態では、データ・チャンクのポイント・イン・タイム・コピーを保管するためにコピー・オン・ライトが使用される場合、特定の時点後にそのデータ・チャンクが変更されたかどうかに応じて、そのデータ・チャンクの1つまたは複数のコピーを第1または第2のストレージ・ボリュームに保管することができる。このような記憶方式では、そのデータ・チャンクの未変更コピー用の固有IDは、たとえば、第1のストレージ・ボリューム用のIDと、第1のストレージ・ボリューム内のそのコピーの位置を含むことができる。そのデータ・チャンクの変更済みコピー用の固有IDは、たとえば、第2のストレージ・ボリューム用のIDと、第2のストレージ・ボリューム内のそのコピーの位置を含むことができる。
他の記憶方式では、データ・チャンク用の固有IDは、たとえば、そのデータ・チャンクの物理アドレスを含むことができる。代わって、データ・チャンク用の固有IDは、たとえば、データ・チャンクの内容から生成されたハッシュ値またはその他の値を含むことができる。
さらに図1、図2、および図3を参照すると、ストレージ・コントローラ114は、VMイメージの各データ・チャンクを固有IDに関連付ける情報(すなわち、マッピング情報)をハイパーバイザ126に提供する(P220)。実現例次第で、このようなマッピング情報は、ハイパーバイザ126がこのような情報を求める明示要求をストレージ・コントローラ114に送信することによるかまたはストレージ・コントローラ114からハイパーバイザ126に流れる他のトラフィックにピギーバックされることによりハイパーバイザ126によって入手するか、またはこのような情報を入手するための任意のその他の使用可能な手段によって入手することができる。開示された主題が特定の実現例に限定されないことを理解されたい。
データ記憶システム110から取り出して、メモリ122にロードすべきVMイメージのデータ・チャンクごとに、ハイパーバイザ126は、そのデータ・チャンクに関連する固有IDを使用して、第1のVMイメージ(すなわち、現行VMイメージ)または第2のVMイメージ(すなわち、前に配備されたVMイメージ)の配備の一部として、データ・チャンクのコピーがすでに取り出され、メモリ122にロードされているかどうかを判断する(P230)。データ・チャンクのコピーがすでに取り出され、メモリ122にロードされている場合、第1のVMイメージを配備するために、同じデータ・チャンクの第2のコピーが取り出されてメモリ122にロードされることはない。その代わりに、第1のVMイメージは、すでにメモリ122にロードされているデータ・チャンクのコピーを共用する(P240)。代わって、ハイパーバイザ126は、データ記憶システム110からもう一度データ・チャンクを取り出す代わりに、データ・チャンクのメモリ間コピーを実行するようメモリ・コントローラ124に要求する。
データ・チャンクの前のコピーが取り出されてメモリ122にロードされていない場合、ハイパーバイザ126は、データ記憶システム110からデータ・チャンクを取り出し、そのデータ・チャンクをメモリ・コントローラ124に提供する(P250)。データ・チャンクを受信すると、メモリ・コントローラ124は、一般に共用されるデータの複数コピーがメモリ122に保管されるのを防止または排除する空間効率の良いメモリ方式を使用して、メモリ122にデータ・チャンクをロードする(P260)。データ・チャンクがメモリ122にロードされると、ハイパーバイザ126は、そのデータ・チャンクがメモリ122にロードされたことを示すようにデータ構造(たとえば、テーブル、アレイ、ビットマップなど)を更新する(P270)。
特定の実現例では、VMは、そのVMの状態の変化により変更される可能性がある。このような場合、第1のVMと第2のVMとの間で一般に共用される第1のVMに関するデータ・チャンクは、メモリ122にロードされた後で変更される可能性がある。このような実現例では、ハイパーバイザ126は、第1のVMに関連し、第2のVMに関連しないものとしてデータ・チャンクを区別するために、たとえば、タイムスタンプまたはバージョン番号を含むように、メモリ122にロードされたデータ・チャンクに関連する固有IDを更新することができる。このシナリオでは、第2のVMがすでに配備されている場合、第2のVMに関連して、変更前のデータ・チャンクのコピーが予約されロードされる。代わって、ハイパーバイザ126は、データ・チャンクが使用されている間にデータ・チャンクが変更されるのを禁止することができる。
上記で提供されたプロセスは、データ記憶システムの異なるストレージ・ボリュームに保管されている同じデータのコピーが2回以上、ストレージから取り出されてメモリにロードされるのを防止する。したがって、処理能力(たとえば、入出力(I/O)操作)、メモリ空間、または記憶およびネットワーク帯域幅を浪費せずに、データが取り出され、メモリにロードされる。また、上記で提供されたプロセスは、1組のストレージ・ボリュームから任意のタイプのコンピューティング・システムのメモリにロード可能な任意のタイプのデータに適用することができる。したがって、請求された主題の範囲は、VMを処理するコンピューティング・システムのメモリにVMイメージをロードすることに限定されるものと解釈してはならない。
種々の実施形態では、開示された主題は、ハードウェア要素とソフトウェア要素両方の組み合わせとして、代わって、完全にハードウェアの形でまたは完全にソフトウェアの形で実現することができる。さらに、本明細書に開示されたコンピューティング・システムおよびプログラム・ソフトウェアは、本明細書で企図される結果を達成する方法およびプロセスを実行するために実行されるハードウェア・コンポーネントまたは論理コードに関して提示可能な制御されたコンピューティング環境を含むことができる。前記方法およびプロセスは、汎用コンピューティング・システムまたはマシンによって実行されると、汎用マシンを特定目的マシンに変換する。
図4および図5を参照すると、模範的な一実施形態によるコンピューティング・システム環境は、ハードウェア環境1110とソフトウェア環境1120で構成することができる。ハードウェア環境1110は、ソフトウェア環境1120のコンポーネントに実行環境を提供する、論理装置、回路、またはその他の機械および機器を含むことができる。次に、ソフトウェア環境1120は、ハードウェア環境1110の様々なコンポーネントに対し、基礎をなす動作設定および構成を含む実行命令を提供することができる。
図4を参照すると、本明細書に開示されたアプリケーション・ソフトウェアおよび論理コードは、模範的なハードウェア環境1110によって表される1つまたは複数のコンピューティング・システムにより実行されるコンピュータ可読コードの形で実現することができる。例示されているように、ハードウェア環境1110は、システム・バス1100により1つまたは複数の記憶素子に結合されたプロセッサ1101を含むことができる。記憶素子は、たとえば、ローカル・メモリ1102、ストレージ・メディア1106、キャッシュ・メモリ1104、またはその他のコンピュータ使用可能媒体またはコンピュータ可読媒体を含むことができる。本明細書の文脈内では、コンピュータ使用可能記憶媒体またはコンピュータ可読記憶媒体は、プログラム・コードを収容、保管、通信、伝搬、または輸送するために使用可能な任意の記録可能品目を含むことができる。
コンピュータ可読記憶媒体は、電子、磁気、光、電磁、赤外線、または半導体の媒体、システム、装置、またはデバイスにすることができる。また、コンピュータ可読記憶媒体は、このような実現例が法定主題と見なされる範囲で、無制限に、伝搬媒体に実現することもできる。コンピュータ可読記憶媒体の例としては、半導体またはソリッド・ステート・メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、剛性磁気ディスク、光ディスク、または適切である場合に搬送波を含むことができる。光ディスクの現在の例としては、コンパクト・ディスク読み取り専用メモリ(CD−ROM)、書き換え可能コンパクト・ディスク(CD−R/W)、デジタル・ビデオ・ディスク(DVD)、高精細ビデオ・ディスク(HD−DVD)、またはブルーレイ(TM)ディスクを含む。
一実施形態では、プロセッサ1101はストレージ・メディア1106からローカル・メモリ1102に実行可能コードをロードする。キャッシュ・メモリ1104は、実行のためにコードがロードされる回数を削減するのを支援する一時記憶域を提供することにより、処理時間を最適化する。1つまたは複数のユーザ・インターフェース・デバイス1105(たとえば、キーボード、ポインティング・デバイスなど)および表示画面1107は、たとえば、直接または介在するI/Oコントローラ1103を介して、ハードウェア環境1110内の他の要素に結合することができる。ハードウェア環境1110が介在する私設網または公衆網(たとえば、インターネット)を介してローカルまたはリモートに位置するコンピューティング・システム、プリンタ、およびストレージ・デバイスと通信できるようにするために、ネットワーク・アダプタなどの通信インターフェース・ユニット1108を設けることができる。有線または無線モデムおよびイーサネット・カードは、模範的なタイプのネットワーク・アダプタのうちのいくつかに過ぎない。
ハードウェア環境1110は、特定の実現例では、上記のコンポーネントの一部または全部を含まない場合もあれば、補足機能またはユーティリティを提供するために追加のコンポーネントを含む場合もあることは注目すべきことである。企図された用途および構成次第で、ハードウェア環境1110は、デスクトップまたはラップトップ・コンピュータ、あるいは任意選択でセットトップ・ボックスなどの組み込みシステムに実施されたその他のコンピューティング・デバイス、携帯情報端末(PDA)、パーソナル・メディア・プレーヤ、モバイル通信ユニット(たとえば、携帯電話)、あるいは情報処理またはデータ記憶機能を有するその他の同様のハードウェア・プラットフォームにすることができる。
実施形態によっては、通信インターフェース1108は、プログラム・コードを含む様々なタイプの情報を表すアナログまたはデジタル・データ・ストリームを担持するデジタル、電気、電磁、または光信号を送受信することにより、1つまたは複数のコンピューティング・システムとの通信の手段を提供するためのデータ通信ポートとして動作する。この通信は、ローカルまたはリモート・ネットワークによるか、代わって、搬送波による伝搬を無制限に含む、空気またはその他の媒体による伝送により、確立することができる。
ここに提供されるように、例示されたハードウェア要素上で実行される開示されたソフトウェア要素は、本質的に模範的なものである論理または機能関係により定義される。しかし、前記模範的なソフトウェア要素により実現されるそれぞれの方法は、たとえば、構成されプログラミングされたプロセッサ、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、およびデジタル信号プロセッサ(DSP)により前記ハードウェア要素内にコード化することもできることに留意されたい。
図5を参照すると、ソフトウェア環境1120は、一般に、1つまたは複数のハードウェア環境1110上で実行されるように、システム・ソフトウェア1121とアプリケーション・ソフトウェア1122を含む、2つのクラスに分割することができる。一実施形態では、本明細書に開示された方法およびプロセスは、システム・ソフトウェア1121、アプリケーション・ソフトウェア1122、またはこれらの組み合わせとして実現することができる。システム・ソフトウェア1121は、どのように機能し、情報を処理するかについて、ハードウェア環境1110内の1つまたは複数のプロセッサ1101(たとえば、マイクロコントローラ)に指示する、オペレーティング・システム(OS)または情報管理システムなどの制御プログラムを含むことができる。アプリケーション・ソフトウェア1122は、プロセッサ1101によって読み取り、分析、または実行することができる、プログラム・コード、データ構造、ファームウェア、常駐ソフトウェア、マイクロコード、あるいは任意のその他の形式の情報またはルーチンを含むことができるが、これらに限定されない。
換言すれば、アプリケーション・ソフトウェア1122は、コンピュータまたは任意の命令実行システムによりあるいはそれに関連して使用するためのプログラム・コードを提供するコンピュータ使用可能リ記憶媒体またはコンピュータ可読記憶媒体の形でコンピュータ・プログラムに組み込まれたプログラム・コードとして実現することができる。その上、アプリケーション・ソフトウェア1122は、ストレージ・メディア1106からローカル・メモリ1102にロードされた後にシステム・ソフトウェア1121の上で実行される1つまたは複数のコンピュータ・プログラムを含むことができる。クライアント/サーバ・アーキテクチャでは、アプリケーション・ソフトウェア1122は、クライアント・ソフトウェアとサーバ・ソフトウェアを含むことができる。たとえば、一実施形態では、クライアント・ソフトウェアは、サーバ・ソフトウェアが実行されるサーバ・コンピューティング・システムとは異なり、それから分離可能なクライアント・コンピューティング・システム上で実行することができる。
ソフトウェア環境1120は、ローカルまたはリモート・コンピューティング・ネットワークにより入手可能なデータにアクセスするためにブラウザ・ソフトウェア1126も含むことができる。さらに、ソフトウェア環境1120は、ユーザ・コマンドおよびデータを受信するためのユーザ・インターフェース1124(たとえば、グラフィカル・ユーザ・インターフェース(GUI))を含むことができる。上記のハードウェアおよびソフトウェアのアーキテクチャおよび環境が例示目的のものであることは繰り返す価値のあることである。このため、1つまたは複数の実施形態は、任意のタイプのシステム・アーキテクチャ、機能または論理プラットフォーム、あるいは処理環境により実現することができる。
また、論理コード、プログラム、モジュール、プロセス、メソッド、および各メソッドのそれぞれのプロセスが実行される順序は純粋に模範的なものであることも理解されたい。実現例次第で、プロセスまたは任意の基礎をなすサブプロセスおよびメソッドは、本発明に他の指示がない限り、任意の順序でまたは同時に実行することができる。さらに、具体的な他の指定がない限り、本発明の文脈内の論理コードの定義は、任意の特定のプログラミング言語に関連しないかまたは限定されず、分散、非分散、シングルまたはマルチ処理環境において1つまたは複数のプロセッサ上で実行可能な1つまたは複数のモジュールを含むことができる。
当業者によって認識されるように、ソフトウェア実施形態は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むことができる。ソフトウェアまたはハードウェアを含むかあるいはソフトウェア態様とハードウェア態様を組み合わせる特定のコンポーネントは、一般に、本明細書では「回路」、「モジュール」、または「システム」と呼ぶことができる。さらに、開示された主題は、そこに実施されたコンピュータ可読プログラム・コードを有する1つまたは複数のコンピュータ可読記憶媒体に実施されたコンピュータ・プログラムとして実現することができる。1つまたは複数のコンピュータ可読記憶媒体の任意の組み合わせを使用することができる。コンピュータ可読記憶媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体にすることができる。コンピュータ可読記憶媒体は、たとえば、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、またはデバイス、あるいは上記のものの任意の適切な組み合わせにすることができるが、これらに限定されない。
本明細書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによりあるいはそれに関連して使用するためのプログラムを収容または保管することができる任意の有形媒体にすることができる。コンピュータ可読信号媒体は、たとえば、ベースバンド内でまたは搬送波の一部として、そこに実施されたコンピュータ可読プログラム・コードを含む伝搬データ信号を含むことができる。このような伝搬信号は、電磁、光、またはそれらの任意の適切な組み合わせを含むがこれらに限定されない様々な形のうちのいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、またはデバイスによりあるいはそれに関連して使用するためのプログラムを通信、伝搬、または輸送することができる任意のコンピュータ可読記憶媒体にすることができる。
コンピュータ可読記憶媒体上に実施されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、RFなど、あるいは上記のものの任意の適切な組み合わせを含むがこれらに限定されない任意の適切な媒体を使用して伝送することができる。開示された動作を実行するためのコンピュータ・プログラム・コードは、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語あるいは「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで作成することができる。
プログラム・コードは、完全にユーザのコンピュータ上で、一部分はユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、一部分はユーザのコンピュータ上でしかも一部分はリモート・コンピュータ上で、あるいは完全にリモート・コンピュータまたはサーバ上で実行することができる。後者のシナリオでは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意のタイプのネットワークを介してリモート・コンピュータがユーザのコンピュータに接続される場合もあれば、(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに接続が行われる場合もある。
特定の諸実施形態は、諸実施形態による方法、装置(システム)、およびコンピュータ・プログラムの流れ図あるいはブロック図またはその両方に関連して開示されている。流れ図あるいはブロック図またはその両方の各ブロックおよび流れ図あるいはブロック図またはその両方内の複数ブロックの組み合わせは、コンピュータ・プログラム命令によって実現可能であることが理解されるであろう。これらのコンピュータ・プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに提供し、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサにより実行された命令が流れ図あるいはブロック図またはその両方の1つまたは複数のブロックに指定された機能/行為を実現するための手段を作成するようなマシンを生産することができる。
また、これらのコンピュータ・プログラム命令は、コンピュータ可読記憶媒体に保管された命令が流れ図あるいはブロック図またはその両方の1つまたは複数のブロックに指定された機能/行為を実現する命令を含む装置(article of manufacture)を生産するような特定の方法で機能するよう、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイスに指示することができるコンピュータ可読記憶媒体に保管することもできる。
また、コンピュータ・プログラム命令は、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイス上にロードし、コンピュータまたはその他のプログラマブル装置上で実行された命令が流れ図あるいはブロック図またはその両方の1つまたは複数のブロックに指定された機能/行為を実現するためのプロセスを提供するようなコンピュータで実行されるプロセスを生産するように、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイス上で一連の動作ステップを実行させることもできる。
図面内の流れ図およびブロック図は、様々な諸実施形態によるシステム、方法、およびコンピュータ・プログラムについて可能な実現例のアーキテクチャ、機能、および動作を例示している。この点に関しては、流れ図またはブロック図内の各ブロックは、指定の論理機能(複数も可)を実現するための1つまたは複数の実行可能命令を含む、コードのモジュール、セグメント、または一部分を表すことができる。また、いくつかの代替実現例では、ブロック内に示された機能は図面内に示された順序から外れて行われる可能性があることに留意されたい。
たとえば、連続して示されている2つのブロックは、関係する機能次第で、実際にはほぼ同時に実行される場合もあれば、ときには逆の順序で実行される場合もある。また、ブロック図あるいは流れ図またはその両方の各ブロックおよびブロック図あるいは流れ図またはその両方内の複数ブロックの組み合わせは、指定の機能または行為を実行する特殊目的ハードウェアベースのシステムあるいは特殊目的ハードウェアとコンピュータ命令との組み合わせによって実現可能であることも留意されるであろう。
開示された主題は、1つまたは複数の特徴または実施形態に関連してここに提供されている。当業者であれば、ここに提供された模範的な実施形態の詳細な本質にもかかわらず、一般に意図される範囲を制限しないかまたはそれから逸脱せずに、前記諸実施形態に変更および修正を適用できることを認識し理解するであろう。ここに提供された諸実施形態の上記および様々な他の適応例ならびに組み合わせは、特許請求の範囲およびそれと同等のもの一式によって定義されている開示された主題の範囲内である。

Claims (23)

  1. ホスト・コンピューティング・システム上に1つまたは複数の仮想計算機を配備するための方法であって、前記方法が、
    データ記憶システムからマッピング情報を受信することであって、前記マッピング情報が前記データ記憶システムに保管された第1のデータ・チャンクを固有IDに関連付けられて、ホスト・コンピューティング・システム上の第1の仮想計算機の配備に使用される、前記受信することと、
    前記マッピング情報を使用して、前記ホスト・コンピューティング・システム上の前記第1の仮想計算機または第2の仮想計算機の配備に関連して、前記第1のデータ・チャンクのいずれかのコピーがすでに前記ホスト・コンピューティング・システムのメモリにロードされているかどうかを判断することと、
    前記第1のデータ・チャンクのいずれのコピーもまだ前記メモリにロードされていないと判断したことに応じて、
    前記第1のデータ・チャンクを前記データ記憶システムから取り出すことと、
    前記第1のデータ・チャンクを前記メモリにロードすることと、
    前記第1のデータ・チャンクを使用して、前記ホスト・コンピューティング・システム上に前記第1の仮想計算機を配備すること
    を含む、方法。
  2. 前記第1のデータ・チャンクの少なくとも第1のコピーがすでに前記メモリにロードされていると判断したことに応じて、前記メモリにすでにロードされた前記第1のデータ・チャンクの前記第1のコピーを使用して、前記ホスト・コンピューティング・システム上に前記第1の仮想計算機を配備することをさらに含む、請求項1記載の方法。
  3. 前記第1のデータ・チャンクの少なくとも前記第1のコピーがすでに前記メモリにロードされていると判断したことに応じて、前記メモリにすでにロードされた前記第1のデータ・チャンクの前記第1のコピーから生成された前記第1のデータ・チャンクの第2のコピーを使用することをさらに含む、請求項1記載の方法。
  4. 前記第1のデータ・チャンクが、前記データ記憶システムに保管される、請求項1記載の方法。
  5. 前記第1のデータ・チャンクが、前記メモリに保管される、請求項1記載の方法。
  6. 前記第1のデータ・チャンクに関連する前記固有IDが、前記第1のデータ・チャンクがロードされているメモリの記憶位置に基づいて生成される、請求項1記載の方法。
  7. 特定の時点後に前記第1のデータ・チャンクが変更されない場合、前記第1のデータ・チャンクに関連する前記固有IDが、前記データ記憶システム内の第1のストレージ・ボリューム用のIDと、前記第1のストレージ・ボリューム内の前記第1のデータ・チャンクの位置を含む、請求項6記載の方法。
  8. 特定の時点後に前記第1のデータ・チャンクが変更される場合、前記第1のデータ・チャンクに関連する前記固有IDが、前記データ記憶システム内の第2のストレージ・ボリューム用のIDと、前記第2のストレージ・ボリューム内の前記第1のデータ・チャンクの位置を含む、請求項6記載の方法。
  9. 前記第1のデータ・チャンクに関連する前記固有IDが前記第1のデータ・チャンクの物理アドレスを含む、請求項1記載の方法。
  10. 前記固有IDが前記第1のデータ・チャンクの内容に基づいて生成される、請求項1記載の方法。
  11. 前記固有IDが前記第1のデータ・チャンクの前記内容から生成されたハッシュ値を含む、請求項10記載の方法。
  12. 前記第1のデータ・チャンクが、コピー・オン・ライトを使用して前記データ記憶システムに保管され、前記第1の仮想計算機および前記第2の仮想計算機によって共用される、請求項1記載の方法。
  13. 前記第1のデータ・チャンクの未変更コピーが前記第2の仮想計算機を配備するために使用可能になるように、前記データ記憶システム内の前記第1のデータ・チャンクを変更する前に、前記第1のデータ・チャンクのコピーが生成される、請求項12記載の方法。
  14. 前記データ記憶システム内の前記第1のデータ・チャンクを変更したことに応じて、前記第1のデータ・チャンクに関連する前記固有IDが前記データ記憶システム内で更新される、請求項13記載の方法。
  15. 前記第1のデータ・チャンクが、コピー・オン・ライトを使用して前記メモリに保管され、前記第1の仮想計算機および前記第2の仮想計算機によって共用される、請求項1記載の方法。
  16. 前記第1のデータ・チャンクの未変更コピーが前記第2の仮想計算機を配備するために使用可能になるように、前記メモリ内の前記第1のデータ・チャンクを変更する前に、前記第1のデータ・チャンクのコピーが前記メモリ内に生成される、請求項15記載の方法。
  17. 前記メモリ内の前記第1のデータ・チャンクを変更したことに応じて、前記第1のデータ・チャンクに関連する前記固有IDが前記メモリ内で更新される、請求項16記載の方法。
  18. コンピューティング・システムのメモリに1組のデータをロードするための方法であって、前記方法が、
    データ記憶システムからマッピング情報を受信することであって、前記マッピング情報が前記データ記憶システムに保管された第1のデータ・チャンクを固有IDに関連付けられて、前記第1のデータ・チャンクを含む第1の組のデータをコンピューティング・システムのメモリにロードすることに使用される、前記受信することと、
    前記マッピング情報を使用して、前記データ記憶システムからの第2の組のデータを前記メモリにロードすることに関連して、前記第1のデータ・チャンクのコピーがすでに前記メモリにロードされているかどうかを判断することと、
    前記第1のデータ・チャンクのいずれのコピーもまだ前記メモリにロードされていないと判断したことに応じて、前記第1のデータ・チャンクを前記データ記憶システムから取り出すことと、
    前記第1のデータ・チャンクのいずれのコピーもまだ前記メモリにロードされていないと判断したことに応じて、前記第1のデータ・チャンクを前記メモリにロードすること
    を含む、方法。
  19. 前記第1のデータ・チャンクの少なくとも第1のコピーがすでに前記メモリにロードされていると判断したことに応じて、前記メモリにすでにロードされた前記第1のデータ・チャンクの前記第1のコピーを使用することをさらに含む、請求項18記載の方法。
  20. コンピューティング・システムのメモリに1組のデータをロードするためのシステムであって、前記システムが、
    データ記憶システムからマッピング情報を受信するための論理装置であって、前記マッピング情報が前記データ記憶システムに保管された第1のデータ・チャンクを固有IDに関連付けられて、前記第1のデータ・チャンクを含む第1の組のデータをコンピューティング・システムのメモリにロードすることに使用される、前記論理装置と、
    前記マッピング情報を使用して、前記データ記憶システムからの第2の組のデータを前記メモリにロードすることに関連して、前記第1のデータ・チャンクのコピーがすでに前記メモリにロードされているかどうかを判断するための論理装置と、
    前記第1のデータ・チャンクのいずれのコピーもまだ前記メモリにロードされていないと判断したことに応じて、前記第1のデータ・チャンクを前記データ記憶システムから取り出すための論理装置と、
    前記第1のデータ・チャンクのいずれのコピーもまだ前記メモリにロードされていないと判断したことに応じて、前記第1のデータ・チャンクを前記メモリにロードするための論理装置と
    を含む、システム。
  21. 前記第1のデータ・チャンクの少なくとも第1のコピーがすでに前記メモリにロードされていると判断したことに応じて、前記メモリにすでにロードされた前記第1のデータ・チャンクの前記第1のコピーを使用するための論理装置をさらに含む、請求項20記載のシステム。
  22. コンピュータ・プログラムであって、コンピュータ上で実行されると、
    データ記憶システムからマッピング情報を受信することであって、前記マッピング情報が前記データ記憶システムに保管された第1のデータ・チャンクを固有IDに関連付けられて、前記第1のデータ・チャンクを含む第1の組のデータを前記コンピュータのメモリにロードすることに使用される、前記受信することと、
    前記マッピング情報を使用して、前記データ記憶システムからの第2の組のデータを前記メモリにロードすることに関連して、前記第1のデータ・チャンクのコピーがすでに前記メモリにロードされているかどうかを判断することと、
    前記第1のデータ・チャンクのいずれのコピーもまだ前記メモリにロードされていないと判断したことに応じて、前記第1のデータ・チャンクを前記データ記憶システムから取り出すことと、
    前記第1のデータ・チャンクのいずれのコピーもまだ前記メモリにロードされていないと判断したことに応じて、前記第1のデータ・チャンクを前記メモリにロードすること
    を前記コンピュータに実行させる、コンピュータ・プログラム。
  23. コンピュータ上で実行されると、前記第1のデータ・チャンクの少なくとも第1のコピーがすでに前記メモリにロードされていると判断したことに応じて、前記メモリにすでにロードされた前記第1のデータ・チャンクの前記第1のコピーを使用することを前記コンピュータにさらに実行させる、請求項22記載のコンピュータ・プログラム。
JP2012542499A 2009-12-13 2010-12-06 ホスト・コンピューティング・システム上に1つまたは複数の仮想計算機を配備するための方法、コンピューティング・システムのメモリに1組のデータをロードするための方法、システム、およびコンピュータ・プログラム(コンピューティング・システムのメモリへのデータの効率的なロード) Active JP5689475B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/636,743 2009-12-13
US12/636,743 US8489799B2 (en) 2009-12-13 2009-12-13 Efficient loading of data into memory of a computing system
PCT/EP2010/069002 WO2011069977A2 (en) 2009-12-13 2010-12-06 Efficient loading of data into memory of a computing system

Publications (2)

Publication Number Publication Date
JP2013513841A JP2013513841A (ja) 2013-04-22
JP5689475B2 true JP5689475B2 (ja) 2015-03-25

Family

ID=43648316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012542499A Active JP5689475B2 (ja) 2009-12-13 2010-12-06 ホスト・コンピューティング・システム上に1つまたは複数の仮想計算機を配備するための方法、コンピューティング・システムのメモリに1組のデータをロードするための方法、システム、およびコンピュータ・プログラム(コンピューティング・システムのメモリへのデータの効率的なロード)

Country Status (7)

Country Link
US (2) US8489799B2 (ja)
JP (1) JP5689475B2 (ja)
CN (1) CN102652308B (ja)
DE (1) DE112010004784T5 (ja)
GB (1) GB2488639B (ja)
TW (1) TWI439939B (ja)
WO (1) WO2011069977A2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560825B2 (en) * 2010-06-30 2013-10-15 International Business Machines Corporation Streaming virtual machine boot services over a network
US9038066B2 (en) * 2010-12-22 2015-05-19 Vmware, Inc. In-place snapshots of a virtual disk configured with sparse extent
US9009106B1 (en) 2011-08-10 2015-04-14 Nutanix, Inc. Method and system for implementing writable snapshots in a virtualized storage environment
US8601473B1 (en) 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US9652265B1 (en) 2011-08-10 2017-05-16 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment with multiple hypervisor types
US8863124B1 (en) 2011-08-10 2014-10-14 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US8850130B1 (en) 2011-08-10 2014-09-30 Nutanix, Inc. Metadata for managing I/O and storage for a virtualization
US8549518B1 (en) 2011-08-10 2013-10-01 Nutanix, Inc. Method and system for implementing a maintenanece service for managing I/O and storage for virtualization environment
US9747287B1 (en) 2011-08-10 2017-08-29 Nutanix, Inc. Method and system for managing metadata for a virtualization environment
US9805197B2 (en) * 2012-06-11 2017-10-31 Ent. Services Development Corporation Lp Secure host operating system running a virtual guest operating system
JP6111148B2 (ja) * 2012-06-22 2017-04-05 株式会社半導体エネルギー研究所 情報処理装置
US8806489B2 (en) * 2012-07-05 2014-08-12 International Business Machines Corporation Virtual machine image distribution network
US9772866B1 (en) 2012-07-17 2017-09-26 Nutanix, Inc. Architecture for implementing a virtualization environment and appliance
CN102880515A (zh) * 2012-09-07 2013-01-16 浪潮电子信息产业股份有限公司 一种云海os中虚拟机快速部署方法
US9021478B1 (en) * 2012-09-27 2015-04-28 Emc Corporation Provisioning virtual machines from template by splitting and building index for locating content portions via content-centric network
US8756237B2 (en) * 2012-10-12 2014-06-17 Architecture Technology Corporation Scalable distributed processing of RDF data
US9069677B2 (en) 2013-04-29 2015-06-30 International Business Machines Corporation Input/output de-duplication based on variable-size chunks
US8937562B1 (en) * 2013-07-29 2015-01-20 Sap Se Shared data de-duplication method and system
US9396586B2 (en) 2014-03-14 2016-07-19 Matterport, Inc. Processing and/or transmitting 3D data
US9940377B1 (en) * 2014-09-16 2018-04-10 Amazon Technologies, Inc. Instant copies of storage volumes
WO2016089343A1 (en) * 2014-12-01 2016-06-09 Hewlett-Packard Development Company, L.P. Disk sector based remote storage booting
US9785552B2 (en) * 2015-01-14 2017-10-10 Kabushiki Kaisha Toshiba Computer system including virtual memory or cache
US10466927B2 (en) * 2016-02-17 2019-11-05 Honeywell International Inc. Replication of memory image for efficient simultaneous uses
US10467103B1 (en) 2016-03-25 2019-11-05 Nutanix, Inc. Efficient change block training
CN107533602B (zh) 2016-04-22 2021-01-12 慧与发展有限责任合伙企业 计算设备及其方法,以及计算系统
US20190378016A1 (en) * 2018-06-07 2019-12-12 International Business Machines Corporation Distributed computing architecture for large model deep learning
US11061709B2 (en) 2018-08-21 2021-07-13 International Business Machines Corporation Storage management for deployment of virtual machine

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134444A (ja) * 1999-11-04 2001-05-18 Victor Co Of Japan Ltd コンピュータシステムにおけるデータ処理装置
US6760828B1 (en) 2000-06-27 2004-07-06 Emc Corporation Method and apparatus for using logical volume identifiers for tracking or identifying logical volume stored in the storage system
US6789156B1 (en) 2001-05-22 2004-09-07 Vmware, Inc. Content-based, transparent sharing of memory units
US6915397B2 (en) 2001-06-01 2005-07-05 Hewlett-Packard Development Company, L.P. System and method for generating point in time storage copy
US7360034B1 (en) 2001-12-28 2008-04-15 Network Appliance, Inc. Architecture for creating and maintaining virtual filers on a filer
US20040254964A1 (en) 2003-06-12 2004-12-16 Shoji Kodama Data replication with rollback
US7246200B1 (en) 2003-11-12 2007-07-17 Veritas Operating Corporation Provisioning and snapshotting using copy on read/write and transient virtual machine technology
US7356665B2 (en) 2003-12-17 2008-04-08 International Business Machines Corporation Method and system for machine memory power and availability management in a processing system supporting multiple virtual machines
US20060174074A1 (en) 2005-02-03 2006-08-03 International Business Machines Corporation Point-in-time copy operation
US7500048B1 (en) 2005-12-15 2009-03-03 Vmware, Inc. Transparent page sharing on commodity operating systems
US7496613B2 (en) 2006-01-09 2009-02-24 International Business Machines Corporation Sharing files among different virtual machine images
JP2008077144A (ja) * 2006-09-19 2008-04-03 Ricoh Co Ltd 仮想化システム、メモリ管理方法及び制御プログラム
JP4952308B2 (ja) * 2007-03-09 2012-06-13 日本電気株式会社 メモリ共有システム、方法、及び、プログラム
US7900003B2 (en) 2007-04-20 2011-03-01 International Business Machines Corporation System, method and computer program product for storing an information block
US8458694B2 (en) * 2007-04-30 2013-06-04 International Business Machines Corporation Hypervisor with cloning-awareness notifications
US8315984B2 (en) * 2007-05-22 2012-11-20 Netapp, Inc. System and method for on-the-fly elimination of redundant data
US8949827B2 (en) 2007-06-22 2015-02-03 Red Hat, Inc. Tracking a virtual machine
WO2009066611A1 (ja) * 2007-11-20 2009-05-28 Nec Corporation 仮想マシン向けデータ格納システム、データ格納方法およびデータ格納用プログラム
US8135918B1 (en) * 2007-12-31 2012-03-13 Emc Corporation Data de-duplication for iSCSI
US20090204718A1 (en) 2008-02-08 2009-08-13 Lawton Kevin P Using memory equivalency across compute clouds for accelerated virtual memory migration and memory de-duplication
US8099571B1 (en) * 2008-08-06 2012-01-17 Netapp, Inc. Logical block replication with deduplication
CN101414277B (zh) * 2008-11-06 2010-06-09 清华大学 一种基于虚拟机的按需增量恢复容灾系统及方法
JP5235751B2 (ja) * 2009-03-30 2013-07-10 株式会社日立製作所 仮想計算機を有する物理計算機

Also Published As

Publication number Publication date
US20110145534A1 (en) 2011-06-16
GB2488639A (en) 2012-09-05
TW201135595A (en) 2011-10-16
CN102652308A (zh) 2012-08-29
WO2011069977A3 (en) 2011-08-11
US8738884B2 (en) 2014-05-27
US20130246723A1 (en) 2013-09-19
GB201202745D0 (en) 2012-04-04
TWI439939B (zh) 2014-06-01
US8489799B2 (en) 2013-07-16
JP2013513841A (ja) 2013-04-22
CN102652308B (zh) 2014-12-03
WO2011069977A2 (en) 2011-06-16
GB2488639B (en) 2015-07-22
DE112010004784T5 (de) 2012-11-08

Similar Documents

Publication Publication Date Title
JP5689475B2 (ja) ホスト・コンピューティング・システム上に1つまたは複数の仮想計算機を配備するための方法、コンピューティング・システムのメモリに1組のデータをロードするための方法、システム、およびコンピュータ・プログラム(コンピューティング・システムのメモリへのデータの効率的なロード)
EP3414661B1 (en) Efficient live-migration of remotely accessed data
US8490090B2 (en) Multilevel support in a nested virtualization environment
US10228964B2 (en) Storage layer based orchestration method for virtual machine migration across disparate virtualization environments
KR101720343B1 (ko) 네트워크 환경에서의 가상 머신의 원격 배치 관리 방법
US9218343B2 (en) Partition file system for virtual machine memory management
US9880941B2 (en) Sharing an accelerator context across multiple processes
JP6009459B2 (ja) アプリケーションランタイム状態の格納、及び、再開
US20170286230A1 (en) Method and System for Virtualizing Guest-Generated File System Snapshots
US9218194B2 (en) Distributed virtual machine image management for cloud computing
US9355039B2 (en) Application-directed memory de-duplication
US20110154331A1 (en) Cloning virtual machines in a virtual computer environment
US20110246988A1 (en) Hypervisor for starting a virtual machine
US20170262307A1 (en) Method and apparatus for conversion of virtual machine formats utilizing deduplication metadata
JP6188713B2 (ja) 自律ネットワーク・ストリーミング
US20140050407A1 (en) Virtual Machine Image Access De-Duplication
US20090049293A1 (en) Booting a computer using a boot list when a non-volatile memory on the computer does not contain the boot list
US9971783B2 (en) Data de-duplication for disk image files
US10725966B1 (en) Block level incremental backup for QCOW2 virtual disks
US10025607B2 (en) Optimizing a file system interface in a virtualized computing environment
US20200110666A1 (en) Data recovery of guest virtual machines
US10831520B2 (en) Object to object communication between hypervisor and virtual machines
US9207927B2 (en) Dynamic image composition method employing fenced applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140919

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: 20150106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150128

R150 Certificate of patent or registration of utility model

Ref document number: 5689475

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150