If an UDP packet with ambient data for storage is dropped, the
consequence is simply that those spefic values will be missing in
the file. Another process that later checks for them will not find
anything, and therefore has to do the same calculation again, or at
least a very similar one.
Why not have any process that sends an ambient value check for its
presence the next time it reads the ambient file and resend it if it's
not there? If, due to network latency, the value is sent twice, the
server can simply ignore it, without any harm done.
> - I recommend that renderers keep a timer, and if the server does
> not see ambient file updates in some operator-determined period of
> time, raise an alarm. (The operator-determined time because it
> depends on network and filesystem latency.)I'm not sure what problem you're trying to solve here.
Duh. Meant "renderer," not server. A check to make sure the
renderer's ambient values are actually getting into the shared ambient
file. If this isn't happenning, operator attention is needed.
> - I believe the ambient updater itself could be best organized as a
> monitor and an updater process;I don't think that job management concepts are within the
functional scope of core Radiance.
I suppose. But that would be my preferred solution in a Unix
environment; the ambient value update server has to be incredibly
reliable, or we'll be hearing complaints about it forever. It may not
be life-critical, but it sure can be career-critical!
> - The updater can publish its UDP port and a 64-bit random magic
Let's worry about security once the functionality as such works.
Publishing the port solves the problem of communicating the IP address
and port number of the ambient file update server to the clients
without assigning an arbitrary port number, which is not reliable,
since only services listed in RFC whatever are assured of getting
their assigned ports. One gets the slightly greater security of the
magic number for very little extra effort.
You're just not devious enough.
It will be trivial to have the server only accept packets from
the local IP range, and you should have a firewall in front of
your network in any case.
Within a large network, one is likely to have at security problems
from inside the firewall; it's best to address them early on.
Randolph
···
On Fri, Jan 31, 2003 at 08:03:22AM -0500, Georg Mischler wrote: