Hello All,

I was hoping to provide a quick response to Andrew's comments today, however due to unexpected personal reasons I was unable to.  I will not be available until Monday next week, at which time I will provide a brief response to each of the points listed.

Best regards,
Manuel Pereira
===============================
IBM Almaden Research Center
1-408-927-1935  [T/L 457]
mpereira@us.ibm.com


owner-ogsa-wg@ggf.org wrote on 07/20/2005 11:55:00 AM:

> All,

> Here are some of my comments on the RNS document. I jammed my finger
> yesterday in basketball, so typing is painful. Therefore, I’m
> limiting my comments to the most significant. Thank you to the RNS
> team for all of their work.

>  
> Andrew
>  
> High level comments:
>  
> 1) The basic directory function is to provide a mapping handle
> f(“string”), i.e., to map strings to some form of handle.

>  
> Thus, in section 1.1.
> Why do we need four different types of junctions? Should we not have
> one type of junction: mainly to an EPR. Thus a directory would map a
> string to an EPR.

> EPR f(“string”);
> Instead there are four “types” of junctions:
>             EPR’s
>             Virtualized reference – either contains an EPR or a URL
> that points to some other service

>             Referrals – point to another RNS service. Q: could this
> not be modeled as an EPR?

>             Alias – points to another “entry” within the “same” RNS
> service. This seems to imply a container like model – more on this later.

>  
> I suggest that we need only ONE type of junction – an EPR. That will
> simplify client coding – and the model significantly.

>  
> 2) Implied model – Repositories
> There is a notion in the spec of “same service instance” that in
> conversations has also been called a “repository”. The basic idea is
> that an RNS service may “contain” a set of directories – and that
> the service has a root. Thus junction types distinguish, for
> example, between internal and external things that they point to.  
> Thus an RNS service is a rooted tree – that may point at the leaves
> to other rooted trees. So, first of all – it is implied. If we’re
> going to have that model it should be right up front and discussed.
> What is a repository? What are it’s special port types if any, etc.
> Second, I think that it is not the right way to think about the
> problem. Directories should be the resources – not collections of
> directories. If a particular implementation chooses to multiplex a
> large number of logically independent directories in a single
> container – great – we will certainly do that too. The issue is what
> is the model. I feel fairly strongly about this.

>  
> Links “into” other RNS servers:1.1.2.4 “Alias Junction” is
> restricted to pointing to entries in the same repository. I think
> they should be able to point to anything – including directories in
> “other” repositories. It has been claimed that using the EPR of the
> “repository” and a path you can get that effect. However, what if
> the path changes in the other container? My link would break – even
> if the directory itself still exists.

>  
> 3) Full path names
> In ANY directory system lookup really takes two parameters – a
> “root” at which to start, and a path. Often the “root” is implied,
> or is at some well-known location. RNS – as written, implies that
> all lookups are based on full paths with an implied, unspecified root.

> Assuming that full paths are to be used on all lookups, the
> potential for both hot spots AND single point of failure are clear.

> In conversation with Manual he mentioned that his clients cache
> intermediate parts of the tree in the sense that “/foo/bar/d1” as a
> prefix leads to a particular RNS service, and then use that info to
> not always traverse the tree. Besides the obvious implementation
> challenges of cache consistency when the tree is changing (a problem
> we certainly had/have in Legion) there is the modeling issue. If we
> expect clients to do that – then perhaps the
> architecture/specification should accommodate that and say that all
> lookups are relative path lookups with respect to some “root”. The
> root could be a true “root”, or interior node in a tree, which is
> itself a “root” of the subtree it defines.

>  
> 4) Resolve and file system profile. We discussed these on the last
> ogsa call, my understanding is that they are going out.

>  
> 5) Iterators. OGSA-Data-WG has discussed iterators in a more general
> way, e.g., on data base query results etc., I think that whatever is
> done in RNS should be consistent with whatever is done in OGSA-Data
> (note – consistency can happen either way).

>  
> Medium level comments:
>  
> S 1.1
> “In all cases, junctions are capable of maintaining a list of
> references (EPRs/URLs) per entry, that is a single junction my
> render several available EPRs, each of which represent replicas,
> copies of the same resource, or operationally identical services. “

>  
>  
> Why? Are you saying that replication issues and semantics should be
> dealt with in the directory structure? Or are you saying that
> directories are not “sets” in the sense of only one entry – but
> rather “multi-sets” in the sense that one string can map to multiple
> things. If the later – what are the implied semantics.

> I think it may be safer to keep them as sets.
>
>  

>