以下は JE2BWM ほかが作成した翻訳 です。 原文は University of California より GFDL で配付されており、 この翻訳も GFDL に従います。
原文: XML formats   (翻訳対象の更新日付は 3:25 PM UTC, June 24 2006 です)。

XML 文書の形式

boinc.gif
(英語のみ)

 

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>
アステリスクの印がついた要素は、対象のプロジェクトが値を指定します。 その他の部分は BOINC が自動的に生成します。 これら要素は以下のとおりです。

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() を使わないアプリケーションの場合に、 (たとえば、実行可能ファイルはあるがソースコードがない場合に) この要素を指定します。 この要素が入力ファイルについていると、アプリケーションを起動する前に そのファイルをアプリケーションを走らせるスロット・ディレクトリの中に複写します。 出力ファイルについてこの要素があるときは、アプリケーションの計算の後で、 このファイルをアプリケーションのスロットディレクトリの中から、 プロジェクトディレクトリに移動します。

アプリケーションの版 (App versions)

アプリケーションの版のテーブル(app version)の各行は、 そのアプリケーションの版を構成するファイル群を記述する XML 文書を 1つ含みます。 その形は以下の例のようになっています。
<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>


BOINCの訳のメインページに戻る | (原文のメインページに戻る)
 

最終更新時刻 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.