Applications Messaging Standard
Mark Taylor
m.b.taylor at bristol.ac.uk
Fri Feb 16 04:01:27 PST 2007
On Thu, 15 Feb 2007, Doug Tody wrote:
> On Thu, 15 Feb 2007, John Taylor wrote:
>
>>> IP (sockets) on the other hand, were designed for this purpose.
>>> A simple solution is to provide a well-known port for discovery
>>> (basically just a simple keyword-value cache; back it up with an
>>> environment variable or whatever to config the address)), and hand-off
>>> to dynamically allocated ports for session stuff. This can all be done
>>> at the protocol level without an API, is universally available, and is
>>> really not much more complex than using a file. Probably less complex,
>>> when you consider the subtle issues that files have for this purpose.
>>
>> I'd be interested to know how much easier or harder it would be to use IP
>> from relatively primitive programming environments such as IDL (that's not
>> a slur on IDL...it's very sophisticated in other ways).
>
> Well, we are after all talking about messaging software right? Any
> system/app/language using this will already have had to figure out how
> to talk to a socket.
>
>> One question I have is what would happen on a multiuser machine? Would you
>> need some system process running on the one shared well-known port?
>
> Not necessarily, but you could. The same mechanism could be set up
> either way. In either case the idea is one would use this only to
> provide a simple discovery mechanism, to bootstrap things up, then
> hand off to other facilities. Having something which at the most
> basic level can be accessed by multiple accounts could be a useful
> thing it itself, as sometimes resources which need to discover each
> other and communicate are running under separate accounts.
>
> Clearly there are issues which need further thought, but the point
> is to explore alternatives to the use of file-based mechanisms for
> simple runtime discovery in a LAN type environment.
I think the sockets-based approach is certainly worth considering.
As an author of Java applications, I would rather be talking to
a socket than a file to pick up information about how to find a
running hub. However, I think the two points that John raises
are important ones, especially the one about what you do on a
multi-user machine, or more generally, if the well-known port
earmarked for the service is already in use. My feeling is still
that the file-based approach, while inelegant, presents fewer
problems in practice than the socket-based one, but I am prepared
to have my opinion changed.
Mark
--
Mark Taylor Astronomical Programmer Physics, Bristol University, UK
m.b.taylor at bris.ac.uk +44-117-928-8776 http://www.star.bris.ac.uk/~mbt/
More information about the apps
mailing list