Projects and Applications
A project is a group of one or
more distributed applications, run by a single organization, that use BOINC.
Projects are independent; each one has its own applications,
databases and servers, and is not affected by the status of other projects.
Each is identified by a master URL,
which refers to an XHTML document describing the project.
Creating projects is relatively easy.
An organization can create
projects to do Alpha and Beta testing of applications.
Testers can register for these projects, in addition to or instead of the
organization's public project.
The components of a project are shown below.
The server side of a project consists of two parts:
- A project back end that supplies applications and work
units, and that handles the computational results.
Input and output files are distributed by data servers,
which are HTTP servers able to handle CGI programs with POST commands.
These servers need not be owned or operated by the project.
A project might, for example,
recruit other organizations to donate network bandwidth by hosting data
servers; data could be moved on tape between the project back end and
the data servers.
- A BOINC server complex that manages data distribution and
collection.
The BOINC server complex includes the following components:
- One or more scheduling servers that communicates with
participant hosts.
- A relational database storing information about work, results,
and participants.
- Utility programs and libraries that allow the project back end
to interact with the server complex.
-
Web interfaces for participants and developers.