This is an excellent idea!

There are three candidate mechanisms for GridFTP servers to publish data on recent transfer performance:

1) The local log file
2) A WS-ResourceProperty-based mechanism (you refer to this as MDS, though it's actually more general)
3) The built-in usage reporting mechanism (aka Metrics mechanism)

The first option (local log file) would not be very useful for the system you describe because it doesn't provide client access to the data.

The second option would be useful but I would suggest a few modifications to the implementation that you described. First, GridFTP isn't a web service, so you'd need to have a Web service container running in parallel with the GridFTP server *or* (and this would be a lot of work) use the C WS Core code to add a WS- ResourceProperty interface to the C code. In either case, you would need to model a Web service with state so that there could be WS- Resources and associated ResourceProperties. An elegant way to do this would be to have a Web service that represents the GridFTP server as a resource, and then publish ResourceProperties that provide access to the recent transfer history. You could then use an MDS4 Index service to aggregate the data from multiple GridFTP services. None of this exists today, so it would all have to be developed from scratch, but it seems to me to be a very useful line of work. (I could imagine this being the core for a more ambitious effort to provide a WS management interface for GridFTP servers that allows remote users with appropriate authorization to manage the GridFTP server as a resource: create a new service, reconfigure the service, shut down the service, see server status, etc.)

The third option (Metrics mechanism) already exists: the GridFTP server reports data for each transfer already using the Metrics mechanism (http://www.globus.org/toolkit/docs/4.0/Usage_Stats.html). The server can be configured to report this data to multiple listener services. (I.e., you could run your own local listener service as well as reporting to the world-wide Globus listener service.) Once the data is in a database that you can access, you can pull the data from the database to make predictions about expected performance. The primary caveat with this line of attack is that the usage reports currently do not include the location of the remote service or client, so you'd only know what one end of the transfer was (the one with the local server). However, unless I'm much mistaken, the GridFTP team has already written the code to provide the info on the remote end of the transfer and this code is either available in the current development release (4.1.2) or else it will be available in the next development release (and then later in GT 4.2).

       -- Lee



On Oct 29, 2007, at 12:02 PM, gaurav khanna wrote:

Hi all,

I am trying to use the MDS framework to set up a customized information
service as follows.

For every globus-url-copy call, the globus-url-copy client should send the following information to a centralized MDS. The information should include a) For a two-party transfer, the client url, server url, file size, time
taken to transfer
b) For a three-party transfer, the source server url, the destination
server url, file size, time taken to transfer

Every subsequent globus-url-copy should be able to then access this MDS
and perform some informed decisions.

To do this, I am trying to write a ExternalElementProducer
Information provider. This requires specifying the location of a script
in the file rp-provider-config.xml and to specify the periodicity with
which it will run and populate MDS. However, for my purpose,
a globus-url-copy call should send the data to MDS as and when it is
called. So, this is more like an on-demand push based data publishing
model instead of a pull based model which seems to be used when a script
runs periodically and MDS gets the
data from it.

Essentially what I need  is some C API which when used within
globus-url-copy, would transfer or push the above mentioned data to the
MDS. Is it possible to do that in Globus ?

Regards
Gaurav


Gaurav Khanna
Phd Student
CSE Department,OSU

Phone (office):614-292-7036



Reply via email to