regarding SLP I would suggest to look at Zeroconf as well. Goals of SLP and Zeroconf aka multicast DNS are quiet similar except the fact that (knowing you are on a Mac) Zeroconf is more common on Macs and Windoze machines.
Another way to advertise a service is a standard mostly driven by M$ which is named UPnP. I did quiet a bunch of stuff regarding Zeroconf but in C/C++ and Python. Simply let me know if this sounds like something that could be of use for the client/server multicast discovery. Open Source SLP impl: * OpenSLP Open Source Zeroconf (Multicast DNS) impl: * Avahi * FreeBSD/NetBSD Zeroconf stack * Apple's Bonjour * there was a Java impl but I don't remember the name at the moment Open Source UPnP impl: * UPnP Port Works * GUPnP * Barracuda UPnP Related stuff: * Wide area DNS service discovery * NAT-PMP On Tue, Sep 9, 2008 at 10:42 PM, Alan D. Cabrera <[EMAIL PROTECTED]> wrote: > > On Sep 9, 2008, at 12:58 PM, David Blevins wrote: > >> >> On Sep 9, 2008, at 12:24 PM, Alan D. Cabrera wrote: >> >>> >>> On Aug 29, 2008, at 4:38 PM, David Blevins wrote: >>> >>>> Been looking into how to do service discovery between client/server and >>>> server/server. >>>> >>>> We've got some code in the client to do failover on a server list but by >>>> default it really isn't wired up. It'd be nice to get something in so even >>>> if we don't support full clustered replication, at the very least we could >>>> support a bunch of servers that "work together" in a stateless fashion. >>>> >>>> Looking at adding a new "multicast" server service that just advertises >>>> the URIs of the other networks services available in the system. We'd >>>> probably want it off by default (maybe), but then a client could just sort >>>> of boot without being pointed to a specific server address and >>>> theoretically >>>> find a server to talk to. >>> >>> Would you be using something like SLP to advertise the services? >> >> Wow that looks almost identical to what I cooked up. What I've got the >> URIs are formatted like this: >> >> foogroup:ejb:ejbd://somehost:4201/?name=value >> foogroup:ejb:http://somehost:80/openejb/ejb >> >> And so so on. Only things in the foogroup can see services of the >> foogroup. The second scheme, "ejb", denotes the type of service. And >> finally the "ejbd://somehost:4201/?name=value" denotes the actual location >> of the service. >> >> At first glance it looks quite SLP compatible. > > Great minds... > > Yeah, for SLP, your URL could be > > service:ejb:ejbd://somehost:4201 > > The attributes would be > > name=value > > and your SLP scope would be foogroup. The thing I like about it is that you > can use LDAP query language to select services based on their attributes. > > > Regards, > Alan > >
