You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@river.apache.org by Peter Firmstone <ji...@zeus.net.au> on 2010/02/04 03:29:57 UTC

DNS-SD Registrar and Lookup Service

I've been thinking about how to do a public or global DNS Service 
Discovery based Registrar and Jini Lookup Service implementation.

Some thoughts on Lookup:

    * Place more of the burden of lookup on the client for scalability.
    * Use a ServiceItem caching service to hold the MarshalledInstance's
      (proxy's smart proxy's etc) for DNS-SD, as these servers can't
      hold these.
    * The lookup smart proxy, will initially discover services utilising
      DNS-SD by an interface class name or names, it has the option of
      filtering by Domain, Group or ServiceID.
    * The already filtered list returned by DNS-SD will be finally
      filtered at the Client, by the client, to do this the DNS-SD smart
      proxy will need to retrieve the MarshalledInstances from the
      ServiceItem Caching Service.
    * We can extend the ServiceRegistrar interface, call it
      DNSServiceRegistrar and add a couple of methods, one that returns
      an ObjectInputStream for filtering?

ObjectInputStream lookup(String[] Domain, String[] Group, String[] 
clazz); // Return MarshalledWrapper or MarshalledInstance instances?  Gregg?
Object[] lookup(ServiceID serviceID, String[] domainHints);

If a service is mobile, we don't know where it could turn up, search the 
provided domains hints first. Just in case an ID isn't globally unique, 
we return an array.  Other means of identity should be used to determine 
actual identity eg Xuid if the array is > 1.

Some thoughts on Lookup Discovery:

    * The normal Jini discovery process should be performed first, if it
      exists, a DNS-SD style Registrar can answer.
    * If there is no Jini service available implementing
      ServiceRegistrar, a local DNS-SD bootstrap implementation should
      be available to attempt to find a DNS-SD Registrar via DNS-SD

Cheers,

Peter.