View Single Post
  #2 (permalink)  
Old 01-22-2008
andreynech andreynech is offline
Registered User
 
Name: Andrey Nechypurenko
Organization: Siemens AG
Project: remotely controled vehicle
 
Join Date: Feb 2003
Location: Munich, Germany
Posts: 36
Ice 3.3 Feature Discussion

Hi Folks,

I was really glad to read about UDP multicast support in the upcomming version. As it is mentioned in announcement, one possible usage of it is the service discovery. It would be interesting for me to discuss this topic a little more and hear what other ICE users and developers think about it.

In my project we also want to reduce the number of places where the host name or IP address should be mentioned explicitly. For this purposes we looked at UPnP (Welcome to the UPnP™ Forum!) and ZeroConf (Networking - Bonjour Avahi - Trac ) technologies. Our goal was to find the way to publish/discover arbitrary ICE proxy string and notify the application when corresponding server started or disappeared.

We decide for ZeroConf since it provide reacher functionality. Among other functionality, ZeroConf allows not only discover the services but also made the necessary previous step - establish proper IP configuration even without DHCP (scenario like simply connecting two notebooks with crossover cable). Integration with DNS is also nice feature if services need to be published in Internet.

We implement two pretty simple classes with AVAHI API (Linux) to perform publish and discovery tasks. They are simple and non-intrusive, i.e. notification loop is running in own thread and default reaction on discovered services is doing nothing. I will be glad to share this implementation if somebody is interested.

So the question I would like to discuss is whether it make sense to try to convince ZeroC folks to integrate certain discovery technology with Ice ? In particular, it might make sense for "standard" Ice services to prevent clients from specifying concrete location. Certain user applications might also benefit from this functionality in case of add-hoc environment. There are also disadvantages like the need to bundle Ice distribution with corresponding libraries and functionality which is not always used. However, it might be possible to implement it as an optional feature similar to getline usage.

Since I am personally not quite sure whether it is a good idea or not, I would be glad to hear opinions from other Ice users and developers.

Thank you,
Andrey.
Reply With Quote