JP6837414B2 - 仮想マシン再配置プロトコルの生成を含む方法、仮想マシン再配置を容易にするためのシステムおよびプログラム - Google Patents

仮想マシン再配置プロトコルの生成を含む方法、仮想マシン再配置を容易にするためのシステムおよびプログラム Download PDF

Info

Publication number
JP6837414B2
JP6837414B2 JP2017212984A JP2017212984A JP6837414B2 JP 6837414 B2 JP6837414 B2 JP 6837414B2 JP 2017212984 A JP2017212984 A JP 2017212984A JP 2017212984 A JP2017212984 A JP 2017212984A JP 6837414 B2 JP6837414 B2 JP 6837414B2
Authority
JP
Japan
Prior art keywords
virtual machines
subset
hardware
cloud
power
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
JP2017212984A
Other languages
English (en)
Other versions
JP2018077846A (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 JP2018077846A publication Critical patent/JP2018077846A/ja
Application granted granted Critical
Publication of JP6837414B2 publication Critical patent/JP6837414B2/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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
    • 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/45583Memory management, e.g. access or allocation
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Description

仮想マシン再配置プロトコルの生成に関する。
知られているように仮想マシン(VM)は、コンピュータ・プログラムを実行するマシン(例えばコンピュータ)のソフトウェア実装形態である。VMは通常、中央処理装置(CPU)、メモリ、ハード・ディスク、および他のハードウェア・リソースに対する要求が、基礎をなす物理的ハードウェアにこれらの要求を翻訳する仮想化レイヤによって管理されて、物理的コンピューティング環境をエミュレートする。仮想マシンは、クライアントまたはサーバ・オペレーティング・システムの上で稼働するハイパーバイザまたは仮想化プラットフォームなど、仮想化レイヤ内に作成される。仮想マシンのシステム移行は、ハードウェアまたはソフトウェアあるいはその両方のアップグレードがインストールされる間に、バックアップ・システムをもたらす能力を含む、種々の理由により望ましくなり得る。システム移行はまた、仮想マシンを、新たなプロセッサまたは他のハードウェアに移動するために行われ得る。移行を行うために仮想マシンの実行を停止すること、および仮想マシンをそれが実行している間に移行する、ライブ移行を行うことを含む、移行を行うためのいくつかの手法が存在する。ライブ仮想マシン移行はしばしば、ミッション・クリティカルなシステムを有する会社によって望まれる。
"z/Architecture - Principles ofOperation," Publication No. SA22-7832-10, 11th Edition,March 2015 "Power ISA(TM) Version 2.07B," International Business Machines Corporation, April 9, 2015
データセンタ電源異常は、自然災害を含む種々の理由に対して生じ得る。自然災害または他の気象関連の原因は、データセンタの使用可能性において、より頻繁な変数となっている。データセンタ内で稼働する仮想マシンを含み、データセンタが、主電源異常を経験している間、稼働したままとなることができることを確実にするために、例えば稼働中のシステムの整然としたシャットダウンまたはバックアップあるいはその両方を容易にするために、データセンタに電力供給し続けるように、バッテリ・バックアップ・システムおよびガス駆動発電機が用いられ得る。しかし多くの場合、非効率的なバックアップ機構、または開始されない、またはバッテリ・バックアップ・システムのエネルギーがなくなるまたはバックアップ発電機の燃料がなくなる前に完了できないバックアップ機構により、データは失われることになり得る。
コンピュータによって実施される方法を用意することによって、従来技術の欠点は克服され、利点がもたらされ、これは第1のコントローラによって、第1のコントローラが関連付けられた電力供給されるハードウェア構成要素の第1のセットに電力を供給する、1つまたは複数の第1の電源システムを含んだ第1の電源システム・セットから、第1の電源関連情報を取得するステップを含む。電力供給されるハードウェア構成要素の第1のセットは、第1の複数の仮想マシンを稼働させる。さらに方法は、第1のコントローラによって、第1の電源関連情報に少なくとも部分的に基づいて、第1の複数の仮想マシンを移行するための再配置プロトコルを生成するステップを含む。再配置プロトコルは、第1の複数の仮想マシンの1つまたは複数の仮想マシンの第1のサブセットの移行であって、それにより仮想マシンの第1のサブセットが移行を通して実質的に連続したやり方で動作し続けるように、仮想マシンの第1のサブセットは電力供給されるハードウェア構成要素の第2のセットに移行され、その上で稼働することになる、移行と、第1の複数の仮想マシンの1つまたは複数の仮想マシンの、第2のサブセットのスナップショットをとることと、を含む。
有利なことには1つまたは複数の態様において、例えば仮想マシンがその上で稼働する電力供給されるハードウェア構成要素の第1のセットに電力を供給する第1の電源システム・セットから取得された、電源関連情報に少なくとも部分的に基づいた仮想マシンの再配置プロトコルの動的生成を容易にするための、コンピュータによって実施される方法、システム、およびコンピュータ・プログラムがもたらされる。仮想マシンを移行するための再配置プロトコルは、1つまたは複数の仮想マシンの第1のサブセットの移行であって、それにより仮想マシンの第1のサブセットが移行を通して実質的に連続したやり方で動作し続けるように、仮想マシンの第1のサブセットは電力供給されるハードウェア構成要素の第2のセットに移行され、その上で稼働することになる、移行と、ハードウェア構成要素の第1のセット上で稼働する仮想マシンの1つまたは複数の仮想マシンの、第2のサブセットのスナップショットをとることと、を含むことができる。再配置プロトコルを動的に決定することによって処理は、例えば電力供給されるハードウェア構成要素の第1のセットから、電力供給されるハードウェア構成要素の第2のセットへの、仮想マシンのより効率的な移転を確実にするように、仮想マシンの移行をより良く優先度付けすることができる。この再配置プロトコルは、例えば自然災害が電力供給されるハードウェア構成要素の第1のセットの近傍で生じ、電力供給されるハードウェア構成要素の第1のセットにおいて次に電源の喪失が引き起こされることによる、データの喪失を最小化または低減することを追求することができる。
本明細書でさらに説明されるように、再配置プロトコルを生成するステップは、仮想マシンの第1または第2のサブセットにおける、仮想マシンの1つまたは複数の配置を容易にするために、仮想マシン移行、または仮想マシン・スナップショットをとること、に関する履歴データを参照するステップを含むことができる。例えば履歴データは、特定のタイプ、作業負荷の大きさなどの、仮想マシンをライブ移行するまたはそのスナップショットをとるために必要な時間の長さについての情報を含むことができる。
追加としてまたは代替として、再配置プロトコルは、移行されることになる仮想マシンの、1つまたは複数の関連付けられた優先度情報を用いて生成され得る。例えば1つまたは複数の実施形態において、顧客は電源障害の場合のサービスのより高い優先度に対して支払うことができ、したがってそのクライアントの作業負荷を稼働する1つまたは複数の仮想マシンは、ライブ移行のために識別され得る。さらに再配置プロトコルを生成するステップは、例えば第1のデータセンタと第2のデータセンタとの間の、中間ハードウェア構成要素およびデータ経路の電源ステータスを考慮に入れることができ、さらには特定のデータセンタ、または仮想マシンがそこに移行されることになる電力供給されるハードウェア構成要素の第2のセット、ならびに用いられることになるデータ経路を識別することを含むことができる。
1つまたは複数の実装形態において、コンピュータによって実施される方法は、さらに仮想マシンの第1のサブセットが移行を通して実質的に連続したやり方で動作し続けるように、仮想マシンの第1のセットを、電力供給されるハードウェア構成要素の第2のセットに移行するステップと、電力供給されるハードウェア構成要素の第1のセットにおいて取得された仮想マシンの第2のサブセットのそれぞれのスナップショットに基づいて、仮想マシンの第2のサブセットを電力供給されるハードウェア構成要素の第2のセットに少なくとも部分的にディプロイすることによって、仮想マシンの第2のサブセットを移行するステップとを含む。例として仮想マシンの第2のサブセットを移行するステップは、仮想マシンの第1のサブセットを移行するステップの完了後に行われ得る。
1つまたは複数の実施形態において、仮想マシンの第2のサブセットを移行するステップは最初に、すなわち仮想マシンの第2のサブセットを、それぞれのスナップショットに基づいて、電力供給されるハードウェア構成要素の第2のセットにディプロイする前に、仮想マシンの第2のサブセットの、仮想マシンのそれぞれのスナップショットを、中間電源システム・セットによって電力供給される、電力供給されるハードウェア構成要素の中間セットに移転するステップを含むことができる。このような実施形態において中間電源システム・セットは第1の電源システム・セットと異なり、仮想マシンの第2のサブセットの仮想マシンのそれぞれのスナップショットを、電力供給されるハードウェア構成要素の中間セットに移転するステップは、仮想マシンの第1のサブセットを、電力供給されるハードウェア構成要素の第2のセットに移行するステップと実質的に同時に行われ得る。
1つまたは複数の実装形態において、電力供給されるハードウェア構成要素の第1のセットは第1のクラウドのものであり、第1のコントローラは第1のクラウド・コントローラであり、電力供給されるハードウェア構成要素の第2のセットは第2のクラウドのものである。ハードウェア構成要素の第2のセットは1つまたは複数の第2の電源システムを含んだ第2の電源システム・セットから電力供給され得る。1つまたは複数の実施形態において、第1のクラウドおよび第2のクラウドは、異なる、地理的に分離されたデータセンタにおいてホストされ得る。
さらに1つまたは複数の実装形態において、第2のクラウドは第2のクラウド・コントローラを含むことができ、第1のコントローラによって再配置プロトコルを生成するステップは、第1のクラウド・コントローラによって、第2のクラウド・コントローラまたは第2の電源システム・セットから、電力供給されるハードウェア構成要素の第2のセットへの電源ステータスを示す、第2の電源関連情報を取得するステップを含むことができる。
1つまたは複数の実施形態において、第1のコントローラによって再配置プロトコルを生成するステップは、仮想マシンの第1のサブセットまたは仮想マシンの第2のサブセットにおける、第1の複数の仮想マシンの少なくとも1つの仮想マシンの配置を容易にするために、仮想マシン移行、または仮想マシン・スナップショットをとること、の少なくとも1つに関する履歴データを参照するステップを含むことができる。
さらに1つまたは複数の実施形態において、第1のコントローラによって再配置プロトコルを生成するステップは、第1の複数の仮想マシンの少なくとも1つの仮想マシンの関連付けられた優先度情報を用いること、および仮想マシンの第1のサブセットまたは仮想マシンの第2のサブセットにおいて少なくとも1つの仮想マシンを配置することを含むことができる。
1つまたは複数の実施形態において、第1のコントローラによって再配置プロトコルを生成するステップは、電力供給されるハードウェア構成要素の第1のセットから、電力供給されるハードウェア構成要素の第2のセットへの、データ移転経路を評価するステップを含むことができる。データ移転経路を評価するステップは、例えばデータ移転経路の連続した使用可能性を確認するために、データ移転経路内の1つまたは複数のスイッチの電源ステータスを決定するステップを含むことができる。
例として第1の電源関連情報は、電力供給されるハードウェア構成要素の第1のセットへの電源障害までの推定される時間の長さを含むことができ、再配置プロトコルは、電力供給されるハードウェア構成要素の第1のセットへの電源障害までの時間の長さに少なくとも部分的に基づいて、動的に生成される緊急時再配置プロトコルとすることができる。
1つまたは複数の態様に関連するシステムおよびコンピュータ・プログラムも、本明細書で述べられ、特許請求される。さらに1つまたは複数の実施形態に関連するサービスも、本明細書で述べられ、特許請求され得る。
本発明の技法によって、さらなる特徴および利点が実現される。本発明の他の実施形態および態様は、本明細書で詳しく述べられ、特許請求される本発明の一部と考えられる。
本発明の1つまたは複数の態様は、本明細書の結びにおける「特許請求の範囲」において、例として詳細に指摘され明瞭に請求される。本発明の上記および他の目的、特徴、および利点は、以下の詳細な説明を添付の図面と併せて読めば、明らかとなる。
本発明の1つまたは複数の態様による、再配置プロトコルを受け得る仮想マシンを有する、仮想コンピューティング環境の例を示す図である。 本発明の1つまたは複数の態様による、生成された再配置プロトコルを用いた、電力供給されるハードウェア構成要素の第1のセットから、電力供給されるハードウェア構成要素の第2のセットへの、仮想マシンの移転の一実施形態を示す図である。 本発明の1つまたは複数の態様による、例えば図2の電力供給されるハードウェア構成要素の第1のセットから電力供給されるハードウェア構成要素の第2のセットに、第1の複数の仮想マシンを移行するための再配置プロトコルを生成するためのプロセスの一実施形態を示す図である。 本発明の1つまたは複数の態様による、1つまたは複数の仮想マシンをライブ移行すること、および1つまたは複数の他の仮想マシンのスナップショットをとることを含む、生成された再配置プロトコルを用いた、電力供給されるハードウェア構成要素の第1のセット、またはソース・システムから、電力供給されるハードウェア構成要素の第2のセット、またはターゲット・システムへの仮想マシンの移転の他の実施形態を示す図である。 本発明の1つまたは複数の態様による、図4のソース・システムからターゲット・システムに1つまたは複数の仮想マシンをライブ移行し、ターゲット・システム上へのその後のディプロイのためにソース・システムの1つまたは複数の他の仮想マシンのスナップショットをとるための、再配置プロトコルを生成するためのプロセスの一実施形態を示す図である。 本発明の1つまたは複数の態様による、図4のソース・システムからターゲット・システムに1つまたは複数の仮想マシンをライブ移行し、ターゲット・システム上へのその後のディプロイのためにソース・システムの1つまたは複数の他の仮想マシンのスナップショットをとるための、再配置プロトコルを生成するためのプロセスの一実施形態を示す図である。 本発明の1つまたは複数の態様を組み込み、用いることができる、コンピューティング環境の他の例を示す図である。 本発明の1つまたは複数の態様による、図7のメモリのさらなる詳細を示す図である。 本発明の1つまたは複数の態様による、仮想マシン再配置処理を組み込むことができるコンピューティング・システムの他の実施形態を示す図である。 本発明の1つまたは複数の態様の実施を容易にする、またはこれに関連して用いられ得る、クラウド・コンピューティング環境の一実施形態を示す図である。 本発明の1つまたは複数の態様による、仮想マシンの再配置の実施を容易にすることができる、抽出モデル・レイヤの例を示す図である。
以前において仮想マシンは、障害回避解決策として、1つのデータセンタから他のデータセンタに移行され得た。例えば移行されるデータは、移行された二次的バックアップ・データとすることができる。しかしこのようなデータは、主要ロケーションに位置する、稼働中の仮想マシンと同じように最新ではない。さらに通常は、第2のデータセンタ・ロケーションも主要のソース・ロケーションにおいてデータを危うくする障害によって、影響を受けているかどうかを確かめる方法が存在し得ない。
したがって本明細書では、1つまたは複数の態様において、例えば第1のクラウドのためのソース・システムにおける使用可能なランタイム電力と、システム・ダウンタイムを回避するためにクラウドを退避させるのに必要な時間との相関の、効率的な使用が開示される。特に本明細書では、様々な態様において、クラウド・マネージャが、それの仮想マシンに対してとるべき適切な処置を決定するために、例えばデータセンタ障害回復アプリケーションから使用可能にされた情報を用いるための手法が開示される。例えば1つまたは複数の実施形態において、特定の仮想マシンのライブ移行、スナップショットをとること、さらにはシャットダウンなど、各仮想マシンに対してどの処置が適切であるかを決定するために、仮想マシンについてのデータセンタ障害回復情報および履歴情報が用いられ得る。例としてこれは、特定の仮想マシン・タイプまたは作業負荷の大きさによる、可能な処置のそれぞれに対して必要な時間の履歴情報を用いることを含むことができる。これは例えば、仮想マシン上で稼働するアプリケーションのタイプ、仮想マシンのタイプ、および仮想マシンが稼働しているハードウェアを含む。1つまたは複数の他の態様において、各処置の結果を移転するために必要な時間についての履歴情報を使用することが考慮され得る。例えばスナップショットをとり、スナップショットを送るための時間に対して、特定の仮想マシンをライブ移行するための時間が確かめられ得る。これはまた、例えば第1のデータセンタから第2のデータセンタへの移転経路についての使用可能な情報を考慮することを含み得る。さらに再配置プロトコルを生成することは、例えば第2のデータセンタに対する電力使用可能性に基づいて、第2のデータセンタを選択することを含むことができる。これは例えば、第2のデータセンタの第2のコントローラ、または第2のデータセンタに電力供給する第2の電源システム・セットあるいはその両方と通信して、第2のデータセンタにおける電力の使用可能性を決定することを含むことができる。さらにこれは、移転経路内において関係するもの(例えばスイッチまたは他のハードウェア)についての、データセンタ障害回復情報を考慮に入れることを含むことができる。例えば移行または移転が行われることを可能にするために、データ移転経路内で十分な電力、およびしたがって時間はあるか。また、再配置プロトコルの生成において、回復ステータスの性能インパクトについての履歴情報が考慮され得る。
例えば履歴情報の分析を通じてバックアップ発電機がダウンするまでの、例えば災害シナリオの間でのバックアップ発電機上の残り時間の長さを決定するために、分析が使用され得る。この分析は、例えば発電機内のガスの量を評価すること、およびそのガスの量が、システムが電力を完全に失うまでに一定の時間の長さ、持続し得ると決定することを含むことができる。
本明細書では、仮想マシンのすべてをライブ移行するのに十分な時間がない状況を考慮し、代わりに何も失われないことを確実にするように、選択された仮想マシンのスナップショットをとるためのプロトコルを生成し、それによって、ソース・データセンタへの、またはすべての仮想マシンをライブ移行するために使用可能なリソースへの十分な電力がない場合に、仮想マシンの最新の状態を喪失から保護するという概念が開示される。1つの仮想マシンから他の仮想マシンへの履歴上の移行時間を考慮に入れた分析は、移行を行うための時間があるかどうかを決定するために用いることができ、移行が完了し得る前に発電機の電力がなくなり得る状況において、データ喪失を先制して回避するために、仮想マシンのスナップショットがとられ得る。スナップショットを作成するという決定は、管理者によって行うことができ、または例えば管理者が得られない場合は自動的に処理するように設定され得る。このようにして新たな仮想マシンが、データの喪失なしに、電源喪失の前からの正確な状態にスピン・アップされ得る。
したがって1つまたは複数の態様によれば、緊急時再配置プロトコルなどの再配置プロトコルは、仮想マシンを例えば電力供給されるハードウェア構成要素の第1のセット(第1の(またはソース)システムまたはデータセンタなど)から、電力供給されるハードウェア構成要素の第2のセット(第2の(またはターゲット)システムまたはデータセンタなど)に移転するために、動的に生成される。再配置プロトコルは、1つまたは複数の実施形態において、移転されることになる仮想マシンの、1つまたは複数の仮想マシンの第1のサブセットのライブ移行、および移転されることになる仮想マシンの、1つまたは複数の仮想マシンの第2のサブセットのスナップショットをとること、の両方を用いることができる。再配置プロトコルは、例えば複数の仮想マシンを稼働させる、電力供給されるハードウェア構成要素の第1のセットに電力を供給する、1つまたは複数の第1の電源システムの、第1の電源システム・セットから取得された電源関連情報に少なくとも部分的に基づいて、動的に生成され得る。
いくつかの実施形態において、ハードウェア構成要素の第1のセットは第1のクラウドのものであり、第1のコントローラは第1のクラウド・コントローラであり、電力供給されるハードウェア構成要素の第2のセットは第2のクラウドのものである。電力供給されるハードウェア構成要素の第2のセットは、1つまたは複数の第2の電源システムを含んだ第2の電源システム・セットから電力供給され、第2の電源システム・セットは、第1の電源システム・セットとは異なり得る。例として第1のクラウドおよび第2のクラウドは、異なる、地理的に分離されたデータセンタにおいてホストされ得る。さらに以下で述べられるように、例えば電力供給されるハードウェア構成要素の第1のセットからの異なるデータ経路に跨がった、同時の、仮想マシンの第1のサブセットのライブ移行、および仮想マシンの第2のサブセットのそれぞれのスナップショットの移転を容易にするために、電力供給されるハードウェア構成要素の1つまたは複数の中間セットなどの、1つまたは複数の中間システムが使用され得る。
1つまたは複数の実施形態において、第1の電源関連情報は、電力供給されるハードウェア構成要素の第1のセットに対する電源障害までの推定される時間の長さを含み、再配置プロトコルは、電力供給されるハードウェア構成要素の第1のセットに対する電源障害までの時間の長さに少なくとも部分的に基づいて、動的に生成される緊急時再配置プロトコルである。例として、第1のコントローラによって再配置プロトコルを生成するステップは、例えば1つまたは複数の仮想マシンのライブ移行、または1つまたは複数の仮想マシンのスナップショットをとること、あるいはその両方に関する履歴データを参照するステップを含むことができる。例えば履歴データは、特定の仮想マシン・タイプまたは作業負荷の大きさをライブ移行するために必要な時間の長さ、ならびに特定の仮想マシン・タイプまたは作業負荷のスナップショットをとるために必要な時間の長さについての情報を含むことができる。この情報に基づいて、生成するステップは、例えば電力供給されるハードウェア構成要素の第1のセットに対する電源障害までの残りの時間の長さを考慮して、適切な再配置プロトコルを動的に決定することができる。
代替としてまたは追加として、第1のコントローラによって再配置プロトコルを生成するステップは、第1の複数の仮想マシンの1つまたは複数の仮想マシンの関連付けられた優先度情報を用いるまたは参照するステップ、および優先度情報に基づいて、仮想マシンの第1のサブセットまたは仮想マシンの第2のサブセットに、1つまたは複数の仮想マシンを配置するステップを含むことができる。例えばクライアントは、その作業負荷の緊急時再配置が必要な場合は、異なる優先度のレベルに加入することができる。例えば「ゴールド・レベル」に加入しているクライアントは、その作業負荷を稼働している仮想マシンが、少なくともより低い加入レベルでのクライアントより上の優先度において、電力供給されるハードウェア構成要素の第1のセットから、電力供給されるハードウェア構成要素の第2のセットに、ライブ移行されることを確実にすることができる。このような実装形態において、より低い加入レベルに関連付けられた仮想マシンは、例えば電源障害までの推定される時間の長さに基づく、電力供給されるハードウェア構成要素の第2のセット上へのその後のディプロイのために、スナップショットをとられ得る。
より詳細には本発明のいくつかの実施形態は、以下の機能、特徴、動作、または利点あるいはそれらの組合せの、1つまたは複数を含むことができる。(i)第1のクラウド・コントローラによって、第1のクラウドの電力供給されるハードウェア構成要素の第1のセットに電力を供給する、電源システムの第1のセットを管理することであって、電力供給される構成要素の第1のセットは、第1の複数の仮想マシン(VM)を稼働させる。(ii)第1のクラウド・コントローラによって、および電力供給されるシステムの第1のセットの、第1の電源システムから、電源関連情報の第1の項目を受信する。(iii)第1のクラウド・コントローラによって、電源関連情報の第1の項目に少なくとも部分的に基づいて、第1の複数のVMを安全に移行するための手順を決定する。(iv)VMの第1のセットを安全に移行するための手順の決定は以下を含む。(a)VMの第1のサブセットが移行を通して実質的に連続したやり方で動作し続けるように、VMの第1のサブセットが、電力供給されるハードウェア構成要素の第2のセット上で稼働するように、第1の複数のVMの、VMの第1のサブセットを移行すること、および(b)第1の複数のVMの、VMの第2のサブセットの、スナップショットをとること。(v)VMの第1のセットが移行を通して実質的に連続したやり方で動作し続けるように、VMの第1のサブセットが、電力供給された構成要素の第2のセット上で稼働するように、第1の複数のVMの、VMの第1のサブセットを移行する。(vi)VMの第2のセットを、それらのそれぞれのスナップショットに基づいて、それらを電力供給されるハードウェア構成要素の第2のセットにディプロイすることによって、移行する。(vii)VMの第2のセットの移行は、VMの第1のセットの移行の完了後に行われ得る。(viii)プロセスは、作業を他のVMにオフロードするためにネットワークを追加する必要はない。(ix)プロセスはネットワーク内の使用可能な他のVMを調べて、最適な場所に作業を移行する。(x)プロセスは先制してスナップショットをとり、したがってデータ複製は必要ではない。または、(xi)プロセスは障害時に応答して、データの回復の必要性を防止する。あるいはそれらの組合せである。
本明細書で開示されるような仮想マシン再配置機能の1つまたは複数の態様を組み込み、用いるためのコンピューティング環境の一例は、始めに図1を参照して述べられる。図1を参照すると、一例においてコンピューティング環境100は、インターナショナル・ビジネス・マシーンズ(IBM(R))コーポレーション、ニューヨーク州アーモンクによって提供されるz/Architectureに基づくことができる。z/Architectureは、“z/Architecture - Principles of Operation,”Publication No. SA22-7832-10, 11th Edition, March 2015という名称のIBM刊行物に述べられており、その全体がこれによって参照により本明細書に組み込まれる。Z/ARCHITECTURE、IBM、Z/VM、およびZ/OS(本明細書で参照される)は、インターナショナル・ビジネス・マシーンズ・コーポレーション、ニューヨーク州アーモンクの登録商標である。本明細書で用いられる他の名前は、インターナショナル・ビジネス・マシーンズ・コーポレーションまたは他の会社の登録商標、商標、または製品名であり得る。
他の例においてコンピューティング環境は、インターナショナル・ビジネス・マシーンズ・コーポレーション、ニューヨーク州アーモンクによって提供されるPower Architectureに基づくことができる。Power Architectureの一実施形態は、“Power ISA(TM) Version 2.07B,” InternationalBusiness Machines Corporation, April 9, 2015に述べられており、その全体がこれによって参照により本明細書に組み込まれる。POWER ARCHITECTUREは、インターナショナル・ビジネス・マシーンズ・コーポレーション、ニューヨーク州アーモンクの登録商標である。
他の例においてコンピューティング環境は、インターナショナル・ビジネス・マシーンズ・コーポレーションまたは他の会社あるいはその両方によって提供される、他のアーキテクチャに基づくことができる。
コンピューティング環境100は、仮想マシンサポートをもたらす中央プロセッサ複合体(CPC)102を含む。CPC102は、1つまたは複数の制御ユニット108によって1つまたは複数の入力/出力(I/O)デバイス106に結合される。中央プロセッサ複合体102は、例えば1つまたは複数の中央プロセッサ(中央処理装置(CPU)としても知られる)110に結合されたプロセッサ・メモリ104(メイン・メモリ、メイン・ストレージ、中央ストレージとしても知られる)、および入力/出力サブシステム111を含み、それぞれ以下で述べられる。
プロセッサ・メモリ104は、例えば1つまたは複数の仮想マシン112、仮想マシンを管理するハイパーバイザ114などの仮想マシンマネージャ、およびプロセッサ・ファームウェア115を含む。ハイパーバイザ114の一例は、インターナショナル・ビジネス・マシーンズ・コーポレーション、ニューヨーク州アーモンクによって提供されるz/VM(R)である。ハイパーバイザは、時にはホストと呼ばれる。さらに本明細書で用いられるファームウェアとは、例えばプロセッサのマイクロコードまたはミリコードあるいはその両方を含む。これは例えば、より上位レベルのマシンコードの実装形態において用いられる、ハードウェアレベル命令またはデータ構造体あるいはその両方を含む。一実施形態においてこれは通常、例えば信頼されるソフトウェア、または基礎をなすハードウェアに固有のマイクロコードを含み、システム・ハードウェアへのオペレーティング・システム・アクセスを制御するマイクロコードとして供給される、独自開発のコードを含む。
CPCの仮想マシンサポートは、それぞれが異なるプログラム122により動作し、Linuxなどのゲスト・オペレーティング・システム120を稼働させる能力を有する、多数の仮想マシン112を動作させる能力をもたらす。各仮想マシン112は、別個のシステムとして機能する能力を有する。すなわち各仮想マシンは、独立にリセットされ、ゲスト・オペレーティング・システムを稼働させ、および異なるプログラムにより動作することができる。仮想マシン内で稼働するオペレーティング・システムまたはアプリケーション・プログラムは、十分な、および全部のシステムへのアクセスを有するように見えるが、実際はその一部分のみが利用可能である。
プロセッサ・メモリ104は、仮想マシンに割り当て可能な物理プロセッサ・リソースである、中央プロセッサ(CPU)110に結合される。例えば仮想マシン112は1つまたは複数の論理プロセッサを含み、そのそれぞれは仮想マシンに動的に割り振られ得る、物理プロセッサ・リソース110のすべてまたは割り当て分を表す。
さらにプロセッサ・メモリ104は、I/Oサブシステム111に結合される。入力/出力サブシステム111は、入力/出力制御ユニット108およびデバイス106と、メイン・ストレージ104との間の情報の流れを方向付ける。これは、中央処理複合体の一部となり得る、またはそれとは別個となり得るという点で、中央処理複合体に結合される。
例として図1に示されるものなどの1つまたは複数のコンピューティング環境は、データセンタ内に存在することができ、述べられたようにデータセンタ電源異常は自然災害を含む種々の理由で生じ得る。データセンタ内のシステム上で稼働するいずれの仮想マシンも含み、データセンタが主電源異常を経験している間も稼働したままとなり得ることを確実にするために、例えば整然としたシャットダウンまたは稼働しているシステムのバックアップあるいはその両方を容易にするために、少なくともある期間、データセンタに電力供給を続けるために、バッテリ・バックアップ・システムまたはガス駆動発電機あるいはその両方が用いられ得る。自然災害の場合、主電源は数日、さらには数週間切れたままとなり得る。したがって本明細書では1つまたは複数の態様において、仮想マシンの連続した動作を可能にするように、データセンタの仮想マシンを例えば他のリモート・データセンタに再配置するための、再配置プロトコルを動的に生成するためのプロセスが開示される。
図2は仮想マシンを、ソース・システムまたはソース・データセンタなどの電力供給されるハードウェア構成要素の第1のセット200から、ターゲット・システムまたはターゲット・データセンタなどの電力供給されるハードウェア構成要素の第2のセット220に移転するためのプロセスの一実施形態を示す。電力供給されるハードウェア構成要素の第1のセット200は、1つまたは複数の第1の電源システムの第1の電源システム・セット201によって電力供給され、電力供給されるハードウェア構成要素の第2のセット220は、1つまたは複数の第2の電源システムの第2の電源システム・セット221によって電力供給される。実際には第1および第2の電源システム・セット201、221は、少なくとも部分的に、電源システムの異なるセットである。示されるように電力供給されるハードウェア構成要素の第1のセット200は、第1のクラウド環境210を含むことができ、電力供給されるハードウェア構成要素の第2のセット220は、第2のクラウド環境230を含むことができる。第1のクラウド210は第1のクラウド・コントローラ211を、第2のクラウド230は第2のクラウド・コントローラ231を、有することができる。図示のように第1のクラウド210はまた、電力供給されるハードウェア構成要素の第1のセット200上で稼働する、複数の仮想マシン212を含むことができる。
本明細書で開示されるように、第1のクラウド・コントローラ211などのコントローラには、電力供給されるハードウェア構成要素の第1のセット200などの、関連付けられたシステムの仮想マシンをどこにどのように安全に退避させるかを含む、再配置プロトコルを動的に決定または生成するために、第1の電源システム・セット201および第2の電源システム・セット221などの1つまたは複数の電源システムからデータを取得し活用する能力がもたらされ得る。これは自然災害が生じ、それが電力供給されるハードウェア構成要素の第1のセット200への主電源を無力化し、残されたバックアップ電源時間が限られる場合に特に有益となり得る。
本明細書で開示されるようにコントローラには、少なくとも第1の電源システム・セット201から取得された電源関連情報(例えば第1の電源関連情報)に少なくとも部分的に基づいて、複数の仮想マシン212を移行するための再配置プロトコルを生成する機能または能力がもたらされる。例えば電源関連情報は、電力供給されるハードウェア構成要素の第1のセット200への電力が失われるまでの残りの時間の長さを含むことができる。再配置プロトコルは、仮想マシンの第1のサブセットが移行を通して実質的に連続したやり方で動作し続けるように、仮想マシンの第1のセットが、電力供給されるハードウェア構成要素の第2のセット220へ移行されその上で稼働するように、複数の仮想マシン212の、1つまたは複数の仮想マシンの第1のサブセット(例えば図2の仮想マシン1)の移行を含むことができる。この移行はライブ移行を指し、これはクライアントまたはアプリケーションを切断せずに異なる物理マシンの間で、稼働している仮想マシンまたはアプリケーションを移動するプロセスである。仮想マシンのメモリ、ストレージ、およびネットワーク接続性は、元のマシン(例えば電力供給されるハードウェア構成要素の第1のセット200)から、移行先(destination)またはターゲット・マシン(例えば電力供給されるハードウェア構成要素の第2のセット220)に移転される。プリコピーおよびポストコピー・メモリ移行が使用されてよく、様々な仮想マシン(VM)マネージャが、ライブ移行サポート、ならびに当技術分野で使用可能な様々なクラウド・プラットフォームおよびシステムをもたらす。特定の例としてIBM(R)POWER Hypervisor(TM)は、ライブ移行サポートをもたらす。
さらに生成される再配置プロトコルは、複数の仮想マシン212の1つまたは複数の仮想マシンの第2のサブセット(例えば図2の仮想マシン2、仮想マシン3)のスナップショットをとることを含む。知られているようにスナップショットは、特定の時点での仮想マシンの状態およびデータを保存する。状態は、仮想マシンの電源状態(例えば電源オン、電源オフ、またはサスペンド)を含む。データは、仮想マシンを構成するすべてのファイルを含む。これはディスク、メモリ、および仮想ネットワーク・インターフェース・カードなどの他のデバイスを含む。仮想マシンは、スナップショットおよびスナップショット・チェーンを作成および管理するためのいくつかのオプションをもたらす。これらの動作はコントローラに、スナップショットを作成させ、チェーン内の任意のスナップショットに戻させ、スナップショットを削除させる。スナップショットをとることは現在、様々なVMware,Inc.マシンによるものなど、様々な仮想マシン(VM)マネージャによってサポートされる。さらに、スナップショットをとることは、IBM Virtual Server(TM)およびIBM Cloud Manager(TM)を含む様々なIBM製品によってサポートされる。
一般にスナップショットを作成し、スナップショットをソース・システムからターゲットまたは移行先システムに移転する時間は、仮想マシンをソース・システムから移行先システムにライブ移行するのに必要な時間より、かなり短くなり得る。したがって電力供給されるハードウェア構成要素の第1のセット200に電源が使用可能のままとなる時間の長さなどの、電源システムの第1のセット201からの電源関連情報は、実質的にすべての仮想マシンが、電力供給されるハードウェア構成要素の第2のセットに移行される、またはハードウェア構成要素の第2のセットへの移転、およびそれでのその後のディプロイのためにスナップショットをとられることを確実にするように、再配置プロトコルを生成することにおいてクラウド・コントローラ211によって用いられ得る。
図3は、再配置プロトコルを動的に生成し、次いで例えば、仮想マシンが1つのデータセンタから他のリモート・データセンタに移転されることになる災害緊急時に、仮想マシンを移転または移行するためのプロセスの一実施形態を示す。
図3を参照するとプロセスは、270で電力供給されるハードウェア構成要素の第1のセットが第1の複数の仮想マシンを稼働している状態で、第1のクラウド・コントローラによって、第1のクラウドの電力供給されるハードウェア構成要素の第1のセットに電力を供給する第1の電源システム・セットを、管理するステップを含む。275で第1のクラウド・コントローラは、第1の電源システム・セットの第1の電源システムから、第1の電源関連情報を受信または取得する。述べられたようにこの情報は、例えば電力供給されるハードウェア構成要素の第1のセットに対して電源が使用可能のままとなる時間の長さを含むことができる。
第1のクラウド・コントローラは次いで280で、取得された電源関連情報に少なくとも部分的に基づいて、第1の複数の仮想マシンを安全に移行するための、場所およびプロトコルを生成または決定する。再配置プロトコルは、281で仮想マシンの第1のサブセットが移行を通して実質的に連続したやり方で動作し続けるように、仮想マシンの第1のサブセットが、電力供給されるハードウェア構成要素の第2のセット上で稼働することになるように、仮想マシンの第1のサブセットを移行すること、および282で第1の複数の仮想マシンの、仮想マシンの第2のサブセットのスナップショットを先制してとること、を含むことができる。処理はさらに285で、仮想マシンの第1のサブセットが移行を通して実質的に連続したやり方で動作し続けるように、第1の複数の仮想マシンの、仮想マシンの第1のサブセットを移行することを含むことができる。さらに290で仮想マシンの第2のサブセットは、それらのそれぞれのスナップショットに基づいて移行され得る(例えば仮想マシンの第1のサブセットの移行の完了後に、仮想マシンの第2のサブセットを、電力供給されるハードウェア構成要素の第2のセットにディプロイすることにより)。
1つまたは複数の態様において、本明細書で開示される処理は、クラウド・コントローラが、他のクラウド・コントローラおよび他の電源システムなどの他のシステムと作業している状態で、仮想マシンの移行のためにそれが接続される、システムの使用可能性および有効性を見るために、グローバル移行ビュー(global migratory view)に基づく。例えば、電源の喪失によりダウンする可能性のあるクラウド環境において作業負荷が稼働する状況では、仮想マシンは、故障しないターゲットまたは移行先クラウドに移行され得る。このような場合移行は、新たなターゲット・クラウドに移動されることになる仮想マシンを休止させ、データ(メモリ、プロセス状態など)をターゲット・クラウドに移転することを必要とし得る。この作業は、稼働している仮想マシンの下から電力がなくなることを避けるために、帯域幅の観点から優先し得る。さらに並行して、ライブ仮想マシンの移行に影響を及ぼさないように、ターゲット環境にライブ移行できなくなる仮想マシンは、スナップショットをとられ、それらの状態を獲得して例えばディスクに保存することができる。スナップショットをとられると共にこれらの仮想マシンは、ターゲット・システム上へのその後のディプロイまで、シャットダウンされ得る。
1つまたは複数の実施形態において、上述のクラウド・コントローラなどのコントローラは、仮想マシンに対してそれらが関連付けられる特定の再配置プロトコルを生成または決定することにおいて、いくつかの要因を比較検討することができる。これらの要因は、移転のために、デフォルトとしての純粋な移行による移行プロトコルおよびシャットダウンではなく、稼働している仮想マシンの1つまたは複数のスナップショットをとるオプションを含み、どのような処置をとるかを決定することを含むことができる。コントローラは、仮想マシンのどれが移行されることになるか、および代わりにどれがスナップショットをとられ、スナップショットがターゲットまたは移行先システムに移転されるかを、選択または確立する。例としてこれは、特定のタイプの仮想マシンのスナップショットをとるための履歴上の時間、結果としてのスナップショットの大きさ、およびスナップショットを送信するために使用可能な帯域幅を、評価することを含み得る。さらにクラウド・コントローラはスナップショットが、例えば1つまたは複数の他の仮想マシンの移行のためには必要でない帯域幅を用い得るデータ経路を用いて、中間システムまたはノードに送信され得るかどうかを調べることができる。このようにして、移転されたスナップショットはその後、回復またはディプロイのために、ターゲットまたは移行先システムに移転され得る。さらにクラウド・コントローラは、移転ノードのクラウド・コントローラと通信することによって、すべての移転ノード(複数のノードが用いられ得るので)がそれら自体は退避されないことを確実にすることができる。それら自体も退避される場合、コントローラは、代替中間ノードなどの代替ノードを探し、いずれも使用可能でない場合は、1つまたは他のクラウド・コントローラとネゴシエートして、それが移転ノードとして用いられるだけ十分長く稼働したままとなるかどうかを決定することができる。移転において用いられることになる中間スイッチすなわちデータ経路内のスイッチなどの、中間ハードウェアに対して、クラウド・コントローラは、中間ハードウェアが関連付けられたクラウド・コントローラと共に作業することができ、またはそれらが独立である場合は、中間ハードウェアに関連付けられた電源システムと直接通信することができる。1つまたは複数の仮想マシンの移行が行われている間、スナップショットをとられるべき1つまたは複数の仮想マシンは、並行してスナップショットをとられ、次いでターゲットまたは移行先ノード、システム、データセンタなどに移転され得る。
図4は、例えばソース・システム300から、ターゲット・システム330への仮想マシン移行のより詳細な例を示し、これは部分的に1つまたは複数の中間システム350を用いることができる。この実施形態において、電力供給されるハードウェア構成要素の第1のセットなどのソース・システム300は、稼働している複数の仮想マシン312を有する第1のクラウド310を含み、関連付けられた制御部311を有する。ソース・システム300は、1つまたは複数の電源システムを含む第1の電源システム・セット(電源システムA301)によって電力供給される。仮想マシン312の移行はネットワーク320に跨がって行われることになり、これはそのそれぞれが1つまたは複数の電源システムを含み得る関連付けられた電源システム・セット(電源システムB324、電源システムC328など)によってそのそれぞれが電力供給される、スイッチ322、326などの1つまたは複数の中間ハードウェア構成要素を含むことができる。
この例において、電力供給されるハードウェア構成要素の第2のセットなどのターゲット・システム330は、それに関連付けられた第2の制御部341を有する、第2のクラウド環境340をホストすることができる。ターゲット・システム330はまた、1つまたは複数の電源システムの第2の電源システム・セット(例えば電源システムD331)によって電力供給され得る。述べられたように1つまたは複数の中間システム350は、例えば1つまたは複数の仮想マシンが、例えば異なるデータ経路321、325に跨がって移行されている時点でのスナップショットをとられたデータの同時移転を容易にするために、使用され得る。中間システム350は、1つまたは複数の例において、仮想マシン・スナップショット362を受信するためのメモリ360、および関連付けられた制御部361を含むことができる。中間システム350は中間電源システム・セット(例えば電源システムE351)によって電力供給することができ、これは1つまたは複数の電源システムを含み得る。一般に、電源システムA301、電源システムB324、電源システムC328、電源システムD331、および電源システムE351などの電源システム・セットは、電源システムの異なるセットを含むまたはそれらとすることができ、1つまたは複数の他の実施形態においてそれらの1つまたは複数は、ネットワーク320の電源システムB324および電源システムC328など、同じ電源システムを有することができる。
図5および6は、本発明の1つまたは複数の態様による、仮想マシンを移行するためのプロセスの一実施形態を示す。図4〜6をまとめて参照すると、370で電源障害通知が、電源システムA301から、第1のクラウド制御部311などにおいてソース・システムに受信され得る。これに基づいて、372で第1のクラウド・コントローラまたはマネージャは、仮想マシンをどこに移行するかを決定する、すなわちターゲットまたは移行先システム(または電力供給されるハードウェア構成要素の第2のセット)を決定する。
1つまたは複数の実施形態において、374でクラウド・コントローラ・マネージャ311は、ソース・システムとターゲット・システムとの間で、データ経路321内のスイッチ1 322に電力を供給する電源システムB324などの電源システムに、問い合わせることができる。さらに、376でソース・システム300のクラウド制御部またはマネージャ311は、ターゲット・システムに電力を供給する、電源システムD331のステータスを決定することができる。これは所望の情報を得るために、第1のクラウド制御部311がターゲット・システム330の第2のクラウド制御部341に問い合わせることに関わることができ、またはクラウド制御部311が電源システムD331と直接通信することに関わり得る。
次に1つまたは複数の実施形態において、378でクラウド制御部311は、スナップショットをとられたデータを収容することができる1つまたは複数の中間システムまたはノード、ならびに中間システムへの電源システムE351のステータスを決定することができる。この情報と共に380で、クラウド制御部またはマネージャは、ソース・システムと中間システムとの間のデータ経路325内の1つまたは複数のスイッチ326に電力供給する、電源システムC328のステータスを決定することができる。382でこの情報は、仮想マシンを移行する、または仮想マシンのスナップショットをとるために必要な時間についての履歴情報などの他の情報、またはソース・システムの1つまたは複数の仮想マシンがクラウド制御部に対して、高い優先度を有するものとして、したがってスナップショットをとられるものとは対照的にライブ移行のための優先度を有するものとして示される優先度データ、または特定の仮想マシン312を、再配置プロトコルの仮想マシンの第1のサブセットまたは第2のサブセットに配置するかどうかの決定においてクラウド制御部に使用可能となり得る任意の他のタイプのデータと共に参照される。仮想マシン再配置プロトコルが生成された後、次いで384でプロトコルが実施され、これは386で処理を終了させる。本明細書で述べられるものなど、384で仮想マシン再配置プロトコルを実施するための一実施形態は、図6に示される。
図6に示されるように再配置プロトコルを実施することは、390で例えばソースおよびターゲット・システムの間のデータ経路内の1つまたは複数のスイッチ1を経由して、1つまたは複数の仮想マシン(例えば図4の例における仮想マシン1)を、ソース・システムからターゲット・システムにライブ移行することを含む。処理は392で、1つまたは複数の仮想マシンのライブ移行と組み合わせて、ソース・システムの1つまたは複数の仮想マシン(例えば仮想マシン2、仮想マシン3)のスナップショットをとることを含む。1つまたは複数の実装形態においてスナップショットをとるプロセスは、ライブ移行プロセスより低い優先度にあるものとすることができる。また、1つまたは複数の他の実施形態においてスナップショットをとることは、1つまたは複数の仮想マシンの移行と並行して行われ得る。394でスナップショット・データはソース・システムから、(例えば1つまたは複数のデータ経路を経由して、1つまたは複数の中間システムに)送られ、これはスイッチなどの1つまたは複数のハードウェア構成要素を含み得る。仮想マシン・スナップショットが中間システムからターゲット、移行先システムに移転された後、396でそれらはターゲット・システムにおいてディプロイされ得る。
本明細書で述べられる仮想マシン再配置機能の1つまたは複数の態様を組み込み、用いることができるコンピューティング環境の他の実施形態は、図7に示される。この例においてコンピューティング環境400は例えば、互いに例えば1つまたは複数のバス408または他の接続あるいはその両方によって結合された、ネイティブ中央処理装置(CPU)402、メモリ404、および1つまたは複数の入力/出力デバイス、またはインターフェース406あるいはそれらの組合せを含む。例としてコンピューティング環境400は、インターナショナル・ビジネス・マシーンズ・コーポレーション、ニューヨーク州アーモンクによって提供されるPowerPCプロセッサまたはPower Systemsサーバ、Hewlett Packard Co.、カリフォルニア州パロアルトによって提供されるインテルItanium IIプロセッサを用いたHP Superdome、またはインターナショナル・ビジネス・マシーンズ・コーポレーション、Hewlett Packard、インテル、オラクルその他によって提供されるアーキテクチャに基づく他のマシンあるいはそれらの組合せを含むことができる。
ネイティブ中央処理装置402は、環境内での処理時に用いられる、1つまたは複数の汎用レジスタまたは1つまたは複数の専用レジスタあるいはその両方などの、1つまたは複数のネイティブ・レジスタ410を含む。これらのレジスタは、任意の特定の時点での環境の状態を表す情報を含む。
さらにネイティブ中央処理装置402は、メモリ404に記憶された命令およびコードを実行する。1つの特定の例において中央処理装置は、メモリ404に記憶されたエミュレータ・コード412を実行することができる。このコードは、1つのアーキテクチャにおいて構成されたコンピューティング環境が、1つまたは複数の他のアーキテクチャをエミュレートすることを可能にする。例えばエミュレータ・コード412は、PowerPCプロセッサ、Power Systemsサーバ、HP Superdomeサーバその他など、z/Architecture以外のアーキテクチャに基づくマシンが、z/Architecture(R)(またはESA/390あるいはその両方)をエミュレートし、z/Architecture(R)に基づいて開発されたソフトウェアおよび命令を実行することを可能にする。
エミュレータ・コード412に関するさらなる詳細は、図8を参照して述べられる。メモリ404に記憶されたゲスト命令450は、ネイティブCPU402のもの以外のアーキテクチャにおいて実行されるように開発されたソフトウェア命令(例えばマシン命令と相互に関連する)を備える。例えばゲスト命令450は、z/Architecture(R)プロセッサ上で実行するように設計されたが、代わりに例えばインテルItanium IIプロセッサとすることができる、ネイティブCPU402上でエミュレートされる。一例においてエミュレータ・コード412は、メモリ404から1つまたは複数のゲスト命令450を取得し、任意選択で、取得された命令のためのローカル・バッファリングをもたらすための、命令フェッチ・ルーチン452を含む。これはまた、取得されたゲスト命令のタイプを決定し、ゲスト命令を1つまたは複数の対応するネイティブ命令456に翻訳するための、命令翻訳ルーチン454を含む。この翻訳は例えば、ゲスト命令によって行われることになる機能を識別し、その機能を行うためのネイティブ命令を選択することを含む。
さらにエミュレータ・コード412は、ネイティブ命令が実行されるようにするエミュレーション制御ルーチン460を含む。エミュレーション制御ルーチン460は、ネイティブCPU402に、1つまたは複数の前に取得されたゲスト命令をエミュレートするネイティブ命令のルーチンを実行させ、このような実行の終わりにおいて、次のゲスト命令またはゲスト命令のグループの取得をエミュレートするために、制御を命令フェッチ・ルーチンに戻させる。ネイティブ命令456の実行は、メモリ404からレジスタにデータをロードすること、データをレジスタからメモリに戻して記憶すること、または翻訳ルーチンによる決定により、あるタイプの算術演算または論理演算を行うことを含むことができる。
各ルーチンは例えば、メモリに記憶されネイティブ中央処理装置402によって実行される、ソフトウェアにおいて実施される。他の例においてルーチンまたは動作の1つまたは複数は、ファームウェア、ハードウェア、ソフトウェア、またはそれらの何らかの組合せにおいて実施される。エミュレートされるプロセッサのレジスタは、ネイティブCPUのレジスタ410を用いて、またはメモリ404内のロケーションを用いることによってエミュレートされ得る。実施形態においてゲスト命令450、ネイティブ命令456、およびエミュレータ・コード412は、同じメモリに常駐することができ、または異なるメモリ・デバイスの間で分配され得る。
本発明の1つまたは複数の態様を実施するための、さらなるコンピューティング環境の例示的実施形態は、以下で図9〜11を参照して述べられる。
他の例として図9は、コンピューティング・システム512を含む、コンピューティング環境500の一実施形態を示す。コンピュータ・システム512との使用に適し得る、よく知られたコンピューティング・システム、環境、または構成あるいはそれらの組合せは、デスクトップ・コンピュータ、ワークステーション、ハンドヘルドまたはラップトップ・コンピュータまたはデバイス、携帯電話、プログラマブル民生用電子機器、タブレット、携帯情報端末(PDA)などを含むが、それらに限定されない。
コンピューティング・システム512は、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈において述べられ得る。一般にプログラム・モジュールは、特定のタスクを行う、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造体などを含むことができる。
図9に示されるようにコンピューティング・システム512は、汎用コンピューティング・デバイスの形で示される。コンピューティング・システム512の構成要素は、1つまたは複数のプロセッサまたは処理装置516、システム・メモリ523、およびシステム・メモリ523を含む様々なシステム構成要素をプロセッサ516に結合するバス518を含むことができるが、それらに限定されない。
一実施形態においてプロセッサ516は、インターナショナル・ビジネス・マシーンズ・コーポレーションによって提供されるz/Architecture(R)、あるいはインターナショナル・ビジネス・マシーンズ・コーポレーションまたは他の会社によって提供される他のアーキテクチャに基づくことができる。z/Architecture(R)は、インターナショナル・ビジネス・マシーンズ・コーポレーション、米国ニューヨーク州アーモンクの登録商標である。z/Architecture(R)の一実施形態は、その全体がこれによって参照により本明細書に組み込まれている“z/Architecture(R) Principles of Operation,”IBM Publication No. SA22-7832-10, March 2015に述べられている。
他の例においてこれは、インターナショナル・ビジネス・マシーンズ・コーポレーションによって提供されるPower Architectureなどの、他のアーキテクチャに基づくことができる。Power Architectureの一実施形態は、その全体がこれによって参照により本明細書に組み込まれている“Power ISA(TM) Version 2.07B,” InternationalBusiness Machines Corporation, April 9, 2015に述べられている。POWER ARCHITECTUREは、インターナショナル・ビジネス・マシーンズ・コーポレーション、米国ニューヨーク州アーモンクの登録商標である。本明細書で用いられる他の名前は、インターナショナル・ビジネス・マシーンズ・コーポレーションまたは他の会社の登録商標、商標、または製品名であり得る。
バス518は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、およびアクセラレイテッド・グラフィックス・ポート、および多様なバス・アーキテクチャのいずれかを用いたプロセッサまたはローカル・バスを含む、いくつかのタイプのバス構造のいずれかの1つまたは複数を表す。例として限定せずに、このようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA)ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト(PCI)バスを含む。
コンピューティング・システム512は、多様なコンピュータ・システム可読媒体を含むことができる。このような媒体は、コンピューティング・システム512によってアクセス可能な任意の入手可能な媒体とすることができ、これは揮発性および不揮発性媒体、リムーバブルおよび非リムーバブル媒体を共に含む。
システム・メモリ523は、ランダム・アクセス・メモリ(RAM)530またはキャッシュ・メモリ532あるいはその両方などの、揮発性メモリの形のコンピュータ・システム可読媒体を含むことができる。コンピューティング・システム512はさらに、他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピュータ・システム記憶媒体を含むことができる。例のみとして記憶システム534は、非リムーバブル、不揮発性磁気媒体(図示せず、通常「ハード・ドライブ」と呼ばれる)からの読み出しおよびそれへの書き込みのためにもたらされ得る。図示されないが、リムーバブル、不揮発性磁気ディスク(例えば「フロッピ(R)・ディスク」)からの読み出しおよびそれへの書き込みのための磁気ディスク・ドライブ、およびCD−ROM、DVD−ROM、または他の光媒体などのリムーバブル、不揮発性光ディスクからの読み出しまたはそれへの書き込みのための光ディスク・ドライブがもたらされ得る。このような場合、それぞれは1つまたは複数のデータ媒体インターフェースによってバス518に接続され得る。以下で述べられるようにメモリ523は、本発明の実施形態の機能を実行するように構成されたプログラム・モジュールのセット(例えば少なくとも1つ)を有する少なくとも1つのプログラムを含むことができる。
プログラム・モジュール542のセット(少なくとも1つ)を有する、プログラム/ユーティリティ540は、例としておよび限定せずに、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データと同様に、メモリ532に記憶され得る。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データ、またはそれらの何らかの組合せのそれぞれは、ネットワーク化環境の実装形態を含むことができる。プログラム・モジュール542は一般に、本明細書で述べられる本発明の実施形態の機能または方法論あるいはその両方を実行する。あるいは、別個の仮想マシン再配置制御部、システム、モジュール、ロジックなど501が、コンピューティング環境512内にもたらされ得る。
コンピューティング・システム512はまた、キーボード、ポインティング・デバイス、ディスプレイ524などの1つまたは複数の外部デバイス514、ユーザがコンピューティング・システム512と対話することを可能にする1つまたは複数のデバイス、またはコンピューティング・システム512が1つまたは複数の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス(例えばネットワーク・カード、モデムなど)あるいはそれらの組合せと通信することができる。このような通信は、入力/出力(I/O)インターフェース522を経由して行われ得る。さらにコンピューティング・システム512は、ネットワーク・アダプタ520を経由して、ローカル・エリア・ネットワーク(LAN)、汎用広域ネットワーク(WAN)、またはパブリック・ネットワーク(例えばインターネット)あるいはそれらの組合せなど、1つまたは複数のネットワークと通信することができる。示されるようにネットワーク・アダプタ520は、バス518を経由してコンピューティング・システム512の他の構成要素と通信する。図示されないが、コンピューティング・システム512と共に、他のハードウェアまたはソフトウェア構成要素あるいはその両方が用いられ得ることが理解されるべきである。例は、マイクロコード、デバイス・ドライバ、冗長処理装置、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、データ・アーカイブ記憶システムなどを含むが、それらに限定されない。
1つまたは複数の態様は、クラウド・コンピューティングに関し、またはそれを用いることができる。
前もって、本開示はクラウド・コンピューティングについての詳しい説明を含むが、本明細書に記載されるいくつかの教示の実施は、クラウド・コンピューティング環境に限定されないことが理解される。むしろ本発明の実施形態は、現在知られているまたは後に開発される任意の他のタイプのコンピューティング環境と共に実施される能力を有する。
クラウド・コンピューティングは、最少の管理上の努力またはサービスのプロバイダとの対話により迅速に用意され、リリースされ得る、構成可能なコンピューティング・リソース(例えばネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有されたプールへの便利な、オンデマンド・ネットワーク・アクセスを可能にするためのサービス供給のモデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのディプロイモデルを含むことができる。
特徴は以下の通りである。
オンデマンド・セルフサービス:クラウド消費者は、サービスのプロバイダとの人的対話なしに必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどの、コンピューティング能力を一方的に用意することができる。
広いネットワーク・アクセス:能力はネットワークを通して使用可能であり、標準の機構を通じてアクセスされ、これは異種のシンまたはシック・クライアント・プラットフォーム(例えば携帯電話、ラップトップ、およびPDA)による使用を促進する。
リソース・プーリング:プロバイダのコンピューティング・リソースは、異なる物理および仮想リソースが需要に従って動的に割り当ておよび再割り当てされながら、マルチ・テナント・モデルを用いて複数の消費者にサービスするようにプールされる。消費者は一般に、もたらされるリソースの正確な位置に対する制御性または知識をもたないが、抽象化のより高いレベルにおいて位置を指定する(例えば国、州、またはデータセンタ)ことが可能になり得るという点で、位置からの独立性の観念がある。
迅速な融通性:能力は、いくつかの場合には自動的に、速やかにスケール・アウトし、または速やかにスケール・インするように迅速にリリースされるように、迅速におよび弾力的に用意され得る。消費者には、用意するために使用可能な能力は無限であるように見えることが多く、任意の時点で任意の量において購入され得る。
測定されたサービス:クラウド・システムは、サービスのタイプ(例えばストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に適した、何らかのレベルの抽象化における計量能力を活用することによって、リソース使用を自動的に制御および最適化する。リソース使用量は監視され、制御され、報告されて、利用されるサービスのプロバイダおよび消費者の両方に対して透明性をもたらす。
サービス・モデルは以下の通りである。
ソフトウェア・アズ・ア・サービス(SaaS):消費者にもたらされる能力は、クラウド・インフラストラクチャ上で稼働するプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えばウェブ・ベースの電子メール)などのシン・クライアント・インターフェースを通して、様々なクライアント・デバイスからアクセス可能である。限られたユーザ固有のアプリケーション構成設定を可能性のある例外として、消費者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、さらには個別のアプリケーション能力を含む、基礎をなすクラウド・インフラストラクチャを管理も制御もしない。
プラットフォーム・アズ・ア・サービス(PaaS):消費者にもたらされる能力は、プロバイダによってサポートされるプログラミング言語およびツールを用いて作成された、消費者により作成されたまたは取得されたアプリケーションを、クラウド・インフラストラクチャ上にディプロイすることである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎をなすクラウド・インフラストラクチャを管理も制御もしないが、ディプロイされたアプリケーション、および場合によっては環境構成をホストするアプリケーションに対する制御性を有する。
インフラストラクチャ・アズ・ア・サービス(IaaS):消費者にもたらされる能力は、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースを用意することであり、消費者は任意のソフトウェアをディプロイおよび稼働することができ、これはオペレーティング・システムおよびアプリケーションを含むことができる。消費者は、基礎をなすクラウド・インフラストラクチャを管理も制御もしないが、オペレーティング・システム、ストレージ、ディプロイされたアプリケーションに対する制御性、および場合によっては選ばれたネットワーク化構成要素(例えばホスト・ファイアウォール)の限られた制御性を有する。
ディプロイモデルは以下の通りである。
プライベート・クラウド:クラウド・インフラストラクチャは、専ら組織のために運用される。これは組織またはサード・パーティによって管理することができ、構内または構外に存在し得る。
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、共通の関心(例えばミッション、セキュリティ要件、ポリシー、およびコンプライアンス考慮事項)を有する特定のコミュニティをサポートする。これは組織またはサード・パーティによって管理することができ、構内または構外に存在し得る。
パブリック・クラウド:クラウド・インフラストラクチャは、一般大衆または大きな業界グループに対して使用可能とされ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、独自のエンティティのままであるが、データおよびアプリケーション可搬性(例えばクラウド間の負荷バランスのためのクラウド・バースティング)を可能にする標準化されたまたは独自開発の占有技術によって一緒に結び付けられた、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合体である。
クラウド・コンピューティング環境は、ステートレスであること、低いカップリング、モジュール性、およびセマンティック相互運用性に焦点を当てて方向付けられたサービスである。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを備えたインフラストラクチャである。
クラウド・コンピューティング・ノードは、図9に示されるものなどのコンピュータ・システム/サーバを含むことができる。図9のコンピュータ・システム/サーバ512は、通信ネットワークを通じてリンクされたリモート処理デバイスによってタスクが行われる、分散型クラウド・コンピューティング環境において実施され得る。分散型クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ記憶デバイスを含むローカル・コンピュータ・システム記憶媒体およびリモート・コンピュータ・システム記憶媒体の両方に配置され得る。コンピュータ・システム/サーバ512は、本明細書で上記に述べられた機能のいずれかが実装される、またはそれを行うあるいはその両方の、能力を有する。
次に図10を参照すると、例示的クラウド・コンピューティング環境50が示される。示されるようにクラウド・コンピューティング環境50は、例えば携帯情報端末(PDA)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54Nあるいはそれらの組合せなどの、クラウド消費者によって用いられるローカル・コンピューティング・デバイスが通信することのできる、1つまたは複数のクラウド・コンピューティング・ノード10を備える。ノード10は互いに通信することができる。それらは、本明細書で上記に述べられたようなプライベート、コミュニティ、パブリック、またはハイブリッド・クラウド、またはそれらの組合せなどの、1つまたは複数のネットワークにおいて物理的または仮想的にグループ化(図示せず)され得る。これはクラウド・コンピューティング環境50が、クラウド消費者はローカル・コンピューティング・デバイス上にリソースを維持する必要がない、サービスとしてのインフラストラクチャ、プラットフォーム、またはソフトウェアあるいはそれらの組合せを提供することを可能にする。図10に示されるコンピューティング・デバイス54A〜Nのタイプは例示のためのみであること、ならびにコンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意のタイプのネットワークまたはネットワーク・アドレス指定可能な接続(例えばウェブ・ブラウザを用いた)あるいはその両方を通して、任意のタイプのコンピュータ化されたデバイスと通信できることが、理解される。
図11を参照すると、クラウド・コンピューティング環境50によってもたらされる、機能抽象化レイヤのセットが示される。前もって、図11に示される構成要素、レイヤ、および機能は、例示のためのみであり、本発明の実施形態はそれらに限定されないことが理解されるべきである。示されるように以下のレイヤ、および対応する機能がもたらされる。
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェアおよびソフトウェア構成要素を含む。ハードウェア構成要素の例は、メインフレーム61、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、記憶デバイス65、ならびにネットワークおよびネットワーク化構成要素66を含む。いくつかの実施形態においてソフトウェア構成要素は、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
仮想化レイヤ70は、以下の仮想エンティティの例、すなわち仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75をもたらし得る、抽象化レイヤをもたらす。
一例において管理レイヤ80は、以下に述べられる機能をもたらすことができる。リソース供給81は、クラウド・コンピューティング環境内でタスクを行うために利用されるコンピューティング・リソースおよび他のリソースの動的調達をもたらす。計量および価格設定82は、クラウド・コンピューティング環境内でリソースが利用される場合のコスト追跡、およびこれらのリソースの消費に対する請求書作成または送付をもたらす。一例においてこれらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウド消費者およびタスクに対する識別検証、ならびにデータおよび他のリソースに対する保護をもたらす。ユーザ・ポータル83は、消費者およびシステム管理者のために、クラウド・コンピューティング環境へのアクセスをもたらす。サービス・レベル管理84は、要求されるサービス・レベルが満たされるように、クラウド・コンピューティング・リソース割り振りおよび管理をもたらす。サービス・レベル・アグリーメント(SLA)計画および達成85は、SLAに従って将来の要求が予想されるクラウド・コンピューティング・リソースの事前準備および調達をもたらす。
作業負荷レイヤ90は、クラウド・コンピューティング環境が利用され得る機能性の例をもたらす。このレイヤからもたらされ得る作業負荷および機能の例は、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育配信(virtual classroom education delivery)93、データ分析処理94、トランザクション処理95、および処理装置(PU)仮想マシン再配置処理96を含む。
本発明の様々な実施形態の説明は、例示を目的として示されたが、網羅的なもの、または開示された実施形態に限定するものではない。当業者には、述べられた実施形態の範囲および趣旨から逸脱せずに、多くの変更および変形が明らかとなるであろう。本明細書で用いられる用語は、実施形態の原理、実用的な応用、または市場で見出される技術に対する技術的改善を最もよく説明するために、または他の当業者が本明細書で開示される実施形態を理解することを可能にするために選ばれた。
本発明は、統合の任意の可能な技術的詳細レベルにおける、システム、方法、またはコンピュータ・プログラム製品あるいはそれらの組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有する、(1つまたは複数の)コンピュータ可読記憶媒体を含むことができる。
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持および記憶することができる、有形のデバイスとすることができる。コンピュータ可読記憶媒体は、例えば電子的記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁的記憶デバイス、半導体記憶デバイス、または上記の任意の適切な組合せとすることができるが、それらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピ(R)・ディスク、パンチカードまたは命令を記録された溝内の隆起構造などの機械的エンコード型デバイス、および上記の任意の適切な組合せを含む。本明細書で用いられるコンピュータ可読記憶媒体とは、電波または他の自由に伝搬する電磁波、導波路または他の伝送媒体を通して伝搬する電磁波(例えば光ファイバ・ケーブルを通過する光パルス)、または線材を通して送信される電気信号など、それ自体が一時的信号であると解釈されるものではない。
本明細書で述べられるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、またはネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワークまたは無線ネットワークあるいはそれらの組合せを経由して外部コンピュータまたは外部記憶デバイスに、ダウンロードされ得る。ネットワークは、銅の伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・サーバあるいはそれらの組合せを備えることができる。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体における記憶のために送る。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存型命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様なプログラミング言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれた、ソース・コードまたはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、専らユーザのコンピュータ上で、スタンド・アロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、かつ部分的にリモート・コンピュータ上で、あるいは専らリモート・コンピュータまたはサーバ上で、実行することができる。後者のシナリオにおいてリモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む、任意のタイプのネットワークを通してユーザのコンピュータに接続され得、あるいは外部コンピュータへの接続が(例えばインターネット・サービス・プロバイダを用いてインターネットを通して)なされ得る。いくつかの実施形態において、例えばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、本発明の態様を行うために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行して電子回路を個人化することができる。
本明細書において本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラムの、フローチャート図またはブロック図あるいはその両方を参照して述べられる。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実施され得ることが理解されるであろう。
コンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサによって実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実施するための手段を作成するように、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに与えられて、マシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令はまた、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作の態様を実施する命令を含んだ製品を備えるように、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはそれらの組合せに特定のやり方で機能するように指示することができるものであってもよい。
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行する命令がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実施するように、コンピュータによって実施されるプロセスを形成するべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
図におけるフローチャートおよびブロック図は、本発明の様々な実施形態による、システム、方法、およびコンピュータ・プログラムの可能な実装形態のアーキテクチャ、機能、および動作を示す。この関連において、フローチャートまたはブロック図内の各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能命令を備える、モジュール、セグメント、または命令の一部分を表すことができる。いくつかの代替的実装形態において、ブロック内に記された機能は、図に記されたものとは異なる順序で行われ得る。例えば連続して示される2つのブロックは、実際は実質的に並行して実行され得、またはブロックは時には関わる機能に応じて、逆の順序で実行され得る。またブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定された機能または動作を行う、または専用ハードウェアおよびコンピュータ命令の組合せを実行する、専用ハードウェア・ベースのシステムによって実施され得ることが留意されるであろう。
本明細書で用いられる用語は、特定の実施形態を述べるためのみのものであり、本発明を限定するためのものではない。本明細書で用いられる単数形「a」、「an」および「the」は、文脈が異なる解釈を明らかに決定付ける場合を除き、複数形も含むものである。さらに用語「備える(comprise)」(ならびに「comprises」および「comprising」などのcompriseのいずれかの形)、「有する(have)」(ならびに「has」および「having」などのhaveのいずれかの形)、「含む(include)」(ならびに「includes」および「including」などのincludeのいずれかの形)、および「含む(contain)」(ならびに「contains」および「containing」などのcontainのいずれかの形)は、オープン・エンドの連結動詞であることが理解されるであろう。結果として、1つまたは複数のステップまたは要素を「備える(comprises)」、「有する(has)」、「含む(includes)」または「含む(contains)」方法またはデバイスは、それら1つまたは複数のステップまたは要素を所有するが、それら1つまたは複数のステップまたは要素のみを所有することに限定されない。同様に1つまたは複数の特徴を「備える(comprises)」、「有する(has)」、「含む(includes)」または「含む(contains)」方法のステップまたはデバイスの要素は、それら1つまたは複数の特徴を所有するが、それら1つまたは複数の特徴のみを所有することに限定されない。さらに一定の方法で構成されるデバイスまたは構造は、少なくともその方法で構成されるが、列挙されない方法においても構成され得る。
以下の「特許請求の範囲」内の対応する構造、材料、動作、およびすべてのミーンズ・プラス・ファンクション要素またはステップ・プラス・ファンクション要素の均等物は、具体的に特許請求されるものとして、他の特許請求される要素との組合せにおいて機能を行うための、構造、材料、または動作を含むことが意図される。本発明の説明は、例示および説明のために示されたが、網羅的であること、または本発明を開示された形に限定することを意図するものではない。当業者には、本発明の範囲および思想から逸脱せずに、多くの変更および変形が明らかになるであろう。実施形態は、本発明の1つまたは複数の態様の原理、および実際の応用例を最もよく説明するように、ならびに他の当業者が、企図される特定の使用に適するように様々な変更を有する様々な実施形態に対する本発明の1つまたは複数の態様を理解することを可能にするように選ばれ、述べられた。
10 コンピューティング・ノード
50 クラウド・コンピューティング環境
54A 携帯電話
54B デスクトップ・コンピュータ
54C ラップトップ・コンピュータ
54N 自動車コンピュータ・システム
60 ハードウェアおよびソフトウェア
61 メインフレーム
62 RISCアーキテクチャ・サーバ
63 IBM(R)xSeries(R)システム
64 IBM(R)Blade Center(R)システム
65 ストレージ
66 ネットワーク化
67 ネットワーク・アプリケーション・サーバ・ソフトウェア
68 データベース・ソフトウェア
70 仮想化
71 仮想サーバ
72 仮想ストレージ
73 仮想ネットワーク
74 仮想アプリケーション
75 仮想クライアント
80 管理
81 リソース供給
82 計量および価格設定
83 ユーザ・ポータル
84 サービス・レベル管理
85 SLA計画および達成
90 作業負荷
91 マッピングおよびナビゲーション
92 ソフトウェア開発およびライフサイクル管理
93 仮想教室教育配信
94 データ分析処理
95 トランザクション処理
96 仮想マシン再配置処理
100 コンピューティング環境
102 中央プロセッサ複合体(CPC)
104 プロセッサ・メモリ
106 I/Oデバイス
108 I/O制御ユニット
110 中央プロセッサ(CPU)
111 I/Oサブシステム
112 仮想マシン
114 ハイパーバイザ
115 プロセッサ・ファームウェア
120 ゲストO/S
122 プログラム
200 電力供給されるハードウェア構成要素の第1のセット
201 第1の電源システム・セット
210 第1のクラウド
211 第1のクラウド・コントローラ
212 仮想マシン
220 電力供給されるハードウェア構成要素の第2のセット
221 第2の電源システム・セット
230 第2のクラウド
231 第2のクラウド・コントローラ
232 仮想マシン
232 VMのスナップショット
300 ソース・システム
301 電源システムA
310 クラウド1
311 制御部1
312 仮想マシン
320 ネットワーク
322 スイッチ1
324 電源システムB
326 スイッチ2
328 電源システムC
330 ターゲット・システム
331 電源システムD
340 クラウド2
341 制御部2
342 仮想マシン
350 中間システム
351 電源システムE
360 メモリ
361 制御部3
362 VMスナップショット
400 コンピューティング環境
402 ネイティブCPU
404 メモリ
406 入力/出力
410 レジスタ
408 バス
412 エミュレータ・コード
450 ゲスト命令
452 命令フェッチ・ルーチン
454 命令翻訳ルーチン
456 ネイティブ命令
460 エミュレーション制御ルーチン
500 コンピューティング環境
501 仮想マシン再配置制御部
512 コンピューティング・システム
514 外部デバイス
516 処理装置
520 ネットワーク・アダプタ
522 I/Oインターフェース
523 メモリ
524 ディスプレイ
530 RAM
532 キャッシュ
534 記憶システム

Claims (14)

  1. 第1のコントローラによって、前記第1のコントローラが関連付けられたハードウェアの第1のセットに電力を供給する第1の電源システム・セットから、第1の電源関連情報を取得するステップであって、前記ハードウェアの第1のセットは第1の複数の仮想マシンを稼働させる、前記ステップと、
    前記第1のコントローラによって、前記第1の電源関連情報に少なくとも部分的に基づいて、前記第1の複数の仮想マシンを移行するための再配置プロトコルを生成するステップと
    を含み、前記再配置プロトコルは、
    前記第1の複数の仮想マシンのうち1以上の仮想マシンを含む第1のサブセットの移行であって、前記第1のサブセットが含む仮想マシンが前記移行を通して動作し続けるようにハードウェアの第2のセットに移行され、当該第2のセット上で稼働することになる、前記移行と、
    前記第1の複数の仮想マシンのうち1以上の仮想マシンを含む第2のサブセットのスナップショットをとることと、
    を含む、方法。
  2. ハードウェアの前記第1のセットにおいて取得された前記第2のサブセットのスナップショットに基づき、ハードウェアの前記第2のセットに当該スナップショットをディプロイすることによって、仮想マシンを含む前記第2のサブセットをハードウェアの前記第2のセットに移行するステップをさらに含む、請求項1に記載の方法。
  3. 前記第2のサブセットを移行する前記ステップは、前記第1のサブセットを移行する前記ステップの完了後に行われる、請求項2に記載の方法。
  4. 前記第2のサブセットを移行する前記ステップは、
    ハードウェアの前記第2のセットに仮想マシンを含む前記第2のサブセットのスナップショットをディプロイする前に、当該スナップショットを中間電源システム・セットが電力供給するハードウェアの中間セットに移転するステップを含み、前記中間電源システム・セットは前記第1の電源システム・セットと異なる、請求項2に記載の方法。
  5. 前記スナップショットをハードウェアの前記中間セットに移転する前記ステップは、
    仮想マシンを含む前記第1のサブセットをハードウェアの前記第2のセットに移行する前記ステップと同時に行われる、請求項4に記載の方法。
  6. ハードウェアの前記第1のセットは第1のクラウドであり、前記第1のコントローラは第1のクラウド・コントローラであり、ハードウェアの前記第2のセットは第2のクラウドであり、ハードウェアの前記第2のセットは第2の電源システムを備えた第2の電源システム・セットから電力供給される、請求項2に記載の方法。
  7. 前記第1のクラウドおよび前記第2のクラウドは、地理的に分散された異なるデータセンタにおいてホストされる、請求項6に記載の方法。
  8. 前記第2のクラウドは第2のクラウド・コントローラを含み、
    前記再配置プロトコルを生成するステップは、前記第1のクラウド・コントローラによって、前記第2のクラウド・コントローラまたは前記第2の電源システム・セットから、ハードウェアの前記第2のセットへの電源ステータスを示す第2の電源関連情報を取得するステップをさらに含む、請求項6に記載のコンピュータによって実施される方法。
  9. 前記第1のコントローラによって前記再配置プロトコルを生成するステップは、
    前記第1のサブセットまたは前記第2のサブセットが含む1以上の仮想マシンの再配置を容易にするために、動作し続けながらの移行または前記スナップショットをディプロイして移行することの履歴データを参照するステップを含む、請求項1に記載の方法。
  10. 前記第1のコントローラによって前記再配置プロトコルを生成するステップは、
    前記第1のサブセットまたは前記第2のサブセットが含む1以上の仮想マシンの再配置における、少なくとも1つの仮想マシンに関連付けられた優先度情報を用いるステップを含む、請求項1に記載の方法。
  11. 前記第1のコントローラによって前記再配置プロトコルを生成するステップは、
    ハードウェアの前記第1のセットからハードウェアの前記第2のセットへのデータ移転経路内の、1以上のスイッチへの電源ステータスを決定するステップを含む、請求項1に記載の方法。
  12. 前記第1の電源関連情報は、ハードウェアの前記第1のセットへの電源障害までの推定される時間の長さを含み、前記再配置プロトコルは、ハードウェアの前記第1のセットへの電源障害までの時間の長さに少なくとも部分的に基づいて、動的に生成される緊急時再配置プロトコルである、請求項1に記載の方法。
  13. 仮想マシンの再配置を容易にするためのシステムであって、
    メモリと、
    プロセッサと
    を備え、前記プロセッサは、
    前記システムに電力を供給する第1の電源システム・セットから、第1の電源関連情報を取得するステップであって、前記システムは第1の複数の仮想マシンを稼働させる、前記ステップと、
    前記第1の電源関連情報に少なくとも部分的に基づいて、前記第1の複数の仮想マシンを移行するための再配置プロトコルを生成するステップと、
    を実行し、前記再配置プロトコルは、
    前記第1の複数の仮想マシンのうち1以上の仮想マシンを含む第1のサブセットの移行であって、前記第1のサブセットが含む仮想マシンが前記移行を通して動作し続けるようにハードウェアの第2のセットに移行され、当該第2のセット上で稼働することになる、前記移行と、
    前記第1の複数の仮想マシンのうち1以上の仮想マシンを含む第2のサブセットのスナップショットをとることと、
    を含む、システム。
  14. 仮想マシンの再配置を容易にするためのプロセッサに、
    前記プロセッサが関連付けられたハードウェアの第1のセットに電力を供給する第1の電源システム・セットから、第1の電源関連情報を取得するステップであって、前記ハードウェアの第1のセットは第1の複数の仮想マシンを稼働させる、前記ステップ、
    前記第1の電源関連情報に少なくとも部分的に基づいて、前記第1の複数の仮想マシンを移行するための再配置プロトコルを生成するステップ、
    を実行させるためのプログラムであって、前記再配置プロトコルは、
    前記第1の複数の仮想マシンのうち1以上の仮想マシンを含む第1のサブセットの移行であって、前記第1のサブセットが含む仮想マシンが前記移行を通して動作し続けるようにハードウェアの第2のセットに移行され、当該第2のセット上で稼働することになる、前記移行と、
    前記第1の複数の仮想マシンのうち1以上の仮想マシンを含む第2のサブセットのスナップショットをとることと、
    を含む、プログラム。
JP2017212984A 2016-11-08 2017-11-02 仮想マシン再配置プロトコルの生成を含む方法、仮想マシン再配置を容易にするためのシステムおよびプログラム Active JP6837414B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/345,675 US10545777B2 (en) 2016-11-08 2016-11-08 Generating a virtual machines relocation protocol
US15/345675 2016-11-08

Publications (2)

Publication Number Publication Date
JP2018077846A JP2018077846A (ja) 2018-05-17
JP6837414B2 true JP6837414B2 (ja) 2021-03-03

Family

ID=62002870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017212984A Active JP6837414B2 (ja) 2016-11-08 2017-11-02 仮想マシン再配置プロトコルの生成を含む方法、仮想マシン再配置を容易にするためのシステムおよびプログラム

Country Status (3)

Country Link
US (2) US10545777B2 (ja)
JP (1) JP6837414B2 (ja)
DE (1) DE102017217968A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10545777B2 (en) 2016-11-08 2020-01-28 International Business Machines Corporation Generating a virtual machines relocation protocol
CN110088732B (zh) * 2016-12-19 2021-08-20 华为技术有限公司 一种数据包处理方法、主机和系统
US11169835B1 (en) * 2017-05-09 2021-11-09 Tintri By Ddn, Inc. VM data migration between storage devices
JP6901683B2 (ja) * 2017-09-22 2021-07-14 富士通株式会社 調整プログラム、調整装置および調整方法
US10896069B2 (en) * 2018-03-16 2021-01-19 Citrix Systems, Inc. Dynamically provisioning virtual machines from remote, multi-tier pool
US11675503B1 (en) 2018-05-21 2023-06-13 Pure Storage, Inc. Role-based data access
US11954220B2 (en) 2018-05-21 2024-04-09 Pure Storage, Inc. Data protection for container storage
US12086431B1 (en) 2018-05-21 2024-09-10 Pure Storage, Inc. Selective communication protocol layering for synchronous replication
US11086686B2 (en) * 2018-09-28 2021-08-10 International Business Machines Corporation Dynamic logical partition provisioning
US10977068B2 (en) * 2018-10-15 2021-04-13 Microsoft Technology Licensing, Llc Minimizing impact of migrating virtual services
US11188368B2 (en) * 2018-10-31 2021-11-30 Nutanix, Inc. Asynchronous workload migration control
US11194620B2 (en) 2018-10-31 2021-12-07 Nutanix, Inc. Virtual machine migration task management
US10963283B2 (en) * 2018-12-27 2021-03-30 Nutanix, Inc. Configuration management for hybrid cloud
US11455220B2 (en) * 2019-05-07 2022-09-27 EMC IP Holding Company LLC Cloud to cloud disaster recovery
WO2020262018A1 (ja) * 2019-06-26 2020-12-30 日本電気株式会社 情報処理装置、情報処理方法及び記録媒体
CN112887355B (zh) * 2019-11-29 2022-09-27 北京百度网讯科技有限公司 异常服务器的业务处理方法及装置
CN111381934B (zh) * 2020-03-11 2023-07-21 重庆邮电大学 一种灾难风险模型下提高虚拟机快速迁移可靠性的方法
US11409619B2 (en) 2020-04-29 2022-08-09 The Research Foundation For The State University Of New York Recovering a virtual machine after failure of post-copy live migration
US11875169B2 (en) * 2020-07-21 2024-01-16 Google Llc Optimizing replication-based migration of virtual machines
US11487572B1 (en) * 2021-04-16 2022-11-01 Citrix Systems, Inc. Migration of cloud-based software application

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204082B2 (en) * 2000-06-23 2012-06-19 Cloudshield Technologies, Inc. Transparent provisioning of services over a network
US7840992B1 (en) 2006-09-28 2010-11-23 Emc Corporation System and method for environmentally aware data protection
EP1962192A1 (en) * 2007-02-21 2008-08-27 Deutsche Telekom AG Method and system for the transparent migration of virtual machine storage
US7966614B2 (en) * 2007-07-24 2011-06-21 International Business Machines Corporation Controlling an availability policy for a virtual machine based on changes in a real world environment
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
US9015705B2 (en) * 2008-03-28 2015-04-21 International Business Machines Corporation Computing device having a migrated virtual machine accessing physical storage space on another computing device
US8146082B2 (en) * 2009-03-25 2012-03-27 Vmware, Inc. Migrating virtual machines configured with pass-through devices
US8578076B2 (en) * 2009-05-01 2013-11-05 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
US7975165B2 (en) * 2009-06-25 2011-07-05 Vmware, Inc. Management of information technology risk using virtual infrastructures
JP5263800B2 (ja) * 2009-09-09 2013-08-14 株式会社日立製作所 情報処理システムの運用管理方法及び情報処理システム
JP5454135B2 (ja) * 2009-12-25 2014-03-26 富士通株式会社 仮想マシン移動制御装置、仮想マシン移動制御方法および仮想マシン移動制御プログラム
US8171142B2 (en) * 2010-06-30 2012-05-01 Vmware, Inc. Data center inventory management using smart racks
JP5206750B2 (ja) 2010-08-09 2013-06-12 サンケン電気株式会社 電源装置およびプログラム
US9110727B2 (en) * 2010-10-05 2015-08-18 Unisys Corporation Automatic replication of virtual machines
JP5614226B2 (ja) * 2010-10-15 2014-10-29 富士通株式会社 仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法
JP5691390B2 (ja) * 2010-10-25 2015-04-01 サンケン電気株式会社 電源装置およびプログラム
US8745234B2 (en) * 2010-12-23 2014-06-03 Industrial Technology Research Institute Method and manager physical machine for virtual machine consolidation
US9461881B2 (en) * 2011-09-30 2016-10-04 Commvault Systems, Inc. Migration of existing computing systems to cloud computing sites or virtual machines
JP5785050B2 (ja) * 2011-10-27 2015-09-24 株式会社日立製作所 情報処理システム、その省電力制御方法、及び装置
JP5834939B2 (ja) * 2012-01-17 2015-12-24 富士通株式会社 プログラム、仮想マシン制御方法、情報処理装置および情報処理システム
CN102629224B (zh) 2012-04-26 2014-11-26 广东电子工业研究院有限公司 一种基于云平台的一体化数据容灾方法及其装置
JP6029165B2 (ja) * 2012-09-05 2016-11-24 Necエンジニアリング株式会社 仮想マシン管理システム、管理サーバ及び仮想マシン管理方法
US9304878B2 (en) * 2012-10-11 2016-04-05 Vmware, Inc. Providing multiple IO paths in a virtualized environment to support for high availability of virtual machines
US9262212B2 (en) * 2012-11-02 2016-02-16 The Boeing Company Systems and methods for migrating virtual machines
US9405642B2 (en) * 2013-01-29 2016-08-02 Red Hat Israel, Ltd. Providing virtual machine migration reliability using an intermediary storage device
US9575789B1 (en) * 2013-06-26 2017-02-21 Veritas Technologies Systems and methods for enabling migratory virtual machines to expedite access to resources
JP2015011569A (ja) * 2013-06-28 2015-01-19 株式会社東芝 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理プログラム
US9471350B2 (en) * 2013-09-26 2016-10-18 Intel Corporation Live migration of virtualized systems
IN2013CH05013A (ja) * 2013-11-07 2015-05-08 Schneider Electric It Corp
US9720728B2 (en) * 2013-12-06 2017-08-01 Huawei Technologies Co., Ltd. Migrating a VM when the available migration duration times of a source and destination node are greater than the VM's migration duration time
US9652326B1 (en) * 2014-01-24 2017-05-16 Amazon Technologies, Inc. Instance migration for rapid recovery from correlated failures
US9350668B2 (en) * 2014-06-03 2016-05-24 The Viki Group, Inc. Systems and methods for IP sharing across wide area networks
US10044795B2 (en) * 2014-07-11 2018-08-07 Vmware Inc. Methods and apparatus for rack deployments for virtual computing environments
US10038629B2 (en) * 2014-09-11 2018-07-31 Microsoft Technology Licensing, Llc Virtual machine migration using label based underlay network forwarding
TW201624277A (zh) * 2014-12-31 2016-07-01 萬國商業機器公司 協助虛擬機器即時遷移的方法
US10560535B2 (en) * 2015-05-21 2020-02-11 Dell Products, Lp System and method for live migration of remote desktop session host sessions without data loss
US9696781B2 (en) * 2015-05-28 2017-07-04 Cisco Technology, Inc. Automated power control for reducing power usage in communications networks
US10970110B1 (en) * 2015-06-25 2021-04-06 Amazon Technologies, Inc. Managed orchestration of virtual machine instance migration
JP6540334B2 (ja) * 2015-07-29 2019-07-10 富士通株式会社 システム、情報処理装置、および情報処理方法
EP3348084A1 (en) * 2015-09-07 2018-07-18 Telefonaktiebolaget LM Ericsson (publ) Method for redundancy of a vlr database of a virtualized msc
US9710305B2 (en) * 2015-11-12 2017-07-18 International Business Machines Corporation Virtual machine migration management
US9336042B1 (en) 2015-11-19 2016-05-10 International Business Machines Corporation Performing virtual machine live migration within a threshold time by adding available network path in multipath network
US11074092B2 (en) * 2015-12-18 2021-07-27 Intel Corporation Virtual machine batch live migration
US10552761B2 (en) * 2016-05-04 2020-02-04 Uvic Industry Partnerships Inc. Non-intrusive fine-grained power monitoring of datacenters
US10223016B2 (en) * 2016-05-10 2019-03-05 Vmware, Inc Power management for distributed storage systems
US10545777B2 (en) 2016-11-08 2020-01-28 International Business Machines Corporation Generating a virtual machines relocation protocol

Also Published As

Publication number Publication date
DE102017217968A1 (de) 2018-05-09
US20180129523A1 (en) 2018-05-10
US11403127B2 (en) 2022-08-02
US10545777B2 (en) 2020-01-28
US20200026547A1 (en) 2020-01-23
JP2018077846A (ja) 2018-05-17

Similar Documents

Publication Publication Date Title
JP6837414B2 (ja) 仮想マシン再配置プロトコルの生成を含む方法、仮想マシン再配置を容易にするためのシステムおよびプログラム
US10255096B2 (en) Temporal dynamic virtual machine policies
US10394594B2 (en) Management of a virtual machine in a virtualized computing environment based on a concurrency limit
US10747581B2 (en) Virtual machine migration between software defined storage systems
US20140258539A1 (en) Minimizing workload migrations during cloud maintenance operations
US10942789B2 (en) Performance-based reallocating of logical processing units to sockets of a computer system
AU2021236350B2 (en) Virtual machine perfect forward secrecy
US10565056B2 (en) Parallel data collection and recovery for failing virtual computer processing system
US11163595B2 (en) Implementing requests on a model of a system prior to implementing on the system
WO2022043852A1 (en) Performing application snapshot using process virtual machine resources
US11811888B2 (en) Ensuring data protection and control in distributed hybrid multi-cloud environment
US11960917B2 (en) Live migration and redundancy for virtualized storage
US10831571B2 (en) Communicating between systems using a coupling facility list structure
JP2023527683A (ja) ファイル・システムにおけるデータ複製方法、システム、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200527

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210209

R150 Certificate of patent or registration of utility model

Ref document number: 6837414

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150