Sometime around 1999/2000ish, I built a sort of distributed database application. Early web app days, Perl and PostgreSQL on FreeBSD, and almost no JavaScript. It was for fairly sensitive data that the users were a bit squirrely about sharing, so the idea was that you stored all of the bits you owned on your local node, and you could send a remote query to the whole network and each node would execute it, notify the local owner of the data "hey, Sally wants a copy of this record", and they could choose whether or not to send it back.
Some of these installations were located in the middle of nowhere, and in those days we couldn't count on Internet access of any kind. But the company happened to also own a dial-up ISP... so I came up with a system, which I'm kind of proud of even though it was quick a hack. We ended up piggybacking the whole thing on dial-up e-mail using GPG-encrypted attachments. A couple of times a day, each node would call into the ISP and do a standard POP3 and SMTP routine, processing incoming requests and dropping off outgoing ones. Because it wasn't important for it to be real-time, we made the whole thing work asynchronously with the customer only having to supply a phone line.
Some of these installations were located in the middle of nowhere, and in those days we couldn't count on Internet access of any kind. But the company happened to also own a dial-up ISP... so I came up with a system, which I'm kind of proud of even though it was quick a hack. We ended up piggybacking the whole thing on dial-up e-mail using GPG-encrypted attachments. A couple of times a day, each node would call into the ISP and do a standard POP3 and SMTP routine, processing incoming requests and dropping off outgoing ones. Because it wasn't important for it to be real-time, we made the whole thing work asynchronously with the customer only having to supply a phone line.