VOSpace v1.15 PR comments
Dave Morris
dave at ast.cam.ac.uk
Mon Jul 13 07:45:27 PDT 2009
Norman Gray wrote:
> Sect 3.5.4.2: "Local NFS transfers".
This example originally came from me, so I'd better explain why .
> This talks of transfers within a specific local NFS filesystem. This
> is so local that it strikes me as odd that anyone would want to
> register an IVORN to describe it -- why would anyone not on this local
> system ever need to look this up?
Short answer, error handling, expert users and transparency.
Consider a set of VO services (VOSpace, TAP, UWS etc) installed at
Cambridge all able to access the internal Cambridge NFS network.
A user from outside, perhaps yourself located in Glasgow, can initiate
operations that result in data transfer between two of the services at
Cambridge. Ideally, you want the services to use the most efficient
protocol to transfer the data, but as an external user you don't know
(and normally shouldn't need to know) the details of the internal NFS
network at Cambridge. Which is as it should be, you just want the bytes
transferred. However, because your user agent (program) was involved in
the protocol negotiation, it does know the the identifiers for which
protocols were offered and used.
Two reasons why the end user may want to know more.
First case is what happens if something goes wrong ?
Unless the error messages passed back to the client are very generic
'something bad happened', they may contain details that are specific to
the transfer protocol used.
If the error message says :
'[specific bad thing happened] during transfer using [protocol] '
The system still works if [protocol] is an opaque URI, but the message
may be more informative if [protocol] points to a resource that
describes what it is.
Second case is an expert user who has more detailed knowledge of the system.
In the real world, there will always be cases where domain experts know
more (or think they know more) about the system.
In which case, there may be cases where the user wants to be able to say
things like
'transfer data between [source] and [destination], using [protocol]'
or even
'transfer data between [source] and [destination], but don't use [protocol]'
Again, the system functions fine if [protocol] is an opaque URI, but it
is more informative if it is resolvable to something that describes what
[protocol] is.
All of the above works fine whatever the URI actually is.
If is an opaque URI, then the system functions, but the user can't find
out more.
If [protocol] is a http URL that points to a web page, then the user can
read the page, but a program can't.
If [protocol] is a URI that points to a resource with a known XML
structure, then it may enable future programs to understand what
[protocol] actually means.
The more public the URI, the more a use can find out, and the more
control they have.
> Indeed, it strikes me that one could reasonably insist that a site
> SHOULD NOT register such cluttering IVORNs.
Interesting.
This implies we want to have restrictions on what types of things can
and can't be registered in the registry ?
For VOSpace, the system works just as well if [protocol] is a http URL
which points to an XML resource, as long as the structure of the XML
resource is well defined and can be understood by VO clients and users.
Using the VO registry (seemed to be) a convenient (VO compatible) way to
get the process started. Most VO tools are able to resolve and display
registry resources, removing the need to create a new XML schema and
associated tools.
In practice, using registry resources is not ideal and it has imposed
restrictions on what we can express in the resources. However, at the
time we felt that if we started to define our own XML schema for things
like this, there was a danger that we would end up with multiple
incompatible and overlapping XML schema within the VO.
In hind sight it might have been better/easier for us to use http URLs
and define our own XML schema for the protocol definitions, and we may
want to consider this for VOSpace 2.x services.
Dave
More information about the grid
mailing list