Pyro's future (4.x)

I have a few ideas that will form the architecture of the new Pyro:

... your ideas here!!

Specifications (functions)

What should the CORE be capable of?

What should be included in the CORE?

What should be included later?

What should be included as MODULES/PLUG-INs?

[Leo:] I don't know, if this is possible, but maybe a "bridge" or "wrapper" or however you name it, to omniORBpy would be very interesting.

[David:] Resource discovery useing zeroconf/rendezvous

IrmenDeJong: Rendezvous certainly is interesting, but only usable within a single LAN subnet. Is it worth the trouble to make it a core part of Pyro? Then again, if most things would become modular/pluggable, the naming-lookup mechanism itself could very well be pluggable too..... and then we woule perhaps be able to write a Rendezvous-nameserver-plugin ;-) [http://sourceforge.net/projects/pyzeroconf Pyzeroconf] contains relevant stuff, but does it also contain an mDNS responder server?

[Brian Granger:]

I am working on some other distributed computation projects, and have begun playing with Bonjour (Apple's new name for Rendezvous). The latest version of the mDNSResponder source code that Apple has released includes wide area capabilities. This means that Bonjour services can now be browsed for and published across subnets. The mDNSResponder code is open source and (word has it) compiles just fine on Linux, Windows and Mac. I was just at Apple's WWDC and spoke with the Bonjour team extensively about the current state of Bonjour and where they are headed. It is very promising. The mDNSResponder source code has everything one needs to use Bonjour on Linux or Windows. The source is available at [http://developer.apple.com/darwin/projects/bonjour/].

There is a swig generated python wrapper of this at [http://www.mcs.anl.gov/~turam/bonjour/bonjour-py-0.1.tar.gz].

There are some subtleties about settting up the wide area capabilities. You basically need to run and DNS server with dynamic updates enabled. The Bonjour team has a website up that details how this is done - it is not that bad for anyone who has used BIND/DNS before. It can be done even if your main DNS service is provided by someone else (an ISP, etc.). See [http://www.dns-sd.org] for more details.

As a test, the other night, I used Bonjour to publish a pyro service. Everything worked with no problems at all. I could find and resolve the Bonjour advertised pyro server with no problem. The way I implemented it, no changes were required to the pyro code. I simply wrote a script that i) started the pyro server and ii) used the dns-sd command line to advertise the service. Browsing was also easy. I will be looking more at this in the coming months and will keep in touch. While I work primarily on Mac OS X, all this can be made cross platform.

bgranger@scu.edu

Architecture

How should Pyro be structured?

Design of the CORE

Design of the various MODULES

Process

Implementing, testing (Unit-tests!)

PyroFuture (last edited 2006-04-18 18:09:37 by IrmenDeJong)