questions about nameservices

Eoin Carroll ewc@orl.co.uk
Wed, 25 Jun 1997 18:17:54 +0100 (BST)


Hi,

> 
> I got 2 questions. Thanks for your attention.
> 
> 1.
> "omniORB Nmmeservice is centralized ?!"
> 
> 1.1 Is there only one Nameservice daemon in a "omniORB" domain? Is it proper in 
> terms of performance if the numbers of clients asking Nameservice are too huge:)
> 

No, you can run as many instances of a COS Naming Service (e.g. omniNames) as 
you like.  Furthermore, you can federate the instances of the COS Naming
Service. Just bind the (root) context of one Naming Service instance as an 
object or context in another. In omniNames, you can use the nameclt program 
to do this. Note that you don't necessarily have to use the root context - 
you can bind any of the contexts in one Naming Service to an object or context
in another.

However, as Tristan wrote a few weeks ago, it is worth bearing in mind that  
there is a subtle difference between using the "bind" operation and the 
"bind_context" operation for federating name servers. I quote from his e-mail:

" Using "bind" will bind another nameserver as an object (BindingType =
nobject), whereas "bind_context" will result in a binding as a context
(BindingType = ncontext).  Only in this second case may a compound name which
refers to an object in the second nameserver be resolved in a single call to
the first nameserver.

For example say nameserver 2 is bound as a context with name "/a/b" inside
nameserver 1.  An object bound as "/c/d" inside nameserver 2 can be accessed
from nameserver 1 by the name "/a/b/c/d". 

If on the other hand, nameserver 2 is bound as an object, then two calls are
necessary.  A client must first resolve "/a/b" to get an object reference for
nameserver 2, and then use this to resolve "/c/d" inside nameserver 2. "

Note that if you're using nameclt's bind_context operation, you must specify
the -advanced option. 


 

> 1.2 Of course, we can fork some other Nameservice daemons in a distributed 
> environment(eg., intra-net), but it means different users  will "see" some
> different name contexts in its local configuration file(for example, it is 
> /etc/omniORB.cfg under UNIX). Each of Nameservices daemon will be only 
> responsible for its own name context(service database). So a question arises: 
> Can these Nameservice daemon co-operate based on a protocol(eg. x.500)?
> 

Yes, they can co-operate using CORBA. See above.

> 
> 2. How can omniORB interoperate with other half bridge if omniORB Nameservice> can't implicitely cooperate with other name context maintained by other Name
> service daemon?
> 

Again, see above.

Eoin.
--
Eoin Carroll                                     ewc@orl.co.uk
Research Engineer
Olivetti & Oracle Research Lab
Cambridge, UK