(57)【要約】  系間処理のタイムアウトが短い環境においても、通信データの欠落を防止し、計算機を同期して保存または復元できるようにすることを目的とする。管理計算機１１０の保存・復元指示部１１１は各実行計算機２００にＶＭ２２０（仮想計算機）の保存命令を送信する。各実行計算機２００の保存・復元要求部２１０は保存命令を受信し、ＶＭ２２０を停止し、ＶＭ２２０をデータ化して保存する。デバイス稼働制御部２１１は系間処理のタイムアウト時間が経過した後にｖＮＩＣｂ２２８（仮想通信装置）を停止し、バッファ保存・復元部２１２は通信バッファを保存する。ＶＭ２２０を再開する場合、保存・復元要求部２１０はデータ化したＶＭ２２０を復元し、バッファ保存・復元部２１２は通信バッファを復元する。これにより、ＶＭ２２０を同期して保存または復元することができる。
2012063306.tif 000002
【特許請求の範囲】
【請求項１】
通信処理を行う仮想通信装置と前記仮想通信装置を介してデータを通信する仮想計算機とが組み込まれた仮想計算機制御装置において、
前記仮想計算機を含む複数の仮想計算機を管理する仮想計算機管理装置から前記仮想計算機の停止命令を受信する命令受信部と、
前記命令受信部が前記仮想計算機の停止命令を受信した場合、前記仮想計算機を停止する計算機制御部と、
前記命令受信部が前記仮想計算機の停止命令を受信した場合、他の仮想計算機が他の仮想計算機の停止命令によって停止される前に他の仮想計算機によって送信されたデータを受信するための所定の受信待ち時間が経過した後に、前記仮想通信装置によって前記受信待ち時間に受信されたデータを所定の保存領域に保存する通信装置制御部と
を備えたことを特徴とする仮想計算機制御装置。
【請求項２】
前記命令受信部は、前記仮想計算機管理装置から前記仮想計算機の起動命令を受信し、
前記通信装置制御部は、前記命令受信部が前記仮想計算機の起動命令を受信した場合、前記保存領域のデータを所定の受信バッファに記憶し、
前記計算機制御部は、前記命令受信部が前記仮想計算機の起動命令を受信した場合、前記受信バッファに前記保存領域のデータが記憶された後に、前記仮想計算機を起動し、
前記仮想計算機は、前記受信バッファに記憶されたデータを処理する
ことを特徴とする請求項１記載の仮想計算機制御装置。
【請求項３】
前記仮想通信装置は、他の仮想計算機によって他の仮想計算機が稼働していることを示すデータが送信された場合、当該データを死活監視データとして受信し、
前記仮想計算機は、前記仮想通信装置によって所定のタイムアウト時間内に死活監視データが受信されなかった場合、他の仮想計算機が稼働していないと判定し、
前記通信装置制御部は、前記命令受信部が前記仮想計算機の停止命令を受信した場合、前記タイムアウト時間が前記受信待ち時間として経過した後に、前記仮想通信装置によって前記受信待ち時間に受信されたデータを前記保存領域に保存する
ことを特徴とする請求項１または請求項２記載の仮想計算機制御装置。
【請求項４】
前記仮想計算機制御装置は、さらに、
前記命令受信部が前記仮想計算機の停止命令を受信した場合、特定データだけを前記仮想通信装置に受信させるフィルタリング部を備える
ことを特徴とする請求項１から請求項３いずれかに記載の仮想計算機制御装置。
【請求項５】
前記フィルタリング部は、特定の仮想計算機から送信されたデータだけを前記仮想通信部に受信させる
ことを特徴とする請求項４記載の仮想計算機制御装置。
【請求項６】
前記命令受信部は、停止時刻が指定された停止命令を受信し、
前記計算機制御部は、前記停止命令に指定された停止時刻に前記仮想計算機を停止し、
前記通信装置制御部は、前記停止命令に指定された停止時刻から前記受信待ち時間が経過した後に、前記仮想通信装置によって前記受信待ち時間に受信されたデータを前記保存領域に保存する
ことを特徴とする請求項１から請求項５いずれかに記載の仮想計算機制御装置。
【請求項７】
前記仮想計算機制御装置は、さらに、
前記仮想計算機管理装置から前記仮想計算機管理装置の内部時刻を示す時刻情報を受信し、受信した時刻情報に基づいて前記仮想計算機管理装置の内部時刻と前記仮想計算機制御装置の内部時刻との時刻差を算出する時刻調整部とを備え、
前記命令受信部は、停止時刻が指定された停止命令を受信し、
前記計算機制御部は、前記停止命令に指定された停止時刻と前記時刻調整部により算出された時刻差とに基づいて、前記仮想計算機管理装置の内部時刻と前記停止時刻とが一致する停止タイミングに前記仮想計算機を停止し、
前記通信装置制御部は、前記停止タイミングから前記受信待ち時間が経過した後に、前記仮想通信装置によって前記受信待ち時間に受信されたデータを前記保存領域に保存する
ことを特徴とする請求項１から請求項５いずれかに記載の仮想計算機制御装置。
【請求項８】
請求項１から請求項７いずれかに記載の仮想計算機制御装置と、
複数の仮想計算機それぞれの停止命令を送信する仮想計算機管理装置と
を有することを特徴とする仮想計算機制御システム。
【請求項９】
通信処理を行う仮想通信装置と前記仮想通信装置を介してデータを通信する仮想計算機とが組み込まれた仮想計算機制御装置の仮想計算機制御方法において、
命令受信部が、前記仮想計算機を含む複数の仮想計算機を管理する仮想計算機管理装置から前記仮想計算機の停止命令を受信し、
計算機制御部が、前記命令受信部が前記仮想計算機の停止命令を受信した場合、前記仮想計算機を停止し、
通信装置制御部が、前記命令受信部が前記仮想計算機の停止命令を受信した場合、他の仮想計算機が他の仮想計算機の停止命令によって停止される前に他の仮想計算機によって送信されたデータを受信するための所定の受信待ち時間が経過した後に、前記仮想通信装置によって前記受信待ち時間に受信されたデータを所定の保存領域に保存する
ことを特徴とする仮想計算機制御装置の仮想計算機制御方法。
【請求項１０】
請求項９記載の仮想計算機制御方法を仮想計算機制御装置に実行させる仮想計算機制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、複数の仮想計算機を同期して停止または稼働するための仮想計算機制御装置、仮想計算機制御システム、仮想計算機制御装置の仮想計算機制御方法および仮想計算機制御プログラムに関するものである。
【背景技術】
【０００２】
計算機をデータ化し、ファイルとして保存可能な仮想化技術がある。
この技術を用いることで、ユーザは、一旦ファイルに保存しておいた計算機を繰り返し復元し、システムの開発環境または試験環境を再現または構築することができる。【０００３】
但し、計算機間で互いの計算機を死活監視する系間処理が行われる環境の場合、計算機の保存または復元を同期して行う必要がある。
計算機を個別に保存または復元しただけでは、系間処理に不整合が生じ、計算機内で動作しているアプリケーションプログラムに異常が生じるからである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−８０６９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術では、計算機を同期して保存または復元して系間処理の不整合を防止するために、通信データの欠落を防ぐようにしていた。具体的には、計算機間で通信データの送受信が全て完了した時点で計算機を保存する。そして、全ての計算機を復元して全ての計算機が動作した後で送受信を再開していた。
しかし、従来技術では、計算機間の通信停止期間が長いため、系間処理のタイムアウトが短い環境において不整合が生じる恐れがあった。【０００６】
本発明は、例えば、系間処理のタイムアウトが短い環境においても、通信データの欠落を防止し、計算機を同期して保存または復元できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の仮想計算機制御装置は、
通信処理を行う仮想通信装置と前記仮想通信装置を介してデータを通信する仮想計算機とが組み込まれ、
前記仮想計算機を含む複数の仮想計算機を管理する仮想計算機管理装置から前記仮想計算機の停止を命令する停止命令を受信する命令受信部と、
前記命令受信部が前記仮想計算機の停止命令を受信した場合、前記仮想計算機を停止する計算機制御部と、
前記命令受信部が前記仮想計算機の停止命令を受信した場合、他の仮想計算機が他の仮想計算機の停止命令によって停止される前に他の仮想計算機によって送信されたデータを受信するための所定の受信待ち時間が経過した後に、前記仮想通信装置によって前記受信待ち時間に受信されたデータを所定の保存領域に保存する通信装置制御部とを備える。
【発明の効果】
【０００８】
本発明によれば、例えば、系間処理のタイムアウトが短い環境においても、通信データの欠落を防止し、計算機を同期して保存することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１における計算機制御システム１００の構成図。
【図２】実施の形態１における計算機制御システム１００の計算機制御方法（保存時）を示すフローチャート。
【図３】実施の形態１における計算機制御システム１００の計算機制御方法（復元時）を示すフローチャート。
【図４】実施の形態１における管理計算機１１０および実行計算機２００のハードウェア資源の一例を示す図。
【図５】実施の形態１における計算機制御システム１００の利用方法の一例を示す概要図。
【図６】実施の形態１における計算機制御システム１００が解決する課題の一例を示す概要図。
【図７】実施の形態２における計算機制御システム１００の構成図。
【図８】実施の形態２における計算機制御システム１００の計算機制御方法（保存時）を示すフローチャート。
【図９】実施の形態３における計算機制御システム１００の計算機制御方法（保存時）を示すフローチャート。
【図１０】実施の形態３における計算機制御システム１００の計算機制御方法（復元時）を示すフローチャート。
【図１１】実施の形態４における計算機制御システム１００の計算機制御方法（保存時）を示すフローチャート。
【図１２】実施の形態４における計算機制御システム１００の計算機制御方法（復元時）を示すフローチャート。
【発明を実施するための形態】
【００１０】
実施の形態１．
計算機を停止するときに、他の計算機から送信されたデータを受信するために所定時間を待って通信デバイスを停止する形態について説明する。
【００１１】
図１は、実施の形態１における計算機制御システム１００の構成図である。
実施の形態１における計算機制御システム１００の構成について、図１に基づいて説明する。
【００１２】
計算機制御システム１００（仮想計算機制御システムの一例）は、複数台の物理計算機を備える。物理計算機とは、ハードウェアとして構成される計算機（コンピュータ）である。
以下、１台の物理計算機を「管理計算機１１０」とし、残りの物理計算機を「実行計算機２００」とする。
但し、１台の物理計算機を管理計算機１１０および実行計算機２００として使用しても構わない。さらに、計算機制御システム１００を１台の物理計算機で構成しても構わない。
【００１３】
管理計算機１１０と実行計算機２００は、ネットワーク１０１を介して通信を行う。
【００１４】
実行計算機２００Ａ・Ｂ（仮想計算機制御装置の一例）は、１つまたは複数の仮想計算機が組み込まれた物理計算機である。
管理計算機１１０（仮想計算機管理装置の一例）は、複数の仮想計算機を管理する物理計算機である。
仮想計算機とは、物理計算機を模倣するソフトウェア（例えば、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を実行する実行部である。
以下、仮想計算機を「ＶＭ２２０（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）」という。
【００１５】
管理計算機１１０は、保存・復元指示部１１１、物理Ｎ／Ｗデバイス１１８（Ｎ／Ｗ：ＮｅｔＷｏｒｋ）および物理ＮＩＣ１１９（ＮＩＣ：Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）を備える。
【００１６】
保存・復元指示部１１１は、ＶＭ２２０の保存命令や復元命令を実行計算機２００Ａ・Ｂへ送信する。
【００１７】
物理Ｎ／Ｗデバイス１１８および物理ＮＩＣ１１９は、ネットワーク１０１を介して通信を行うハードウェアである。
【００１８】
実行計算機２００Ａ・Ｂは、ＶＭ２２０、ｖＮＩＣｂ２２８（ｖＮＩＣ：ｖｉｒｔｕａｌ  ＮＩＣ）、ＶＭＭ２２９（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒ）、管理ドメイン部２０１および物理ＮＩＣ２０６を備える。
【００１９】
ｖＮＩＣｂ２２８（仮想通信装置の一例）は、ＶＭ２２０に組み込まれたネットワーク・インタフェース・カードを模倣するソフトウェアを実行して通信処理を行う。
【００２０】
ＶＭ２２０は、ｖＮＩＣｂ２２８を介してデータを通信するプログラム部２２１を備える。
プログラム部２２１は、所定の業務処理（例えば、オンライン処理）の手順を表したプログラムを実行する。
【００２１】
例えば、ＶＭ２２０（のプログラム部２２１）とｖＮＩＣｂ２２８とは以下のように動作する。
（１）ｖＮＩＣｂ２２８は、他のＶＭ２２０から受信したデータを受信バッファ（後述するｖＮＩＣｂ領域）に記憶する。
ＶＭ２２０は、ｖＮＩＣｂ２２８の受信バッファに記憶されたデータを処理する。
（２）ｖＮＩＣｂ２２８は、他のＶＭ２２０によって他のＶＭ２２０が稼働していることを示すデータが送信された場合、当該データを死活監視データとして受信する。
ＶＭ２２０は、ｖＮＩＣｂ２２８により所定のタイムアウト時間内に死活監視データが受信されなかった場合、他のＶＭ２２０が稼働していないと判定する。
【００２２】
ＶＭＭ２２９は、ＶＭ２２０を管理するＶＭ管理部である。
【００２３】
管理ドメイン部２０１は、ＶＭＭ２２９を管理するＶＭＭ管理部である。
【００２４】
管理ドメイン部２０１は、プログラム部２０２、ｖＮＩＣａ２０３、仮想ブリッジ２０４および物理Ｎ／Ｗデバイス２０５を備える。
プログラム部２０２は、実行計算機２００を機能させるプログラムを実行する。
ｖＮＩＣａ２０３は、管理ドメイン部２０１に組み込まれたネットワーク・インタフェース・カードを模倣するソフトウェアを実行して通信処理を行う。
仮想ブリッジ２０４は、管理ドメイン部２０１に組み込まれたブリッジ（中継機器）を模倣するソフトウェアを実行して通信処理を行う。
【００２５】
物理Ｎ／Ｗデバイス２０５および物理ＮＩＣ２０６は、通信処理を行うハードウェアである。
【００２６】
管理ドメイン部２０１は、さらに、保存・復元要求部２１０、デバイス稼働制御部２１１およびバッファ保存・復元部２１２を備える。
【００２７】
保存・復元要求部２１０（命令受信部、計算機制御部の一例）は、管理計算機１１０からＶＭ２２０の停止命令（後述する保存命令）を受信する。
保存・復元要求部２１０は、停止命令を受信した場合、ＶＭ２２０を停止する。
保存・復元要求部２１０は、ＶＭ２２０の起動命令（後述する復元命令）を受信する。
保存・復元要求部２１０は、起動命令を受信した場合、ｖＮＩＣｂ２２８が停止したときに保存された受信データがｖＮＩＣｂ２２８の受信バッファに記憶された後に、ＶＭ２２０を起動する。
【００２８】
デバイス稼働制御部２１１（通信装置制御部の一例）は、保存・復元要求部２１０が停止命令を受信した場合、所定の受信待ち時間が経過した後に、ｖＮＩＣｂ２２８を停止する。
所定の受信待ち時間とは、他のＶＭ２２０が停止される前に他のＶＭ２２０によって送信されたデータを受信するための時間である。
他のＶＭ２２０が稼働しているか否かを判断するためのタイムアウト時間は、所定の受信待ち時間の一例である。
【００２９】
また、デバイス稼働制御部２１１は、保存・復元要求部２１０が起動命令を受信した場合、ｖＮＩＣｂ２２８を起動する。
【００３０】
バッファ保存・復元部２１２（通信装置制御部の一例）は、デバイス稼働制御部２１１が停止命令を受信した場合、ｖＮＩＣｂ２２８によって受信待ち時間に受信されたデータを所定の保存領域（後述するＶＭ保存媒体）に保存する。
バッファ保存・復元部２１２は、保存・復元要求部２１０が起動命令を受信した場合、ｖＮＩＣｂ２２８の保存データをｖＮＩＣｂ２２８の受信バッファに記憶する。
【００３１】
次に、計算機制御システム１００の計算機制御方法について説明する。
計算機制御システム１００のＶＭ２２０、ｖＮＩＣｂ２２８および「〜部」はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いて動作する。
管理計算機１１０の保存・復元指示部１１１は物理Ｎ／Ｗデバイス１１８と物理ＮＩＣ１１９とを介して通信する。
また、実行計算機２００の保存・復元要求部２１０はｖＮＩＣａ２０３、仮想ブリッジ２０４、物理Ｎ／Ｗデバイス２０５および物理ＮＩＣ２０６を介して通信する。
これらの説明は以降の説明において省略する。
【００３２】
また、実行計算機２００Ａで主系（常用系）のＶＭ２２０が稼働し、実行計算機２００Ｂで従系（待機系）のＶＭ２２０が稼働しているものとする。
【００３３】
主系のＶＭ２２０は通常時に所定の業務処理（例えば、オンライン処理）を実行し、従系のＶＭ２２０は主系のＶＭ２２０が故障などによって停止してしまったとき（主系のＶＭ２２０がダウンしたとき）に主系のＶＭ２２０の代わりに業務処理を実行する。
主系のＶＭ２２０と従系のＶＭ２２０とは、定期的にデータ（信号）を送受信し、相手のＶＭ２２０がダウンしている状態であるか否かを確認する。以下、相手のＶＭ２２０の状態を確認するためのデータを「死活監視データ」という。
ＶＭ２２０は、死活監視データを送信してから所定のタイムアウト時間が経過しても相手の死活監視データを受信できなかった場合、または死活監視データの前回の受信時から所定のタイムアウト時間が経過しても新たな死活監視データを受信できなかった場合、相手のＶＭ２２０がダウンしたと判断する。
【００３４】
図２は、実施の形態１における計算機制御システム１００の計算機制御方法（保存時）を示すフローチャートである。
ＶＭ２２０を保存（停止）するときの計算機制御方法の流れについて、図２に基づいて説明する。
【００３５】
ＶＭ２２０を表すデータ（制御情報、フラグ、レジスタ値など）が実行計算機２００の所定の記憶領域に設定され、ＶＭ２２０が稼働しているものとする。
以下、ＶＭ２２０を表すデータを「ＶＭデータ（またはＶＭファイル）」といい、ＶＭデータが設定される記憶領域を「ＶＭ領域」という。
【００３６】
Ｓ００１において、管理計算機１１０の保存・復元指示部１１１は、特定のタイミングで保存命令を生成し、生成した保存命令を各実行計算機２００へ送信する。
特定のタイミングとは、管理者が管理計算機１１０にＶＭ２２０の保存（停止）コマンドを入力したとき、一連の処理が終了したとき、所定の時刻になったとき等である。
保存命令とは、ＶＭ２２０を停止し、停止したときのＶＭ２２０の状態を表すＶＭデータを所定の記録媒体（磁気テープ、磁気ディスク、半導体メモリなど）に保存することを要求する命令である。以下、ＶＭデータを保存する記録媒体を「ＶＭ保存媒体」という。
保存命令には、保存対象のＶＭ２２０を識別するＶＭ名や、保存したＶＭデータに設定するファイル名などの情報が指定される。
【００３７】
例えば、保存・復元指示部１１１は、実行計算機２００Ａに主系のＶＭ２２０を指定した保存命令を送信し、実行計算機２００Ｂに従系のＶＭ２２０を指定した保存命令を送信する。
また、保存・復元指示部１１１は、主系のＶＭ２２０と従系のＶＭ２２０とを指定した保存命令を実行計算機２００Ａと実行計算機２００Ｂとへ送信してもよい。
【００３８】
Ｓ００１の後、Ｓ００２に進む。
【００３９】
以下に説明するＳ００２〜Ｓ００９の処理は、保存命令が送信された実行計算機２００毎に実行される。
【００４０】
Ｓ００２において、保存・復元要求部２１０は、管理計算機１１０の保存・復元指示部１１１から送信された保存命令を受信する。
Ｓ００２の後、Ｓ００３に進む。
【００４１】
Ｓ００３以降の説明において、「ＶＭ２２０」は、保存命令に指定されたＶＭ名で識別されるＶＭ２２０、すなわち、保存対象のＶＭ２２０を意味するものとする。
【００４２】
Ｓ００３において、保存・復元要求部２１０はデバイス稼働制御部２１１を呼び出し、デバイス稼働制御部２１１はＶＭ２２０とｖＮＩＣｂ２２８と間の入出力（Ｉ／Ｏ：Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）を停止する。
これ以後、ＶＭ２２０は、ｖＮＩＣｂ２２８により受信され通信（受信）バッファに保存された受信データを処理することができない。また、ＶＭ２２０は、データを送信するために、通信（送信）バッファに送信データを記憶することができない。
Ｓ００３の後、Ｓ００４に進む。
【００４３】
Ｓ００４において、保存・復元要求部２１０は、ＶＭ２２０を停止し、停止したＶＭ２２０のＶＭデータをＶＭ保存媒体に保存する。ＶＭデータは保存命令で指定されたファイル名で保存される。ｖＮＩＣｂ２２８はまだ停止していない。
Ｓ００４は、Ｓ００３と逆の順序またはＳ００３と同時に実行してもよい。
Ｓ００４の後、Ｓ００５に進む。
【００４４】
Ｓ００５において、保存・復元要求部２１０は、所定の受信待ち時間が経過するまでｖＮＩＣｂ２２８を停止しないで待機する。
所定の受信待ち時間は、他のＶＭ２２０が保存命令によって停止する前に他のＶＭ２２０によって送信されたデータが送信先のＶＭ２２０のｖＮＩＣｂ２２８に到達し、ｖＮＩＣｂ２２８が到達したデータを受信処理するために必要な時間である。
例えば、保存・復元要求部２１０は、保存命令を受信したとき又は死活監視データが前回送受信されたときから死活監視のタイムアウト時間（受信待ち時間の一例）が経過するまで待機する。これにより、ＶＭ２２０のｖＮＩＣｂ２２８は、相手のＶＭ２２０から送信された死活監視データを受信することができる。
Ｓ００５の後、Ｓ００６に進む。
【００４５】
Ｓ００６において、保存・復元要求部２１０はデバイス稼働制御部２１１を呼び出し、デバイス稼働制御部２１１はｖＮＩＣｂ２２８を停止する。
Ｓ００６の後、Ｓ００７に進む。
【００４６】
Ｓ００７において、保存・復元要求部２１０はバッファ保存・復元部２１２を呼び出し、バッファ保存・復元部２１２はｖＮＩＣｂ２２８の通信バッファに記憶されているデータ（通信バッファデータ）をＶＭ保存媒体に保存する。通信バッファデータはＶＭデータに対応付けて保存されるものとする。
例えば、通信バッファデータには、ＶＭ２２０の停止後に相手のＶＭ２２０から受信した死活監視データが含まれる。
以下、ｖＮＩＣｂ２２８の通信バッファとして確保される実行計算機２００の記憶領域を「ｖＮＩＣｂ領域」という。
Ｓ００７の後、Ｓ００８に進む。
【００４７】
Ｓ００８において、保存・復元要求部２１０は、ＶＭ領域とｖＮＩＣｂ領域とを解放することにより、ＶＭ２２０を破棄する。
Ｓ００８の後、Ｓ００９に進む。
【００４８】
Ｓ００９において、保存・復元要求部２１０は、ＶＭ２２０の保存が完了したことを通知する保存完了通知を生成し、生成した保存完了通知を管理計算機１１０の保存・復元指示部１１１に送信する。保存完了通知には、保存が完了したＶＭ２２０のＶＭ名が設定される。
Ｓ００９の後、Ｓ０１０に進む。
【００４９】
Ｓ０１０において、管理計算機１１０の保存・復元指示部１１１は、各実行計算機２００の保存・復元要求部２１０から保存完了通知を受信する。
保存対象の複数のＶＭ２２０について全てのＶＭ２２０の保存完了通知を保存・復元指示部１１１が受信した場合、計算機制御方法（保存時）は終了する。
【００５０】
図３は、実施の形態１における計算機制御システム１００の計算機制御方法（復元時）を示すフローチャートである。
ＶＭ２２０を復元（起動）するときの計算機制御方法の流れについて、図３に基づいて説明する。
【００５１】
Ｓ１０１において、管理計算機１１０の保存・復元指示部１１１は、特定のタイミングで復元命令を生成し、生成した復元命令を各実行計算機２００へ送信する。
特定のタイミングとは、管理者が管理計算機１１０にＶＭ２２０の復元（起動）コマンドを入力したとき、所定の時刻になったとき等である。
復元命令とは、ＶＭ保存媒体に保存されたＶＭデータをＶＭ領域に復元し、ＶＭ２２０を起動する命令である。
復元命令には、復元対象の複数のＶＭ２２０を識別する複数のＶＭ名や、ＶＭ２２０の復元に使用するＶＭデータのファイル名などの情報が指定される。
【００５２】
例えば、保存・復元指示部１１１は、実行計算機２００Ａに主系のＶＭ２２０を指定した復元命令を送信し、実行計算機２００Ｂに従系のＶＭ２２０を指定した復元命令を送信する。
また、保存・復元指示部１１１は、主系のＶＭ２２０と従系のＶＭ２２０とを指定した復元命令を実行計算機２００Ａと実行計算機２００Ｂとへ送信してもよい。
【００５３】
Ｓ１０１の後、Ｓ１０２に進む。
【００５４】
以下に説明するＳ１０２〜Ｓ１０６の処理は、復元命令が送信された実行計算機２００毎に実行される。
【００５５】
Ｓ１０２において、保存・復元要求部２１０は、管理計算機１１０の保存・復元指示部１１１から送信された復元命令を受信する。
Ｓ１０２の後、Ｓ１０３に進む。
【００５６】
Ｓ１０３以降の説明において、「ＶＭ２２０」は、復元命令（または後述する再開命令）に指定されたＶＭ名で識別されるＶＭ２２０、すなわち、復元対象のＶＭ２２０を意味するものとする。
【００５７】
Ｓ１０３において、保存・復元要求部２１０は、復元命令に指定されたファイル名で保存されたＶＭデータをロード（リストア）する。
ＶＭデータのロードとは、ＶＭデータをＶＭ保存媒体から読み出し、読み出したＶＭデータを実行計算機２００のＶＭ領域に書き込むことである。
これにより、ＶＭ２２０を停止したときのＶＭ２２０の状態を復元することができる。
Ｓ１０３の後、Ｓ１０４に進む。
【００５８】
Ｓ１０４において、保存・復元要求部２１０はバッファ保存・復元部２１２を呼び出し、バッファ保存・復元部２１２はＶＭデータに対応する通信バッファデータをロードする。
通信バッファデータのロードとは、通信バッファデータをＶＭ保存媒体から読み出し、読み出した通信バッファデータを実行計算機２００のｖＮＩＣｂ領域に書き込むことである。
これにより、ｖＮＩＣｂ２２８を停止したときの通信バッファの状態を復元することができる。
Ｓ１０４の後、Ｓ１０５に進む。
【００５９】
Ｓ１０５において、保存・復元要求部２１０はデバイス稼働制御部２１１を呼び出し、デバイス稼働制御部２１１はｖＮＩＣｂ２２８を起動する。
Ｓ１０５の後、Ｓ１０６に進む。
【００６０】
Ｓ１０６において、保存・復元要求部２１０は、ＶＭ２２０の復元が完了したことを通知する復元完了通知を生成し、生成した復元完了通知を管理計算機１１０の保存・復元指示部１１１に送信する。復元完了通知には、復元が完了したＶＭ２２０のＶＭ名が設定される。
Ｓ１０６の後、Ｓ１０７に進む。
【００６１】
Ｓ１０７において、管理計算機１１０の保存・復元指示部１１１は、各実行計算機２００の保存・復元要求部２１０から復元完了通知を受信する。
復元対象の複数のＶＭ２２０について全てのＶＭ２２０の復元完了通知を保存・復元指示部１１１が受信した場合、Ｓ１０８に進む。
【００６２】
Ｓ１０８において、管理計算機１１０の保存・復元指示部１１１は、再開命令を生成し、生成した再開命令を各実行計算機２００へ送信する。
再開命令とは、復元したＶＭ２２０の動作を再開させることを要求する命令である。
再開命令には復元命令で指定されたＶＭ名が指定され、再開命令は復元命令が送信された各実行計算機２００に送信される。
Ｓ１０８の後、Ｓ１０９に進む。
【００６３】
以下に説明するＳ１０９〜Ｓ１１１の処理は、再開命令が送信された実行計算機２００毎に実行される。
【００６４】
Ｓ１０９において、保存・復元要求部２１０は、管理計算機１１０の保存・復元指示部１１１から送信された再開命令を受信する。
Ｓ１０９の後、Ｓ１１０に進む。
【００６５】
Ｓ１１０において、保存・復元要求部２１０はＳ１０３で復元したＶＭ２２０を起動する。
これにより、ＶＭ２２０の動作をＶＭ２２０が停止したときの状態から再開させることができる。
【００６６】
再開したＶＭ２２０は、Ｓ１０４で復元されたｖＮＩＣｂ２２８の通信バッファから受信データを取得し、取得した受信データを処理する。
例えば、ＶＭ２２０が停止した後にｖＮＩＣｂ２２８によって死活監視データが受信された場合、再開したＶＭ２２０は、ｖＮＩＣｂ２２８の通信バッファから死活監視データを取得し、相手のＶＭ２２０が稼働していると判定する。また、ＶＭ２２０は、相手のＶＭ２２０に応答する死活監視データを生成し、生成した死活監視データをｖＮＩＣｂ２２８の通信バッファに記憶する。そして、ｖＮＩＣｂ２２８は通信バッファに登録された死活監視データを相手のＶＭ２２０へ送信する。
【００６７】
Ｓ１１０の後、Ｓ１１１に進む。
【００６８】
Ｓ１１１において、保存・復元要求部２１０は、ＶＭ２２０の再開が完了したことを通知する再開完了通知を生成し、生成した再開完了通知を管理計算機１１０の保存・復元指示部１１１に送信する。再開完了通知には、再開が完了したＶＭ２２０のＶＭ名が設定される。
Ｓ１１１の後、Ｓ１１２に進む。
【００６９】
Ｓ１１２において、管理計算機１１０の保存・復元指示部１１１は、各実行計算機２００の保存・復元要求部２１０から再開完了通知を受信する。
再開対象の複数のＶＭ２２０について全てのＶＭ２２０の再開完了通知を保存・復元指示部１１１が受信した場合、計算機制御方法（復元時）は終了する。
【００７０】
図４は、実施の形態１における管理計算機１１０および実行計算機２００のハードウェア資源の一例を示す図である。
図４において、管理計算機１１０および実行計算機２００は、ＣＰＵ９１１を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、ドライブ装置９０４、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。ドライブ装置９０４は、ＦＤ（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などの記憶媒体を読み書きする装置である。
【００７１】
通信ボード９１５は、有線または無線で、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット、電話回線などの通信網に接続している。
【００７２】
磁気ディスク装置９２０には、ＯＳ９２１（オペレーティングシステム）、プログラム群９２２、ファイル群９２３が記憶されている。
【００７３】
プログラム群９２２には、実施の形態において「〜部」（または、ＶＭ２２０、ｖＮＩＣｂ２２８）（以下同様）として説明する機能を実行するプログラムが含まれる。プログラムは、ＣＰＵ９１１により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
【００７４】
ファイル群９２３には、実施の形態において説明する「〜部」で使用される各種データ（入力、出力、判定結果、計算結果、処理結果など）が含まれる。
【００７５】
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
【００７６】
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
【００７７】
実施の形態１において、ＶＭ２２０は仮想計算機ではなく物理計算機であっても構わず、ｖＮＩＣｂ２２８は仮想通信装置ではなく物理通信装置であっても構わない。
【００７８】
実施の形態１において、例えば、以下のような計算機制御システム１００について説明した。
【００７９】
計算機制御システム１００は、保存・復元指示部１１１、保存・復元要求部２１０、デバイス稼動制御部２１１、バッファ保存・復元部２１２を備え、動作中の計算機の情報を同期して保存または復元する。
保存・復元指示部１１１は、管理下の複数の保存・復元要求部２１０に対して同期保存・復元の処理開始を命令する。
保存・復元要求部２１０は、保存・復元指示部１１１からの指示に従い、対象の計算機を保存または復元する。
デバイス稼働制御部２１１は、保存・復元要求部２１０の指示に従い、計算機のＯＳ（ＶＭ２２０）の稼動または停止とは別に、ネットワークデバイス（ｖＮＩＣｂ２２８）を稼動または停止する。
バッファ保存・復元部２１２は、保存・復元要求部２１０の指示に従い、ネットワークデバイス内に溜まった通信データを保存または復元する。
【００８０】
ユーザは、保存・復元指示部１１１に対して保存要求を出すことで、複数の計算機を同時に保存できる。
保存・復元指示部１１１は、要求を保存・復元要求部２１０に伝達する。
要求を受けた保存・復元要求部２１０は、計算機のＯＳを一時停止後、情報の保存を行い、一定時間だけネットワークデバイスのみを稼動させ、通信データの送受信をデバイスレベルで完了させた後にネットワークデバイスのバッファを保存する。
【００８１】
ユーザは、保存・復元指示部１１１に対して復元要求を出すことで、複数の計算機を同時に復元できる。
保存・復元指示部１１１は、要求を保存・復元要求部２１０に伝達する。
要求を受けた保存・復元要求部２１０は、保存しておいた計算機情報を復元し、保存しておいたネットワークデバイスのバッファを復元し、計算機のＯＳを再開させる。
【００８２】
実施の形態１により、例えば、以下のような効果を奏することができる。
【００８３】
図５は、実施の形態１における計算機制御システム１００の利用方法の一例を示す概要図である。
実施の形態１における計算機制御システム１００は、図５に示すように計算機の試験に利用することができる。
【００８４】
（１）試験対象の計算機システムを構成する計算機１０２をデータ化し、データ化した計算機１０２（ＶＭ２２０）を計算機ファイル１０３（ＶＭデータ）として保存しておく。
（２）計算機ファイル１０３を用いて計算機１０２を復元し、（３）計算機１０２の試験（例えば障害試験）を実行する。
（４）新たに計算機１０２を試験する必要がある場合、再び、計算機ファイル１０３を用いて計算機１０２を復元する。
【００８５】
図６は、実施の形態１における計算機制御システム１００が解決する課題の一例を示す概要図である。
例えば、計算機制御システム１００は、図６に示すような系間処理システムの課題を解決することができる。
【００８６】
系間処理システムは、主系の計算機（第１のＶＭ２２０）と従系の計算機（第２のＶＭ２２０）とを備える。
（１）主系の計算機と従系の計算機とは定期的に死活監視データ（実線矢印）を送受信する。そして、主系または従系の計算機は、相手の計算機から所定のタイムアウト時間に死活監視データを受信できない場合、相手の計算機が故障したものと判断する。例えば、主系の計算機が故障したと判断した従系の計算機は、新たな主系の計算機として稼働する。
（２）系間処理システムの試験を停止する場合、通信を停止した後、計算機を停止し、計算機をデータ化して保存する。
（３）系間処理システムの試験を再開する場合、計算機を復元して再開した後、通信を再開する（通信装置が停止し、計算機が稼働している期間を太線で示す）。
（４）この場合、通信を停止してから再開するまでの間、死活監視データ（点線矢印）を通信できないため、計算機が停止するまでに、または計算機が再開したときに死活監視のタイムアウトが発生する。
（５）しかし、主系の計算機は稼働しているため、両方の計算機が主系の計算機として稼働してしまうという矛盾が生じてしまう。
【００８７】
一方、計算機制御システム１００は、計算機を停止して死活監視データを受信するための受信待ち時間が経過した後に通信を停止する。このため、上記のような矛盾は生じない。
【００８８】
実施の形態２．
ＶＭ２２０が停止した後の受信待ち時間にｖＮＩＣｂ２２８が不要なデータをフィルタリングする形態について説明する。
以下、実施の形態１と異なる事項について主に説明する。説明を省略する事項については実施の形態１と同様である。
【００８９】
図７は、実施の形態２における計算機制御システム１００の構成図である。
実施の形態２における計算機制御システム１００の構成について、図７に基づいて説明する。
【００９０】
実行計算機２００Ａ・Ｂは、実施の形態１の構成（図１参照）に加えて、フィルタリング部２１３を備える。
【００９１】
フィルタリング部２１３は、保存・復元要求部２１０がＶＭ２２０の停止命令（保存命令）を受信した場合、特定データだけをｖＮＩＣｂ２２８に受信させる。
例えば、フィルタリング部２１３は、特定のＶＭ２２０から送信されたデータだけをｖＮＩＣｂ２２８に受信させる。
【００９２】
図８は、実施の形態２における計算機制御システム１００の計算機制御方法（保存時）を示すフローチャートである。
ＶＭ２２０を保存（停止）するときの計算機制御方法の流れについて、図８に基づいて説明する。
【００９３】
計算機制御システム１００は、実施の形態１の処理（図２参照）に加えて、Ｓ２０１とＳ２０２とを実行する。
また、Ｓ００１は、実施の形態１と処理の一部が異なる。
以下、Ｓ００１、Ｓ２０１およびＳ２０２について主に説明し、その他の処理を省略して説明する。
【００９４】
Ｓ００１において、管理計算機１１０の保存・復元指示部１１１は保存命令を生成し、生成した保存命令を各実行計算機２００へ送信する。
但し、保存命令には、フィルタリングルールが指定される。フィルタリングルールは、ＶＭ２２０を停止した後の受信待ち時間においてｖＮＩＣｂ２２８に受信させるデータを制限する情報である。
【００９５】
例えば、保存・復元指示部１１１は、以下のように（１）データの送信元や（２）データの種類をフィルタリングルールとして指定する。但し、（１）データの送信元と（２）データの種類との両方をフィルタリングルールとして指定してもよい。
（１）保存・復元指示部１１１は、主系のｖＮＩＣｂ２２８に受信させるデータとして従系のＶＭ２２０（またはｖＮＩＣｂ２２８）から送信されたデータを指定し、従系のｖＮＩＣｂ２２８に受信させるデータとして主系のＶＭ２２０（またはｖＮＩＣｂ２２８）から送信されたデータを指定する。
（２）保存・復元指示部１１１は、死活監視データをｖＮＩＣｂ２２８に受信させるデータとして指定する。
また、保存・復元指示部１１１は、ｖＮＩＣｂ２２８に破棄させるデータ（例えば、ブロードキャストデータ）をフィルタリングルールとして指定してもよい。
【００９６】
フィルタリングルールを指定することにより、不要なデータによってｖＮＩＣｂ２２８の通信バッファの容量が不足してしまい、重要なデータ（例えば、死活監視データ）を通信バッファに記憶できない、という課題を解消することができる。
【００９７】
Ｓ００１の後、Ｓ００２に進む。
【００９８】
保存・復元要求部２１０は保存命令を受信し（Ｓ００２）、デバイス稼働制御部２１１はＶＭ２２０とｖＮＩＣｂ２２８との入出力を停止する（Ｓ００３）。
Ｓ００３の後、Ｓ２０１に進む。
【００９９】
Ｓ２０１において、保存・復元要求部２１０はフィルタリング部２１３を呼び出し、フィルタリング部２１３は保存命令に指定されたフィルタリングルールをｖＮＩＣｂ２２８に設定する。
これ以後、ｖＮＩＣｂ２２８はフィルタリングルールで「受信するデータ」として指定されたデータだけを受信し、その他のデータを破棄する。ｖＮＩＣｂ２２８によって受信されたデータは通信バッファに記憶され、ｖＮＩＣｂ２２８によって破棄されたデータは通信バッファに記憶されない。
Ｓ２０１の後、Ｓ００４に進む。
【０１００】
保存・復元要求部２１０はＶＭ２２０を停止してＶＭデータを保存し（Ｓ００４）、所定の受信待ち時間が経過するまで待機する（Ｓ００５）。
受信待ち時間の経過後、デバイス稼働制御部２１１はｖＮＩＣｂ２２８を停止し（Ｓ００６）、バッファ保存・復元部２１２は通信バッファデータを保存する（Ｓ００７）。
Ｓ００７の後、Ｓ２０２に進む。
【０１０１】
Ｓ２０２において、保存・復元要求部２１０はフィルタリング部２１３を呼び出し、フィルタリング部２１３はｖＮＩＣｂ２２８に設定したフィルタリングルールを削除する。
Ｓ２０２の後、Ｓ００８に進む。
【０１０２】
保存・復元要求部２１０はＶＭ２２０を破棄し（Ｓ００８）、保存完了通知を送信する（Ｓ００９）。
管理計算機１１０の保存・復元指示部１１１は各実行計算機２００の保存・復元要求部２１０から保存完了通知を受信し（Ｓ０１０）、計算機制御方法（保存時）は終了する。
【０１０３】
ＶＭ２２０を復元する計算機制御方法（復元時）は、実施の形態１（図３参照）と同じである。
【０１０４】
実施の形態２において、例えば、以下のような計算機制御システム１００について説明した。
【０１０５】
計算機制御システム１００は、フィルタリング部２１３を備える。
フィルタリング部２１３は、保存・復元要求部２１０からの指示に従い、仮想ネットワークデバイス（ｖＮＩＣｂ２２８）へ送られる通信データのフィルタリングを行う。
ファイルタリングは、無用な通信データがデバイス中のバッファに溜まるのを防ぐものである。フィルタリングの規定は、保存・復元指示部１１１が保存・復元要求部２１０に命令を出す際に、保存・復元指示部１１１によって保存対象の計算機のリストと共に送られる。
【０１０６】
実施の形態３．
複数のＶＭ２２０を同じ時刻に停止または再開する形態について説明する。
以下、実施の形態１、２と異なる事項について主に説明する。説明を省略する事項については実施の形態１、２と同様である。
【０１０７】
計算機制御システム１００の構成は、実施の形態１（図１参照）と同じである。
【０１０８】
但し、保存・復元要求部２１０は、停止時刻（後述する保存処理の開始時刻）が指定された停止命令（保存命令）を受信する。
保存・復元要求部２１０は、停止命令に指定された停止時刻にＶＭ２２０を停止する。
バッファ保存・復元部２１２は、停止命令に指定された停止時刻から受信待ち時間が経過した後に、ｖＮＩＣｂ２２８によって受信待ち時間に受信されたデータを保存領域（ＶＭ保存媒体）に保存する。
【０１０９】
図９は、実施の形態３における計算機制御システム１００の計算機制御方法（保存時）を示すフローチャートである。
ＶＭ２２０を保存（停止）するときの計算機制御方法の流れについて、図９に基づいて説明する。
【０１１０】
計算機制御システム１００は、実施の形態１の処理（図２参照）に加えて、Ｓ３０１を実行する。
また、Ｓ００１は、実施の形態１と処理の一部が異なる。
以下、Ｓ００１とＳ３０１とについて主に説明し、その他の処理を省略して説明する。
【０１１１】
Ｓ００１において、管理計算機１１０の保存・復元指示部１１１は保存命令を生成し、生成した保存命令を各実行計算機２００へ送信する。
但し、保存命令には、ＶＭ２２０の保存処理を開始する開始時刻が指定される。
Ｓ００１の後、Ｓ００２に進む。
【０１１２】
Ｓ００２において、保存・復元要求部２１０は保存命令を受信する。
Ｓ００２の後、Ｓ３０１に進む。
【０１１３】
Ｓ３０１において、保存・復元要求部２１０は、保存命令に指定された開始時刻になるまで待機する。
Ｓ００３以降の処理（図２参照）は、保存命令に指定された開始時刻から開始される。
【０１１４】
図１０は、実施の形態３における計算機制御システム１００の計算機制御方法（復元時）を示すフローチャートである。
ＶＭ２２０を復元（起動）するときの計算機制御方法の流れについて、図１０に基づいて説明する。
【０１１５】
計算機制御システム１００は、実施の形態１の処理（図３参照）に加えて、Ｓ３１１を実行する。
また、Ｓ１０８は、実施の形態１と処理の一部が異なる。
以下、Ｓ３１１とＳ１０８とについて主に説明し、その他の処理を省略して説明する。
【０１１６】
Ｓ１０１からＳ１０７までの処理は、実施の形態１と同じである。
【０１１７】
Ｓ１０８において、管理計算機１１０の保存・復元指示部１１１は、再開命令を生成し、生成した再開命令を各実行計算機２００へ送信する。
但し、再開命令には、ＶＭ２２０の再開処理を開始する開始時刻が指定される。
Ｓ１０８の後、Ｓ１０９に進む。
【０１１８】
Ｓ１０９において、保存・復元要求部２１０は再開命令を受信する。
Ｓ１０９の後、Ｓ３１１に進む。
【０１１９】
Ｓ３１１において、保存・復元要求部２１０は再開命令に指定された開始時刻まで待機する。
Ｓ１１０以降の処理（図３参照）は、再開命令に指定された開始時刻から開始される。
【０１２０】
実施の形態３において、例えば、以下のような計算機制御システム１００について説明した。
【０１２１】
計算機制御システム１００は、処理開始時刻の同期機能を持つ。
保存・復元指示部１１１は、保存・復元要求部２１０に対し、保存・復元処理を開始する時刻を含めて命令する。
保存・復元要求部２１０は、保存・復元指示部１１１から指定された時刻にＶＭ２２０を停止し、その後の処理を行う。
保存・復元要求部２１０は、ＶＭ２２０の復元後、保存・復元指示部１１１から指定された時刻にＶＭ２２０の稼動を再開する。
【０１２２】
実施の形態３により、複数のＶＭ２２０を同期して保存または復元することができる。
【０１２３】
実施の形態３における計算機制御システム１００は、実施の形態２と同様に、ｖＮＩＣｂ２２８の受信データをフィルタリングしても構わない。
【０１２４】
実施の形態４．
複数のＶＭ２２０を同期して保存または復元するために、各実行計算機２００の内部時刻を調整する形態について説明する。
以下、実施の形態１〜３と異なる事項について主に説明する。説明を省略する事項については実施の形態１〜３と同様である。
【０１２５】
計算機制御システム１００の構成は、実施の形態１（図１参照）と同じである。
但し、管理計算機１１０と実行計算機２００Ａ・Ｂは、内部時刻を示すクロックを備えるものとする。
【０１２６】
また、保存・復元要求部２１０（時刻調整部の一例）は、保存・復元指示部１１１から管理計算機１１０の内部時刻を示す時刻情報（後述する時刻通知）を受信し、受信した時刻情報に基づいて管理計算機１１０の内部時刻と実行計算機２００の内部時刻との時刻差を算出する。
保存・復元要求部２１０は、停止時刻が指定された停止命令を受信する。
保存・復元要求部２１０は、停止命令に指定された停止時刻と内部時刻の時刻差とに基づいて、管理計算機１１０の内部時刻と停止時刻とが一致する停止タイミング（後述する保存処理の開始タイミング）にＶＭ２２０を停止する。
バッファ保存・復元部２１２は、停止タイミングから受信待ち時間が経過した後に、ｖＮＩＣｂ２２８によって受信待ち時間に受信されたデータを保存領域（ＶＭ保存媒体）に保存する。
【０１２７】
図１１は、実施の形態４における計算機制御システム１００の計算機制御方法（保存時）を示すフローチャートである。
ＶＭ２２０を保存（停止）するときの計算機制御方法の流れについて、図１１に基づいて説明する。
【０１２８】
計算機制御システム１００は、実施の形態３の処理（図９参照）に加えて、Ｓ４０１〜Ｓ４０３を実行する。
また、Ｓ３０１は、実施の形態３と処理の一部が異なる。
以下、Ｓ４０１〜Ｓ４０３およびＳ３０１について主に説明し、その他の処理を省略して説明する。
【０１２９】
Ｓ４０１において、管理計算機１１０の保存・復元指示部１１１は、管理計算機１１０の現在時刻を設定した時刻通知を各実行計算機２００へ送信する。
Ｓ４０１の後、Ｓ４０２に進む。
【０１３０】
Ｓ４０２において、各実行計算機２００の保存・復元要求部２１０は、時刻通知を受信する。
Ｓ４０２の後、Ｓ４０３に進む。
【０１３１】
Ｓ４０３において、各実行計算機２００の保存・復元要求部２１０は、受信した時刻通知に設定されている管理計算機１１０の現在時刻に基づいて、管理計算機１１０の内部時刻と実行計算機２００の内部時刻との時刻差を算出する。
例えば、保存・復元要求部２１０は、時刻通知に設定されている管理計算機１１０の現在時刻と時刻通知を受信したときの実行計算機２００の内部時刻との時刻差を算出する。但し、時刻通知の通信時間や処理時間を考慮して時刻差を算出してもよい。
Ｓ４０３の後、Ｓ００１に進む。
【０１３２】
管理計算機１１０の保存・復元指示部１１１は保存処理の開始時刻を指定した保存命令を送信し（Ｓ００１）、各実行計算機２００の保存・復元要求部２１０は保存命令を受信する（Ｓ００２）。
Ｓ００２の後、Ｓ３０１に進む。
【０１３３】
Ｓ３０１において、各実行計算機２００の保存・復元要求部２１０は、保存命令に指定された保存処理の開始時刻とＳ４０３で算出した内部時刻の時刻差とに基づいて、管理計算機１１０の内部時刻と保存処理の開始時刻とが一致する開始タイミングを算出する。
そして、保存・復元要求部２１０は開始タイミングまで待機し、Ｓ００３以降の処理は開始タイミングから開始される。
【０１３４】
例えば、実行計算機２００の内部時刻が管理計算機１１０の内部時刻より「１分」進んでいる場合、保存・復元要求部２１０は実行計算機２００の内部時刻が保存処理の開始時刻から「１分」後の時刻になるまで待機する。
また、実行計算機２００の内部時刻が管理計算機１１０の内部時刻より「１分」遅れている場合、保存・復元要求部２１０は実行計算機２００の内部時刻が保存処理の開始時刻より「１分」前の時刻になるまで待機する。
【０１３５】
これにより、管理計算機１１０の内部時刻と実行計算機２００の内部時刻とがずれていても、保存・復元指示部１１１が指定する時刻に各ＶＭ２２０を保存することができる。
【０１３６】
図１２は、実施の形態４における計算機制御システム１００の計算機制御方法（復元時）を示すフローチャートである。
ＶＭ２２０を復元（起動）するときの計算機制御方法の流れについて、図１２に基づいて説明する。
【０１３７】
計算機制御システム１００は、実施の形態３の処理（図１０参照）に加えて、Ｓ４１１〜Ｓ４１３を実行する。
Ｓ４１１〜Ｓ４１３において、各実行計算機２００の保存・復元要求部２１０は、Ｓ４０１〜Ｓ４０３（図１１参照）と同様に、管理計算機１１０と実行計算機２００との内部時刻の時刻差を算出する。
【０１３８】
また、Ｓ３１１において、各実行計算機２００の保存・復元要求部２１０は、Ｓ３０１（図１１参照）と同様に、管理計算機１１０の内部時刻と再開処理の開始時刻とが一致する開始タイミングまで再開処理を待機する。
【０１３９】
これにより、管理計算機１１０の内部時刻と実行計算機２００の内部時刻とがずれていても、保存・復元指示部１１１が指定する時刻に各ＶＭ２２０を再開することができる。
【０１４０】
実施の形態４において、保存・復元要求部２１０が保存・復元指示部１１１に実行計算機２００の内部時刻を通知し、保存・復元指示部１１１が管理計算機１１０と実行計算機２００との内部時刻の時刻差を算出しても構わない。
この場合、保存・復元指示部１１１は、各実行計算機２００との時刻差に基づいて、実行計算機２００毎に異なる開始時刻を指定する。
例えば、管理計算機１１０より内部時刻が「１分」進んでいる実行計算機２００には所定の開始時刻から「１分」後の時刻を指定し、管理計算機１１０より内部時刻が「１分」遅れている実行計算機２００には所定の開始時刻より「１分」前の時刻を指定する。
【０１４１】
また、各実行計算機２００の保存・復元要求部２１０は、Ｓ４０２またはＳ４１２で通知された管理計算機１１０の内部時刻に合わせて実行計算機２００の内部時刻を変更することにより、管理計算機１１０の内部時刻との時刻ずれを修正しても構わない。
【０１４２】
実施の形態４において、例えば、以下のような計算機制御システム１００について説明した。
【０１４３】
計算機制御システム１００は、内部時刻の同期機能を持つ。
保存・復元指示部１１１は、保存・復元処理を開始する時刻に先立ち、保存・復元要求部２１０に対して保存・復元指示部１１１の内部時刻を通達する。
保存・復元要求部２１０は、保存・復元指示部１１１から通達された内部時刻を基に、保存・復元要求部２１０の内部時刻が保存・復元指示部１１１の内部時刻と一致するよう調整する。
もしくは、保存・復元要求部２１０は、保存・復元指示部１１１の内部時刻が保存・復元処理を開始する時刻となるタイミングで処理を開始する。
【０１４４】
実施の形態４により、管理計算機１１０の内部時刻と各実行計算機２００の内部時刻とがずれていても、複数のＶＭ２２０を同期して保存または復元することができる。
【０１４５】
実施の形態４における計算機制御システム１００は、実施の形態２と同様に、ｖＮＩＣｂ２２８の受信データをフィルタリングしても構わない。
【符号の説明】
【０１４６】
１００  計算機制御システム、１０１  ネットワーク、１０２  計算機、１０３  計算機ファイル、１１０  管理計算機、１１１  保存・復元指示部、１１８  物理Ｎ／Ｗデバイス、１１９  物理ＮＩＣ、２００  実行計算機、２０１  管理ドメイン部、２０２  プログラム部、２０３  ｖＮＩＣａ、２０４  仮想ブリッジ、２０５  物理Ｎ／Ｗデバイス、２０６  物理ＮＩＣ、２１０  保存・復元要求部、２１１  デバイス稼働制御部、２１２  バッファ保存・復元部、２１３  フィルタリング部、２２０  ＶＭ、２２１  プログラム部、２２８  ｖＮＩＣｂ、２２９  ＶＭＭ、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ドライブ装置、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  プログラム群、９２３  ファイル群。
【図１】
2012063306.tif 000003
【図２】
2012063306.tif 000004
【図３】
2012063306.tif 000005
【図４】
2012063306.tif 000006
【図５】
2012063306.tif 000007
【図６】
2012063306.tif 000008
【図７】
2012063306.tif 000009
【図８】
2012063306.tif 000010
【図９】
2012063306.tif 000011
【図１０】
2012063306.tif 000012
【図１１】
2012063306.tif 000013
【図１２】
2012063306.tif 000014
【手続補正書】
【提出日】平成25年6月20日(2013.6.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通信処理を行う仮想通信装置と前記仮想通信装置を介してデータを通信する仮想計算機とが組み込まれた仮想計算機制御装置において、
前記仮想計算機を含む複数の仮想計算機を管理する仮想計算機管理装置から前記仮想計算機の停止命令を受信する命令受信部と、
前記命令受信部が前記仮想計算機の停止命令を受信した場合、前記仮想計算機を停止する計算機制御部と、
前記命令受信部が前記仮想計算機の停止命令を受信した場合、他の仮想計算機が他の仮想計算機の停止命令によって停止される前に他の仮想計算機によって送信されたデータを受信するための所定の受信待ち時間が経過した後に、前記仮想通信装置によって前記受信待ち時間に受信されたデータを所定の保存領域に保存する通信装置制御部と
を備えたことを特徴とする仮想計算機制御装置。
【請求項２】
前記命令受信部は、前記仮想計算機管理装置から前記仮想計算機の起動命令を受信し、
前記通信装置制御部は、前記命令受信部が前記仮想計算機の起動命令を受信した場合、前記保存領域のデータを所定の受信バッファに記憶し、
前記計算機制御部は、前記命令受信部が前記仮想計算機の起動命令を受信した場合、前記受信バッファに前記保存領域のデータが記憶された後に、前記仮想計算機を起動し、
前記仮想計算機は、前記受信バッファに記憶されたデータを処理する
ことを特徴とする請求項１記載の仮想計算機制御装置。
【請求項３】
前記仮想通信装置は、他の仮想計算機によって他の仮想計算機が稼働していることを示すデータが送信された場合、当該データを死活監視データとして受信し、
前記仮想計算機は、前記仮想通信装置によって所定のタイムアウト時間内に死活監視データが受信されなかった場合、他の仮想計算機が稼働していないと判定し、
前記通信装置制御部は、前記命令受信部が前記仮想計算機の停止命令を受信した場合、前記タイムアウト時間が前記受信待ち時間として経過した後に、前記仮想通信装置によって前記受信待ち時間に受信されたデータを前記保存領域に保存する
ことを特徴とする請求項１または請求項２記載の仮想計算機制御装置。
【請求項４】
前記仮想計算機制御装置は、さらに、
前記命令受信部が前記仮想計算機の停止命令を受信した場合、特定データだけを前記仮想通信装置に受信させるフィルタリング部を備える
ことを特徴とする請求項１から請求項３いずれかに記載の仮想計算機制御装置。
【請求項５】
前記フィルタリング部は、特定の仮想計算機から送信されたデータだけを前記特定データとして前記仮想通信装置に受信させる
ことを特徴とする請求項４記載の仮想計算機制御装置。
【請求項６】
前記命令受信部は、停止時刻が指定された停止命令を受信し、
前記計算機制御部は、前記停止命令に指定された停止時刻に前記仮想計算機を停止し、
前記通信装置制御部は、前記停止命令に指定された停止時刻から前記受信待ち時間が経過した後に、前記仮想通信装置によって前記受信待ち時間に受信されたデータを前記保存領域に保存する
ことを特徴とする請求項１から請求項５いずれかに記載の仮想計算機制御装置。
【請求項７】
前記仮想計算機制御装置は、さらに、
前記仮想計算機管理装置から前記仮想計算機管理装置の内部時刻を示す時刻情報を受信し、受信した時刻情報に基づいて前記仮想計算機管理装置の内部時刻と前記仮想計算機制御装置の内部時刻との時刻差を算出する時刻調整部とを備え、
前記命令受信部は、停止時刻が指定された停止命令を受信し、
前記計算機制御部は、前記停止命令に指定された停止時刻と前記時刻調整部により算出された時刻差とに基づいて、前記仮想計算機管理装置の内部時刻と前記停止時刻とが一致する停止タイミングに前記仮想計算機を停止し、
前記通信装置制御部は、前記停止タイミングから前記受信待ち時間が経過した後に、前記仮想通信装置によって前記受信待ち時間に受信されたデータを前記保存領域に保存する
ことを特徴とする請求項１から請求項５いずれかに記載の仮想計算機制御装置。
【請求項８】
請求項１から請求項７いずれかに記載の仮想計算機制御装置と、
複数の仮想計算機それぞれの停止命令を送信する仮想計算機管理装置と
を有することを特徴とする仮想計算機制御システム。
【請求項９】
通信処理を行う仮想通信装置と前記仮想通信装置を介してデータを通信する仮想計算機とが組み込まれた仮想計算機制御装置の仮想計算機制御方法において、
命令受信部が、前記仮想計算機を含む複数の仮想計算機を管理する仮想計算機管理装置から前記仮想計算機の停止命令を受信し、
計算機制御部が、前記命令受信部が前記仮想計算機の停止命令を受信した場合、前記仮想計算機を停止し、
通信装置制御部が、前記命令受信部が前記仮想計算機の停止命令を受信した場合、他の仮想計算機が他の仮想計算機の停止命令によって停止される前に他の仮想計算機によって送信されたデータを受信するための所定の受信待ち時間が経過した後に、前記仮想通信装置によって前記受信待ち時間に受信されたデータを所定の保存領域に保存する
ことを特徴とする仮想計算機制御装置の仮想計算機制御方法。
【請求項１０】
請求項９記載の仮想計算機制御方法を仮想計算機制御装置に実行させる仮想計算機制御プログラム。
【国際調査報告】
2012063306.tif 000015
2012063306.tif 000016
2012063306.tif 000017
2012063306.tif 000018