計算機(ホスト)の識別 |
Last modified 7:09 PM UTC, June 09 2004 |
すべてのシステムがアプリケーションから読めて、かつ、
世界中で一意となる識別子をもっているとはかぎりません。
そこで、計算機の識別について、これとは異なるアプローチをとることにしました。
計算機(ホスト)が初めてスケジューリング・サーバに接続するときに、
そのホストに host ID を割り当てます。
この[スケジューリング・]サーバは、各計算機についてのRPCシーケンス番号を
憶えています。 host ID と、このRPCシーケンス番号はともに、
クライアントの client_state.xml
ファイルに格納されています。
もしこのスケジューリング・サーバが、期待するよりも小さい
シーケンス番号でRPCを受信したならば、
データベースに新しい計算機の記録(ホストレコード)を作り出します。
(たとえば、参加者が client_state.xml
ファイルを
[自分の]計算機間でコピーすると、こんなことが起こるかもしれません。 )
上記のようなしくみなので、サーバは一つの計算機に対して
複数のホストレコードを持ってしまうことがあり得ます。
例えば、参加者が、client_state.xml
ファイルを
消してしまった場合です。
[このような状況になった場合]、WebインタフェースのMerge hosts コマンドを使って、参加者はそれら重複したホストレコードを 1つにまとめることができます。