Skip to content
teleyinex edited this page Nov 20, 2011 · 4 revisions

Overview of Current Technical Architecture of BOSSA

DB Architecture: http://boinc.berkeley.edu/trac/wiki/BossaImplementation BOSSA Reference: http://boinc.berkeley.edu/trac/wiki/BossaReference In this implementation, when we refer to tasks we are meaning BOSSA jobs.

API

Task creation

int bossa_app_lookup(string app_name) -> returns int appid for app_name

int bossa_batch_create(int appid, string name, bool calibration) -> creates a batch of tasks with the given name for the appid

bool bossa_task_create(int appid, int batchid, mixed app_data, bool calibration) -> creates a task for the appid with the app_data. It can be also specified if the task is a calibration one, which implies to provide the answer for the task. The app_data should be a JSON object describing the task.

Task UI

The UI will be in charge of using the PYBOSSA API to request tasks, and then show them to the users, allowing any programming language

bool task_show(object task, object instance, object user) -> show the task to the user. This should be done in the Task UI, so not part of PYBOSSA

job_issued(object $job, object $inst, object $user) -> this callback from PHP BOSSA will become the following API function: request_task(int appid, int batchid) that will return a JSON object describing the task for the given application appid.

job_finished(object $job, object $inst, object $user) -> this callback from PHP BOSSA will become the following API function: submit_task(int appid, int batchid, int userid, result_data)

For more details on the BOSSA callbacks an API, check: http://boinc.berkeley.edu/trac/wiki/BossaReference

Clone this wiki locally