wiki:ServerComponents

Version 6 (modified by davea, 12 years ago) (diff)

--

What is a project?

A BOINC project consists of the following components:

Multiple BOINC projects can exist on the same host. This can be handy for creating separate projects for testing and debugging.

The easiest way to create a project is with the make_project script, which creates all the above components.

A project must be stopped when maintenance activities (e.g. changing the configuration file or database) are being performed. This is done using project control scripts.

The master URL

Each project is publicly identified by a master URL. The master page at this URL has two functions.

  • It is the home page of the project; when viewed in a browser it describes the project and contains links for registering and for downloading the BOINC client.
  • It contains XML elements of the form
    <scheduler>http://host.domain.edu/cgi/scheduler</scheduler>
    <scheduler>http://host2.domain.edu/cgi/scheduler</scheduler>
    
    that give the URLs of the project's scheduling servers. These tags can be embedded within HTML comments. The BOINC client reads and parses the master page to locate scheduling servers. If at any point it is unable to connect to any scheduling server for a project, it rereads the master page. This mechanism lets a project move or add scheduling servers.

Some ISPs remove HTML comments from downloaded pages. To avoid problems with that, an alternative syntax is allowed:

<link rel="boinc_scheduler" href="http://host.domain.edu/cgi/scheduler">

You should still use the <scheduler> format too, since older clients won't parse this new syntax.

The make_project script creates a master page in project/html/user/index.php. This file includes the file 'schedulers.txt', which contains the list of <scheduler> (and <link>) elements.