[comp.os.research] unique document ids across machine boundaries

var@iris.brown.edu (Victor A. Riley) (04/07/90)

A little background first before I ask my question.  I work at a
research institute called IRIS (Institute for Research in Information
and Scholarship).  We have been doing research in hypermedia since 1983
and have developed the IRIS Intermedia system.  Intermedia is a multi
user, network based, hypermedia system.  In doing our research we have
developed a link server, that the client application communicates with,
to store all the hypermedia information for a set of documents
accessable to the user.  Our current configuration is suitable for
multiple users on a LAN accessing a set of documents within NFS access
from the link server machine.  What we now want to do is extend the
access of documents and link servers to remote sites or different
networks.  This is simple to accomplish by having a link server run on
the remote machine, connect to the server over the network, and have
the link server send the documents over its socket connection.  The
trouble lies in how to differentiate between the index of a document on
a remote machine and the index of a document on the local machine,
without store the machine name with every document.  Each link database
assigns a unique id to the document, but this is only unique within a
single database.

What I want to ask the world is - Is there a means to uniquely identify
a document or file on any machine from any other machine?  Basically,
given a unique id I want to be able to have a means of resolving where
that document is actually located - machine name and/or location,
directory location, etc.  This unique id may be made up of as many
sub-unique ids as are necessary to accomplish the goal.  But I draw the
line at a unique id that is over 64 bytes long.

Here are some ideas I have thought about so far.  The unique id
shouldn't be based on the hardware ethernet address since it is too
simple to have a hardware failure and swap the ethernet board or to
upgrade the hardware.  It shouldn't be based on the software internet
address because a sysadmin could change the network address easily, and
non-internet machines don't use internet numbers.  However, if it WAS
based on the internet number, every time the machine was rebooted and
the server started up it could check if the address changed and
broadcast that change to any clients of its database.  Another
possibilty would be to have the server itself generate a random number
(or two) during installation (in the hopes that it might be unique) and
use this id.  Or the unique id could also be assigned to the server
from a 'central clearinghouse' when the server is installed.  But what
if the database and documents were moved to another machine?  How do
you stop a user from installing the system on a second machine using
the same unique id?  Also, what happens if/when a system like this
comes standard with the operating system?  How do you assign a unique
numbering scheme from the manufacturer?

Apollo's DOMAIN operating system has support for something like this,
but I think their unique id mechanism is limited to the local network
(token ring) the computers are on, rather than the whole computer
network world-wide.  Correct me if I am wrong HP/Apollo folks.

Is a unique id scheme possible for Unix or other computer systems
across a world-wide network?  If not, is there a means to make it
possible in the future?


	Victor Riley
	IRIS - Brown University
	var@iris.brown.edu