(57)【要約】【課題】プロセスマイグレーション処理時の移動対象プロセスの停止時間を短縮させる。【解決手段】転送元プロセスのコピーを転送中に、実行記録部１０９で実行記録を生成しながら、転送元プロセスの実行を継続する。実行再生部１１６は転送終了後に実行記録をもとに再生処理を行って転送元と転送先プロセスの同期をとる。再生処理の予想所要時間が所定の長さを超える場合は、再生処理中にも実行記録部１０９で実行記録を生成しながら転送元プロセスの実行を継続し、再生完了後に再び同期を取る。予想所要時間がが所定の長さ以下になった時点で、プロセスの実行を転送元プロセスから転送先プロセスへ移行する。【選択図】　図１
2004078465.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続された第１および第２の計算機の間のプロセスマイグレーション方法であって、
前記第１の計算機で実行中のプロセスを複製して前記第２の計算機へ送信する送信ステップと、
前記第１の計算機で実行中の前記プロセスの実行記録の生成を開始する記録開始ステップと、
前記第２の計算機において、前記第１の計算機から送信された複製を受信し、これを用いて前記プロセスを復元した復元プロセスを生成する第１の復元ステップと、
前記実行記録に基づいて、前記プロセスの実行を前記復元プロセスに移行させるか、あるいは、まだ移行させないかを判断する判断ステップと、
前記判断ステップにより移行させると判断された場合には、前記第１の計算機における前記プロセスの実行を終了させ、生成中の実行記録を前記第２の計算機へ送信するとともに、前記復元プロセスの上で前記プロセスの動作を再生し、再生終了後に復元プロセスの実行を開始する移行ステップと、
前記判断ステップによりまだ移行させないと判断された場合には、前記第１の計算機は現在の実行記録の生成を終了して新たな実行記録の生成を開始するとともに、前記現在の実行記録を前記第２の計算機へ転送し、前記第２の計算機は前記復元プロセスの上で前記プロセスの動作を再生する第２の復元ステップとを有し、
前記第２の復元ステップ終了後、前記判断ステップを再実行することを特徴とするプロセスマイグレーション方法。
【請求項２】
前記判断ステップでは、前記第２の計算機における前記実行記録を用いた再生処理の所要時間を推定し、前記所要時間が所定時間より短い場合は、プロセスを移行させると判断することを特徴とする請求項１記載のプロセスマイグレーション方法。
【請求項３】
前記判断ステップでは、前記実行記録の量を調べ、前記実行記録が所定量を下回る場合には、プロセスを移行させると判断することを特徴とする請求項１記載のプロセスマイグレーション方法。
【請求項４】
前記判断ステップでは、さらに、前記プロセスによるＣＰＵ利用率の平均値を調べ、前記平均値が所定の閾値を上回る場合にも、プロセスを移行させると判断することを特徴とする請求項２乃至請求項３記載のプロセスマイグレーション方法。
【請求項５】
実行中のプロセスをネットワークを介して他の計算機に移動させる機能を備える計算機であって、
実行中のプロセスの複製を生成するプロセス複製部と、
前記プロセスの実行記録を生成する実行記録生成部と、
前記プロセス複製部で生成した複製及び前記実行記録生成部で生成した実行記録を記憶する記憶部と、
前記他の計算機へ情報を送信する送信部と、
前記他の計算機から送信された情報を受け取る受信部と、
前記実行記録に基づいて、前記実行中のプロセスの処理を前記他の計算機に移行させるか、あるいは、まだ移行させないかを判断する判断部と、
前記判断部でまだ移行させないと判断された場合には、前記実行記録生成部に現在の実行記録の生成を終了させて新たな実行記録を生成させ、前記送信部に前記現在の実行記録を前記他の計算機に送信させ、前記受信部に前記他の計算機から実行記録に基づく再生処理の終了通知を受信させるように制御を行い、
前記判断部で移行させると判断された場合には、前記プロセスを終了し、前記実行記録生成部に現在の実行記録の生成を終了させ、前記送信部に前記現在の実行記録及び前記プロセスが終了した旨の通知を前記他の計算機に送信させるように制御を行う制御部とを有し、
前記制御部は、
前記判断部でまだ移行させないと判断された場合には、前記受信部が前記終了通知を受信したら前記判断部に再度判断を行わせることを特徴とする計算機。
【請求項６】
前記判断部は、前記他の計算機における、前記実行記録に基づく再生処理の所要時間を推定し、前記所要時間が所定時間より短い場合は、プロセスを移行させると判断することを特徴とする請求項５記載の計算機。
【請求項７】
前記判断部は、前記実行記録の量を調べ、前記実行記録が所定量を下回る場合には、プロセスを移行させると判断することを特徴とする請求項５記載の計算機。
【請求項８】
前記判断部は、さらに、前記プロセスによるＣＰＵ利用率の平均値を調べ、前記平均値が所定の閾値を上回る場合にも、プロセスを移行させると判断することを特徴とする請求項５乃至請求項７記載の計算機。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、実行中のプロセスを他の計算機ノードに移動させるプロセスマイグレーション方法および実行中のプロセスを他の計算機ノードに移動させる機能を備える計算機に関する。
【０００２】
【従来の技術】
複数の計算機ノードで構成される計算機システムにおいて、計算機ノードの負荷を平準化するため、該計算機ノード上で動作しているプロセスを他の計算機ノードに移動させる技術である、プロセスマイグレーション技術が用いられている。
【０００３】
プロセスマイグレーション技術は、ある計算機ノード上で動作しているプロセスが持つ実行状態（実行コンテクスト）を、他の計算機ノード上に転送し、その計算機ノード上において、転送された実行コンテクストを用いて、プロセスの実行を継続する技術である。プロセスの実行コンテクストとは、具体的には、プロセスが使用しているメモリ空間上のデータ（コードも含む）と、中央処理装置（ＣＰＵ）の状態であるレジスタの値と、プロセスがオープンしているファイルの情報等を含んで構成されるデータである。
【０００４】
プロセスマイグレーション技術を用いれば、複数の計算機ノードがある計算機システムにおいて、特定の計算機ノードに負荷が集中しているが、他の計算機ノードの処理能力に余裕がある場合に、負荷をかけているプロセスを他の計算機ノードに移動させることができるので、個々の計算機ノードの負荷を平準化することができる。一般的に、計算機システムの負荷を平準化することができると、計算機システム全体のレスポンスタイムやスループットを向上させることができる。
【０００５】
近年の計算機ノードは大きいメモリを搭載し、その処理性能を向上させているため、プロセスの使用メモリも非常に大きくなる傾向にある。その結果、プロセスの実行コンテクストのデータ量は、非常に大きくなる。計算機ノード間のデータ通信は、そのデータ量に応じて処理時間がかかるので、計算機ノード間の実行コンテクストの転送処理時間は、結果として非常に大きくなる。
【０００６】
従来のプロセスマイグレーション技術では、プロセスマイグレーション処理中にプロセスの実行コンテクストが更新されるのを防ぐため、例えば特許文献１において開示されているように、移動対象のプロセスの実行を一旦停止させる。そのため、計算機システムを利用しているユーザから見ると、あたかも計算機システムの応答が停止しているように見える。
【０００７】
また、非特許文献１において開示されている「ＰｒｅＣｏｐｙ」と呼ばれる方式は、プロセスを実行したままで事前にメモリ空間の全内容を転送しておき、最終的にプロセスを停止して、プロセスが使用している実行コンテクストの内容のうち先の転送後に変更された内容とプロセス状態を表すその他のデータを転送する技術である。
【０００８】
しかし、前述のようにメモリ空間の内容の転送処理に時間がかかってしまうと、転送中にプロセスが実行されたことによって転送元の計算機ノードのメモリ空間の内容に生じる変更内容も大きくなるため、変更内容等の転送に要する時間が長くなり、ユーザから見ると計算機システムの応答が長時間停止しているように見えてしまう。
【０００９】
【特許文献１】
特開２０００−２２２３７６号公報
【００１０】
【非特許文献１】
Ｍ．Ｔｈｅｉｍｅｒ，　Ｋ．Ｌａｎｔｚ，　Ｄ．Ｃｈｅｒｉｔｏｎ．　「Ｐｒｅｅｍｐｔａｂｌｅ　ａｎｄ　ｒｅｍｏｔｅ　ｅｘｅｃｕｔｉｏｎ　ｆａｃｉｌｉｔｉｅｓ　ｆｏｒ　ｔｈｅ　Ｖ−ｓｙｓｔｅｍ．」　Ｉｎ　１０ｔｈ　ＡＣＭＳｙｍｐｏｓｉｕｍ　ｏｎ　Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍｓ　Ｐｒｉｎｃｉｐｌｅｓ，ｐａｇｅｓ２−１２，１９８５
【００１１】
【発明が解決しようとする課題】
上述の通り、従来のプロセスマイグレーション技術では、プロセスマイグレーション処理中にプロセスの実行を一旦停止させるが、計算機ノード間の実行コンテクストの転送処理時間が大きくなる傾向にあるため、計算機システムを利用しているユーザから見ると計算機システムの応答が長時間停止してしまうという問題があった。
【００１２】
そこで、本発明ではプロセスマイグレーション処理中のプロセス停止時間を短く抑えて、ユーザに対する応答性能を向上させることのできるプロセスマイグレーション方法及び計算機を提供することを目的とする。
【００１３】
【課題を解決するための手段】
上記課題を解決するため、本発明のプロセスマイグレーション方法は、ネットワークを介して接続された第１および第２の計算機の間のプロセスマイグレーション方法であって、前記第１の計算機で実行中のプロセスを複製して前記第２の計算機へ送信する送信ステップと、前記第１の計算機で実行中の前記プロセスの実行記録の生成を開始する記録開始ステップと、前記第２の計算機において、前記第１の計算機から送信された複製を受信し、これを用いて前記プロセスを復元した復元プロセスを生成する第１の復元ステップと、前記実行記録に基づいて、前記プロセスの実行を前記復元プロセスに移行させるか、あるいは、まだ移行させないかを判断する判断ステップと、前記判断ステップにより移行させると判断された場合には、前記第１の計算機における前記プロセスの実行を終了させ、生成中の実行記録を前記第２の計算機へ送信するとともに、前記復元プロセスの上で前記プロセスの動作を再生し、再生終了後に復元プロセスの実行を開始する移行ステップと、前記判断ステップによりまだ移行させないと判断された場合には、前記第１の計算機は現在の実行記録の生成を終了して新たな実行記録の生成を開始するとともに、前記現在の実行記録を前記第２の計算機へ転送し、前記第２の計算機は前記復元プロセスの上で前記プロセスの動作を再生する第２の復元ステップとを有し、前記第２の復元ステップ終了後、前記判断ステップを再実行することを特徴とする。
【００１４】
また、前記判断ステップでは、前記第２の計算機における前記実行記録を用いた再生処理の所要時間を推定し、前記所要時間が所定時間より短い場合は、プロセスを移行させると判断することを特徴としても良い。
【００１５】
また、前記判断ステップでは、前記実行記録の量を調べ、前記実行記録が所定量を下回る場合には、プロセスを移行させると判断することを特徴としても良い。
【００１６】
また、前記判断ステップでは、さらに、前記プロセスによるＣＰＵ利用率の平均値を調べ、前記平均値が所定の閾値を上回る場合にも、プロセスを移行させると判断することを特徴としても良い。
【００１７】
本発明の計算機は、実行中のプロセスをネットワークを介して他の計算機に移動させる機能を備える計算機であって、実行中のプロセスの複製を生成するプロセス複製部と、前記プロセスの実行記録を生成する実行記録生成部と、前記プロセス複製部で生成した複製及び前記実行記録生成部で生成した実行記録を記憶する記憶部と、前記他の計算機へ情報を送信する送信部と、前記他の計算機から送信された情報を受け取る受信部と、前記実行記録に基づいて、前記実行中のプロセスの処理を前記他の計算機に移行させるか、あるいは、まだ移行させないかを判断する判断部と、前記判断部でまだ移行させないと判断された場合には、前記実行記録生成部に現在の実行記録の生成を終了させて新たな実行記録を生成させ、前記送信部に前記現在の実行記録を前記他の計算機に送信させ、前記受信部に前記他の計算機から実行記録に基づく再生処理の終了通知を受信させるように制御を行い、前記判断部で移行させると判断された場合には、前記プロセスを終了し、前記実行記録生成部に現在の実行記録の生成を終了させ、前記送信部に前記現在の実行記録及び前記プロセスが終了した旨の通知を前記他の計算機に送信させるように制御を行う制御部とを有し、前記制御部は、前記判断部でまだ移行させないと判断された場合には、前記受信部が前記終了通知を受信したら前記判断部に再度判断を行わせることを特徴とする。
【００１８】
また、前記判断部は、前記他の計算機における、前記実行記録に基づく再生処理の所要時間を推定し、前記所要時間が所定時間より短い場合は、プロセスを移行させると判断することを特徴としても良い。
【００１９】
また、前記判断部は、前記実行記録の量を調べ、前記実行記録が所定量を下回る場合には、プロセスを移行させると判断することを特徴としても良い。
【００２０】
また、前記判断部は、さらに、前記プロセスによるＣＰＵ利用率の平均値を調べ、前記平均値が所定の閾値を上回る場合にも、プロセスを移行させると判断することを特徴としても良い。
【００２１】
【発明の実施の形態】
以下、本発明のプロセスマイグレーション方法の一実施形態について説明する。
【００２２】
（本実施形態の概要）まず、本実施形態の概要を説明する。
【００２３】
本実施形態のプロセスマイグレーション方法は、ネットワークを介して接続された転送元計算機ノードと転送先計算機ノードとの間で、プロセスを移動させる際に適用するのに好適なものである。
【００２４】
尚、説明を簡単にするため、本実施形態ではネットワークに接続されている計算機ノードは、転送元計算機ノードと転送先計算機ノードの２つだけある場合を扱うが、３つ以上の計算機ノードが接続されていても良い。
【００２５】
転送元計算機ノードには、移動対象プロセスの実行結果を記録する実行記録装置を設けておく。一方、転送先計算機ノードには前述の実行記録装置で記録された実行結果を元にプロセスの実行を再生する実行再生装置を設けておく。これら、実行記録装置と実行再生装置を用いて、両計算機ノード間における移動対象プロセスの同期をとる。
【００２６】
転送元計算機ノードでは、プロセスマイグレーションの開始時に、移動対象プロセスが使用しているメモリ空間の内容のコピーを生成する。そしてコピー完了後、移動対象プロセスの原本の実行結果を実行記録装置に順次記録しながら、移動対象プロセスの原本の実行を継続する。
【００２７】
ここで記録する実行結果は、例えば、オペレーティングシステムやライブラリの呼び出しに用いられた引数とその結果等である。本実施形態では、実行結果に基づく移動先計算機での再生処理の所要時間を推定するために、実行結果には移動対象プロセスの原本のＣＰＵ使用率も記録しておく。
【００２８】
移動対象プロセスが使用しているメモリ空間の内容のコピーは、ネットワークを介して転送先計算機ノードに転送される。そして、転送先計算機ノードにおいてコピーを用いてプロセスのメモリ空間が復元される。この間も転送元計算機ノード上で移動対象プロセスの原本の実行は継続されているため、計算機システムを利用しているユーザから見ると計算機システムが応答しているように見え、ユーザに不快感を与えずに済む。
【００２９】
移動対象プロセスのメモリ空間の内容のコピーの転送が終了した後、転送元計算機ノードの実行記録装置に記録された実行記録とＣＰＵの使用率から、転送先計算機ノード上での実行結果に基づく再生処理の所要時間を推定する。推定された所要時間によって、次の処理は下記（Ａ）（Ｂ）いずれかに分岐させる。
【００３０】
（Ａ）転送元計算機ノードにおいて推定された実行結果に基づく再生処理の所要時間が十分に小さい場合には、転送先計算機ノードの移動対象プロセスのコピーに処理を移行する。そのため、実行記録を転送先計算機ノードに転送すると共に転送元計算機ノード上で動作中の移動対象プロセスの原本を破棄する。そして、転送元計算機ノードの移動対象プロセスの原本を破棄した旨を転送先計算機ノードに通知する。
【００３１】
（Ｂ）転送元計算機ノードにおいて推定された実行記録に基づく再生処理の所要時間が依然大きい場合には、引き続き転送元計算機ノードにおいてプロセスを実行する。そのため、実行記録を転送先計算機ノードに転送すると共に、転送元計算機ノード上でのプロセスの実行を継続し、新たに実行結果の記録を行う。
【００３２】
転送先計算機ノードの実行再生部では、転送元計算機ノードで記録された実行記録に基づいて実行記録の再生処理を行って、移動対象プロセスのコピーの状態を移動対象プロセスの原本の最新の状態（記録されている限度において最新）に同期させる。
【００３３】
再生処理においては、オペレーティングシステムやライブラリを呼び出す代わりに実行記録に記録されたオペレーティングシステムやライブラリの呼び出し結果を用いるため、これらの呼び出しにかかる待ち時間が無い。そのため、ＣＰＵはプロセスの処理だけに用いることができるので、再生処理にかかる時間は、全実行時間×ＣＰＵ使用率となる。すなわち、一般に、実行記録の再生は実際に処理を実行するよりも高速に行うことができる。
【００３４】
従って（Ｂ）のケースにおいて、転送先計算機ノードで実行再生中に転送元計算機ノードで新たに記録される実行結果の量は、その前の実行結果よりも少ないと考えられる。そのため、後述する例外的な場合を除き、実行結果の記録および再生を繰り返すことにより実行結果の量は次第に少なくなり、その再生にかかる処理時間は十分小さい値にすることが可能となる。
【００３５】
例外的に、移動対象プロセスの原本のＣＰＵ使用率が１００％近い値であった場合には、実行の再生処理と、通常の処理との間に処理時間の差がほとんど無いため、実行結果の記録および再生を繰り返しても、実行記録の再生にかかる処理時間は低減できない。その場合には、繰り返し処理は行わずに、転送先計算機ノード上のプロセスに処理を移行する。
【００３６】
転送先計算機ノードでは、受け取った実行記録を元にプロセスの実行を再生する。全ての実行記録の再生が終了すると、転送先計算機ノードの移動対象プロセスのコピーの状態は、実行記録の最終時点における転送元計算機ノードの移動対象プロセスの原本の状態に等しくなる。
【００３７】
この際、既に転送元計算機ノードの移動対象プロセスの原本が破棄されていた場合には、移動対象プロセスのコピーの状態は最新の状態になっている。
【００３８】
転送元計算機ノードから移動対象プロセスの原本が破棄された旨の通知があった場合は、転送先計算機ノードの移動対象プロセスのコピーが転送元計算機ノードの移動対象プロセスの原本の処理を引き継ぎ、プロセスマイグレーション処理が完了する。
【００３９】
また、転送元計算機ノード上のプロセスの実行が継続されている場合には、転送元計算機ノード上で新たに記録された実行記録及びＣＰＵ使用率を元に、再度、転送先計算機ノード上での実行記録の再生にかかる処理時間の推定処理を行い、上述した実行記録の転送処理及び再生処理を繰り返す。
【００４０】
この様にすれば、転送元計算機ノードから転送先計算機ノードに、プロセスの処理を移行する際の処理時間である実行記録の再生時間を小さくできるので、さらに、プロセスの一時停止時間を小さくすることができる。
【００４１】
（概略構成）以下、本実施形態の構成を図１を用いて説明する。
【００４２】
図１は、通信路１０３を介して接続された計算機ノード１０１、１０２を含んで構成される計算機システムである。
【００４３】
計算機ノード１０１は、移動対象プロセスである転送元プロセス１０６のコピーを転送先である計算機ノード１０２へ転送するプロセス転送部１０４と、計算機ノード１０２との通信を行う通信装置１０５とを有する。
【００４４】
プロセス転送部１０４は、実行コンテクスト転送部１０７、実行記録部１０９で構成される。実行コンテクスト転送部１０７は、実行コンテクスト記憶部１０８を管理し、実行記録部１０９は、実行記録１１０を管理する。
【００４５】
計算機ノード１０２は、転送元プロセス１０６のコピーを計算機ノード１０１から受信して転送先プロセス１１３を生成するプロセス受信部１１１と、計算機ノード１０１との通信を行う通信装置１１２とを有する。
【００４６】
プロセス受信部１１１は、実行コンテクスト受信部１１４、実行再生部１１６で構成される。実行コンテクスト受信部１１４は、実行コンテクスト記憶部１１５を管理し、実行再生部１１６は、実行記録１１７を管理する。
【００４７】
尚、本実施形態では一つの計算機ノードにプロセス転送部あるいはプロセス受信部のいずれか一方だけを備えた構成になっているが、一つの計算機ノードにプロセス転送部とプロセス受信部の両方を備えても良い。その様にすれば、相互にプロセスマイグレーション処理を行うことができる。
【００４８】
（転送元のプロセスマイグレーション処理）送信元である計算機ノード１０１におけるプロセスマイグレーション処理を、図２のフローチャートを用いて説明する。
【００４９】
（実行コンテクストの転送処理）図２のステップ２０１からステップ２０６は実行コンテクスト転送部１０７における、転送元プロセス１０６が使用しているメモリ空間の内容のコピーの転送処理を説明するフローチャートである。
【００５０】
まず、実行コンテクスト転送部１０７は転送元プロセス１０６の実行を一時停止し（ステップ２０１）、転送元プロセス１０６のメモリ空間の内容のコピーを生成して実行コンテクスト記憶部１０８に記憶させる（ステップ２０２）。
【００５１】
続いて、実行コンテクスト転送部１０７は、実行記録部１０９に転送元プロセス１０６の実行結果の記録開始を指示するとともに（ステップ２０３）、転送元プロセス１０６の実行を再開する（ステップ２０４）。
【００５２】
そして、実行コンテクスト転送部１０７は、通信装置１０５を介して実行コンテクスト記憶部１０８に記憶させておいたメモリ空間の内容のコピーを計算機ノード１０２に転送する（ステップ２０５）。
【００５３】
そして、メモリ空間の内容の転送が完了するまで待機する（ステップ２０６）。
（実行記録の記録処理、プロセス移行処理）図２のステップ２０６以降を用いて実行記録部１０９における実行記録の記録処理及びプロセス移行処理について説明する。
【００５４】
実行記録部１０９は前述のステップ２０３で記録開始の指示を受けて以降、転送元プロセス１０６の実行記録の記録を行って実行記録１１０に蓄積している。
【００５５】
実行記録部１０９は再生処理を開始する旨の通知を受けた段階で転送元プロセス１０６の実行を一時停止し（ステップ２０７）、これまでに蓄積された実行記録１１０の再生処理の所要時間の推定を行う（ステップ２０８）。本実施形態では、再生処理の所要時間の推定は、実行記録１１０に記録されている実行結果やＣＰＵ使用率、さらには実行記録１１０のデータ量等を参酌して行う。尚、推定を簡単に済ませるのであれば、実行記録１１０の内容は考慮せずに実行記録１１０のデータ量だけで判断するという手法でも良い。
【００５６】
推定した所要時間を所定の基準時間と比較し（ステップ２０９）、基準時間未満の場合には、転送元プロセス１０６を破棄して（ステップ２１０）、ＣＰＵレジスタの値やファイル情報等の情報と実行記録１１０と転送元プロセス１０６が破棄された旨の情報とを実行再生部１１６に送信する（ステップ２１１）。
【００５７】
一方、所要時間が基準時間以上の場合は、転送元プロセス１０６の現在の実行記録の記録を終了して、新たな実行記録の記録を開始し（ステップ２１２）、転送元プロセス１０６の実行を再開するとともに（ステップ２１３）、ＣＰＵレジスタの値やファイル情報等の情報と実行記録１１０に記録されている前の実行記録（ステップ２１２で記録を終了した方の実行記録）とを計算機ノード１１２に転送し（ステップ２１４）、再生処理が終了するまで待機する（ステップ２１５）。
【００５８】
（転送先のプロセスマイグレーション処理）転送先である計算機ノード１０２におけるプロセスマイグレーション処理を、図３のフローチャートを用いて説明する。
【００５９】
（実行コンテクストの転送処理）図３のステップ３０１からステップ３０３は実行コンテクスト受信部１１４における転送元プロセス１０６が使用しているメモリ空間の内容のコピーの受信処理を説明するフローチャートである。
【００６０】
実行コンテクスト受信部１１４は、通信装置１１２を介して計算機ノード１０１から送信されてきたメモリ空間の内容を受信して実行コンテクスト記憶部１１５に記憶させ（ステップ３０１）、記憶させたメモリ空間の内容を用いて転送先プロセス１１３を復元する（ステップ３０２）。
【００６１】
復元が完了したら、実行コンテクスト受信部１１４は実行コンテクスト転送部１０７にメモリ空間の内容の転送処理が終了した旨を通知する（ステップ３０３）。
【００６２】
（実行記録の再生処理）図３のステップ３０４以降は実行再生部１１６における実行記録の再生処理を説明するフローチャートである。
【００６３】
実行再生部１１６は実行記録部１０９から送信されてきた実行記録を受信して実行記録１１７に蓄積するとともに、ＣＰＵレジスタの値やファイル情報等を実行コンテクスト記憶部１１５に記憶させる（ステップ３０４）。そして、受信した実行記録等を用いて転送先プロセス１１３の再生処理を開始する（ステップ３０５）。
【００６４】
全ての実行記録について再生が終了したら（ステップ３０６）、転送元プロセス１０６が破棄されているかを確認する（ステップ３０７）。
【００６５】
転送元プロセス１０６が破棄されている場合は、プロセスは完全に移動したことになるので、転送先プロセス１１３の実行を開始させる（ステップ３０８）。
【００６６】
転送元プロセス１０６が破棄されていない場合は転送先プロセス１１３の再生処理を一時停止し（ステップ３０９）、実行記録部１０９に再生処理が終わった旨を通知する。
【００６７】
この様に、プロセスマイグレーション処理中にも、転送元の計算機ノード上で移動対象である転送元プロセスの実行を継続することにより、計算機システムを利用しているユーザに計算機システムが常に応答しているように見せることが可能になる。また、実行再生にかかる処理時間が大きい場合には、実行記録とその再生を行う処理を繰り返し行うことによって、プロセスの停止時間を一層短縮させることが可能となる。
【００６８】
（実行記録の例）実行記録１１０の例を、図４に示す。
【００６９】
実行記録１１０には、プロセスからの処理要求の内容４０２と、その結果４０３とを組で記録する。
【００７０】
例えば、記録４０４には、「現在時刻の取得」処理が要求され、その結果として「２００２／６／４　２０：３０」が記録されている。そのため、転送先プロセスが、「２００２／６／４　２０：３０」以降、例えば、「２００２／６／４２０：３３」に、「現在時刻の取得」の処理を再生したとしても、転送元プロセスが用いた時刻である「２００２／６／４　２０：３０」を正しく返すことが可能となる。そのため、転送元プロセスと転送先プロセスの状態を等しくすることが可能となる。
【００７１】
また、記録４０５には、ファイルからデータを読み込む処理が要求され、その結果として読み込んだデータが記録されている。一般にはファイルが記録されているのはＨＤＤ（ハードディスク）等のデバイスで、メモリ等に比べるとアクセス速度が大変遅いデバイスである。プロセスの通常の実行ではＨＤＤ上のファイルからデータを読み込むところ、再生処理ではメモリ上の実行記録から読み込むので、通常の実行に比べて高速に処理が行えることが分かる。
【００７２】
【発明の効果】
以上、本発明によれば、プロセスマイグレーション処理において、移動元計算機ノードにおけるプロセスの実行記録の生成と移動先計算機ノードにおけるプロセスの実行再生処理を繰り返し行うので、実行再生処理の所要時間が大きい場合でも、プロセスの停止時間を短く抑えることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態のプロセスマイグレーション方法を適用した計算機ノードシステムの構成図。
【図２】本発明の一実施形態のプロセスマイグレーション方法における転送元計算機ノード側の処理を説明する図。
【図３】本発明の一実施形態のプロセスマイグレーション方法における転送先計算機ノード側の処理を説明する図。
【図４】本発明の一実施形態のプロセスマイグレーション方法における実行記録の一例を説明する図。
【符号の説明】
１０１、１０２　計算機ノード
１０３　通信路
１０４　プロセス転送部
１０５、１１２　通信装置
１０６　転送元プロセス
１０７　実行コンテクスト転送部
１０８、１１５　実行コンテクスト記憶部
１０９　実行記録部
１１０、１１７　実行記録
１１３　転送先プロセス
１１４　実行コンテクスト受信部
１１６　実行再生部
【図１】
2004078465.tif 000003
【図２】
2004078465.tif 000004
【図３】
2004078465.tif 000005
【図４】
2004078465.tif 000006