Hi Andrew, Thanks for your further thoughts on this matter.
Since I’ve written the whole system in Java, and I’m using multiple threads (not processes) the threads can communicate directly with each other, so there’s no need for creating files to represent various requests. I can easily write a class called “Communicator” which accepts requests for various communication services, queues them up, and lets the corresponding thread pause (if it requires a response) until the result it desires is obtained by Communicator and returned to it. Requests to Communicator can also specify whether to send by TCP or UDP. This is certainly doable.
Regarding multiple interfaces to the device, I think if it is possible it is better approach because it doesn’t require interfering in each thread which requires Internet access by recoding it to use the Communicator class previously described. It seems a shame to make significant changes to an otherwise clean solution just because of the limitations of the Nova. Presently, my tracker already works with some other USB modems (all 3g) and it is certainly imaginable that I will use other LTE devices which are not the Nova. I hate to beat up a system just to accommodate a piece of hardware which isn’t quite up to snuff. I’ll mention that I have deployed many ZTE mf190 GSM USB dongles. They cost about $8 and I can send them AT commands while a ppp session is active.
Also, I don’t think a “master” controller would be needed for the multiple interface solution. Rather, I think it’s a straightforward synchronization problem.
Anyway, I appreciate your thoughts. It’s very helpful to kick around ideas…