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