I used Zeroconf because I was on a local network. I&#39;m not sure if it&#39;s considered chatty, but the &quot;pitfalls of multicast&quot; blog post clearly explains why it&#39;s not reasonable to use it on the WAN.<div><br>
</div><div>But I still think Zeroconf can be used as a glue for nodes inside a network, particularly DNS Service Discovery (<a href="http://www.dns-sd.org/">http://www.dns-sd.org/</a>); it is also a great inspiration for minimalist design.</div>
<div><br><div class="gmail_quote">On Sat, Sep 19, 2009 at 8:00 PM, Duncan M. McGreggor <span dir="ltr">&lt;<a href="mailto:duncan.mcgreggor@gmail.com">duncan.mcgreggor@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Duncan M. McGreggor wrote:<br>
&gt; Alex Drahon wrote:<br>
&gt;&gt; I&#39;m using<br>
&gt;&gt; Zeroconf for service publication and discovery, and I&#39;m trying to design<br>
&gt;&gt; a small language that services (or nodes) could use to declare the<br>
&gt;&gt; capability they provide, some of which could be messaging/discovery<br>
&gt;&gt; related (I&#39;m a proxy, I&#39;m a local service registery, I can talk to...).<br>
&gt;<br>
&gt; I haven&#39;t looked at zeroconf at all; it&#39;s been on my list for a while;<br>
&gt; you&#39;ve just bumped it up for me ;-)<br>
&gt;<br>
<br>
I&#39;ve just taken a quick look at zeroconf, and I see that it uses<br>
mutlicast DNS for discovery. Multicasting is something that I actually<br>
wanted to avoid. I was under the impression that it doesn&#39;t scale well<br>
and was very chatty. I&#39;ll see if I can dig up some of the things I read<br>
about that a few years back. Maybe things have changed since then...<br>
<br>
Here are some links I&#39;ve found just now, scanning them to get up to<br>
speed (including some obligatory Wikipedia links):<br>
  <a href="http://en.wikipedia.org/wiki/Multicast" target="_blank">http://en.wikipedia.org/wiki/Multicast</a><br>
  <a href="http://en.wikipedia.org/wiki/Mesh_network" target="_blank">http://en.wikipedia.org/wiki/Mesh_network</a><br>
  <a href="http://en.wikipedia.org/wiki/Ad_hoc_routing_protocol_list" target="_blank">http://en.wikipedia.org/wiki/Ad_hoc_routing_protocol_list</a><br>
  <a href="http://en.wikipedia.org/wiki/Game_theory_in_communication_networks" target="_blank">http://en.wikipedia.org/wiki/Game_theory_in_communication_networks</a><br>
  <a href="http://tldp.org/HOWTO/Multicast-HOWTO-2.html" target="_blank">http://tldp.org/HOWTO/Multicast-HOWTO-2.html</a><br>
  <a href="http://www.mesh-networks.org/" target="_blank">http://www.mesh-networks.org/</a><br>
<br>
Multicasting strategies by David Mertz and Brad Huntting (2003):<br>
  <a href="http://gnosis.cx/publish/programming/multicast_1.html" target="_blank">http://gnosis.cx/publish/programming/multicast_1.html</a><br>
  <a href="http://gnosis.cx/publish/programming/multicast_2.html" target="_blank">http://gnosis.cx/publish/programming/multicast_2.html</a><br>
  <a href="http://gnosis.cx/publish/programming/multicast_3.html" target="_blank">http://gnosis.cx/publish/programming/multicast_3.html</a><br>
<br>
Ah, here&#39;s a &quot;pitfalls of mutlicast&quot; blog post:<br>
<br>
<a href="http://aviadezra.blogspot.com/2009/07/multicast-ip-udp-igmp-multi-homed.html" target="_blank">http://aviadezra.blogspot.com/2009/07/multicast-ip-udp-igmp-multi-homed.html</a><br>
<br>
A couple years ago, Itamar spiked some mDNS stuff for Twisted. You can<br>
see it here:<br>
  <a href="http://twistedmatrix.com/trac/browser/sandbox/itamar/mdns" target="_blank">http://twistedmatrix.com/trac/browser/sandbox/itamar/mdns</a><br>
<br>
Brian Granger wrapped PyZeroconf for use in Twisted here:<br>
<br>
<a href="http://projects.scipy.org/ipython/ipython/browser/ipython/sandbox/bgranger/bonjour/twistbonjour.py" target="_blank">http://projects.scipy.org/ipython/ipython/browser/ipython/sandbox/bgranger/bonjour/twistbonjour.py</a><br>

<br>
These would be good places to start for Twisted prototyping.<br>
<br>
I&#39;ve emailed Tim Allen, who mentioned at one point of having an<br>
implementation, to see if there&#39;s anything he has that we can look at.<br>
I&#39;ll let you know what he says.<br>
<br>
If anyone else has expertise or links to share on this, I&#39;d love to<br>
catch up... I have a feeling that Elliot Murphy&#39;s got some cool thoughts<br>
on this topic ;-) Elliot, you around?<br>
<br>
d<br>
<br>
_______________________________________________<br>
ULS-SIG mailing list<br>
<a href="mailto:ULS-SIG@python.org">ULS-SIG@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/uls-sig" target="_blank">http://mail.python.org/mailman/listinfo/uls-sig</a><br>
</blockquote></div><br></div>