We are developing a delay-tolerant middleware which will enable nodes to opportunistically and automatically make use of delay-tolerant networking protocols and routing algorithms given challenged networking conditions, while at the same time operate on a standard TCP/IP stack when conditions allow. The middleware will collect network and application context to determine the best combination of protocols and stacks to use for any given connection, and will seamlessly migrate application sessions between stacks and protocols without dropping the connections.
The MaDMAN middleware, with the exception of the external application library, is implemented as a collection of Click elements within the Click Modular Router, whose software architecture is well suited to our goals of adaptability and dynamic reconfigurability. Click is written in C/C++, runs on Linux and BSD, and includes numerous components to manipulate the network stack from the hardware drivers to the transport layer. This frees us from re-implementing common protocols yet offers the flexibility of easily swapping in alternatives or modifying existing protocols without breaking the host operating system's network layer.
This research is funded in part by the Department of Defense and the National Science Foundation.