[Arch-paper] SFN + LFN + PFN
Douglas Thain
thain@cs.wisc.edu
Mon, 2 Sep 2002 22:34:04 -0500 (CDT)
[ Meta-comment: This address list is getting large.
Please speak up if you don't want to be on it. ]
Folks,
We are getting sidetracked. Trying to define the semantic meaning of LFN,
PFN, and TURL is only going to leave our heads spinning. Let's kick around
how these names will actually be *used*. We can then write definitions in
terms of their relationships with other objects.
That said, I like Ian's definition of a name. ;)
Let me try another one:
A name is a pointer. It is only valid within a certain *space* and *time*.
Or, if you are a formal languages nerd, you might call these *scope*
and *lifetime*. If you pass out of this range, you still have the pointer,
but you don't know what it points to.
It will be central to an architecture statement to define just when and
where a name is valid. There are a bunch of ways of dealing with this
problem. I'm still not sure that I understand LFNs and PFNs, so let
me ask some questions instead:
When I transform an LFN to a PFN, how do I know where and for how long I may
use that name? What burden is placed on the client/site/nameserver for
maintaining that range? Will a site need to remember all names it has ever
issued? What implications does that have for performance/maintenance?
When I request an PFN at a particular site and receive a TURL, how long is
that TURL good for? How do I know the site didn't give up on me and
re-issue it to someone else? Will I be able to tell if I connect to a port
and start receiving a file different from what I requested?
The folks working on digital libraries have meditated
on the problem of naming for quite a while.
How does our work relate to theirs?