Designing Delay-Tolerant Applications for Store-and-Forward Networks
This comprehensive resource explains how network application engineers benefit from store-and-forward protocols. It reviews the motivation and design of delay tolerant networks (DTNs) and presents a series of design patterns, with examples, for developing and deploying delay-tolerant applications. The rationale for delay-tolerant applications as an evolution of standard solutions to current terrestrial internet networking challenges is presented. Similarities between internet architectures and DTN features are described, along with an overview of the history of DTNs, the architecture defining modern DTNs, and the Bundle Protocol transport mechanism. The book identifies emerging, advanced networking concepts that require delay tolerance and presents network design patterns as a general way of reasoning about these concepts. Delay-tolerance is explained, and how it can be used to cache content in a network, perform open-loop autonomous control of nodes, annotate messages to reduce traffic needs, perform distributed error correction, implement in-network data fusion, and operationalize regional administration. The book discusses special considerations unique to DTNs that must be accommodated by delay-tolerant applications, examples of using these patterns, and a case study for their deployment.