Das Team Science and Research Hessen

 

Account management systems


Zuletzt aktualisiert am Sonntag, 27.11.2005 23:05

Um ein Account bei einem BOINC Projekt zu erstellen, muß ein Teilnehmer:

  • Eine BOINC Seite finden, diese lesen und entscheiden welchem Projekt er beitreten will
  • Die BOINC Clieten Software herunterladen und installieren

und dann für jedes gewählte Projekt:

  • Die Webregistrierung ausfüllen
  • eine EMail bestätigen
  • die Projekt URL und den Accountschlüssel in den BOINC Clienten kopieren

Wenn der Teilnehmer das Projekt N wählt, dann sind da N Formulare auszufüllen, N EMails zu bearbeiten und N Eingabedialoge mit dem BOINC Clienten. Dies ist anstrengend bei vielen Projekten. Weiterhin, beinhaltet es das kopieren und einfügen von langen Zahlen-Buchstabenfolgen, was einschüchternd auf einige Teilnehmer wirkt.

Dieses Dokument beschreibt die BOINC Unterstützung eines "account management systems" (Kontoführungssystems), welches den Prozess des findens und Anmelden bei BOINC Projekten erleichert. Eine typische "account management" Seite ist wie eine Webseite aufgebaut. Der Teilnehmer muß:

  • DieAccount Manager Seite besuchen, ein "Meta-Accoun" (name, email, passwort) erstellen, eine Liste der Projekte anzeigen lassen und die Projekte anklicken um Sie auszuwählen.
  • Eien Mail von dem entsprechenden Projekt bekommen und auf den Link in der Mailadresse schauen.
  • Den BOINC Clienten des Account Managers herunterladen und installieren.
  • Den Meta-Accountnamen und das PAsswort im BOINC Clienten Dialog eingeben.

Dies dauert run 1/3 der Zeit die man normal benötigen würde und bewhrt vor der Eingabe der langen zufälligen Strings.

Implementierung

Ein Account management System arbeitet wie folgt:

  1. Der Teilnehmer erstellt sein Meta-Account und wählt Projekte.
  2. Der account manager stellt eine create account zu jedem gewählten Projekt.
  3. Das Projekt erstellt einen Account (markiert als "unbestätigt") und sendet eine EMail an den Teilnehmer.
  4. Der Teilnehmer öffnet die EMail und klickt auf einen Link in dieser, was den Account bestätigt.
  5. Der Account manager richtet periodisch an jedes Projekt eine Accountprüfung "query account" und wartet bis alle Accounts bestätigt wurden.
  6. Wenn alle Accounts bestätigt wurden, läd der Teilnehmer den BOINC Clienten vom Account Manager herunter und installiert ihn. Das installationspaket enthält eine Datei (speziell für den Account Manager) welche die URL des Account Managers beinhaltet.
  7. Der BOINC Client läuft und fragt den Teilnehmer nach dem Namen und dem Passwort des Meta-Accounts.
  8. Der BOINC Client führt eine "query accounts" (Accountrückfrage) an den Account Manager und bekommt eine Liste der Accounts. Der Client meldet sich bei diesen Accounts an und arbeitet nun für diese Projekte.
Core Clienten Funktionalität

Der BOINC Core Client benutzt die folgenden Dateien um über Account Manager informationen informiert zu bleiben.

acct_mgr_url.xml
Diese Datei identifiziert den Account Manager. Er ist normalerweise mit dem BOINC Clienten im Installations Paket verbunden. Das Format ist:
<acct_mgr>
    <name>Name des BOINC account management systems</name>
    <url>http://acctmgr.com/</url>
</acct_mgr>
acct_mgr_login.xml
Diese Datei enthält die meta-account informationen. Das Format ist:
<acct_mgr_login>
   <login>name</login>
   <password>xxx</password>
</acct_mgr_login>

Wenn der Core CLient eine acct_mgr_url.xml findet, aber keine acct_mgr_login.xml so fragt er nach einem Namen und Passwort und speichert diese in acct_mgr_login.xml und macht eine Account Manager Anfrage (RPC). Der Core Client bietet Menüpunkte um eine Account Manager RPC durchzuführen und ändert den Namen und das Passwort.

Remote Procedure Call (RPC) Specifications
- Ferngesteuerte Prozessanweisungs Spezifikationen

 

Die Programmstruktur enthält zwei RPC Mechanismen:

  • Account creation RPCs (Schritt 2 und 5 oben);
  • Account manager RPCs (Schritt 8 oben).
Das eigentliche Protokoll der beiden mechanismen ist wie folgt:
  • Jeder RPC ist eine HTTP GET transaktion.
  • Die Eingabe ist das GET Argument
    
    param1=val1&param2=val2&...&paramn=valn
                
    Wobei param1 ... paramN die Parameternamen und val1 ... valn die Werte darstellen.
  • Die Ausgabe ist XML.
Account Erstellungs RPCs

Account Erstellung

URL project_url/am_create.php
Eingabe email_addr: email address
nonce: nonce ID (crypto-random string)
Ausgabe
<am_create_reply>
    [ <error>message</error> ]
    [ <success/>
</am_create_reply>
              
Aktion

Der Server erstellt ein provisorischen Account. Der Server sendet EMails zur gegeben Adresse, in Form von:

Someone (hopefully you) joined [project name] with this email address.
To confirm your participation in [project name] please visit the following URL:
    xxx

If you do not want to participate in [project name], just ignore this message.
                
Wenn der Teilnehmer die Adresse xxx besucht ist das Konto bestätigt.

Account Anfragen

URL project_url/am_query.php
Eingabe nonce
Ausgabe
<am_query_reply>
    [<error>MSG</error>]
    [ <success/>
    <confirmed>0</confirmed> ]
    [ <success/>
    <account_key>KEY</account_key> ]
</am_query_reply>
              
Aktion Ween das Account bestätigt wurde, wird der "Account Key" ausgegeben.

Account Informationen Abfragen

URL project_url/am_get_info.php
Eingabe account_key
Ausgabe
<am_get_info_reply>
    <success/>
    <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>
</am_get_info_reply>

or

<am_get_info_reply>
    <error>MSG</error>
</am_get_info_reply>
              
Aktion

Liefert Daten die dem angegebenen Account nahestehen.

Account Infos eingeben

URL project_url/am_set_info.php
Eingabe account_key
[ name ]
[ country ]
[ postal_code ]
[ global_prefs ]
[ project_prefs ]
[ url ]
[ send_email ]
[ show_hosts ]
[ teamid ] zero means quit current team, if any
Ausgabe
<am_set_info_reply>
    [ <error>MSG</error> ]
    [ <success/> ]
</am_set_info_reply>
Aktion

Aktualisiert ein oder mehrere Datensätze, die mit dem Meta-Account in Verbindung stehen.

Account manager RPCs

URL Given in the file acct_manager_url.xml
Eingabe name
password
Ausgabe
<account_manager_reply>
    [ <error>MSG</error> ]
    [ <account>
        <url>URL</url>
        <key>KEY</key>
      </account>
      ...
    ]
</account_manager_reply>
Aktion

Gibt eine Liste der Accounts aus, die mit dem Meta-Account in Verbindung stehen.


Zurück zu unserer Hauptseite