Thanks, Mark, for your amazingly prompt response.
I may have to check out the NetBIOS option if I can't figure out another way of finding the DHCP-assigned local address. My suspicion is that in solving the rest of this riddle, I'll also find another solution to discovering the local IP address.
My friend's lack of network prowess precludes his performing any router configuration, so both the DMZ and the virtual server options are problematical, as is the assumption that the coffee pot will end up with the same IP address forever. Imagine the non-deterministic scramble of assigning local addresses to nodes after a major power failure, especially if some laptops and other net-aware appliances on the LAN have been added or removed since the coffee pot was installed.
I can easily set up a free DynDNS account for my friend, but a coffee-pot-based update client may not be so simple to write. The issue is that DynDNS
http://www.dyndns.com/support/clients/ explicitly states, "An update client should only send updates when a change is detected, but some clients send updates at regular intervals (e.g. hourly) whether or not an update is necessary." How would the coffee machine know if the external IP address changed, i.e., when an update were needed? The router would know, but if there is any standard way to have a router tell its local clients what its external address is or to have it send some kind of a message when this address changes, I don't know what it is. And without knowing the external address, the coffee machine would presumably try something like sending out updates based on a timer, which DynDNS explicitly mentions as "abusive updates" and for which they will block the coffee pot from using their service.
I'm going to work on this some more, perhaps after doing some other things that are pressing. But from your response, I infer that there is no obvious solution.
Oops, maybe there is! I just heard about "Universal Plug and Play" that looks promising. From its wikipedia article, it appears that it's quite new: "UPnP was published as a 73-part International Standard, ISO/IEC 29341, in December, 2008." [Or maybe not, since the "UPnP Vendor's Implementation Guide" is dated 5 Jan 2001.] And, with 73 parts, there's probably a lot to wrap one's head around. Furthermore, as I read the article, it seems that the protocol is not really ready for prime time. There seem to be major security flaws that would have reasonable people disable it. However, this does mean that a lot of people are working on the problem, and again that it has no obvious solution.
Has anyone looked into implementing UPnP on a uTasker device?
Cheers,
Richard