<div dir="ltr">Dear all,<br>I&#39;m working with my colleagues on a VOSpace implementation where part of the data has to be retrieved from a cold storage (tape library).<br><br>The data has to be copied from the tape to a disk and then deleted from the disk after the user downloaded it. The idea is that the structure of files and folders is always displayed by the VOSpace, but files can&#39;t be downloaded until they have been copied to the disk. A cleanup job runs periodically to remove the copied files after some days, in order to free space on the disk.<br><br>We added an extra property into the node for specifying if the file is already available or it has to be retrieved from the tape library and we thought to use the pullToVoSpace operation for performing the copy.<br><br>VOSpace specification says that the pullToVoSpace operation is used to &quot;import data into a VOSpace node&quot;, and this use case seems to fit well in this definition.<br><br>However the job requires to specify a protocol to use, but in this case it is an internal operation, so we thought to use a custom protocol with no endpoints, for example:<br><br><span style="font-family:monospace">&lt;vos:transfer xmlns:vos=&quot;<a href="http://www.ivoa.net/xml/VOSpace/v2.0">http://www.ivoa.net/xml/VOSpace/v2.0</a>&quot; version=&quot;2.1&quot;&gt;<br>  &lt;vos:target&gt;vos://<a href="http://example.com">example.com</a>!vospace/mydata1&lt;/vos:target&gt;<br>  &lt;vos:direction&gt;pullToVoSpace&lt;/vos:direction&gt;<br>  &lt;vos:protocol uri=&quot;urn:tape-recall&quot;&gt;&lt;/vos:protocol&gt;<br>&lt;/vos:transfer&gt;</span><br><br>In the beginning we thought to perform this operation as part of the asynchronous download (pullFromVoSpace), but in that case the job had to stay in the pending phase until the files were copied to the disk, with no possibility to check the status of the copy. Rethinking about it, it was clear that this copy operation is conceptually different from the download, so it has to be handled as a separate job, that is preparatory for the download. In that case using the pullToVoSpace operation seemed more appropriate.<br><br><div>Do you think that this is the correct approach to use? Did someone build something similar?</div><div><br></div><div>Cheers,</div><div>Sonia</div><div><br></div></div>