以下は下記原文 2005/03/12(JST)時点 の検証無し翻訳です。 原文は University of California より GFDL で配付されており、
この翻訳も GFDL に従います。
原文: Trickle message implementation
 
 
最終更新時刻 2006/03/01 01時11分 JST

トリクル・メッセージの実装

boinc.gif
Last modified 5:33 PM UTC, March 10 2005

クライアントでは、boinc_send_trickle_up() という関数が 'trickle_up'というファイルをそのスロット訳注1 のディレクトリに作ります。 そして、コア・クライアントに共有メモリ経由で通知します。 コア・クライアントがこの通知を受け取るか、 あるいは、アプリケーションがexitすると、 コア・クライアントはこのファイルを 'slot/trickle' から 'project/trickle_up_resultid_time' に移動します。

コア・クライアントはサーバにRPCをかけるとき、 そのプロジェクトのディレクトリに 前述の trickle-up ファイルが あるか見て、あれば[RPCの]要求に含ませます。 そのとき、同時にそれらのファイル名の末尾に、'.sent' を追加します。 RPCが成功完了すると、コア・クライアントは その trickle-up ファイルを削除します。

サーバ側では、メッセージは 'trickle_up' と 'trickle_down'. というデータベーステーブルに蓄積されます。 スケジューリング・サーバは、要求メッセージの中からトリクルメッセージを 取り出し、trickle_up テーブルに追加します。 もし、'trickle_down'フラグが構成定義ファイル[config.xml] でセット されていれば、スケジューリング・サーバはデータベースから、 このホスト宛の trickle_down メッセージを探し出します。 それを応答メッセージの中に含ませ、データベースレコードの 「処理済み('handled')」フラグをセットします。

クライアントは、スケジューラからの応答の中にある trickle-down メッセージを構文解析します。 そして、対応する slot ディレクトリに、trickle_down_createtime_id という形の名前で ファイルを作り、アプリケーションへは共有メモリを通じて、 届いたメッセージを読めるようにしたことを伝えます。


(訳注1):スロット(slot)
クライアントが使えるCPUの個数(N)分だけ用意される、サブディレクトリ(名前は0,1,2,...N-1)のことのようです。 ご参考

BOINCの訳のメインページに戻る | (原文のメインページに戻る)
 
Copyright © 2005 University of California
Translated by JE2BWM.