boinc/doc/files.html

88 lines
3.6 KiB
HTML

<title>Storage</title>
<body bgcolor=ffffff>
<h2>Storage</h2>
<h3>Files</h3>
<p>
The BOINC storage model is based on <b>files</b>.
The inputs and
outputs of applications, and the applications executables, are files.
<p>
A file is described by an XML element of the form
<pre>
&lt;file_info&gt;
&lt;name&gt;foobar&lt;/name&gt;
&lt;url&gt;http://a.b.c/foobar&lt;/url&gt;
&lt;url&gt;http://x.y.z/foobar&lt;/url&gt;
...
&lt;md5_cksum&gt;123123123123&lt;/md5_cksum&gt;
&lt;nbytes&gt;134423&lt;/nbytes&gt;
&lt;max_nbytes&gt;200000&lt;/max_nbytes&gt;
&lt;status&gt;1&lt;/status&gt;
[ &lt;generated_locally/&gt; ]
[ &lt;executable/&gt; ]
[ &lt;upload_when_present/&gt; ]
[ &lt;sticky/&gt; ]
[ &lt;signature_required/&gt; ]
[ <a href=pers_file_xfer.html>&lt;persistent_file_xfer&gt; ... &lt;/persistent_file_xfer&gt;</a> ]
&lt;/file_info&gt;
</pre>
The components are as follows:
<ul>
<li> The <b>&lt;name&gt;</b> element gives the file's name, which
must be unique within the project.
<li> Each <b>&lt;url&gt;</b> element gives a URL where the file is
(or will be) located on a data server.
<li> The <b>&lt;md5_cksum&gt;</b> element is the MD5 checksum of the file.
<li> The <b>&lt;nbytes&gt;</b> element is the size of the file in
bytes (may be greater than 2^32).
<li> The <b>&lt;max_nbytes&gt;</b> element is the maximum allowable
size of the file in bytes (may be greater than 2^32).
This is used to prevent flooding data servers with bogus data.
<li> The <b>&lt;status&gt;</b> element is 0 if the file is not present,
1 if the file is present, or a negative error code if there was a
problem in downloading or generating the file.
<li> The <b>&lt;generated_locally&gt;</b> element, if present,
indicates that the file will be generated by an application on
the client, as opposed to being downloaded.
<li> The <b>&lt;executable&gt;</b> element, if present, indicates
that the file protections should be set to allow execution.
<li> The <b>&lt;upload_when_present&gt;</b> element, if present,
indicates that the file should be uploaded after it is created.
<li> The <b>&lt;sticky&gt;</b> element, if present, indicates that
the file should be retained on the client after its initial use.
<li> The <b>&lt;signature_required&gt;</b> element, if present,
indicates that the file should be verified with an RSA signature.
This generally only applies to executable files.
</ul>
These attributes allow the specification of various types of files: for
example, input or output files that are retained for use as input to
later computations.
<p>
Once a file is created (on a data server or a participant host) it
is immutable.
<h3>File references</h3>
<p>
Files may be associated with <a href="work.html">workunits</a>,
<a href="result.html">results</a> and
<a href="app.html">application versions</a>.
Each such association is represented by an XML element of the form
<pre>
&lt;file_ref&gt;
&lt;file_name&gt;foobar&lt;/file_name&gt;
[ &lt;open_name&gt;input&lt;/open_name&gt; ]
[ &lt;fd&gt;2&lt;/fd&gt; ]
[ &lt;main_program/&gt; ]
&lt;/file_ref&gt;
</pre>
The components are as follows:
<ul>
<li> The <b>&lt;file_name&gt;</b> element specifies a file.
<li> The <b>&lt;open_name&gt;</b> element, if present, is the name by
which the application will refer to the file.
<li> The <b>&lt;fd&gt;</b> element, if present, indicates the file
descriptor number by which the application will access the file.
<li> The <b>&lt;main_program&gt;</b> element is used for files
associated with application versions.
It indicates that this file is the application's main program.
</ul>