JP2004078465A - プロセスマイグレーション方法、計算機 - Google Patents
プロセスマイグレーション方法、計算機 Download PDFInfo
- Publication number
- JP2004078465A JP2004078465A JP2002236432A JP2002236432A JP2004078465A JP 2004078465 A JP2004078465 A JP 2004078465A JP 2002236432 A JP2002236432 A JP 2002236432A JP 2002236432 A JP2002236432 A JP 2002236432A JP 2004078465 A JP2004078465 A JP 2004078465A
- Authority
- JP
- Japan
- Prior art keywords
- computer
- execution
- execution record
- unit
- transfer
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
- G06F9/4862—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】転送元プロセスのコピーを転送中に、実行記録部109で実行記録を生成しながら、転送元プロセスの実行を継続する。実行再生部116は転送終了後に実行記録をもとに再生処理を行って転送元と転送先プロセスの同期をとる。再生処理の予想所要時間が所定の長さを超える場合は、再生処理中にも実行記録部109で実行記録を生成しながら転送元プロセスの実行を継続し、再生完了後に再び同期を取る。予想所要時間がが所定の長さ以下になった時点で、プロセスの実行を転送元プロセスから転送先プロセスへ移行する。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、実行中のプロセスを他の計算機ノードに移動させるプロセスマイグレーション方法および実行中のプロセスを他の計算機ノードに移動させる機能を備える計算機に関する。
【0002】
【従来の技術】
複数の計算機ノードで構成される計算機システムにおいて、計算機ノードの負荷を平準化するため、該計算機ノード上で動作しているプロセスを他の計算機ノードに移動させる技術である、プロセスマイグレーション技術が用いられている。
【0003】
プロセスマイグレーション技術は、ある計算機ノード上で動作しているプロセスが持つ実行状態(実行コンテクスト)を、他の計算機ノード上に転送し、その計算機ノード上において、転送された実行コンテクストを用いて、プロセスの実行を継続する技術である。プロセスの実行コンテクストとは、具体的には、プロセスが使用しているメモリ空間上のデータ(コードも含む)と、中央処理装置(CPU)の状態であるレジスタの値と、プロセスがオープンしているファイルの情報等を含んで構成されるデータである。
【0004】
プロセスマイグレーション技術を用いれば、複数の計算機ノードがある計算機システムにおいて、特定の計算機ノードに負荷が集中しているが、他の計算機ノードの処理能力に余裕がある場合に、負荷をかけているプロセスを他の計算機ノードに移動させることができるので、個々の計算機ノードの負荷を平準化することができる。一般的に、計算機システムの負荷を平準化することができると、計算機システム全体のレスポンスタイムやスループットを向上させることができる。
【0005】
近年の計算機ノードは大きいメモリを搭載し、その処理性能を向上させているため、プロセスの使用メモリも非常に大きくなる傾向にある。その結果、プロセスの実行コンテクストのデータ量は、非常に大きくなる。計算機ノード間のデータ通信は、そのデータ量に応じて処理時間がかかるので、計算機ノード間の実行コンテクストの転送処理時間は、結果として非常に大きくなる。
【0006】
従来のプロセスマイグレーション技術では、プロセスマイグレーション処理中にプロセスの実行コンテクストが更新されるのを防ぐため、例えば特許文献1において開示されているように、移動対象のプロセスの実行を一旦停止させる。そのため、計算機システムを利用しているユーザから見ると、あたかも計算機システムの応答が停止しているように見える。
【0007】
また、非特許文献1において開示されている「PreCopy」と呼ばれる方式は、プロセスを実行したままで事前にメモリ空間の全内容を転送しておき、最終的にプロセスを停止して、プロセスが使用している実行コンテクストの内容のうち先の転送後に変更された内容とプロセス状態を表すその他のデータを転送する技術である。
【0008】
しかし、前述のようにメモリ空間の内容の転送処理に時間がかかってしまうと、転送中にプロセスが実行されたことによって転送元の計算機ノードのメモリ空間の内容に生じる変更内容も大きくなるため、変更内容等の転送に要する時間が長くなり、ユーザから見ると計算機システムの応答が長時間停止しているように見えてしまう。
【0009】
【特許文献1】
特開2000−222376号公報
【0010】
【非特許文献1】
M.Theimer, K.Lantz, D.Cheriton. 「Preemptable and remote execution facilities for the V−system.」 In 10th ACMSymposium on Operating Systems Principles,pages2−12,1985
【0011】
【発明が解決しようとする課題】
上述の通り、従来のプロセスマイグレーション技術では、プロセスマイグレーション処理中にプロセスの実行を一旦停止させるが、計算機ノード間の実行コンテクストの転送処理時間が大きくなる傾向にあるため、計算機システムを利用しているユーザから見ると計算機システムの応答が長時間停止してしまうという問題があった。
【0012】
そこで、本発明ではプロセスマイグレーション処理中のプロセス停止時間を短く抑えて、ユーザに対する応答性能を向上させることのできるプロセスマイグレーション方法及び計算機を提供することを目的とする。
【0013】
【課題を解決するための手段】
上記課題を解決するため、本発明のプロセスマイグレーション方法は、ネットワークを介して接続された第1および第2の計算機の間のプロセスマイグレーション方法であって、前記第1の計算機で実行中のプロセスを複製して前記第2の計算機へ送信する送信ステップと、前記第1の計算機で実行中の前記プロセスの実行記録の生成を開始する記録開始ステップと、前記第2の計算機において、前記第1の計算機から送信された複製を受信し、これを用いて前記プロセスを復元した復元プロセスを生成する第1の復元ステップと、前記実行記録に基づいて、前記プロセスの実行を前記復元プロセスに移行させるか、あるいは、まだ移行させないかを判断する判断ステップと、前記判断ステップにより移行させると判断された場合には、前記第1の計算機における前記プロセスの実行を終了させ、生成中の実行記録を前記第2の計算機へ送信するとともに、前記復元プロセスの上で前記プロセスの動作を再生し、再生終了後に復元プロセスの実行を開始する移行ステップと、前記判断ステップによりまだ移行させないと判断された場合には、前記第1の計算機は現在の実行記録の生成を終了して新たな実行記録の生成を開始するとともに、前記現在の実行記録を前記第2の計算機へ転送し、前記第2の計算機は前記復元プロセスの上で前記プロセスの動作を再生する第2の復元ステップとを有し、前記第2の復元ステップ終了後、前記判断ステップを再実行することを特徴とする。
【0014】
また、前記判断ステップでは、前記第2の計算機における前記実行記録を用いた再生処理の所要時間を推定し、前記所要時間が所定時間より短い場合は、プロセスを移行させると判断することを特徴としても良い。
【0015】
また、前記判断ステップでは、前記実行記録の量を調べ、前記実行記録が所定量を下回る場合には、プロセスを移行させると判断することを特徴としても良い。
【0016】
また、前記判断ステップでは、さらに、前記プロセスによるCPU利用率の平均値を調べ、前記平均値が所定の閾値を上回る場合にも、プロセスを移行させると判断することを特徴としても良い。
【0017】
本発明の計算機は、実行中のプロセスをネットワークを介して他の計算機に移動させる機能を備える計算機であって、実行中のプロセスの複製を生成するプロセス複製部と、前記プロセスの実行記録を生成する実行記録生成部と、前記プロセス複製部で生成した複製及び前記実行記録生成部で生成した実行記録を記憶する記憶部と、前記他の計算機へ情報を送信する送信部と、前記他の計算機から送信された情報を受け取る受信部と、前記実行記録に基づいて、前記実行中のプロセスの処理を前記他の計算機に移行させるか、あるいは、まだ移行させないかを判断する判断部と、前記判断部でまだ移行させないと判断された場合には、前記実行記録生成部に現在の実行記録の生成を終了させて新たな実行記録を生成させ、前記送信部に前記現在の実行記録を前記他の計算機に送信させ、前記受信部に前記他の計算機から実行記録に基づく再生処理の終了通知を受信させるように制御を行い、前記判断部で移行させると判断された場合には、前記プロセスを終了し、前記実行記録生成部に現在の実行記録の生成を終了させ、前記送信部に前記現在の実行記録及び前記プロセスが終了した旨の通知を前記他の計算機に送信させるように制御を行う制御部とを有し、前記制御部は、前記判断部でまだ移行させないと判断された場合には、前記受信部が前記終了通知を受信したら前記判断部に再度判断を行わせることを特徴とする。
【0018】
また、前記判断部は、前記他の計算機における、前記実行記録に基づく再生処理の所要時間を推定し、前記所要時間が所定時間より短い場合は、プロセスを移行させると判断することを特徴としても良い。
【0019】
また、前記判断部は、前記実行記録の量を調べ、前記実行記録が所定量を下回る場合には、プロセスを移行させると判断することを特徴としても良い。
【0020】
また、前記判断部は、さらに、前記プロセスによるCPU利用率の平均値を調べ、前記平均値が所定の閾値を上回る場合にも、プロセスを移行させると判断することを特徴としても良い。
【0021】
【発明の実施の形態】
以下、本発明のプロセスマイグレーション方法の一実施形態について説明する。
【0022】
(本実施形態の概要)まず、本実施形態の概要を説明する。
【0023】
本実施形態のプロセスマイグレーション方法は、ネットワークを介して接続された転送元計算機ノードと転送先計算機ノードとの間で、プロセスを移動させる際に適用するのに好適なものである。
【0024】
尚、説明を簡単にするため、本実施形態ではネットワークに接続されている計算機ノードは、転送元計算機ノードと転送先計算機ノードの2つだけある場合を扱うが、3つ以上の計算機ノードが接続されていても良い。
【0025】
転送元計算機ノードには、移動対象プロセスの実行結果を記録する実行記録装置を設けておく。一方、転送先計算機ノードには前述の実行記録装置で記録された実行結果を元にプロセスの実行を再生する実行再生装置を設けておく。これら、実行記録装置と実行再生装置を用いて、両計算機ノード間における移動対象プロセスの同期をとる。
【0026】
転送元計算機ノードでは、プロセスマイグレーションの開始時に、移動対象プロセスが使用しているメモリ空間の内容のコピーを生成する。そしてコピー完了後、移動対象プロセスの原本の実行結果を実行記録装置に順次記録しながら、移動対象プロセスの原本の実行を継続する。
【0027】
ここで記録する実行結果は、例えば、オペレーティングシステムやライブラリの呼び出しに用いられた引数とその結果等である。本実施形態では、実行結果に基づく移動先計算機での再生処理の所要時間を推定するために、実行結果には移動対象プロセスの原本のCPU使用率も記録しておく。
【0028】
移動対象プロセスが使用しているメモリ空間の内容のコピーは、ネットワークを介して転送先計算機ノードに転送される。そして、転送先計算機ノードにおいてコピーを用いてプロセスのメモリ空間が復元される。この間も転送元計算機ノード上で移動対象プロセスの原本の実行は継続されているため、計算機システムを利用しているユーザから見ると計算機システムが応答しているように見え、ユーザに不快感を与えずに済む。
【0029】
移動対象プロセスのメモリ空間の内容のコピーの転送が終了した後、転送元計算機ノードの実行記録装置に記録された実行記録とCPUの使用率から、転送先計算機ノード上での実行結果に基づく再生処理の所要時間を推定する。推定された所要時間によって、次の処理は下記(A)(B)いずれかに分岐させる。
【0030】
(A)転送元計算機ノードにおいて推定された実行結果に基づく再生処理の所要時間が十分に小さい場合には、転送先計算機ノードの移動対象プロセスのコピーに処理を移行する。そのため、実行記録を転送先計算機ノードに転送すると共に転送元計算機ノード上で動作中の移動対象プロセスの原本を破棄する。そして、転送元計算機ノードの移動対象プロセスの原本を破棄した旨を転送先計算機ノードに通知する。
【0031】
(B)転送元計算機ノードにおいて推定された実行記録に基づく再生処理の所要時間が依然大きい場合には、引き続き転送元計算機ノードにおいてプロセスを実行する。そのため、実行記録を転送先計算機ノードに転送すると共に、転送元計算機ノード上でのプロセスの実行を継続し、新たに実行結果の記録を行う。
【0032】
転送先計算機ノードの実行再生部では、転送元計算機ノードで記録された実行記録に基づいて実行記録の再生処理を行って、移動対象プロセスのコピーの状態を移動対象プロセスの原本の最新の状態(記録されている限度において最新)に同期させる。
【0033】
再生処理においては、オペレーティングシステムやライブラリを呼び出す代わりに実行記録に記録されたオペレーティングシステムやライブラリの呼び出し結果を用いるため、これらの呼び出しにかかる待ち時間が無い。そのため、CPUはプロセスの処理だけに用いることができるので、再生処理にかかる時間は、全実行時間×CPU使用率となる。すなわち、一般に、実行記録の再生は実際に処理を実行するよりも高速に行うことができる。
【0034】
従って(B)のケースにおいて、転送先計算機ノードで実行再生中に転送元計算機ノードで新たに記録される実行結果の量は、その前の実行結果よりも少ないと考えられる。そのため、後述する例外的な場合を除き、実行結果の記録および再生を繰り返すことにより実行結果の量は次第に少なくなり、その再生にかかる処理時間は十分小さい値にすることが可能となる。
【0035】
例外的に、移動対象プロセスの原本のCPU使用率が100%近い値であった場合には、実行の再生処理と、通常の処理との間に処理時間の差がほとんど無いため、実行結果の記録および再生を繰り返しても、実行記録の再生にかかる処理時間は低減できない。その場合には、繰り返し処理は行わずに、転送先計算機ノード上のプロセスに処理を移行する。
【0036】
転送先計算機ノードでは、受け取った実行記録を元にプロセスの実行を再生する。全ての実行記録の再生が終了すると、転送先計算機ノードの移動対象プロセスのコピーの状態は、実行記録の最終時点における転送元計算機ノードの移動対象プロセスの原本の状態に等しくなる。
【0037】
この際、既に転送元計算機ノードの移動対象プロセスの原本が破棄されていた場合には、移動対象プロセスのコピーの状態は最新の状態になっている。
【0038】
転送元計算機ノードから移動対象プロセスの原本が破棄された旨の通知があった場合は、転送先計算機ノードの移動対象プロセスのコピーが転送元計算機ノードの移動対象プロセスの原本の処理を引き継ぎ、プロセスマイグレーション処理が完了する。
【0039】
また、転送元計算機ノード上のプロセスの実行が継続されている場合には、転送元計算機ノード上で新たに記録された実行記録及びCPU使用率を元に、再度、転送先計算機ノード上での実行記録の再生にかかる処理時間の推定処理を行い、上述した実行記録の転送処理及び再生処理を繰り返す。
【0040】
この様にすれば、転送元計算機ノードから転送先計算機ノードに、プロセスの処理を移行する際の処理時間である実行記録の再生時間を小さくできるので、さらに、プロセスの一時停止時間を小さくすることができる。
【0041】
(概略構成)以下、本実施形態の構成を図1を用いて説明する。
【0042】
図1は、通信路103を介して接続された計算機ノード101、102を含んで構成される計算機システムである。
【0043】
計算機ノード101は、移動対象プロセスである転送元プロセス106のコピーを転送先である計算機ノード102へ転送するプロセス転送部104と、計算機ノード102との通信を行う通信装置105とを有する。
【0044】
プロセス転送部104は、実行コンテクスト転送部107、実行記録部109で構成される。実行コンテクスト転送部107は、実行コンテクスト記憶部108を管理し、実行記録部109は、実行記録110を管理する。
【0045】
計算機ノード102は、転送元プロセス106のコピーを計算機ノード101から受信して転送先プロセス113を生成するプロセス受信部111と、計算機ノード101との通信を行う通信装置112とを有する。
【0046】
プロセス受信部111は、実行コンテクスト受信部114、実行再生部116で構成される。実行コンテクスト受信部114は、実行コンテクスト記憶部115を管理し、実行再生部116は、実行記録117を管理する。
【0047】
尚、本実施形態では一つの計算機ノードにプロセス転送部あるいはプロセス受信部のいずれか一方だけを備えた構成になっているが、一つの計算機ノードにプロセス転送部とプロセス受信部の両方を備えても良い。その様にすれば、相互にプロセスマイグレーション処理を行うことができる。
【0048】
(転送元のプロセスマイグレーション処理)送信元である計算機ノード101におけるプロセスマイグレーション処理を、図2のフローチャートを用いて説明する。
【0049】
(実行コンテクストの転送処理)図2のステップ201からステップ206は実行コンテクスト転送部107における、転送元プロセス106が使用しているメモリ空間の内容のコピーの転送処理を説明するフローチャートである。
【0050】
まず、実行コンテクスト転送部107は転送元プロセス106の実行を一時停止し(ステップ201)、転送元プロセス106のメモリ空間の内容のコピーを生成して実行コンテクスト記憶部108に記憶させる(ステップ202)。
【0051】
続いて、実行コンテクスト転送部107は、実行記録部109に転送元プロセス106の実行結果の記録開始を指示するとともに(ステップ203)、転送元プロセス106の実行を再開する(ステップ204)。
【0052】
そして、実行コンテクスト転送部107は、通信装置105を介して実行コンテクスト記憶部108に記憶させておいたメモリ空間の内容のコピーを計算機ノード102に転送する(ステップ205)。
【0053】
そして、メモリ空間の内容の転送が完了するまで待機する(ステップ206)。
(実行記録の記録処理、プロセス移行処理)図2のステップ206以降を用いて実行記録部109における実行記録の記録処理及びプロセス移行処理について説明する。
【0054】
実行記録部109は前述のステップ203で記録開始の指示を受けて以降、転送元プロセス106の実行記録の記録を行って実行記録110に蓄積している。
【0055】
実行記録部109は再生処理を開始する旨の通知を受けた段階で転送元プロセス106の実行を一時停止し(ステップ207)、これまでに蓄積された実行記録110の再生処理の所要時間の推定を行う(ステップ208)。本実施形態では、再生処理の所要時間の推定は、実行記録110に記録されている実行結果やCPU使用率、さらには実行記録110のデータ量等を参酌して行う。尚、推定を簡単に済ませるのであれば、実行記録110の内容は考慮せずに実行記録110のデータ量だけで判断するという手法でも良い。
【0056】
推定した所要時間を所定の基準時間と比較し(ステップ209)、基準時間未満の場合には、転送元プロセス106を破棄して(ステップ210)、CPUレジスタの値やファイル情報等の情報と実行記録110と転送元プロセス106が破棄された旨の情報とを実行再生部116に送信する(ステップ211)。
【0057】
一方、所要時間が基準時間以上の場合は、転送元プロセス106の現在の実行記録の記録を終了して、新たな実行記録の記録を開始し(ステップ212)、転送元プロセス106の実行を再開するとともに(ステップ213)、CPUレジスタの値やファイル情報等の情報と実行記録110に記録されている前の実行記録(ステップ212で記録を終了した方の実行記録)とを計算機ノード112に転送し(ステップ214)、再生処理が終了するまで待機する(ステップ215)。
【0058】
(転送先のプロセスマイグレーション処理)転送先である計算機ノード102におけるプロセスマイグレーション処理を、図3のフローチャートを用いて説明する。
【0059】
(実行コンテクストの転送処理)図3のステップ301からステップ303は実行コンテクスト受信部114における転送元プロセス106が使用しているメモリ空間の内容のコピーの受信処理を説明するフローチャートである。
【0060】
実行コンテクスト受信部114は、通信装置112を介して計算機ノード101から送信されてきたメモリ空間の内容を受信して実行コンテクスト記憶部115に記憶させ(ステップ301)、記憶させたメモリ空間の内容を用いて転送先プロセス113を復元する(ステップ302)。
【0061】
復元が完了したら、実行コンテクスト受信部114は実行コンテクスト転送部107にメモリ空間の内容の転送処理が終了した旨を通知する(ステップ303)。
【0062】
(実行記録の再生処理)図3のステップ304以降は実行再生部116における実行記録の再生処理を説明するフローチャートである。
【0063】
実行再生部116は実行記録部109から送信されてきた実行記録を受信して実行記録117に蓄積するとともに、CPUレジスタの値やファイル情報等を実行コンテクスト記憶部115に記憶させる(ステップ304)。そして、受信した実行記録等を用いて転送先プロセス113の再生処理を開始する(ステップ305)。
【0064】
全ての実行記録について再生が終了したら(ステップ306)、転送元プロセス106が破棄されているかを確認する(ステップ307)。
【0065】
転送元プロセス106が破棄されている場合は、プロセスは完全に移動したことになるので、転送先プロセス113の実行を開始させる(ステップ308)。
【0066】
転送元プロセス106が破棄されていない場合は転送先プロセス113の再生処理を一時停止し(ステップ309)、実行記録部109に再生処理が終わった旨を通知する。
【0067】
この様に、プロセスマイグレーション処理中にも、転送元の計算機ノード上で移動対象である転送元プロセスの実行を継続することにより、計算機システムを利用しているユーザに計算機システムが常に応答しているように見せることが可能になる。また、実行再生にかかる処理時間が大きい場合には、実行記録とその再生を行う処理を繰り返し行うことによって、プロセスの停止時間を一層短縮させることが可能となる。
【0068】
(実行記録の例)実行記録110の例を、図4に示す。
【0069】
実行記録110には、プロセスからの処理要求の内容402と、その結果403とを組で記録する。
【0070】
例えば、記録404には、「現在時刻の取得」処理が要求され、その結果として「2002/6/4 20:30」が記録されている。そのため、転送先プロセスが、「2002/6/4 20:30」以降、例えば、「2002/6/420:33」に、「現在時刻の取得」の処理を再生したとしても、転送元プロセスが用いた時刻である「2002/6/4 20:30」を正しく返すことが可能となる。そのため、転送元プロセスと転送先プロセスの状態を等しくすることが可能となる。
【0071】
また、記録405には、ファイルからデータを読み込む処理が要求され、その結果として読み込んだデータが記録されている。一般にはファイルが記録されているのはHDD(ハードディスク)等のデバイスで、メモリ等に比べるとアクセス速度が大変遅いデバイスである。プロセスの通常の実行ではHDD上のファイルからデータを読み込むところ、再生処理ではメモリ上の実行記録から読み込むので、通常の実行に比べて高速に処理が行えることが分かる。
【0072】
【発明の効果】
以上、本発明によれば、プロセスマイグレーション処理において、移動元計算機ノードにおけるプロセスの実行記録の生成と移動先計算機ノードにおけるプロセスの実行再生処理を繰り返し行うので、実行再生処理の所要時間が大きい場合でも、プロセスの停止時間を短く抑えることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態のプロセスマイグレーション方法を適用した計算機ノードシステムの構成図。
【図2】本発明の一実施形態のプロセスマイグレーション方法における転送元計算機ノード側の処理を説明する図。
【図3】本発明の一実施形態のプロセスマイグレーション方法における転送先計算機ノード側の処理を説明する図。
【図4】本発明の一実施形態のプロセスマイグレーション方法における実行記録の一例を説明する図。
【符号の説明】
101、102 計算機ノード
103 通信路
104 プロセス転送部
105、112 通信装置
106 転送元プロセス
107 実行コンテクスト転送部
108、115 実行コンテクスト記憶部
109 実行記録部
110、117 実行記録
113 転送先プロセス
114 実行コンテクスト受信部
116 実行再生部
Claims (8)
- ネットワークを介して接続された第1および第2の計算機の間のプロセスマイグレーション方法であって、
前記第1の計算機で実行中のプロセスを複製して前記第2の計算機へ送信する送信ステップと、
前記第1の計算機で実行中の前記プロセスの実行記録の生成を開始する記録開始ステップと、
前記第2の計算機において、前記第1の計算機から送信された複製を受信し、これを用いて前記プロセスを復元した復元プロセスを生成する第1の復元ステップと、
前記実行記録に基づいて、前記プロセスの実行を前記復元プロセスに移行させるか、あるいは、まだ移行させないかを判断する判断ステップと、
前記判断ステップにより移行させると判断された場合には、前記第1の計算機における前記プロセスの実行を終了させ、生成中の実行記録を前記第2の計算機へ送信するとともに、前記復元プロセスの上で前記プロセスの動作を再生し、再生終了後に復元プロセスの実行を開始する移行ステップと、
前記判断ステップによりまだ移行させないと判断された場合には、前記第1の計算機は現在の実行記録の生成を終了して新たな実行記録の生成を開始するとともに、前記現在の実行記録を前記第2の計算機へ転送し、前記第2の計算機は前記復元プロセスの上で前記プロセスの動作を再生する第2の復元ステップとを有し、
前記第2の復元ステップ終了後、前記判断ステップを再実行することを特徴とするプロセスマイグレーション方法。 - 前記判断ステップでは、前記第2の計算機における前記実行記録を用いた再生処理の所要時間を推定し、前記所要時間が所定時間より短い場合は、プロセスを移行させると判断することを特徴とする請求項1記載のプロセスマイグレーション方法。
- 前記判断ステップでは、前記実行記録の量を調べ、前記実行記録が所定量を下回る場合には、プロセスを移行させると判断することを特徴とする請求項1記載のプロセスマイグレーション方法。
- 前記判断ステップでは、さらに、前記プロセスによるCPU利用率の平均値を調べ、前記平均値が所定の閾値を上回る場合にも、プロセスを移行させると判断することを特徴とする請求項2乃至請求項3記載のプロセスマイグレーション方法。
- 実行中のプロセスをネットワークを介して他の計算機に移動させる機能を備える計算機であって、
実行中のプロセスの複製を生成するプロセス複製部と、
前記プロセスの実行記録を生成する実行記録生成部と、
前記プロセス複製部で生成した複製及び前記実行記録生成部で生成した実行記録を記憶する記憶部と、
前記他の計算機へ情報を送信する送信部と、
前記他の計算機から送信された情報を受け取る受信部と、
前記実行記録に基づいて、前記実行中のプロセスの処理を前記他の計算機に移行させるか、あるいは、まだ移行させないかを判断する判断部と、
前記判断部でまだ移行させないと判断された場合には、前記実行記録生成部に現在の実行記録の生成を終了させて新たな実行記録を生成させ、前記送信部に前記現在の実行記録を前記他の計算機に送信させ、前記受信部に前記他の計算機から実行記録に基づく再生処理の終了通知を受信させるように制御を行い、
前記判断部で移行させると判断された場合には、前記プロセスを終了し、前記実行記録生成部に現在の実行記録の生成を終了させ、前記送信部に前記現在の実行記録及び前記プロセスが終了した旨の通知を前記他の計算機に送信させるように制御を行う制御部とを有し、
前記制御部は、
前記判断部でまだ移行させないと判断された場合には、前記受信部が前記終了通知を受信したら前記判断部に再度判断を行わせることを特徴とする計算機。 - 前記判断部は、前記他の計算機における、前記実行記録に基づく再生処理の所要時間を推定し、前記所要時間が所定時間より短い場合は、プロセスを移行させると判断することを特徴とする請求項5記載の計算機。
- 前記判断部は、前記実行記録の量を調べ、前記実行記録が所定量を下回る場合には、プロセスを移行させると判断することを特徴とする請求項5記載の計算機。
- 前記判断部は、さらに、前記プロセスによるCPU利用率の平均値を調べ、前記平均値が所定の閾値を上回る場合にも、プロセスを移行させると判断することを特徴とする請求項5乃至請求項7記載の計算機。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002236432A JP3749208B2 (ja) | 2002-08-14 | 2002-08-14 | プロセスマイグレーション方法、計算機 |
US10/640,330 US7313599B2 (en) | 2002-08-14 | 2003-08-14 | Process migration method computer and system |
US11/943,005 US7779084B2 (en) | 2002-08-14 | 2007-11-20 | Process migration method computer and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002236432A JP3749208B2 (ja) | 2002-08-14 | 2002-08-14 | プロセスマイグレーション方法、計算機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004078465A true JP2004078465A (ja) | 2004-03-11 |
JP3749208B2 JP3749208B2 (ja) | 2006-02-22 |
Family
ID=32020601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002236432A Expired - Lifetime JP3749208B2 (ja) | 2002-08-14 | 2002-08-14 | プロセスマイグレーション方法、計算機 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7313599B2 (ja) |
JP (1) | JP3749208B2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006190141A (ja) * | 2005-01-07 | 2006-07-20 | Fujitsu Ltd | 移動処理プログラム、情報処理装置、コンピュータシステム及び移動処理プログラムを格納したコンピュータ読み取り可能な記録媒体 |
JP2010044596A (ja) * | 2008-08-13 | 2010-02-25 | Nec Corp | 負荷制御システム |
WO2011037148A1 (ja) | 2009-09-28 | 2011-03-31 | 日本電気株式会社 | コンピュータシステム、及び仮想マシンのマイグレーション方法 |
US8688767B2 (en) | 2008-09-26 | 2014-04-01 | Nec Corporation | Distributed processing system, distributed operation method and computer program |
EP2857969A2 (en) | 2013-10-07 | 2015-04-08 | Fujitsu Limited | Data processing management method, information processing apparatus, and data processing management program |
US10609126B2 (en) | 2017-11-13 | 2020-03-31 | Fujitsu Limited | Communication device, communication system, and control method of communication device |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050288001A1 (en) * | 2004-06-23 | 2005-12-29 | Foster Derek J | Method and system for an application framework for a wireless device |
US7853825B2 (en) * | 2005-08-16 | 2010-12-14 | Hewlett-Packard Development Company, L.P. | Methods and apparatus for recovering from fatal errors in a system |
US20070226304A1 (en) * | 2006-03-27 | 2007-09-27 | Teamon Systems, Inc. | System and method for migrating user account data |
US8745295B2 (en) * | 2007-02-12 | 2014-06-03 | International Business Machines Corporation | Device, method and computer program product for executing a migrated execution context by a storage controller |
US8516505B2 (en) | 2008-03-14 | 2013-08-20 | Microsoft Corporation | Cross-platform compatibility framework for computer applications |
US7908521B2 (en) * | 2008-06-25 | 2011-03-15 | Microsoft Corporation | Process reflection |
JP2011198091A (ja) | 2010-03-19 | 2011-10-06 | Toshiba Corp | 仮想アドレスキャッシュメモリ、プロセッサ及びマルチプロセッサシステム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5127098A (en) * | 1989-04-12 | 1992-06-30 | Sun Microsystems, Inc. | Method and apparatus for the context switching of devices |
US6047122A (en) * | 1992-05-07 | 2000-04-04 | Tm Patents, L.P. | System for method for performing a context switch operation in a massively parallel computer system |
CA2106280C (en) * | 1992-09-30 | 2000-01-18 | Yennun Huang | Apparatus and methods for fault-tolerant computing employing a daemon monitoring process and fault-tolerant library to provide varying degrees of fault tolerance |
JPH09269903A (ja) * | 1996-04-02 | 1997-10-14 | Hitachi Ltd | プロセス管理方式 |
US6185702B1 (en) | 1997-01-24 | 2001-02-06 | Kabushiki Kaisha Toshiba | Method and system for process state management using checkpoints |
JP3253883B2 (ja) | 1997-01-31 | 2002-02-04 | 株式会社東芝 | プロセスリスタート方法及びプロセス監視装置 |
JP2000010810A (ja) | 1998-06-22 | 2000-01-14 | Toshiba Corp | トランザクション処理のコミット制御方法および同方法が適用される計算機システム |
JP2000222376A (ja) | 1999-01-29 | 2000-08-11 | Toshiba Corp | 計算機システムとその運用方法 |
US6542991B1 (en) * | 1999-05-11 | 2003-04-01 | Sun Microsystems, Inc. | Multiple-thread processor with single-thread interface shared among threads |
US6615223B1 (en) * | 2000-02-29 | 2003-09-02 | Oracle International Corporation | Method and system for data replication |
US6725262B1 (en) * | 2000-04-27 | 2004-04-20 | Microsoft Corporation | Methods and systems for synchronizing multiple computing devices |
US6964047B2 (en) * | 2001-12-20 | 2005-11-08 | Lucent Technologies Inc. | Method and apparatus for a fast process monitor suitable for a high availability system |
-
2002
- 2002-08-14 JP JP2002236432A patent/JP3749208B2/ja not_active Expired - Lifetime
-
2003
- 2003-08-14 US US10/640,330 patent/US7313599B2/en active Active
-
2007
- 2007-11-20 US US11/943,005 patent/US7779084B2/en not_active Expired - Lifetime
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006190141A (ja) * | 2005-01-07 | 2006-07-20 | Fujitsu Ltd | 移動処理プログラム、情報処理装置、コンピュータシステム及び移動処理プログラムを格納したコンピュータ読み取り可能な記録媒体 |
JP4704043B2 (ja) * | 2005-01-07 | 2011-06-15 | 富士通株式会社 | 移動処理プログラム、情報処理装置、コンピュータシステム及び移動処理プログラムを格納したコンピュータ読み取り可能な記録媒体 |
JP2010044596A (ja) * | 2008-08-13 | 2010-02-25 | Nec Corp | 負荷制御システム |
US8688767B2 (en) | 2008-09-26 | 2014-04-01 | Nec Corporation | Distributed processing system, distributed operation method and computer program |
WO2011037148A1 (ja) | 2009-09-28 | 2011-03-31 | 日本電気株式会社 | コンピュータシステム、及び仮想マシンのマイグレーション方法 |
US9323570B2 (en) | 2009-09-28 | 2016-04-26 | Nec Corporation | Computer system and migration method of virtual machine |
EP2857969A2 (en) | 2013-10-07 | 2015-04-08 | Fujitsu Limited | Data processing management method, information processing apparatus, and data processing management program |
US9742841B2 (en) | 2013-10-07 | 2017-08-22 | Fujitsu Limited | Data processing management method and information processing apparatus |
US10609126B2 (en) | 2017-11-13 | 2020-03-31 | Fujitsu Limited | Communication device, communication system, and control method of communication device |
Also Published As
Publication number | Publication date |
---|---|
US20080077706A1 (en) | 2008-03-27 |
US7313599B2 (en) | 2007-12-25 |
US20040111511A1 (en) | 2004-06-10 |
JP3749208B2 (ja) | 2006-02-22 |
US7779084B2 (en) | 2010-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7779084B2 (en) | Process migration method computer and system | |
JP4772297B2 (ja) | メディアファウンデーションメディアプロセッサ | |
US20210124691A1 (en) | Cache warming: agility for a stateful service | |
CN107729515B (zh) | 一种数据同步的方法、装置及存储介质 | |
JP2008140142A (ja) | 情報処理システム | |
JP2007041888A (ja) | データベース再構成装置、およびデータベース再構成プログラム | |
JPH10293738A (ja) | ストリーム再生制御方式及びデータ読み出し方式並びにプログラムを記録した機械読み取り可能な記録媒体 | |
US6175933B1 (en) | Recovery of file transfers in a data processing system | |
US9003018B2 (en) | System and method for data set synchronization and replication | |
JP4512386B2 (ja) | バックアップシステムおよび方法 | |
JP2005293224A (ja) | バックアップシステム及びバックアップ方法 | |
KR20110047869A (ko) | 네트워크를 통한 데이터 백업 방법 및 장치, 백업 데이터 제공 장치 및 백업 시스템 | |
TW201227268A (en) | Data backup system and data backup and retrival method | |
CN114077517A (zh) | 数据处理的方法、设备及系统 | |
JP2008511886A (ja) | メモリ媒体へのデータの記憶及びそこからの読み取り | |
JP6802304B2 (ja) | ストレージ制御装置、ストレージ制御システム、ストレージ制御方法、及び、ストレージ制御プログラム | |
JP2004287945A (ja) | オブジェクト内部状態の一貫性確認方法、情報処理システム、プログラム、および記録媒体 | |
JP7104819B1 (ja) | 映像データ送信装置、映像データ送信プログラムおよび映像データ送信方法 | |
JP2022088106A (ja) | ストレージシステム | |
JP2004295363A (ja) | バックアップ方法 | |
JP2007249815A (ja) | データ転送装置及びデータ転送方法 | |
JP5498124B2 (ja) | 映像蓄積変換システムおよびプログラム | |
JP2005278201A (ja) | データ転送装置およびデータ転送方法 | |
JP2012165186A (ja) | 記録装置および記録制御方法 | |
JP2000217077A (ja) | ビデオサ―バ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050415 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050606 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051114 |
|
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: 20051129 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051130 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3749208 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091209 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091209 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101209 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111209 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121209 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121209 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131209 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term |