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.
Introduction; A Brief History of Challenged Networking; Delay-Tolerant Architectures; Patience on the Wire: The DTN Bundle Protocol; How the Internet Does It: Approaches and Patterns for DTN-Like Problems; Where the Internet is Not Enough: DARPA, NASA, and Disruption Tolerance; Advanced Networking Architectures; Application Services and Design Patterns; The Offshore Oracle Pattern: Centralizing Reporting Structures; The Training Wheels Pattern: Performing Asynchronous, Open-Loop Control; The Stowaway Pattern: Propagating State Information; The Network Watchdog Pattern: Error Detection and Recovery; The Checkpoint Pattern: Reducing Retransmissions; The Wormhole Pattern: Encapsulating for Uncertainty; What Can Go Wrong Along the Way: Special Considerations in DTNs; Case Studies for Delay-Tolerant Applications.