[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

20060106: Sending data through LDM to ground from aircraft with changing ip address



>From: Janet Scannell <address@hidden>
>Organization: NCAR/EOL/ATD
>Keywords: 200601062310.k06NAe7s005013 LDM dynamic IP static name

Hi Janet,

re:
>We send real-time data from the aircraft LDM to the ground during 
>flight.  We are using pqinsert on the aircraft to put the data into the 
>LDM.

Yes.  We are aware of your efforts and very interested in your status.

>We have a static ip name for the aircraft when in flight, but it 
>is not a static ip address.

I am assuming that you mean you have a fixed name for the machine
on the plane (don't know what fixed IP name means).

>The address can be a range of ip addresses.

If a DNS server can resolve the name <-> IP address relationship, then
you can request the data from the plane by name rather than by IP.  The
tricky part would be updating the DNS entry as soon as the IP is
fixed.  I guess that the ground system could run a cacheing DNS server
and there could be a process running that determines the current IP of
the host on the plane and then forces an update of the DNS entry.

>Currently, we have to manually restart the ldm on the 
>ground, at the beginning of a flight, so that it can make a connection 
>to the new ip address on the aircraft.

So, currently you are requesting data using an IP address.  If there is
DNS for the IP that is updated immediately, you could do the requests
by name.

>Is there any way to get around 
>this problem besides getting a truely static ip address for the 
>aircraft?

DNS

>Can the LDM be restarted from an automatic process when it 
>can't find a specific ip address any more.

Yes.  In the past Unidata sites used a script called 'ldmfail' to
restart the LDM if an upstream host was not active.  The idea was that
'ldmfail' running from a cron job would determine if the desired
upstream host was 'alive', and, if it wasn't, the LDM would be shutdown
and restarted looking for an alternate host.  'ldmfail' would be used
to feed from one of two hosts.

There is another way:

You could put redundant feed requests in your ~ldm/etc/ldmd.conf files,
one for each of the possible IP addresses that the plane's LDM could
have.  This would result in several rpc.ldmd processes running on the
ground system, but this is not a big deal system resource-wise.  The
request that succeeds will receive the data.  The ones that don't
succeed will get nothing.  The requests that don't succeed will
"complain" (put comments into the ~ldm/logs/ldmd.log file), but the
failures will not cause problems with the data ingest itself.

The interesting part of this approach is that _if_ for some reason the
IP address on the plane's machine were to change during a flight, the
data would continue to flow through one of the connections that you
already setup.

>Can the LDM be set up to 
>just use the ip name and not the actual ip address and will this work 
>for this problem?

Yes.  The typical ~ldm/etc/ldmd.conf request lines are by name, not
IP address.  This only works, however, if the receiving machine can
translate from name to IP address, meaning that DNS is setup for
the IP address <-> name translation.

>We are trying to get around the problem of having to 
>manually restart the LDM on the ground at the beginning of each flight. 

Unless the number of possible IP addresses for the plane's LDM is huge,
I would recommend implementing the multiple request alternative as this
is very simple to do.

I have CCed several other Unidata folks on this message in case they
would like to jump in with alternate suggestions.

>Thanks,

No worries.

Cheers,

Tom Yoksas
--
NOTE: All email exchanges with Unidata User Support are recorded in the
Unidata inquiry tracking system and then made publicly available
through the web.  If you do not want to have your interactions made
available in this way, you must let us know in each email you send to us.