以下は JE2BWM ほかが作成した翻訳 です。 原文は University of California より GFDL で配付されており、 この翻訳も GFDL に従います。
原文: Web Remote Procedure Calls (RPCs)   (翻訳対象の更新日付は 7:30 PM UTC, June 16 2006 です)。

Web 遠隔手続き呼出し

boinc.gif
(英語のみ)

BOINC プロジェクトは、たくさんの Web RPCを提供し、 参加者のアカウントと計算機の記録を作成・検索・更新ができるようになっています。 このしくみは、 アカウント管理システム と功績(credit)の統計データを表示するウェブサイトで利用することができます。

BOINC の RPC の仕組みには、下記の約束ごとがあります。

Create account(アカウントを作る)

URL project_url/create_account.php
入力 email_addr: E-メイルアドレス
passwd_hash: 参加者のパスワードと E-メイルアドレスを連結した文字列を、 MD5 でハッシュした値。
user_name: 参加者の名前
出力
<account_out>
    [ <error_num>N</error_num> ]
    [ <authenticator>XXX</authenticator> ]
</account_out>
    
動作 対象のプロジェクトに、すでに指定したE-メイルアドレスでアカウントがあり、 指定したパスワードとの一致がとれなければ、失敗を返します。
その E-メイルアドレスが存在していて、パスワードが指定値と一致すれば、 認証子(authenticator: アカウント・キーのこと)を返します。
訳注1
以上のいずれでもなければ、プロジェクトは一時的なアカウントを作り、 認証子を返します。

アカウントの検索

URL project_url/lookup_account.php
入力 email_addr: E-メイルアドレス
passwd_hash: 参加者のパスワードとE-メイルアドレスを連結して、 MD5 のハッシュを作ったもの。
出力
<account_out>
    [ <error_num>N</error_num> ]
    [ <authenticator>XXX</authenticator> ]
</account_out>
    
動作 指定された E-メイルアドレスをもつアカウントがないと、エラーを返します。 指定された パスワードハッシュ passwd_hash があって正しいものであれば、 対応するアカウント・キーを返却します。

Get account info (アカウント情報 取り出し)

URL project_url/am_get_info.php
入力 account_key   [ :アカウント・キー]
出力
<am_get_info_reply>
    <success/>
    <id>ID</id>
    <name>NAME</name>
    <country>COUNTRY</country>
    <postal_code>POSTAL_CODE</postal_code>
    <global_prefs>
        GLOBAL_PREFS
    </global_prefs>
    <project_prefs>
        PROJECT_PREFS
    </project_prefs>
    <url>URL</url>
    <send_email>SEND_EMAIL</send_email>
    <show_hosts>SHOW_HOSTS</show_hosts>
    <teamid>N</teamid>
    [ <teamfounder/> ]
    <venue>X</venue>
</am_get_info_reply>

または、

<am_get_info_reply>
    <error>MSG</error>
</am_get_info_reply>
    
動作 与えられたアカウントに関係づけられているデータを返します。

Set account info (アカウント情報 設定)

URL project_url/am_set_info.php
入力 account_key    (: アカウント・キー)
[ name ] ( : 名前)
[ country ] ( : 国名)
[ postal_code ] ( : 郵便番号)
[ global_prefs ] ( : global プレファレンス)
[ project_prefs ] ( : project プレファレンス)
[ url ]
[ send_email ]
[ show_hosts ]
[ teamid ] ここにゼロを指定すると、現在加入しているチームから(もし加入していればですが)脱退することを意味します。
[ venue ]
[ email_addr ]
[ password_hash ]
出力
<am_set_info_reply>
    [ <error>MSG</error> ]
    [ <success/> ]
</am_set_info_reply>
動作 指定したアカウントの属性を、1つまたは複数、更新します。 password_hash 引数には、MD5(password+lower_case(email_addr)) で 計算した値を指定します。 メイルアドレスを変更する場合は、このハッシュ値も変更を反映しなければなりません。

計算機についての情報の設定

URL project_url/am_set_host_info.php
入力 accountkey (:アカウント・キー )
hostid (:計算機のID )
venue (:所在地)
出力
<am_set_host_info_reply>
    [ <error>MSG</error> ]
    [ <success/> ]
</am_set_host_info_reply>
action 当該計算機の所在地を更新します

アカウントごと・計算機ごとの功績(credit)情報を得る

URL project/show_user.php?userid=X&format=xml または project/show_user.php?auth=X&format=xml
入力 id (参加者の ID) または auth(アカウント・キー)
出力
<user>
    <id>123</id>
    <cpid>fe0b2753a355b17864ec061eb1b9e8de</cpid>
    <create_time>918948493</create_time>
    <name>Joe Smith</name>
    <country>United States</country>
    <total_credit>3806.869739</total_credit>
    <expavg_credit>200</expavg_credit>
    <expavg_time>1110833427.64028</expavg_time>
    <teamid>114322</teamid>
    <url>example.com</url>
    <has_profile>1</has_profile>
</user>

または


<user>
    <id>123</id>
    <cpid>fe0b2753a355b17864ec061eb1b9e8de</cpid>
    <create_time>1101918807</create_time>
    <name>David</name>
    <country>United States</country>
    <total_credit>0.293197</total_credit>
    <expavg_credit>0.000883</expavg_credit>
    <expavg_time>1116963330.83107</expavg_time>
    <teamid>0</teamid>
    <url>example.com</url>
    <has_profile>1</has_profile>
    <host>
        <id>123</id>
        <create_time>1287339128</create_time>
        <rpc_seqno>123</rpc_seqno>
        <host_cpid>fe0b2753a355b17864ec061eb1b9e8de</host_cpid>
        <total_credit>0</total_credit>
        <expavg_credit>0</expavg_credit>
        <expavg_time>0</expavg_time>
        <domain_name>Sorabji</domain_name>
        <p_ncpus>1</p_ncpus>
        <p_vendor>Mobile Intel(R) Pentium(R) 4 - M CPU 2.20GHz</p_vendor>
        <p_model>Pentium</p_model>
        <p_fpops>330806175.78458</p_fpops>
        <p_iops>409200165.535107</p_iops>
        <os_name>Microsoft Windows XP</os_name>
        <os_version>Professional Edition, Service Pack 2, (05.01.2600.00)</os_version>
    </host>
    ...
</user>
動作 アカウントに関する情報を返します。 アカウント・キーを引数に指定して呼ぶと、 そのキーに関連づけられている計算機の一覧を返します。

チームを作る

URL project/create_team.php
入力 account_key: チーム創設者を識別します。
name: チームの名前
url: チームの URL (省略可)
type: チームのタイプ のページに掲げたタイプのうちの一つ。
name_html: チームの名前 HTML形式 (省略可)
description: チームを説明するテキスト (省略可)
country: チームの国名 (省略可、指定する場合は、 国名リスト のページにあるものの一つでなければなりません。
出力
<create_team_reply>
    <success/>
    <teamid>N</teamid>
</create_team_reply>

あるいは

<create_team_reply>
    <error>messages</error>
</create_team_reply>
動作 チームを作成します。

チームを検索する

URL project/team_lookup.php?team_name=string&format=xml
入力 文字列。 チームの名前の一部分。
出力
<teams>
    <team>
        <id>5</id>
        <name>BOINC@AUSTRALIA</name>
        <country>Australia</country>
    </team>
    <team>
        <id>9</id>
        <name>BOINC Synergy</name>
        <country>International</country>
    </team>
    <team>
        <id>16</id>
        <name>BOINC.BE</name>
        <country>Belgium</country>
    </team>
    <team>
        <id>23</id>
        <name>HispaSeti & BOINC</name>
        <country>International</country>
    </team>
</teams
動作 指定した文字列を string とすると、*string* に合致する名前をもつチームが結果として戻されます。 最大で 100 チームまでが結果に含まれます。

チーム構成員の一覧を得る

URL project/team_email_list.php?teamid=X&account_key=Y&xml=1
入力 teamid: チームのデータベース ID
account_key: チーム創設者のアカウントキー(指定するかどうか選択可)
出力
<users>
    <user>
        <id>1</id>
        <email_addr>pdq@usndathoople.edu</email_addr>
        <cpid>232f381c79336f0bd8df02bbce2f2217</cpid>
        <create_time>1076897105</create_time>
        <name>David</name>
        <country>United States</country>
        <total_credit>9.907264</total_credit>
        <expavg_credit>0.023264</expavg_credit>
        <expavg_time>1142628426.48937</expavg_time>
        <url>usndathoople.edu/~pdq</url>
        <has_profile>1</has_profile>
    </user>
    [ ... ]
</users>
動作 チーム構成品の一覧を出力します。 アカウントキーがチーム創設者のものと一致すれば、構成員のメイルアドレスも出力します。

フォーラムのプレファレンス(好みの設定)

URL project/edit_forum_preferences_action.php
注意: この機能は HTTP の POST を使います。 GET ではありません。
入力 account_key
avatar_url
avatar_select
forum_images_as_links
forum_link_externally
forum_hide_avatars
forum_hide_signatures
forum_jump_to_unread
forum_ignore_sticky_posts
forum_low_rating_threshold
forum_high_rating_threshold
forum_minimum_wrap_poastcound
forum_display_wrap_poastcound
signature_enabled
signature
forum_sort
thread_sort
faq_sort
answer_sort
forum_filter_user
[ removeID ... ]
出力 <success/> または、 <error>XXX</error>
動作 参加者のフォーラム・プレファレンスを更新します。


(訳注1) 認証子(authenticator):
アカウント・キーのこと。

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

最終更新時刻 00:34:58, 2006年08月12日(JST)
Copyright © 2008 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 © 2008 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.