Changes between Version 6 and Version 7 of RemoteInputFiles


Ignore:
Timestamp:
Jul 22, 2016, 3:24:07 PM (8 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RemoteInputFiles

    v6 v7  
    1111so they can't store files there directly.
    1212Instead, BOINC provides two mechanisms that allow
    13 job submitters to place files on the BOINC server.
     13job submitters to store and manage files on the BOINC server.
    1414
    1515Each of these mechanisms deals with several issues:
     
    1818  of a given name can never be changed.
    1919  Job submitters can't be expected to obey this rule:
    20   they must be able to submit one job with an input file
    21   of a given name, and a second job with an input file of
    22   the same name but different contents.
     20  they must be able to submit one job with an input file of a given name,
     21  and a second job with an input file of the same name but different contents.
    2322 * File cleanup: There must be some way to clean up
    2423  files on the server when they are no longer needed.
     
    3635== Content-based file management ==
    3736
    38 In this system, the name of a file on the BOINC server
    39 is based on its MD5 hash; thus file immutability is automatic.
     37In this system, the BOINC name of a file
     38(i.e. its name on the BOINC server)
     39is based on its hash; thus file immutability is automatic.
    4040
    4141File cleanup is based on file/batch associations.
     
    5757    const char* project_url,
    5858    const char* authenticator,
     59    std::vector<string> &boinc_names,
    5960    int batch_id,
    60     vector<string> &md5s,
    61     vector<string> &paths,
    62     vector<int> &absent_files           // output
     61    std::vector<int> &absent_files,             // output
     62    std::string& error_message
    6363);
    6464}}}
     
    6767 * '''project_url''': the project's master URL
    6868 * '''authenticator''': the job submitter's authenticator.
    69  * '''paths''': a list of file paths on the calling host.
    70  * '''md5s''': a list of the MD5s of the files.
     69 * '''boinc_names''': a list of the "BOINC names" of the files.  Must include a hash; can include a suffix if needed.
    7170 * '''batch_id''': the ID of a batch whose jobs will reference the files
    7271  (these jobs need not exist yet).
     
    8079 * return value: nonzero on error
    8180 * '''absent_files''': a list of files not present on the server
    82   (represented as indices into the file vector).
     81  (represented as indices into the boinc_names vector).
     82 * '''error_message''': if error, an explanatory string.
    8383
    8484{{{
     
    8686    const char* project_url,
    8787    const char* authenticator,
    88     vector<string> &paths,
    89     vector<string> &md5s,
    90     int batch_id
     88    std::vector<string> &paths,
     89    std::vector<string> &boinc_names,
     90    int batch_id,
     91    std::string& error_message
    9192);
    9293}}}
     
    9596 * '''project_url, authenticator, batch_id''': as above.
    9697 * '''paths''': a list of paths of files to be uploaded
    97  * '''md5s''': a list of MD5 hashes of these files
     98 * '''boinc_names''': a list of BOINC names of these files (see above).
    9899 * '''batch_id''': the ID of a batch with which the files are associated.
    99   The operation will fail if the user is not authorized to
    100   submit jobs to the batch's application.
     100  The operation will fail if the user is not authorized to submit jobs to the batch's application.
    101101
    102102Action: Upload the files, and create associations to the given batch.
     
    104104Output:
    105105 * return value: nonzero on error
     106 * '''error_message''': if error, an explanatory string.
    106107
    107108If you use this system, periodically run the script
    108109'''html/ops/delete_job_files'''.
    109 This will delete files that are no longer associated
    110 with an active batch.
     110This will delete files that are no longer associated with an active batch.
    111111
    112112== Per-user file sandbox ==