Real-time communications over quite reliable channels (eg. loss/error rates < 50%) is quite well researched, and is easily accessible.
However, the maintenance of reliable, deterministic two-way communications over multiple degenerate channels (eg. loss/error rates >50%, uni-directional communications, arbitrarily long latencies, hostile adversaries able to record and replay communications) is much more difficult, and commercial solutions are not as readily available. (PDF)
Solution I have implemented and deployed a solution on behalf of a very large client, which includes a novel communication protocol implemented between dozens of SCADA (Supervisory Control and Data Acquisition) control workstations, and hundreds of remote RTU nodes deployed continent wide.