(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-11
(45)【発行日】2022-04-19
(54)【発明の名称】システム、計算機、システム制御方法及びプログラム
(51)【国際特許分類】
G06F 11/20 20060101AFI20220412BHJP
G06F 9/455 20060101ALI20220412BHJP
G06F 9/50 20060101ALI20220412BHJP
【FI】
G06F11/20 638
G06F9/455 150
G06F9/50 120
(21)【出願番号】P 2017242586
(22)【出願日】2017-12-19
【審査請求日】2020-11-04
(73)【特許権者】
【識別番号】000232254
【氏名又は名称】日本電気通信システム株式会社
(74)【代理人】
【識別番号】100080816
【氏名又は名称】加藤 朝道
(74)【代理人】
【識別番号】100098648
【氏名又は名称】内田 潔人
(74)【代理人】
【識別番号】100119415
【氏名又は名称】青木 充
(74)【代理人】
【識別番号】100168310
【氏名又は名称】▲高▼橋 幹夫
(72)【発明者】
【氏名】鈴木 直人
【審査官】三坂 敏夫
(56)【参考文献】
【文献】特開2014-102724(JP,A)
【文献】特開2014-067367(JP,A)
【文献】特開2014-170394(JP,A)
【文献】特開2012-164075(JP,A)
【文献】特開2008-165637(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/16-11/20
G06F 9/455-9/50
(57)【特許請求の範囲】
【請求項1】
第1の仮想マシンが稼働する、第1の物理マシンと、
第2の仮想マシンが稼働する、第2の物理マシンと、
を含み、
前記第1の仮想マシンを稼働系とし、前記第2の仮想マシンを待機系とする場合に、
前記第1の物理マシンは、前記第1の仮想マシンが動作することにより生じるリソースの変化に関する情報をリソース差分情報として、前記第2の物理マシンに送信し、
前記第2の物理マシンは、前記リソース差分情報を前記第2の仮想マシンのリソースに反映すると共に、系の切り替えが必要な場合に、前記リソース差分情報が反映された第2の仮想マシンを
、待機を解除された状態に復帰させ
、
前記第1の物理マシンは、前記リソース差分情報を生成し、生成したリソース差分情報を前記第2の物理マシンに送信する前にリソースの変化が生じた結果、そのリソースの変化が今回のリソース差分情報に含まれなかった場合に次回のリソース差分情報にそのリソースの変化を反映する、システム。
【請求項2】
前記第1の物理マシンは、
前記稼働系として動作する第1の仮想マシンに生じる障害を検出する、仮想マシン障害検出部と、
前記仮想マシン障害検出部が障害を検出すると、前記第2の物理マシンに向けて系切り替え要求を送信する系切り替え処理部と、
を備える、請求項1のシステム。
【請求項3】
前記第1の物理マシンは、
自装置に生じる障害を検出する、物理マシン障害検出部をさらに備え、
前記系切り替え処理部は、前記仮想マシン障害検出部及び前記物理マシン障害検出部のすくなくとも一方が障害を検出すると、前記第2の物理マシンに向けて前記系切り替え要求を送信する、請求項2のシステム。
【請求項4】
前記第1の物理マシンは、
前記第1の仮想マシンを管理する、仮想マシン管理部をさらに備え、
前記系切り替え処理部は、前記系切り替え要求を前記第2の物理マシンに向けて送信する際に、前記仮想マシン管理部に対して前記稼働系として動作している第1の仮想マシンの停止を指示する、請求項2又は3のシステム。
【請求項5】
前記系切り替え処理部は、外部から系切り替えコマンドが投入されたことに応じて、前記第2の物理マシンに向けて前記系切り替え要求を送信する、請求項2乃至4のいずれか一項に記載のシステム。
【請求項6】
前記第2の物理マシンは、前記第1の物理マシンと自装置の間を接続する伝送路に障害が発生した場合に、前記リソース差分情報が反映された第2の仮想マシンを
、待機を解除された状態に復帰させる、請求項1乃至5のいずれか一項に記載のシステム。
【請求項7】
稼働系の仮想マシンが稼働し、
前記仮想マシンが動作することにより生じるリソースの変化に関する情報をリソース差分情報として、フォールトトレラントシステムを構成する他の計算機に送信する、計算機
であって、
前記計算機は、前記リソース差分情報を生成し、生成したリソース差分情報を前記他の計算機に送信する前にリソースの変化が生じた結果、そのリソースの変化が今回のリソース差分情報に含まれなかった場合に次回のリソース差分情報にそのリソースの変化を反映する、計算機。
【請求項8】
フォールトトレラントシステムに含まれる、稼働系の計算機が送信する情報であって、前記稼働系の計算機にて稼働する仮想マシンが動作することにより生じるリソースの変化に関するリソース差分情報を取得し、
前記リソース差分情報を自装置の仮想マシンのリソースに反映すると共に、系の切り替えが必要な場合に、前記リソース差分情報が反映された仮想マシンを
、待機を解除された状態に復帰させる、計算機
であって、
前記稼働系の計算機は、前記リソース差分情報を生成し、生成したリソース差分情報を待機系の前記計算機に送信する前にリソースの変化が生じた結果、そのリソースの変化が今回のリソース差分情報に含まれなかった場合に次回のリソース差分情報にそのリソースの変化を反映し、待機系の前記計算機は、そのリソースの変化を反映した次回のリソース差分情報を取得する、計算機。
【請求項9】
第1の仮想マシンが稼働する、第1の物理マシンと、
第2の仮想マシンが稼働する、第2の物理マシンと、
を含むシステムにおいて、
前記第1の仮想マシンを稼働系とし、前記第2の仮想マシンを待機系とする場合に、前記第1の仮想マシンが動作することにより生じるリソースの変化に関する情報をリソース差分情報として、前記第2の物理マシンに送信するステップと、
前記リソース差分情報を前記第2の仮想マシンのリソースに反映するステップと、
系の切り替えが必要な場合に、前記リソース差分情報が反映された第2の仮想マシンを
、待機を解除された状態に復帰させるステップと、
前記第1の物理マシンが、前記リソース差分情報を生成し、生成したリソース差分情報を前記第2の物理マシンに送信する前にリソースの変化が生じた結果、そのリソースの変化が今回のリソース差分情報に含まれなかった場合に次回のリソース差分情報にそのリソースの変化を反映するステップと、
を含むシステム制御方法。
【請求項10】
稼働系の仮想マシンを稼働する処理と、
前記仮想マシンが動作することにより生じるリソースの変化に関する情報をリソース差分情報として、フォールトトレラントシステムを構成する他の計算機に送信する処理と、 を
稼働系の仮想マシンが動作しているコンピュータに実行させるプログラム
であって、
前記リソース差分情報を生成し、生成したリソース差分情報を前記他の計算機に送信する前にリソースの変化が生じた結果、そのリソースの変化が今回のリソース差分情報に含まれなかった場合に次回のリソース差分情報にそのリソースの変化を反映する、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システム、計算機、システム制御方法及びプログラムに関する。
【背景技術】
【0002】
特許文献1乃至3において、物理マシン(PM;Physical Machine)上に構築された仮想マシン(VM;Virtual Machine)を用いるフォールトトレラントシステムが開示されている。
【0003】
通常、フォールトトレラントシステムでは、計算機(所謂、コンピュータ;物理マシン)が冗長に構成される。また、特許文献1乃至3に開示されるように、サービスを提供する仮想マシンが冗長に構成されることもある。フォールトトレラントシステムにおける通常動作時には、稼働情報が稼働系から待機系に複製される。その際の複製は、非同期に運用されることが多い。従って、障害が発生した場合には稼働系から待機系に切り替えが行われた後、新たな稼働系(旧待機系)における再開動作(再起動、リブート)が必要となる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2014-139706号公報
【文献】特開2014-102724号公報
【文献】特開2011-060055号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。
【0006】
上述のように、フォールトトレラントシステムでは、系の切り替え時に稼働系の情報を待機系へ複製し、その後新たな稼働系を再起動する必要があり、当該複製や再起動に伴うサービス遅延が問題となる。
【0007】
本発明は、稼働系から待機系への切り替えを迅速に実行することに寄与する、システム、計算機、システム制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明乃至開示の第1の視点によれば、第1の仮想マシンが稼働する、第1の物理マシンと、第2の仮想マシンが稼働する、第2の物理マシンと、を含み、前記第1の仮想マシンを稼働系とし、前記第2の仮想マシンを待機系とする場合に、前記第1の物理マシンは、前記第1の仮想マシンが動作することにより生じるリソースの変化に関する情報をリソース差分情報として、前記第2の物理マシンに送信し、前記第2の物理マシンは、前記リソース差分情報を前記第2の仮想マシンのリソースに反映すると共に、系の切り替えが必要な場合に、前記リソース差分情報が反映された第2の仮想マシンを、待機を解除された状態に復帰させ、前記第1の物理マシンは、前記リソース差分情報を生成し、生成したリソース差分情報を前記第2の物理マシンに送信する前にリソースの変化が生じた結果、そのリソースの変化が今回のリソース差分情報に含まれなかった場合に次回のリソース差分情報にそのリソースの変化を反映する、システムが提供される。
【0009】
本発明乃至開示の第2の視点によれば、稼働系の仮想マシンが稼働し、前記仮想マシンが動作することにより生じるリソースの変化に関する情報をリソース差分情報として、フォールトトレラントシステムを構成する他の計算機に送信する、計算機であって、前記計算機は、前記リソース差分情報を生成し、生成したリソース差分情報を前記他の計算機に送信する前にリソースの変化が生じた結果、そのリソースの変化が今回のリソース差分情報に含まれなかった場合に次回のリソース差分情報にそのリソースの変化を反映する、計算機が提供される。
【0010】
本発明乃至開示の第3の視点によれば、フォールトトレラントシステムに含まれる、稼働系の計算機が送信する情報であって、前記稼働系の計算機にて稼働する仮想マシンが動作することにより生じるリソースの変化に関するリソース差分情報を取得し、前記リソース差分情報を自装置の仮想マシンのリソースに反映すると共に、系の切り替えが必要な場合に、前記リソース差分情報が反映された仮想マシンを、待機を解除された状態に復帰させる、計算機であって、前記稼働系の計算機は、前記リソース差分情報を生成し、生成したリソース差分情報を待機系の前記計算機に送信する前にリソースの変化が生じた結果、そのリソースの変化が今回のリソース差分情報に含まれなかった場合に次回に反映される差分情報にそのリソースの変化を繰り越し、待機系の前記計算機は、そのリソースの変化を反映した次回のリソース差分情報を取得する、計算機が提供される。
【0011】
本発明乃至開示の第4の視点によれば、第1の仮想マシンが稼働する、第1の物理マシンと、第2の仮想マシンが稼働する、第2の物理マシンと、を含むシステムにおいて、前記第1の仮想マシンを稼働系とし、前記第2の仮想マシンを待機系とする場合に、前記第1の仮想マシンが動作することにより生じるリソースの変化に関する情報をリソース差分情報として、前記第2の物理マシンに送信するステップと、前記リソース差分情報を前記第2の仮想マシンのリソースに反映するステップと、系の切り替えが必要な場合に、前記リソース差分情報が反映された第2の仮想マシンを、待機を解除された状態に復帰させるステップと、前記第1の物理マシンが、前記リソース差分情報を生成し、生成したリソース差分情報を前記第2の物理マシンに送信する前にリソースの変化が生じた結果、そのリソースの変化が今回のリソース差分情報に含まれなかった場合に次回のリソース差分情報にそのリソースの変化を反映するステップと、を含むシステム制御方法が提供される。
【0012】
本発明乃至開示の第5の視点によれば、稼働系の仮想マシンを稼働する処理と、前記仮想マシンが動作することにより生じるリソースの変化に関する情報をリソース差分情報として、フォールトトレラントシステムを構成する他の計算機に送信する処理と、を稼働系の仮想マシンが動作しているコンピュータに実行させるプログラムであって、前記リソース差分情報を生成し、生成したリソース差分情報を前記他の計算機に送信する前にリソースの変化が生じた結果、そのリソースの変化が今回のリソース差分情報に含まれなかった場合に次回のリソース差分情報にそのリソースの変化を反映する、プログラムが提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【0013】
本発明乃至開示の各視点によれば、稼働系から待機系への切り替えを迅速に実行することに寄与する、システム、計算機、システム制御方法及びプログラムが、提供される。
【図面の簡単な説明】
【0014】
【
図1】一実施形態の概要を説明するための図である。
【
図2】第1の実施形態に係るフォールトトレラントシステムの概略構成の一例を示す図である。
【
図3】稼働系と待機系の状態を同期する動作を説明するための図である。
【
図4】稼働系の仮想マシンに発生したソフトウェア障害による系の切り替えを説明するための図である。
【
図5】稼働系の物理マシンに発生したソフトウェア障害による系の切り替えを説明するための図である。
【
図6】稼働系の物理マシンに発生したハードウェア障害による系の切り替えを説明するための図である。
【
図7】伝送経路障害等による系の切り替えを説明するための図である。
【
図8】保守者が系切り替えコマンドを投入した場合の系の切り替えを説明するための図である。
【
図9】第1の実施形態に係るフォールトトレラントシステムの同期動作の一例を示すシーケンス図である。
【
図10】第1の実施形態に係るフォールトトレラントシステムの系切り替え動作の一例を示すシーケンス図である。
【
図11】物理マシンのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0015】
初めに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。また、各図におけるブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。
【0016】
一実施形態に係るシステムは、第1の仮想マシン101が稼働する、第1の物理マシン102と、第2の仮想マシン111が稼働する、第2の物理マシン112と、を含む(
図1参照)。当該システムでは、第1の仮想マシン101を稼働系とし、第2の仮想マシン111を待機系とする。この場合、第1の物理マシン102は、第1の仮想マシン101が動作することにより生じるリソースの変化に関する情報をリソース差分情報として、第2の物理マシン112に送信する。第2の物理マシン112は、リソース差分情報を第2の仮想マシン111のリソースに反映すると共に、系の切り替えが必要な場合に、リソース差分情報が反映された第2の仮想マシン111を復帰させる。
【0017】
図1に示すシステムは、第1の仮想マシン101、第2の仮想マシン111を使った計算機の同期運転方式を実現する。具体的には、物理的に異なる計算機(物理マシン)間で各々の計算機に搭載された第1の仮想マシン101、第2の仮想マシン111を使い、当該仮想マシンの各種リソースの情報を対となる物理マシンと同期を取る全二重化構成を採用する。
図1のシステムでは、同期を取りつつ、稼働中の第1の物理マシン102に生じた事象(例えば、ソフトウェア障害等)を契機とし、第1の物理マシン102と対となる同期された第2の物理マシン112へ系の切り替えを行いシステムの継続運用を実現する。その結果、稼働系から待機系への切り替えが迅速に実行される。
【0018】
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。
【0019】
[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。
【0020】
図2は、第1の実施形態に係るフォールトトレラントシステムの概略構成の一例を示す図である。
図2を参照すると、フォールトトレラントシステムには、複数の物理マシン(計算機、電算機)10-1及び物理マシン10-2が含まれる。物理マシン10-1と物理マシン10-2は異なる装置(ハードウェア)である。物理マシン10-1及び物理マシン10-2は、それぞれ仮想マシンの稼働が可能に構成された計算機である。
【0021】
図2において、物理マシン10-1は稼働系の計算機である。対して、物理マシン10-2は待機系の計算機である。つまり、
図2では、稼働系の物理マシン10-1によりサービスの提供が行われている。
【0022】
物理マシン10-1に何らかの障害が発生すると、系の切り替えが発生し、物理マシン10-2が稼働系の計算機となる。
【0023】
なお、
図2において、2台の物理マシンを開示しているが、フォールトトレラントシステムに含まれる物理マシンの数を限定する趣旨ではない。例えば、待機系の物理マシンは複数存在してもよい。その場合、稼働系の物理マシンから新たに稼働系となる物理マシンを指定してもよいし、複数の待機系の物理マシンによる協調動作の結果、稼働系の物理マシンが決定されても良い。
【0024】
稼働系の物理マシン10-1と待機系の物理マシン10-2は、伝送路20により接続され、通信路が設けられている。伝送路20は、例えば、インターネット等のネットワーク回線でも良いし、専用回線であってもよい。このように、
図2に示すフォールトトレラントシステムでは、稼働系と待機系は異なるサイトに設置されている。
【0025】
稼働系の物理マシン10-1と待機系の物理マシン10-2は同じ機能を備えている。そのため、以下の説明において、稼働系の物理マシン10-1と待機系の物理マシン10-2を区別する特段の理由が無い場合には単に「物理マシン10」と表記する。同様に、他の構成要素に関しても、ハイフン(-)より前に記載された数字にて当該構成要素を代表して表記する。
【0026】
図2に示すように、物理マシン10には各種の処理モジュールが実装される。具体的には、物理マシン10-1は、通信部11-1と、仮想マシン管理部12-1と、系切り替え処理部13-1と、物理マシン障害検出部14-1と、を含んで構成される。
【0027】
同様に、物理マシン10-2は、通信部11-2と、仮想マシン管理部12-2と、系切り替え処理部13-2と、物理マシン障害検出部14-2と、を含んで構成される。上記処理モジュールの説明は後述する。
【0028】
さらに、
図2に示すように、物理マシン10-1には仮想マシン15-1が生成され、物理マシン10-2には仮想マシン15-2が生成される。仮想マシン15-1及び仮想マシン15-2のそれぞれにおいて、OS(Operating System)及びアプリケーション(APP;application)ソフトウェアが動作する。当該アプリケーションにより、所定のサービスが提供される。つまり、仮想マシンにてアプリケーションが動作することで、サービス提供に係るプロセス(タスク)の生成、実行、終了等が行われる。
【0029】
また、仮想マシン15-1は、仮想マシン障害検出部16-1に係る処理モジュール(アプリケーション)を実現する。同様に、仮想マシン15-2は、仮想マシン障害検出部16-2を実現する。仮想マシン障害検出部16-1及び仮想マシン障害検出部16-2の詳細は後述する。
【0030】
図2を参照して説明したように、第1の実施形態に係るフォールトトレラントシステムは、物理的な計算機による冗長構成を備えている。つまり、運用システムの構成は、極力、システム停止を避けるため、物理マシンのハードウェア障害を考慮して物理的に異なるハードウェア(物理マシン)上に同期対象の仮想マシンを、各物理マシンに実装する。さらに、津波や大地震等の激甚対応を目的とする場合には、稼働系が設置されるサイトと待機系が設置されるサイトは、所定の距離、離れた場所に設置される。
【0031】
第1の実施形態に係るフォールトトレラントシステムの概略動作は以下のようになる。ここでは、仮想マシン15-1を稼働系とし、仮想マシン15-2を待機系とする場合の動作を説明する。物理マシン10-1は、通常動作時には、仮想マシン15-1が動作することにより生じるリソースの変化に関する情報をリソース差分情報として、物理マシン10-2に送信する。物理マシン10-2は、取得したリソース差分情報を仮想マシン15-2のリソースに反映する。さらに、フォールトトレラントシステムにおいて、系の切り替えが必要な場合に、物理マシン10-2は、リソース差分情報が反映された仮想マシン15-2を復帰させる。
【0032】
以下、物理マシン及び仮想マシンの処理構成(処理モジュール)の詳細について説明する。
【0033】
通信部11は、他の装置(他の物理マシン10)との間の通信を制御する手段である。通信部11は、処理モジュール(例えば、系切り替え処理部13等)からデータを取得すると、他の物理マシンに向けて当該データ(パケット)を送信する。また、通信部11は、他の物理マシン10からデータを取得すると、当該データを処理モジュールに振り分ける。
【0034】
仮想マシン管理部12は、仮想マシン15を管理する手段である。例えば、仮想マシン管理部12は、仮想マシン15にハードウェア資源(CPU(Central Processing Unit)、メモリ、I/O(Input/Output)等)を割り当て、仮想マシン15を生成する。また、仮想マシン管理部12は、必要に応じて生成した仮想マシンを復帰させたり、停止したり(待機させたり)する。このように、仮想マシン管理部12は、生成された仮想マシン15に対する制御手段でもある。
【0035】
さらに、稼働系の仮想マシン管理部12(
図2では、仮想マシン管理部12-1)は、仮想マシン15のリソースに関する情報の収集を行う。より具体的には、仮想マシン管理部12-1は、仮想マシン15-1のアプリケーション、OS等の動作に伴い変化する各種リソース情報を収集する。収集されたリソース情報は、通信部11及び伝送路20を経由して待機系の物理マシン(
図2では物理マシン10-2)に送信される。なお、仮想マシン管理部12が収集するリソース情報には、レジスタに関する情報やメモリマップ等が含まれる。
【0036】
仮想マシン管理部12によるリソース情報の収集は、OSに搭載された汎用機能であるハイパーバイザ機能のスナップショットを利用して行うことができる。なお、仮想マシン管理部12がリソース情報を収集する契機(トリガ)は、仮想マシン15-1が使用するリソースに変化をもたらすイベントである。具体的には、タスクの起動、中断、終了等が当該イベントに該当する。
【0037】
物理マシン障害検出部14は、自装置(物理マシン10)に生じる障害を検出する手段である。具体的には、物理マシン障害検出部14は、物理マシン10上で稼働するOSを含むソフトウェアの障害及び物理マシン10のハードウェア障害を検出する。
【0038】
仮想マシン障害検出部16は、稼働系として動作する仮想マシン15に生じる障害を検出する手段である。具体的には、仮想マシン障害検出部16は、稼働系の仮想マシン15上で動作しているソフトウェア(OS、アプリケーション)の障害を検出する。なお、待機系の仮想マシン15は待機状態となる。従って、待機系の仮想マシン15は動作していない(停止中)ため、待機系の仮想マシン15に含まれる仮想マシン障害検出部16は稼働状態に切り替わるまで動作しない。
図2の例では、稼働系の仮想マシン障害検出部16-1は動作するが、待機系の仮想マシン障害検出部16-2は非動作となる。
【0039】
稼働系における2つの障害検出部(物理マシン障害検出部14及び仮想マシン障害検出部16)が検出した障害に関する情報は、系切り替え処理部13に通知される。
【0040】
系切り替え処理部13は、仮想マシン障害検出部16及び物理マシン障害検出部14のすくなくとも一方が障害を検出すると、待機系の物理マシン10に向けて「系切り替え要求」を送信する。具体的には、系切り替え処理部13は、2つの障害検出部の少なくとも一方から障害を検出した旨の通知を受信すると、通信部11等を介して、待機系の物理マシン10に対して「系切り替え要求」を送信する。
【0041】
また、系切り替え処理部13は、仮想マシン管理部12に対して、仮想マシン15を停止するように指示する。つまり、系切り替え処理部13は、系切り替え要求を待機系の物理マシン10に向けて送信する際に、稼働系の仮想マシン管理部12に対して稼働系として動作している仮想マシン15の停止(待機)を指示する。
【0042】
上記説明は、主に稼働系の物理マシン10-1に関する説明である。続いて、待機系の物理マシン10-2について説明する。ここでは、待機系の仮想マシン管理部12-2、系切り替え処理部13-2の動作について説明する。
【0043】
上述のように、稼働系にて収集されたリソース情報は、待機系の物理マシン10-2に送信される。待機系の仮想マシン管理部12-2は、稼働系から送信されるリソース情報を待機中の仮想マシン15-2のリソースに反映する。例えば、仮想マシン管理部12-2が、仮想マシン15-1のメモリマップに関する情報を「リソース情報」として取得した場合を考える。この場合、仮想マシン管理部12-2は、仮想マシン15-2が使用するメモリ領域が取得したメモリマップと同一となるように仮想マシン15-2に割り当てられているメモリ領域を書き換える。
【0044】
このようして、仮想マシン管理部12-2は、稼働系の仮想マシン管理部12-1から取得したリソース情報を仮想マシン15-2のリソースに反映する。当該反映処理を行うことで、稼働系の仮想マシン15-1と待機系の仮想マシン15-2は同期状態となるよう管理される。
【0045】
即ち、待機系の物理マシン10-2及び仮想マシン15-2において、稼働系の物理マシン10-1より受信した各種リソースの差分情報は、待機系の仮想マシン15-2の各種リソース差分情報として、仮想マシン15-2に即座に反映される。その結果、稼働系と待機系のリソースの同期状態が保たれる。なお、稼働系の物理マシン10-1から受信する各種リソースの差分情報は、少なくとも1回分の差分に関する情報を含むものである。
【0046】
上述のように、稼働系の物理マシン10-1において何らかの障害が発生すると、待機系の物理マシン10-2に向けて「系切り替え要求」が送信される。上記系切り替え要求を受信した物理マシン10-2の系切り替え処理部13-2は、待機系から稼働系への切り替えを行う。具体的には、系切り替え処理部13-2は、待機中(停止中)の仮想マシン15-2のIP(Internet protocol)アドレスの付け替えを行う。その後、系切り替え処理部13-2は、待機中の仮想マシン15-2を復帰(動作を再開;待機を解除)するように、仮想マシン管理部12-2に指示する。
【0047】
[状態同期に関する説明]
続いて、
図3を参照しつつ、稼働系と待機系の状態を同期する動作について説明する。
【0048】
図3において、稼働系の仮想マシン15-1上にて複数のタスク(プロセス)30-1~30-n(nは正の整数、以下同じ)が実行されているものとする。各タスク30では、タスク(プロセス)の終了、メモリの解放、ストレージへのデータ書き込み、タスク(プロセス)の中断等に係るイベントが生じる。これらのイベントでは、所定の関数が呼び出される。
図3では、当該関数呼び出しイベントを中抜きの黒丸により図示している。
【0049】
仮想マシン管理部12-1は、イベントが発生すると(関数が呼び出されると)、当該イベント発生時の各種リソース(CPUのレジスタ情報、メモリ情報、I/O情報等)に関する情報を仮想マシン15-1から取得する。仮想マシン管理部12-1は、リソース情報を取得するたびに情報はメモリ上で保持した状態とする。
【0050】
また、差分情報はハイパーバイザ機能のスナップショットを利用して取得される。
【0051】
仮想マシン管理部12-1は、当該リソース差分情報をイベントの発生ごとに保持していく。仮想マシン管理部12-1により保持されたリソース差分情報のサイズが所定量(一定量)に到達すると、仮想マシン管理部12-1は、情報取得状態を「飽和」に設定する。
【0052】
なお、情報取得状態とは仮想マシン管理部12-1が管理するステータス情報であって、リソース差分情報に関する仮想マシン管理部12-1の動作状態を示す。情報取得状態が「飽和」となると、仮想マシン管理部12-1は、保持したリソース差分情報を待機系の物理マシン10-2に送信する。
図3では、時刻T1にて、リソース差分情報40-1が稼働系から待機系に送信されている。
【0053】
待機系の仮想マシン管理部12-2は、当該リソース差分情報40-1を仮想マシン15-2のリソースに反映し、稼働系の仮想マシン15-1と待機系の仮想マシン15-2を同期させる。
【0054】
情報取得状態が「飽和」となり、リソース差分情報を待機系に送信する準備をしている最中に(生成したリソース差分情報を待機系に送信する前に)、仮想マシン15-1のリソースが変化するイベントが発生する場合がある。例えば、
図3に示すように、イベント41-1が発生し、リソース差分情報40-2の生成段階(
図3の時刻T2)にてイベント41-2が発生する場合がある(時刻T3)。
【0055】
このような場合、仮想マシン管理部12-1は、リソース差分情報40-2に反映されていないイベント41-2を認識した段階で情報取得状態を「湧出」に設定する。その後、仮想マシン管理部12-1は、リソース差分情報40-2を待機系の物理マシン10-2に送信する(時刻T4)。
【0056】
待機系の仮想マシン15-2は、当該リソース差分情報40-2を取得し、当該リソース差分情報40-2を仮想マシン15-2に反映する。その結果、稼働系と待機系の仮想マシン15が同期する。
【0057】
イベント41-2に起因するリソースの変化は、リソース差分情報40-3として収集される。イベント41-2の後に発生したイベント41-3により、リソース差分情報が所定量保持されると、情報取得状態は「飽和」に設定される。その後、リソース差分情報40-2に含まれなかったイベント41-2に起因するリソースの変化情報を含むリソース差分情報は、リソース差分情報40-3として生成される。その後、当該リソース差分情報40-3は待機系の物理マシン10-2に送信される(時刻T5)。
【0058】
待機系の物理マシン10-2に含まれる仮想マシン管理部12-2は、リソース差分情報40-3を取得し、仮想マシン15-2のリソースに反映する。その結果、稼働系の仮想マシン15-1と待機系の仮想マシン15-2の同期が完了する。
【0059】
所定の期間、イベントが発生しないこともある(例えば、
図3の時刻T6~T7の期間)。このようにイベントが発生しない場合、仮想マシン管理部12-1は、リソース差分情報を待機系に通知する必要がない。イベントが発生せず、待機系に通知するリソース差分情報が存在しない場合の情報取得状態は「枯渇」に設定される。情報取得状態が「枯渇」の場合、稼働系と待機系の間で同期を取るための動作は行われない。
【0060】
所定期間に、所定量のリソース差分情報が保持されてないことがある(例えば、
図3の時刻T8~T9の期間)。例えば、
図3において、イベント41-4が発生することで、仮想マシン管理部12-1は、リソース差分情報40-4の収集(生成)を開始する。当該収集中の最後に発生したイベント41-5から一定時間経過し、仮想マシン管理部12-1が設定したタイマのタイムアウトが発生する(時刻T9)。
【0061】
この場合、情報取得状態は「不足」に設定され、仮想マシン管理部12-1は、リソース差分情報40-4を待機系の物理マシン10-2に送信する。
【0062】
待機系の仮想マシン管理部12-2は、リソース差分情報40-4を取得し、当該情報を仮想マシン15-2のリソースに反映する。その結果、稼働系の仮想マシン15-1と待機系の仮想マシン15-2の同期が行われる。
【0063】
このように、最後のイベントが発生してから所定の期間経過した後、リソース差分情報が所定量保持されていない場合には、当該所定期間経過時のリソース差分情報が待機系に送信される。
【0064】
[系切り替えに関する説明]
続いて、図面を参照しつつ、系の切り替えに伴う動作を説明する。
【0065】
第1の実施形態における稼働系と待機系の切り替えに関する契機は、例えば、以下の5つの場面が想定される。
(1)稼働系の物理マシン10上の仮想マシン15のソフトウェア障害。
(2)稼働系の物理マシン10に実装されているソフトウェアの障害。
(3)物理マシン10が構成されているハードウェアの障害。
(4)物理マシン10間に敷設された伝送路20の障害。
(5)保守者のコマンド操作による切り替え。
【0066】
以下、各場面を説明する。なお、系の切り替えは、系切り替え処理部13により行われ、待機系の仮想マシン15に対するIPアドレスの付け替え後、各種リソースの差分情報は1回分前の情報(直前の情報)にて稼働復帰とする。その結果、旧稼働系で発生したソフトウェア障害等は引き継がれない仕組みで、サービスの継続稼働が行われる。
【0067】
[(1)稼働系の仮想マシンに発生したソフトウェア障害による系の切り替え]
図4は、稼働系の仮想マシンに発生したソフトウェア障害による系の切り替えを説明するための図である。
図4において、稼働系の仮想マシン15-1上で走行しているタスクにおいてソフトウェア障害51が発生した場合の動作を説明する。
【0068】
この場合、稼働系の仮想マシン障害検出部16-1は、ソフトウェア障害51を検出し、切替処理を実行する(
図4の切替検出処理200)。仮想マシン障害検出部16-1は当該事実(ソフトウェア障害51の発生)を系切り替え処理部13-1に通知する。系切り替え処理部13-1は、稼働系側での系切り替え処理を実行する(系切り替え処理201)。具体的には、系切り替え処理部13-1は、仮想マシン管理部12-1に対して仮想マシン15-1の停止を指示する。
【0069】
また、系切り替え処理部13-1は、「系切り替え要求」を待機系の物理マシン10-2に送信する。待機系の物理マシン10-2は、上記要求を系切り替え処理部13-2にて取得する。系切り替え処理部13-2が系切り替え要求を受信することで待機系側の切り替え処理が開始する(
図4の切り替え処理開始202)。
【0070】
系切り替え処理部13-2は、待機系側の切り替え処理を実行する(系切り替え処理203)。具体的には、待機系の仮想マシン15-2のIPアドレスの付け替えと直前に反映されたリソース差分情報(
図4ではリソース差分情報40-3)による仮想マシン15-2の復帰(動作開始)を、仮想マシン管理部12-2に指示する。その結果、仮想マシン15-2は、障害発生前の同期状態からシステムの継続稼働を実現する(継続稼働204)。
【0071】
[(2)稼働系の物理マシンに発生したソフトウェア障害による系の切り替え]
図5は、稼働系の物理マシンに発生したソフトウェア障害による系の切り替えを説明するための図である。
図5において、稼働系の物理マシン10-1上で走行しているソフトウェアにおいてソフトウェア障害52が発生した場合の動作を説明する。
【0072】
この場合、稼働系の物理マシン障害検出部14-1は、ソフトウェア障害52を検出し、切替処理を実行する(
図5の切替検出処理300)。物理マシン障害検出部14-1は当該事実(ソフトウェア障害52の発生)を系切り替え処理部13-1に通知する。系切り替え処理部13-1は、稼働系側での系切り替え処理を実行する(系切り替え処理301)。具体的には、系切り替え処理部13-1は、仮想マシン管理部12-1に対して仮想マシン15-1の停止を指示する。
【0073】
また、系切り替え処理部13-1は、「系切り替え要求」を待機系の物理マシン10-2に送信する。待機系の物理マシン10-2は、上記要求を系切り替え処理部13-2にて取得する。系切り替え処理部13-2が系切り替え要求を受信することで待機系側の切り替え処理が開始する(
図5の切り替え処理開始302)。
【0074】
系切り替え処理部13-2は、待機系側の切り替え処理を実行する(系切り替え処理303)。具体的には、待機系の仮想マシン15-2のIPアドレスの付け替えと直前に反映されたリソース差分情報(
図5ではリソース差分情報40-3)による仮想マシン15-2の動作開始を、仮想マシン管理部12-2に指示する。その結果、仮想マシン15-2は、障害発生前の同期状態からシステムの継続稼働を実現する(継続稼働304)。
【0075】
[(3)稼働系の物理マシンに発生したハードウェア障害による系の切り替え]
図6は、稼働系の物理マシンに発生したハードウェア障害による系の切り替えを説明するための図である。
図6において、稼働系の物理マシン10-1のハードウェアにおいてハードウェア障害53が発生した場合の動作を説明する。
【0076】
この場合、稼働系の物理マシン障害検出部14-1は、ハードウェア障害53を検出し、切替処理を実行する(
図6の切替検出処理400)。物理マシン障害検出部14-1は当該事実(ハードウェア障害53の発生)を系切り替え処理部13-1に通知する。系切り替え処理部13-1は、稼働系側での系切り替え処理を実行する(系切り替え処理401)。具体的には、系切り替え処理部13-1は、仮想マシン管理部12-1に対して仮想マシン15-1の停止を指示する。
【0077】
仮想マシン管理部12-1は、可能な限り仮想マシン15-1の停止を試みる。即ち、ハードウェア障害53に起因し、仮想マシン15-1の停止が行えない場合も想定されるが、仮想マシン管理部12-1は、可能な限り仮想マシン15-1を停止するように動作する。
【0078】
また、系切り替え処理部13-1は、「系切り替え要求」を待機系の物理マシン10-2に送信する。待機系の物理マシン10-2は、上記要求を系切り替え処理部13-2にて取得する。系切り替え処理部13-2が系切り替え要求を受信することで待機系側の切り替え処理が開始する(
図6の切り替え処理開始402)。
【0079】
系切り替え処理部13-2は、待機系側の切り替え処理を実行する(系切り替え処理403)。具体的には、待機系の仮想マシン15-2のIPアドレスの付け替えと直前に反映されたリソース差分情報(
図6ではリソース差分情報40-3)による仮想マシン15-2の動作開始を、仮想マシン管理部12-2に指示する。その結果、仮想マシン15-2は、障害発生前の同期状態からシステムの継続稼働を実現する(継続稼働404)。
【0080】
なお、ハードウェア障害に起因して系の切り替えが発生した場合は、稼働系と待機系の間の同期処理は停止となる。より具体的には、稼働系の仮想マシン管理部12はリソース差分情報を待機系に送信しない。
【0081】
[(4)伝送経路障害(又は物理マシンのフリーズ)による系の切り替え]
図7は、伝送経路障害(又は物理マシンフリーズ)による系の切り替えを説明するための図である。
【0082】
稼働系の物理マシン10-1に生じた何らかの原因又は伝送路20上での障害(
図7参照)により、稼働系と待機系の同期運転が不可能となる場合がある。具体的には、所定の期間経過しても「リソース差分情報」が稼働系から待機系に送信されない場合が、上記同期運転が不可能な場合に相当する。この場合、待機系の通信部11-2は、所定の期間に亘りリソース差分情報を取得していない旨を物理マシン障害検出部14-2に通知する。
【0083】
物理マシン障害検出部14-2は、当該通知により、伝送路20等における障害発生を認識し、系切り替え処理部13-2に系切り替え処理の開始を指示する。
【0084】
系切り替え処理部13-2は、直前に取得済みのリソース差分情報に基づき仮想マシン15-2を復帰させ、サービスの提供を継続する。
【0085】
あるいは、物理マシン障害検出部14は、他の物理マシン10に向けて生死確認信号を送信し、他の物理マシン10の障害(フリーズ)や伝送路20の障害を検出してもよい。この場合、障害を検出した側の物理マシン10は、自発的に系の切り替えを行うことができる。障害を検出した後の系切り替え処理に関しては、
図4等を参照して説明した内容と同一とすることができるので説明を省略する。
【0086】
また、伝送路20等の障害もハードウェア障害の一種と捉えることが可能であるので、旧稼働系と新稼働系間での同期運転は停止となる。
【0087】
このように、待機系の物理マシン10-2は、稼働系の物理マシン10-1と自装置の間を接続する伝送路20等に障害が発生した場合に、リソース差分情報が反映された仮想マシン15-2を復帰させる。
【0088】
[(5)コマンドによる系の切り替え]
図8は、保守者(管理者)が系切り替えコマンドを投入した場合の系の切り替えを説明するための図である。この場合、稼働系の系切り替え処理部13-1が、保守者による系切り替えコマンド54の投入を認識する。その結果、系切替検出処理500が開始する。
【0089】
系切り替え処理部13-1は、稼働系側での系切り替え処理を実行する(系切り替え処理501)。具体的には、系切り替え処理部13-1は、仮想マシン管理部12-1に対して仮想マシン15-1の停止を指示する。
【0090】
また、系切り替え処理部13-1は、「系切り替え要求」を待機系の物理マシン10-2に送信する。待機系の物理マシン10-2は、上記要求を系切り替え処理部13-2にて取得する。系切り替え処理部13-2が系切り替え要求を受信することで待機系側の切り替え処理が開始する(
図8の切り替え処理開始502)。
【0091】
系切り替え処理部13-2は、待機系側の切り替え処理を実行する(系切り替え処理503)。具体的には、待機系の仮想マシン15-2のIPアドレスの付け替えと直前に反映されたリソース差分情報(
図8ではリソース差分情報40-3)による仮想マシン15-2の動作開始を、仮想マシン管理部12-2に指示する。その結果、仮想マシン15-2は、障害発生前の同期状態からシステムの継続稼働を実現する(継続稼働504)。
【0092】
このように、稼働系の系切り替え処理部13-1は、外部から系切り替えコマンドが投入されたことに応じて、待機系の物理マシン10-2に向けて系切り替え要求を送信してもよい。
【0093】
[動作概略]
第1の実施形態に係るフォールトトレラントシステムの動作をまとめると
図9、
図10に示すとおりとなる。初めに、
図9を参照しつつ、フォールトトレラントシステムにおける同期動作を説明する。次に、
図10を参照しつつ、フォールトトレラントシステムにおける系切り替え動作を説明する。
【0094】
稼働系の仮想マシン15上のプロセスが動作等することで、リソースの変化を伴うイベントが発生する(
図9のステップS01)。
【0095】
稼働系の物理マシン10は、スナップショット情報を取りだす(
図9のステップS02)。
【0096】
稼働系の物理マシン10は、リソース差分情報に関する所定の条件が満たされているか否かを判定する(
図9のステップS03)。例えば、稼働系の物理マシン10は、保持されたリソース差分情報が所定量に到達したか否か、あるいは、リソース差分情報の収集を開始して所定時間経過したか否か等を確認する。
【0097】
所定の条件を満たせば(
図9のステップS03、Yes分岐)、リソース差分情報が待機系に送信される。
【0098】
所定の条件を満たさなければ(
図9のステップS03、No分岐)、ステップS01以降の処理が繰り返される。
【0099】
リソース差分情報を取得した待機系の物理マシン10は、当該情報を待機系の仮想マシン15のリソースに反映する(
図9のステップS11)。
【0100】
障害が発生すると、稼働系の物理マシン10は、動作中の仮想マシン15を停止する(
図10のステップS21)。その際、稼働系の物理マシン10は、待機系に対して「系切り替え要求」を送信する(
図10のステップS22)。
【0101】
系切り替え要求を受信した待機系の物理マシン10は、最新のリソース情報が反映された仮想マシン15を復帰させ、サービスの提供を継続する(
図10のステップS31)。
【0102】
[ハードウェア構成]
第1の実施形態に係る物理マシン10のハードウェア構成について説明する。
【0103】
図11は、物理マシン10のハードウェア構成の一例を示す図である。物理マシン10は、所謂、情報処理装置(コンピュータ)であり、
図11に例示する構成を備える。例えば、物理マシン10は、内部バスにより相互に接続される、CPU(Central Processing Unit)61、メモリ62、入出力インターフェイス63及び通信手段であるNIC(Network Interface Card)64等を備える。
【0104】
なお、
図11に示す構成は、物理マシン10のハードウェア構成を限定する趣旨ではない。物理マシン10は、図示しないハードウェアを含んでもよい。あるいは、物理マシン10に含まれるCPU等の数も
図11の例示に限定する趣旨ではなく、例えば、複数のCPUが物理マシン10に含まれていてもよい。
【0105】
メモリ62は、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置(ハードディスク等)である。
【0106】
入出力インターフェイス63は、図示しない表示装置や入力装置のインターフェイスとなる手段である。表示装置は、例えば、液晶ディスプレイ等である。入力装置は、例えば、キーボードやマウス等のユーザ操作を受け付ける装置である。
【0107】
物理マシン10の機能は、上述の処理モジュールにより実現される。当該処理モジュールは、例えば、メモリ62に格納されたプログラムをCPU61が実行することで実現される。また、そのプログラムは、ネットワークを介してダウンロードするか、あるいは、プログラムを記憶した記憶媒体を用いて、更新することができる。さらに、上記処理モジュールは、半導体チップにより実現されてもよい。即ち、上記処理モジュールが行う機能は、何らかのハードウェアにおいてソフトウェアが実行されることによって実現できればよい。
【0108】
以上のように、第1の実施形態に係るフォールトトレラントシステムは、稼働系と待機系の同期運転を実現する。さらに、システムに各種障害が発生した場合、瞬時に稼働系と待機系の切り替えが行われる。その結果、稼働系から待機系への切り替え時間が短縮される。このように、第1の実施形態では、稼働系と待機系の切り替え時間が短く、また、システムの再開(待機系の再起動)を伴わないため、運用中のサービスに与える影響は存在しない。
【0109】
また、通常のシステムでは、稼働系において各種リソース情報(例えば、メモリに関する情報)を一定周期等で収集しておく必要がある。そのため、当該情報収集動作に伴う負荷(通常動作から見た場合の無駄な負荷)によりリソース不足が発生する可能性がある。このようなリソース不足が発生し、且つ、不安定な状態で稼働系から待機系へ切り替えが行われると、システム管理者等にとって意図しない障害が発生し得る。即ち、各種リソース情報の収集動作が、迅速なサービス継続に影響を与え、最善な状態に復元できずサービス継続性が低下する問題がある。対して、第1の実施形態では、各種リソース情報はソフトウェアのプロセス、タスク、I/O状態等が安定状態で収集されるため、稼働系と待機系の切り替え後も安定した処理の継続運転が可能となる。つまり、第1の実施形態に係るフォールトトレラントシステムでは、稼働系と待機系の同期手法によりソフトウェアのプロセス、タスク等が安定状態(走行終了、中断状態等)の場合に、各種リソースの差分情報を待機系の物理マシン10に送信する。
【0110】
さらに、通常のフォールトトレラントシステムでは、仮想マシンの実装は同一の物理マシン(ハードウェア)上の運用となることが多く、局地激甚な災害(例えば、火災等)発生時はシステム運用が不可となる場合がある。対して、第1の実施形態では、仮想マシン15の実装は異なる物理マシン(ハードウェア)10上に実装されることを前提とするため、局地激甚における災害発生時においても継続的なシステム運用が可能となる。
【0111】
上記の説明により、本発明の産業上の利用可能性は明らかであるが、本発明は、サービス稼働無停止システムの提供、高可用性が要求されるシステムの構築、障害発生時のサービス提供の継続、障害の原因調査、システムのバックアップ、災害等の激甚対応としてBCP(Business Continuity Plan)システム向け構成等に好適に適用可能である。
【0112】
例えば、障害の原因調査に関し、同期運転が行える利点を活用できる。具体的には、待機系の物理マシン上の仮想マシンを、解析用の物理マシンに複製し、当該複製した仮想マシンを解析することで、運用中サービスを停止させること無く、安全に障害解析が行える。
【0113】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
[付記1]
上述の第1の視点に係るシステムのとおりである。
[付記2]
前記第1の物理マシンは、
前記稼働系として動作する第1の仮想マシンに生じる障害を検出する、仮想マシン障害検出部と、
前記仮想マシン障害検出部が障害を検出すると、前記第2の物理マシンに向けて系切り替え要求を送信する系切り替え処理部と、
を備える、好ましくは付記1のシステム。
[付記3]
前記第1の物理マシンは、
自装置に生じる障害を検出する、物理マシン障害検出部をさらに備え、
前記系切り替え処理部は、前記仮想マシン障害検出部及び前記物理マシン障害検出部のすくなくとも一方が障害を検出すると、前記第2の物理マシンに向けて前記系切り替え要求を送信する、好ましくは付記2のシステム。
[付記4]
前記第1の物理マシンは、
前記第1の仮想マシンを管理する、仮想マシン管理部をさらに備え、
前記系切り替え処理部は、前記系切り替え要求を前記第2の物理マシンに向けて送信する際に、前記仮想マシン管理部に対して前記稼働系として動作している第1の仮想マシンの停止を指示する、好ましくは付記2又は3のシステム。
[付記5]
前記系切り替え処理部は、外部から系切り替えコマンドが投入されたことに応じて、前記第2の物理マシンに向けて前記系切り替え要求を送信する、好ましくは付記2乃至4のいずれか一に記載のシステム。
[付記6]
前記第2の物理マシンは、前記第1の物理マシンと自装置の間を接続する伝送路に障害が発生した場合に、前記リソース差分情報が反映された第2の仮想マシンを復帰させる、好ましくは付記1乃至5のいずれか一に記載のシステム。
[付記7]
上述の第2の視点に係る計算機のとおりである。
[付記8]
上述の第3の視点に係る計算機のとおりである。
[付記9]
上述の第4の視点に係るシステム制御方法のとおりである。
[付記10]
上述の第5の視点に係るプログラムのとおりである。
なお、付記7~10の形態は、付記1の形態と同様に、付記2の形態~付記6の形態に展開することが可能である。
【0114】
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【0115】
10、10-1、10-2、102、112 物理マシン
11、11-1、11-2 通信部
12、12-1、12-2 仮想マシン管理部
13、13-1、13-2 系切り替え処理部
14、14-1、14-2 物理マシン障害検出部
15、15-1、15-2、101、111 仮想マシン
16、16-1、16-2 仮想マシン障害検出部
20 伝送路
30-1~30-n タスク
40-1~40-4 リソース差分情報
41-1~41-5 イベント
51 ソフトウェア障害(仮想マシン)
52 ソフトウェア障害(物理マシン)
53 ハードウェア障害
54 系切り替えコマンド
61 CPU
62 メモリ
63 入出力インターフェイス
64 NIC
200、300、400、500 切替検出処理
201、301、401、501 系切り替え処理(稼働系)
202、302、402、502 切り替え処理
203、303、403、503 系切り替え処理(待機系)
204、304、404、504 継続稼働処理