Resilient Internet

I had idea recently that synchronous Internet can degrade into asynchronous messaging. This is the store-and-forward messaging from the early Internet, the UUCP, FidoNet, and SMTP protocols.

Messaging queue works best for high latency, and low bandwidth. High latency means don’t get a response and TCP breaks down. The only solution is to send a stream of messages and hope the receiver can handle them. Current software assumes good internet and can’t deal with slow connection. The solution is to queue the messages and send the important ones. Finally, there is disconnected. The solution for that is to queue messages for sending when reconnect. This is working offline.

Unfortunately, this won’t work with normal applications. The standard API calls don’t work since the response time can be too long. Applications will need to be rewritten to work with slow messages and lots will never work. Video calls will never work. Video messages could work but need higher bandwidth.

The first applications would be the messaging based ones: email and SMS. I think it should be possible to integrate with them on the server. Or later for the system applications to be modified to deal with the queue. For dual-mode applications, they would need to detect the degraded internet and switch to degraded mode.

I was thinking about starting with a simple messenger that could send messages over ham radio, Bluetooth, Wifi Direct, or local network. It probably makes sense to have internet messaging, but use the same message queue. I think this would be especially useful for ham radio which could use a modern message application.

I wish I organized this idea in the past, since I have had it for a while. The Internet, with mobile phones and satellites, has improved its speed and reliability. It used to be that had to deal with being disconnected while away from computer, or while hiking, or in a plane. Even though Starlink might make it less important now, I think idea will be important for interplanetary networks.