> > Network-wide unique identifiers like task-IDs, ports, etc... are a
> > nice
> > thing to have. One idea may be to organize all nodes of a collective
> > in a distributed kind of (hurdisch) filesystem. IDs would then be
> > simple paths and could be located with some kind of distributed
> > lookup() functionality:
> > 
> >   /collective1/                             # namespace for collective #1
> >   /collective1/ipc/                         # ipc namespace (ports...)
> >   /collective1/ipc/machine1/                # ipc namespace for machine1
> >   /collective1/ipc/machine1/port1
> >   /collective1/ipc/machine1/port2
> >   ...
> > 
> >   /collective1/vm/                          # namespace for VM objects
> >   /collective1/vm/machine1/vmobject1
> >   /collective1/vm/machine2/vmobject25
> >   ...
> 
> Would not
> 
>    /collective1/                             # namespace for collective #1
>    /collective1/ipc/                         # ipc namespace (ports...)
>    /collective1/ipc/port1
>    /collective1/ipc/port2
> 
> be more useful?
It would be useful if you want to blur the distinction between
single machines. This may be useful in some cases (e.g. when the
machines are set up in a symmetrical way, meaning all machines
have roughly the same characteristics), but not in others.

Consider the case of some file servers, some compute servers and
say, some routers and/or protocol converters. You want to access
ports on specific machines for specific tasks. With the flat
namespace, you can't easily discover which port belongs to which
machine (at least not only by the pathname).

Even hybrid settings could be possible:

  /collective1/compute-servers/ipc/port1
  /collective1/compute-servers/ipc/port2
  ...
  /collective1/file-servers/ipc/port1
  /collective1/file-servers/ipc/port2
  ...

where 'compute-servers' and 'file-servers' would designate a group
of similar machines which could be treated as a group.

Using a flat-namespace would require an extended lookup a.k.a
name resolution algorithm to finally map the port to a specific
machine. It _could_ be done by the (distributed?) "translator"
that serves the names (e.g. by the translator service the
/collective1/file-servers hierarchy), but this would be added
complexity.

-Farid.

-- 
Farid Hajji -- Unix Systems and Network Admin | Phone: +49-2131-67-555
Broicherdorfstr. 83, D-41564 Kaarst, Germany  | [EMAIL PROTECTED]
- - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - -
One OS To Rule Them All And In The Darkness Bind Them... --Bill Gates.


_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd

Reply via email to