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 uploads.
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.