XML 文書の形式 |
|
BOINC では種々の対象を記述するのに XML を使います。 これら XML 要素は下記の中に現れます。 通常、これらの XML 要素は BOINC によって作られます。 それらのいくつかを以下に説明します。 (すべてのフィールドがすべての文脈で存在するとは限りません)。
ファイルは以下の形式の XML 要素で記述されます。
<file_info>
<name>foobar</name> *
<url>http://a.b.c/foobar</url>
<url>http://x.y.z/foobar</url>
...
<md5_cksum>123123123123</md5_cksum>
<nbytes>134423</nbytes>
<max_nbytes>200000</max_nbytes> *
<status>1</status>
[ <generated_locally/> ]
[ <executable/> ]
[ <upload_when_present/> ]
[ <sticky/> * ]
[ <signature_required/> ]
[ <no_delete/> * ]
[ <report_on_rpc/> * ]
</file_info>
| name | ファイルの名前です。 対象のプロジェクトの中で一意でなければなりません。 ファイル名に大文字小文字の差を認めないような計算機が参加することを許したいなら、 (たとえば、Windows マシンを参加させたいなら)、 ファイル名において大文字小文字の差はないと考えねばなりません。 |
| url | データサーバ上にそのファイルを置く(予定の) 場所を示す URL 。 |
| md5_cksum | ファイルの MD5 チェックサム。 |
| nbytes | ファイルの大きさ。 単位はバイト。 |
| max_nbytes | 出力ファイルに許容する最大サイズ。 単位はバイト。 ( C 言語の double型で扱う値ですので、指定値は 2^32 より大きいこともあり得ます)。 この指定により、偽データでデータサーバが溢れる危険を回避します。 |
| status | 状態。 クライアント側では、対象のファイルが存在しなければ 0 、存在すれば 1。 ファイルをダウンロードするときに問題が生じたり、生成するのに失敗すれば、 負のエラーコードが入ります。 |
| generated_locally | ローカルに生成。 この要素が存在する場合は、対象のファイルがクライアント側で生成されるものであって、 ダウンロードされるファイルではないことを示します。 |
| executable | 実行可能。 この要素が存在する場合は、このファイルの実行を許すようファイル保護機構に設定をするべきであることを示します。 |
| upload_when_present | 存在するならアップロード。 この要素が存在する場合、アプリケーション終了時にこのファイルを アップロードするべきであることを示します。 たとえアプリケーションが正常終了しなくても、このファイルをアップロードします。 計算途中でのファイルのアップロード のために、 API 関数が用意されています。 |
| sticky | 固着性。 この要素が存在する場合は、一旦このファイルを使った後も消さずに残しておくべきであることを示します。 |
| signature_required | 署名要。 この要素が存在する場合は、対象のファイルを RSA 署名によって検証するべきであることを示します。 この指定は通常、実行可能ファイルだけに適用します。 |
| no_delete | 削除禁止。 この要素が入力ファイルについている場合は、ワークユニットの計算が完了しても、
対象のファイルをデータサーバのダウンロード・ディレクトリから消してはならないことを意味します。
対象のファイルが複数のワークユニットから使われている場合か、
将来のワークユニットから使われる場合に、この指定をしてください。
この要素が出力(のリザルト)ファイルについている場合は、 たとえ関連するワークユニットの計算が完了し、結果の取り込みが終わったとしても、 対象のファイルをデータサーバのアップロード・ディレクトリから消してはならないことを意味します。 この要素は注意して使ってください。 アップロード・ディレクトリが溢れる危険がありますから。 |
| report_on_rpc | RPCで報告要。 対象のファイルについての説明をスケジューラ RPC要求に含めるという指定です。 この指定によって、スケジューラは 局所性スケジューリング を使って、適切な仕事を選んで送ることができるようになります。 |
ファイルはワークユニット、 リザルト、および アプリケーションの版 と関連をもっていることがあります。 これらの関連は以下の XML 要素で表現されます。
<file_ref>
<file_name>foobar</file_name>
[ <open_name>input</open_name> ]
[ <main_program/> ]
[ <copy_file/> ]
</file_ref>
| file_name | ファイル名。 ファイルを特定します。 |
| open_name | オープン名。 対象のアプリケーションがこのファイルを参照するときの名前。
アプリケーションは、
以下の複数の関数を使ってファイルにアクセスします。
char physical_name[256];
boinc_resolve_filename("input", physical_name, 256);
fopen(physical_name, "r")
この例では、open_name の値が 'input' です。
この名前が実行時にそのファイル名を含むパスに写像されます。
(前述の例では、ファイル名は 'foobar' になります)。
|
| main_program | 主プログラム。 アプリケーションの版に関連づけられたファイルの場合にだけ意味があります。 この要素はファイルがアプリケーションの主プログラムであることを示します。 |
| copy_file | ファイルを複写。 ファイル名を論理から物理へ変換する 関数 boinc_resolve_filename() を使わないアプリケーションの場合に、 (たとえば、実行可能ファイルはあるがソースコードがない場合に) この要素を指定します。 この要素が入力ファイルについていると、アプリケーションを起動する前に そのファイルをアプリケーションを走らせるスロット・ディレクトリの中に複写します。 出力ファイルについてこの要素があるときは、アプリケーションの計算の後で、 このファイルをアプリケーションのスロットディレクトリの中から、 プロジェクトディレクトリに移動します。 |
<file_info>
...
</file_info>
[ ... ]
<app_version>
<app_name>foobar</app_name>
<version_num>4</version_num>
<file_ref>
<file_name>program_1</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>library_12</file_name>
</file_ref>
</app_version>
最終更新時刻 00:45:30, 2006年08月12日(JST)
Copyright © 2012 University of California.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.
Copyright © 2012 Komori Hitoshi(je2bwm at jarl.com).
Japanese translation from English web pages on BOINC.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.