caGrid Transfer is an Introduce Extension and supporting transfer service that enables services and clients to download and upload bulk data easily and efficiently between grid services and clients.
Many user groups in caGrid have expressed the need to transfer large data files in the grid without paying the penalty of serialization or deserialization time and memory usage. Early on in the project we created support for utilizing GridFTP for solving these usage scenarios. Several issues with this current approach have left us searching for another solution. Some of the issues are as follows:
- caGrid BDT uses GridFTP as the underlying third-party transfer mechanism.
- GridFTP server is not cross platform (currently on on C platform builds of globus).
- GridFTP requires a separate globus-C installation as caGrid uses the JavaWS Core installation of globus.
- GridFTP has to be extended to be able to make authorization callouts to a Java-based middleware such as caGrid.
- GridFTP installation and configuration is quite advanced for our user community.
- Globus does not currently support SOAP attachments.
In order to better serve our user group we have come up with the following requirements for an alternative non-grid high performance delivery mechanism:
- Cross platform (utilize the container that will be hosting JavaWS Core Globus).
- One click/command install with no required configuration.
- Work within the same web application container as caGrid is deployed.
- Utilize GSI sockets for securely transporting the data using the same proxy certificates issued in caGrid.
- No deserialization or serialization required on server or client.
- No minimum requirement for core memory.
- Support upload and download of data.