Abstract:
Previous work by two Duke professors proposes to transmit data between intermittently-connected, mobile devices by transmitting said data to all devices encountered, and also passing data along from previously encountered devices, such that the data will eventually get to its desired destination. This is called an "epidemic routing protocol" in the paper. Retransmission of data is limited to a specified number of "hops" in order to avoid overloading the "system" with infinite recopying of said data.
This post is an embellishment of that idea, using a rather convoluted means of tracking when and where other known devices may likely be encountered in the future. This allows the data to only be retransmitted to devices that have a high likelihood of successfully shuttling the data to its destination … eventually. This increases the "bandwidth" of the system at the cost of additional memory and compute time used on the individual mobile devices. In this system, content is transmitted as a unit, rather than being packetized, and it is transmitted in a store-and-forward manner, similar to the old Fidonet protocol. Therefore, each device carries a cache of data for possible retransmission to other encountered devices and the data is distributed according to algorithms that determine the best selection of other devices to retransmit said data to.
The proposed system, called an "
intelligent epidemic routing protocol," is in no way meant to replace the internet. Nor is it expected to be fast or efficient. But it is a possible solution for situations where the internet may be unavailable (even through mesh networks), very intermittent, filtered (as in China, North Korea, or a future Texas), or untrustworthy (as in … um … now). It is accepted that it may take quite some time for requests to make their way through the system and then for the content to make its way back to the requester (on the order of weeks). The system works best for content that is not time sensitive and may be requested by more than one device but not necessarily all devices, such as for transmitting educational content that could likely be used by more than one person in the underserved region.
Ever since I invented
DEMML™, I have been stewing on how to actually transmit and/or transfer the content by means other than a direct internet connection. While it would be easy to simply copy files into a directory, I wanted a means whereby someone could simply plug a thumb-drive into a computer and the computer would transfer the appropriate information. I recently began searching for "store and forward" technologies on the internet and came across the following article:
Amin Vahdat and David Becker, Epidemic Routing for Partially-Connected Ad Hoc Networks, Duke Technical Report CS-2000-06, Jul. 2000, available from http://issg.cs.duke.edu/epidemic/epidemic.pdf
In this article, the authors discuss a method of transferring messages across disconnected systems of devices by simply copying the messages to every device encountered until the message finally reaches its destination. Naturally, the method is a little more sophisticated than that but you get the idea. The article does also allude to some additional measures that could be taken to make the system more efficient.
For example, under certain circumstances there may be locality to the movement patterns of mobile nodes. In this case, it would be worthwhile to exchange a list of the last n nodes encountered by a host during anti-entropy. This information can be utilized to once again identify appropriate carriers under the principal that if a particular host has been seen recently, it will be seen again in the near future. (page 12 of the .PDF)
Unfortunately, (or perhaps fortunately) I was not satisfied with the level of completeness in that statement. In fact, before even reading it, several ideas had already been simmering in my mind.
Over the course of several days I have attempted to organize those ideas into an outline. I had hoped to be able to write them up into a slightly more readable form but I just don't have the time or energy right now as I have home projects to do and a GRE to study for. (A chore which I am sure I will have more to say about later.) Therefore, I have decided to simply post the raw notes up as they sit right now. The following is nothing more than an outline for an idea. However, it is a rather thorough outline. Printed, it takes up about 12 pages. For those people who are interested in such esoteric things, I hope this helps. I hope my ideas can help spur more ideas for you or help in your research.