FTP Demo App Documentation
1.0
GridFTP Demo App - Supercomputing '00 Release
ftp_demo is a demonstration application using the globus ftp client library and some application-specific plugins. This app transfers files between FTP servers, using the Grid FTP protocol extensions. In addition, it implements transfer reliability, performance tracking (via Netlogger), and remote control via the plugin interface.
1. Contents of this distribution:
- demo_plugins/
FTP Client Library plugins used for this application. There are four plugins provided in this directory:
- printf_plugin.c - a debugging plugin. logs all plugin callbacks either to stdout, stderr, or a local file.
- reliability_plugin.c - automatic restart plugin, with the ability to restart transfers when the data transfer rate becomes too low, or when network faults occur. Also, when the application is shut down and restarted, the plugin will send a restart marker to resume the transfer where it was at the time of the shutdown.
- netlogger_plugin.c - records information about transfer performance, and restart-related events via LBL's netlogger interface. An external GUI is available to visualize the performance of the demo application's data transfers.
- control_plugin.c - a remote control plugin, which allows remote restarts and performance tuning.
- main/
The main application transfers a set of files using the Grid-FTP extensions. A configuration file defines the transfers to do, the attributes of the transfers, and the plugins to use for the transfers:
- main.c The main demo application.
- config.c Configuration file parser.
- state.c Persistent state file management.
- size.c FTP file size checker.
- netlogger/
LBL's netlogger package. It has been slightly modified to use globus_threads and globus module activation.
- notes/
More detailed description of the components of the demo.
2. Building the demo
This demo requires globus 1.1.3b14 or higher to be built. To configure, set the GLOBUS_INSTALL_PATH environment variable to point to the local globus installation. Once that is done, run configure (no options currently) and then make. The demo application will be located in main/ftp_demo.