Projects and Applications
From Unofficial BOINC Wiki
[edit] General
A BOINC Powered 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. Those in blue are the ones that are provided as part of the BOINC System. Those in off-white are the parts that you must write yourself, in order to BOINC-enable your own Application.
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 Units, Results, and Participants.
- Utility programs and libraries that allow the Project Back-End to interact with the BOINC Server Complex.
- Web interfaces for Participants and Developers.
[edit] UCB Source
[edit] Copyright ©
- 2005 University of California
- 2005 Paul D. Buck
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.


