Resilient Connectivity

It will be useful to go through the different types of connections and how the protocol will work.

First, is connected to the Internet. I think it is important that the protocol be useful on the Internet. I think it is important that the applications always work and not only when poor connection. Or that resilient messaging protocol is useful for more than applications I thought about. I have dream that protocol could replace SMTP for email.

Second, is fully disconnected. The best example is being on airplane or out in the wilderness. Applications can still send messages but they get queued on the device. They are all sent when reconnect to the Internet. This allows work to get done when offline and to have a standard way to queue up messages.

Third, is disconnected local network or radio. This will allow passing messages between visible nodes without the Internet. Ad-hoc local network on Bluetooth or Wifi Direct applications already exists. Ham radio could really use a messaging solution. The important part is the broadcast discovery mechanism to find local nodes.

Fourth, is non-Internet or non-routable network with one node connected to the Internet. This allows sending messages when one node relay does. I think it needs to be optional if regular nodes relay through Internet connection especially when people pay for mobile. But it means that can relay messages through phone when the modem goes down. I think gateways, permanent relays, are going to be important since should be cheap to setup with Raspbery Pi. Also, this means that can connect far-flung radio areas with the Internet.

Fifth, is local network or device connected to Internet over slow link. This could be dialup or slow satellite. Or could be connecting a large network, like disconnected city, over relatively small pipe, like Starlink. This makes use of priority queueing where important and short messages are transmitted ahead of routine ones. This means that messages pile up in the queue and will get delivered when reconnected to Internet.

Sixth, is delayed connection. The best example is talking to the Moon with its one second delay. The queue allows filling the connection and priority means the important stuff is sent first.