mirror of https://github.com/BOINC/boinc.git
44 lines
1.3 KiB
PHP
44 lines
1.3 KiB
PHP
<?php
|
|
require_once("docutil.php");
|
|
page_head("BOINC network communication overview");
|
|
echo"
|
|
|
|
<p>
|
|
The BOINC core client communicates with several servers
|
|
in the course of getting work and returning results.
|
|
All communication uses HTTP on port 80,
|
|
so client can function through firewalls and proxies.
|
|
|
|
<img src=comm.png>
|
|
|
|
<ul>
|
|
<li>
|
|
The client downloads the page from project's
|
|
<a href=server_components.php>master URL</a>.
|
|
From XML tags embedded in this page,
|
|
it obtains a list of domain names of <b>schedulers</b>.
|
|
<li>
|
|
The client exchanges
|
|
<a href=protocol.php>request and reply messages</a>
|
|
with a scheduling server.
|
|
The reply message contains, among other things,
|
|
descriptions of work to be performed,
|
|
and lists of URLs of the input and output files of that work.
|
|
<li>
|
|
The client downloads files (application programs and data files)
|
|
from one or more <b>download data servers</b>.
|
|
This uses standard HTTP GET requests, perhaps with <code>Range</code> commands
|
|
to resume incomplete transfers.
|
|
<li>
|
|
After the computation is complete,
|
|
the client uploads the result files.
|
|
This uses a <a href=upload.php>BOINC-specific protocol</a>
|
|
that protects against DOS attacks on data servers.
|
|
<li>
|
|
The client then contacts a scheduling server again,
|
|
reporting the completed work and requesting more work.
|
|
</ul>
|
|
";
|
|
page_tail();
|
|
?>
|