Muutke küpsiste eelistusi

Designing Delay-Tolerant Applications for Store-and-Forward Networks Unabridged edition [Kõva köide]

  • Formaat: Hardback, 340 pages, kõrgus x laius: 254x178 mm
  • Ilmumisaeg: 31-Jan-2020
  • Kirjastus: Artech House Publishers
  • ISBN-10: 1630816280
  • ISBN-13: 9781630816285
  • Formaat: Hardback, 340 pages, kõrgus x laius: 254x178 mm
  • Ilmumisaeg: 31-Jan-2020
  • Kirjastus: Artech House Publishers
  • ISBN-10: 1630816280
  • ISBN-13: 9781630816285
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.
Chapter 1 Introduction
1(12)
1.1 The State of the Wireless World
1(2)
1.2 Why Be Patient in an Increasingly Connected World?
3(1)
1.3 What Is a Delay-Tolerant Application?
4(3)
1.4 Who Should Read This Book?
7(1)
1.5 How to Use This Book
8(1)
1.6 Summary
9(1)
1.7 Problems
9(4)
References
10(3)
Chapter 2 A Brief History of Challenged Networking Environments
13(20)
2.1 What is a Challenged Networking Environment?
13(3)
2.1.1 Separating Responsibilities
14(1)
2.1.2 Defining Network Service Layers
15(1)
2.2 Link Layer Challenges
16(6)
2.2.1 High-Rate Wireless Communications
16(2)
2.2.2 Node Mobility
18(3)
2.2.3 Link Heterogeneity
21(1)
2.3 Network Layer Challenges
22(2)
2.3.1 Path Losses
22(1)
2.3.2 Time-Variant, Partitioning Topologies
23(1)
2.3.3 Unsynchronized Node Information
23(1)
2.4 Application Layer Challenges
24(2)
2.4.1 Growing Delays
24(1)
2.4.2 Increased Disruptions
25(1)
2.4.3 Growing Data Volumes
25(1)
2.5 Error Handling in Challenged Networking Environments
26(1)
2.6 What Is a Network Error Condition?
26(1)
2.7 Approaches to Handling Error Conditions
27(3)
2.7.1 Increase the Number of Nodes
27(2)
2.7.2 Alter Link Characteristics
29(1)
2.7.3 Increase Protocol Efficiency
29(1)
2.8 Summary
30(1)
2.9 Problems
31(2)
References
31(2)
Chapter 3 How the Internet Does It: Approaches and Patterns for Challenged Networking Environments
33(22)
3.1 Challenges in the Terrestrial Internet
33(3)
3.1.1 Network Policies
33(1)
3.1.2 Data Workflows
34(1)
3.1.3 Network Pricing and Economics
35(1)
3.1.4 Application Behavior
36(1)
3.2 Terrestrial Internet Approaches to Challenged Networking Environments
36(7)
3.2.1 Place Information
37(2)
3.2.2 Push Data
39(1)
3.2.3 Avoid Sessions
40(3)
3.3 Terrestrial Internet Design Patterns
43(8)
3.3.1 Content Delivery Networks
43(2)
3.3.2 Data Subscriptions
45(2)
3.3.3 Autonomic Computing
47(3)
3.3.4 Stateless Data
50(1)
3.4 Summary
51(1)
3.5 Problems
52(3)
References
52(3)
Chapter 4 Rallying the Research Community: DARPA, NASA, and Disruption Tolerance
55(14)
4.1 History of Delay-/Disruption-Tolerant Research
55(1)
4.2 NASA and DARPA
56(2)
4.3 International Space Agencies
58(6)
4.3.1 History of IOP Activities
59(1)
4.3.2 Establishment of the IOAG
59(1)
4.3.3 The Space Communications Architecture Working Group
60(4)
4.3.4 Space Internetworking Strategy Group
64(1)
4.4 IOP Meets the Consultative Committee for Space Data Systems
64(1)
4.5 DTN in the IRTF
65(1)
4.6 Ongoing Development
65(1)
4.7 Summary
66(1)
4.8 Problems
66(3)
References
67(2)
Chapter 5 Where the Terrestrial Internet Is Not Enough: Motivating Use Cases
69(24)
5.1 The Value of Use Cases
69(1)
5.2 The Solar System Internet
69(10)
5.2.1 A Brief History of Space Communication
70(4)
5.2.2 A Solar System Internet
74(4)
5.2.3 An Architecture for the SSI
78(1)
5.3 Distributed Spacecraft Constellations
79(7)
5.3.1 Planetary Observation Missions and Space-Ground Integration
80(2)
5.3.2 Deep-Space Instruments
82(2)
5.3.3 In-Space Communication and Navigation
84(2)
5.4 Distributed and Mobile Sensor Webs
86(1)
5.5 Optical Communications
87(2)
5.6 Ad Hoc Network and Data Mules
89(1)
5.7 Summary
89(1)
5.8 Problems
89(4)
References
91(2)
Chapter 6 The Delay-/Disruption-Tolerant Networking Architecture
93(16)
6.1 Motivations for a Tolerant Network
93(1)
6.2 Assumptions Made by the Terrestrial Internet
93(3)
6.2.1 Path Existence
94(1)
6.2.2 Timely, Reliable, Actionable Feedback
94(1)
6.2.3 Small End-to-End Data Loss
95(1)
6.2.4 TCP/IP Ubiquity
95(1)
6.2.5 Performance Abstraction
95(1)
6.3 Architectures for DTNs
96(1)
6.4 Delay-/Disruption-Tolerant Desirable Properties
96(1)
6.5 DTN Protocols
97(2)
6.6 Naming and Addressing
99(1)
6.7 The BP Ecosystem
99(3)
6.7.1 Convergence Layers
100(1)
6.7.2 Convergence Layer Adapters
100(1)
6.7.3 The BPA
101(1)
6.7.4 Application Agent
101(1)
6.8 Special Node Characteristics
102(3)
6.8.1 Persistent Storage
103(1)
6.8.2 Late Binding
103(1)
6.8.3 Multiple Convergence Layers
104(1)
6.9 Summary
105(1)
6.10 Problems
106(3)
References
106(3)
Chapter 7 Patience on the Wire: The DTN BP
109(20)
7.1 Protocol Goals
109(1)
7.2 The Case for BP Store and Forward
110(1)
7.3 Services Unique to BP
111(1)
7.4 Protocol Layering Considerations
111(2)
7.4.1 Versions of the BP
112(1)
7.5 Bundle Structure
113(1)
7.6 The Primary Block
114(2)
7.6.1 Version
114(1)
7.6.2 Processing Control Flags
114(1)
7.6.3 Cyclic Redundancy Check Type
115(1)
7.6.4 Destination EID
115(1)
7.6.5 Source Node ID
115(1)
7.6.6 Report-To EID
115(1)
7.6.7 Creation Timestamp
115(1)
7.6.8 Lifetime
116(1)
7.6.9 Fragment Offset
116(1)
7.6.10 CRC Field
116(1)
7.7 The Payload Block
116(1)
7.8 Extension Blocks
116(2)
7.9 BP-Enabled Concepts
118(3)
7.9.1 Application Annotations
118(2)
7.9.2 Custody Transfer
120(1)
7.9.3 Content Caching
121(1)
7.10 Special Considerations
121(4)
7.10.1 Storage Management
121(1)
7.10.2 Security
122(1)
7.10.3 Fragmentation
123(1)
7.10.4 Optimal Fragment Size
123(1)
7.10.5 Handling Extension Blocks
123(1)
7.10.6 Additional Processing
124(1)
7.11 Is BP Enough?
125(1)
7.12 Summary
126(1)
7.13 Problems
126(3)
References
127(2)
Chapter 8 Advanced Networking Architectures
129(16)
8.1 Networking Architectures
129(1)
8.2 A Standard Model for Networking
130(1)
8.3 Overlay Networks
131(8)
8.3.1 Pass-Through and Encapsulating Interfaces
132(2)
8.3.2 Differing Network Addressing Schemes
134(5)
8.4 Partitioned Networks
139(1)
8.5 Federated Internetworks
140(1)
8.6 Summary
141(1)
8.7 Problems
141(4)
References
142(3)
Chapter 9 Application Services and Design Patterns
145(16)
9.1 A Multitiered Application Service Hierarchy
145(7)
9.1.1 Transport Services
148(1)
9.1.2 Core Networking Services
149(1)
9.1.3 Federating Services
150(1)
9.1.4 Overlay Services
151(1)
9.1.5 Endpoint Services
151(1)
9.2 Application Design Patterns
152(4)
9.2.1 The History and Concept of Design Patterns
153(1)
9.2.2 The Value of Patterns in Emerging Application Domains
154(2)
9.3 The Design Pattern Documentation Format
156(2)
9.4 Summary
158(1)
9.5 Problems
159(2)
References
160(1)
Chapter 10 The Offshore Oracle Pattern: Caching Content in Challenged Networks
161(20)
10.1 Pattern Context
161(4)
10.2 The Problem Being Solved
165(1)
10.3 Pattern Overview
166(4)
10.3.1 Role Definitions
166(2)
10.3.2 Control and Data Flows
168(2)
10.4 Service Types
170(1)
10.5 When and How to Integrate
171(2)
10.5.1 When to Use This Pattern
171(1)
10.5.2 Recommended Design Decisions
172(1)
10.6 What Can Go Wrong
173(1)
10.7 Pros and Cons
174(1)
10.8 Case Studies
174(4)
10.8.1 BP Status Reporting
174(2)
10.8.2 Topology Management
176(1)
10.8.3 Security Policy Updates
177(1)
10.9 Summary
178(1)
10.10 Problems
178(3)
References
179(2)
Chapter 11 The Training Wheels Pattern: Open-Loop Control
181(20)
11.1 Pattern Context
181(3)
11.2 The Problem Being Solved
184(1)
11.3 Pattern Overview
185(5)
11.3.1 Role Definitions
186(2)
11.3.2 Control and Data Flows
188(2)
11.4 Service Types
190(2)
11.5 When and How to Integrate
192(2)
11.5.1 When to Use This Pattern
192(1)
11.5.2 Recommended Design Decisions
193(1)
11.6 What Can Go Wrong
194(1)
11.7 Pros and Cons
195(1)
11.8 Case Study
195(1)
11.8.1 Spacecraft Fault Protection
195(1)
11.9 Summary
196(2)
11.10 Problems
198(3)
References
199(2)
Chapter 12 The Stow Away Pattern: Annotated Messaging
201(18)
12.1 Pattern Context
201(3)
12.2 The Problem Being Solved
204(2)
12.3 Pattern Overview
206(2)
12.3.1 Role Definitions
206(2)
12.3.2 Control and Data Flows
208(1)
12.4 Service Types
208(1)
12.5 When and How to Integrate
209(3)
12.5.1 When to Use This Pattern
209(2)
12.5.2 Recommended Design Decisions
211(1)
12.6 What Can Go Wrong
212(1)
12.7 Pros and Cons
213(1)
12.8 Case Studies
213(3)
12.8.1 The BP Security Extensions
214(1)
12.8.2 Contact Graph Routing Extensions
215(1)
12.9 Summary
216(1)
12.10 Problems
217(2)
References
217(2)
Chapter 13 The Network Watchdog Pattern: Distributed Error Detection and Recovery
219(20)
13.1 Pattern Context
219(4)
13.2 The Problem Being Solved
223(1)
13.3 Pattern Overview
224(5)
13.3.1 Role Definitions
226(2)
13.3.2 Control and Data Flows
228(1)
13.4 Service Types
229(2)
13.5 When and How to Integrate
231(2)
13.5.1 When to Use This Pattern
231(1)
13.5.2 Recommended Design Decisions
232(1)
13.6 What Can Go Wrong
233(1)
13.7 Pros and Cons
234(1)
13.8 Case Studies
234(2)
13.8.1 BP Administrative Records
234(2)
13.9 Summary
236(1)
13.10 Problems
237(2)
References
238(1)
Chapter 14 The Data Forge Pattern: Leveraging In-Network Storage
239(18)
14.1 Pattern Context
239(3)
14.2 The Problem Being Solved
242(1)
14.3 Pattern Overview
243(4)
14.3.1 Role Definitions
244(1)
14.3.2 Control and Data Flows
245(2)
14.4 Service Types
247(1)
14.5 When and How to Integrate
247(3)
14.5.1 When to Use This Pattern
247(1)
14.5.2 Recommended Design Decisions
248(2)
14.6 What Can Go Wrong
250(1)
14.7 Pros and Cons
250(1)
14.8 Case Studies
251(2)
14.8.1 Store-and-Forward Routing Applications
251(1)
14.8.2 Information-Centric Networking
252(1)
14.9 Summary
253(1)
14.10 Problems
253(4)
References
254(3)
Chapter 15 The Ticket to Ride Pattern: Regional Administration
257(16)
15.1 Pattern Context
257(2)
15.2 The Problem Being Solved
259(3)
15.3 Pattern Overview
262(3)
15.3.1 Role Definitions
263(1)
15.3.2 Control and Data Flows
263(2)
15.4 Service Types
265(1)
15.5 When and How to Integrate
265(2)
15.5.1 When to Use This Pattern
265(1)
15.5.2 Recommended Design Decisions
266(1)
15.6 What Can Go Wrong
267(1)
15.7 Pros and Cons
268(1)
15.8 Case Studies
268(2)
15.8.1 Federated Deep Space Networking
268(2)
15.9 Summary
270(1)
15.10 Problems
271(2)
References
271(2)
Chapter 16 What Can Go Wrong Along the Way: Special Considerations for DTNs
273(14)
16.1 Resource Limitations
273(2)
16.2 Accepting Reactive Fragments
275(1)
16.3 Heterogenous Networks
275(1)
16.4 Dissimilar Implementations
276(4)
16.4.1 Dissimilar BPA Extensions
277(1)
16.4.2 Dissimilar Service Level Expectations
277(1)
16.4.3 Dissimilar Operating Environments
278(2)
16.5 Noah's Data Ark: A Case Study
280(1)
16.6 Working within an Overlay Network
281(2)
16.6.1 Routing and Name Spaces
281(1)
16.6.2 Networks in Motion
282(1)
16.6.3 What's in a Name?
283(1)
16.7 A Network Is a Network
283(1)
16.8 Summary
283(1)
16.9 Problems
284(3)
References
284(3)
Chapter 17 The Solar System Internet: A Case Study for Delay-Tolerant Applications
287(22)
17.1 Overview
287(1)
17.2 Motivation
288(1)
17.3 Experiences and Experiments
289(6)
17.3.1 Mars Relay Communications
289(1)
17.3.2 Deep Impact Networking Experiments
290(2)
17.3.3 Multi-Purpose End-To-End Robotic Operation Network
292(2)
17.3.4 International Space Station
294(1)
17.4 Significant Challenges
295(2)
17.4.1 Connectivity
296(1)
17.4.2 Delay
296(1)
17.4.3 Bandwidth
296(1)
17.5 Similarity to Emerging Challenged Terrestrial Networks
297(3)
17.5.1 Remote Sensing Through IoT Devices
297(1)
17.5.2 Wildlife Tracking
298(1)
17.5.3 Vehicle Data Logging
299(1)
17.5.4 Search and Rescue Networks
299(1)
17.6 Features Enabled by Application Patterns
300(5)
17.6.1 Autonomous Network Management
300(2)
17.6.2 Inter-Domain Communications
302(2)
17.6.3 Coordinated Data Fusion
304(1)
17.7 Summary
305(1)
17.8 Problems
306(3)
References
307(2)
About the Authors 309(2)
Index 311