Re: VOStore interface

From: Paul Harrison <pharriso-at-eso.org>
Date: Thu, 04 Aug 2005 11:56:09 +0200


Matthew Graham wrote:
> Hi,
>
> I think that most of what is VOStore and what is VOSpace is clear;
> however, the two grey areas are access control (authorization) and
> identifiers and this stems from the use case where the user wants direct
> access to a VOStore (e.g. a local store) and does not want to go through
> the VOSpace layer.

This is is the core issue of the interaction between the layers - if VOSpace is supposed to be effectively a catalogue of what is in VOStore, then altering VOStore contents without informing VOSpace is going to cause problems.

>
> Access control:
> -------------------
>
> A VOStore can run in two modes: authorized and unauthorized. An
> unauthorized VOStore is semantically equivalent to an anonymous ftp
> site: any authenticated user (we still maintain security) can put
> something in, move/rename it, get it and delete it.
> An authorized VOStore will only allow the requested operation if a valid
> authentication token is included in the request - all the VOStore has to
> do here is validate the authentication token. The generation of the
> authentication token is handled by VOSpace: it makes sure that the
> authenticated user has permission to do what they are requesting and if
> so, places a valid token in the request down to the VOStore.

I think that this is a good scheme - however, is there to be a validation token per file or per VOStore?

>
> Identifiers:
> --------------
>
> The protocol identifier ivo:// identifies a resource that exists in the
> VO. It does not promise that you can completely resolve a URI beginning
> ivo:// in a registry, merely that some component of the URI will relate
> to a resource that has a registry entry, i.e. the bit before the first #
> can be resolved in a registry. So I can go to a registry and find out
> where ivo://nvo.caltech/vostores/vostore1 is
> but I need to go to VOStore interface for this store to resolve
> ivo://nvo.caltech/vostores/vostore1#halibut3. I do not see why we need
> to introduce a second protocol just for VOStore contents.

Introducing a new URI for vostore is not absolutely necessary, as you demonstrate above, you can invent any interpretation of the ivo: URI that you want, however, a separate URI scheme does have the benefits of

We also need to consider carefully whether it is simply an identifier that is needed, or a locator, and indeed whether there need to be different schemes at the VOStore and VOSpace levels - for VOSpace URIs in particular there are questions which we potentially ignore by insisting that everything is in the ivo: scheme e.g.

      are they just part of the directory hierarchy?

Another argument for a new scheme is that it has been suggested that it would be nice to be able to reference fragments of the stored entity - e.g. parts of a VOTable - the ivo: scheme is already rather overburdened to allow this extra level of specification.

>
> Now resolution of individual VOStore identifiers has to be done at the
> VOStore level; however, VOSpace gives you the ability to set up a single
> logical identifier for multiple copies of the same resource so here we
> might want a separate protocol: vos and resolution of this identifier
> has to be done at the VOSpace level since VOSpace manages multiple
> VOStores.
>

I think it is essential at least to have a new scheme at the VOSpace level ;-)

-- 
Paul Harrison
ESO Garching
www.eso.org
Received on 2005-08-04Z11:56:33