= Remote job submission - overview = In early versions of BOINC, scientists submitted jobs to a BOINC server by logging in to the server and running programs or scripts. More recently, BOINC has been used to build systems in which scientists can submit jobs without logging in to the BOINC server. These systems can be structured in various ways (several examples are shown below); we collectively call them '''remote job submission''' systems. In all these systems, job submitters are identified using accounts on the BOINC project (the same kind of accounts as volunteers; job submitters can also act as resource providers). Access control is provided by BOINC's [MultiUser multi-user project features]: users can submit jobs only if they have been given access by project administrators, and admins can restrict the apps for which each user is allowed to submit jobs. Users have '''quotas''' how resources are allocated to their jobs. == Components supplied by BOINC == BOINC doesn't include a pre-packaged remote job submission system, but it provides a number of components that can be used to build such systems. === Job submission control panel === The web page '''submit.php''' allows users to view submitted jobs and retrieve their output files. This link should be shown only to authorized users. You can do this, e.g., by putting the following on your home page (index.php): {{{ $user = get_logged_in_user(false); if ($user && BoincUserSubmit::lookup_userid($user->id); echo '
  • Job submission
  • File sandbox '; } }}} (include the "File sandbox" link if you use this feature - see below). === Local PHP interfaces === === Web RPCs for input file management === === Web RPCs for job submission === == Example: single-server portal == In such systems, users submit jobs using forms on the project web site. These forms are application-specific; you must develop them yourself. Two examples are included in the BOINC distribution: * '''html/user/tree_threader.php''' * '''html/user/lammps.php''' TODO: provide a minimal/generic script. [[Image(submit2.png)]] == Example: multi-server portal == In such systems, users submit jobs using forms on a web site other than the project web site. [[Image(submit.png)]] == Example: Condor/BOINC bridge == In such systems, users submit jobs to a Condor system using any a command-line or GUI-based interface. The Condor system may, depending on load conditions, route the job to a BOINC project. This system uses web RPCs for all functions.