|
|
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) |
|
|
8 | (1) |
|
|
9 | (1) |
|
|
9 | (4) |
|
|
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) |
|
|
18 | (3) |
|
|
21 | (1) |
|
2.3 Network Layer Challenges |
|
|
22 | (2) |
|
|
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) |
|
|
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) |
|
|
30 | (1) |
|
|
31 | (2) |
|
|
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) |
|
|
33 | (1) |
|
|
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) |
|
|
37 | (2) |
|
|
39 | (1) |
|
|
40 | (3) |
|
3.3 Terrestrial Internet Design Patterns |
|
|
43 | (8) |
|
3.3.1 Content Delivery Networks |
|
|
43 | (2) |
|
|
45 | (2) |
|
3.3.3 Autonomic Computing |
|
|
47 | (3) |
|
|
50 | (1) |
|
|
51 | (1) |
|
|
52 | (3) |
|
|
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) |
|
|
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) |
|
|
65 | (1) |
|
|
65 | (1) |
|
|
66 | (1) |
|
|
66 | (3) |
|
|
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) |
|
|
89 | (1) |
|
|
89 | (4) |
|
|
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) |
|
|
94 | (1) |
|
6.2.2 Timely, Reliable, Actionable Feedback |
|
|
94 | (1) |
|
6.2.3 Small End-to-End Data Loss |
|
|
95 | (1) |
|
|
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) |
|
|
97 | (2) |
|
6.6 Naming and Addressing |
|
|
99 | (1) |
|
|
99 | (3) |
|
|
100 | (1) |
|
6.7.2 Convergence Layer Adapters |
|
|
100 | (1) |
|
|
101 | (1) |
|
|
101 | (1) |
|
6.8 Special Node Characteristics |
|
|
102 | (3) |
|
|
103 | (1) |
|
|
103 | (1) |
|
6.8.3 Multiple Convergence Layers |
|
|
104 | (1) |
|
|
105 | (1) |
|
|
106 | (3) |
|
|
106 | (3) |
|
Chapter 7 Patience on the Wire: The DTN BP |
|
|
109 | (20) |
|
|
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) |
|
|
112 | (1) |
|
|
113 | (1) |
|
|
114 | (2) |
|
|
114 | (1) |
|
7.6.2 Processing Control Flags |
|
|
114 | (1) |
|
7.6.3 Cyclic Redundancy Check Type |
|
|
115 | (1) |
|
|
115 | (1) |
|
|
115 | (1) |
|
|
115 | (1) |
|
|
115 | (1) |
|
|
116 | (1) |
|
|
116 | (1) |
|
|
116 | (1) |
|
|
116 | (1) |
|
|
116 | (2) |
|
|
118 | (3) |
|
7.9.1 Application Annotations |
|
|
118 | (2) |
|
|
120 | (1) |
|
|
121 | (1) |
|
7.10 Special Considerations |
|
|
121 | (4) |
|
7.10.1 Storage Management |
|
|
121 | (1) |
|
|
122 | (1) |
|
|
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) |
|
|
125 | (1) |
|
|
126 | (1) |
|
|
126 | (3) |
|
|
127 | (2) |
|
Chapter 8 Advanced Networking Architectures |
|
|
129 | (16) |
|
8.1 Networking Architectures |
|
|
129 | (1) |
|
8.2 A Standard Model for Networking |
|
|
130 | (1) |
|
|
131 | (8) |
|
8.3.1 Pass-Through and Encapsulating Interfaces |
|
|
132 | (2) |
|
8.3.2 Differing Network Addressing Schemes |
|
|
134 | (5) |
|
|
139 | (1) |
|
8.5 Federated Internetworks |
|
|
140 | (1) |
|
|
141 | (1) |
|
|
141 | (4) |
|
|
142 | (3) |
|
Chapter 9 Application Services and Design Patterns |
|
|
145 | (16) |
|
9.1 A Multitiered Application Service Hierarchy |
|
|
145 | (7) |
|
|
148 | (1) |
|
9.1.2 Core Networking Services |
|
|
149 | (1) |
|
9.1.3 Federating Services |
|
|
150 | (1) |
|
|
151 | (1) |
|
|
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) |
|
|
158 | (1) |
|
|
159 | (2) |
|
|
160 | (1) |
|
Chapter 10 The Offshore Oracle Pattern: Caching Content in Challenged Networks |
|
|
161 | (20) |
|
|
161 | (4) |
|
10.2 The Problem Being Solved |
|
|
165 | (1) |
|
|
166 | (4) |
|
|
166 | (2) |
|
10.3.2 Control and Data Flows |
|
|
168 | (2) |
|
|
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) |
|
|
173 | (1) |
|
|
174 | (1) |
|
|
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) |
|
|
178 | (1) |
|
|
178 | (3) |
|
|
179 | (2) |
|
Chapter 11 The Training Wheels Pattern: Open-Loop Control |
|
|
181 | (20) |
|
|
181 | (3) |
|
11.2 The Problem Being Solved |
|
|
184 | (1) |
|
|
185 | (5) |
|
|
186 | (2) |
|
11.3.2 Control and Data Flows |
|
|
188 | (2) |
|
|
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) |
|
|
194 | (1) |
|
|
195 | (1) |
|
|
195 | (1) |
|
11.8.1 Spacecraft Fault Protection |
|
|
195 | (1) |
|
|
196 | (2) |
|
|
198 | (3) |
|
|
199 | (2) |
|
Chapter 12 The Stow Away Pattern: Annotated Messaging |
|
|
201 | (18) |
|
|
201 | (3) |
|
12.2 The Problem Being Solved |
|
|
204 | (2) |
|
|
206 | (2) |
|
|
206 | (2) |
|
12.3.2 Control and Data Flows |
|
|
208 | (1) |
|
|
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) |
|
|
212 | (1) |
|
|
213 | (1) |
|
|
213 | (3) |
|
12.8.1 The BP Security Extensions |
|
|
214 | (1) |
|
12.8.2 Contact Graph Routing Extensions |
|
|
215 | (1) |
|
|
216 | (1) |
|
|
217 | (2) |
|
|
217 | (2) |
|
Chapter 13 The Network Watchdog Pattern: Distributed Error Detection and Recovery |
|
|
219 | (20) |
|
|
219 | (4) |
|
13.2 The Problem Being Solved |
|
|
223 | (1) |
|
|
224 | (5) |
|
|
226 | (2) |
|
13.3.2 Control and Data Flows |
|
|
228 | (1) |
|
|
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) |
|
|
233 | (1) |
|
|
234 | (1) |
|
|
234 | (2) |
|
13.8.1 BP Administrative Records |
|
|
234 | (2) |
|
|
236 | (1) |
|
|
237 | (2) |
|
|
238 | (1) |
|
Chapter 14 The Data Forge Pattern: Leveraging In-Network Storage |
|
|
239 | (18) |
|
|
239 | (3) |
|
14.2 The Problem Being Solved |
|
|
242 | (1) |
|
|
243 | (4) |
|
|
244 | (1) |
|
14.3.2 Control and Data Flows |
|
|
245 | (2) |
|
|
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) |
|
|
250 | (1) |
|
|
250 | (1) |
|
|
251 | (2) |
|
14.8.1 Store-and-Forward Routing Applications |
|
|
251 | (1) |
|
14.8.2 Information-Centric Networking |
|
|
252 | (1) |
|
|
253 | (1) |
|
|
253 | (4) |
|
|
254 | (3) |
|
Chapter 15 The Ticket to Ride Pattern: Regional Administration |
|
|
257 | (16) |
|
|
257 | (2) |
|
15.2 The Problem Being Solved |
|
|
259 | (3) |
|
|
262 | (3) |
|
|
263 | (1) |
|
15.3.2 Control and Data Flows |
|
|
263 | (2) |
|
|
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) |
|
|
267 | (1) |
|
|
268 | (1) |
|
|
268 | (2) |
|
15.8.1 Federated Deep Space Networking |
|
|
268 | (2) |
|
|
270 | (1) |
|
|
271 | (2) |
|
|
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) |
|
|
283 | (1) |
|
16.7 A Network Is a Network |
|
|
283 | (1) |
|
|
283 | (1) |
|
|
284 | (3) |
|
|
284 | (3) |
|
Chapter 17 The Solar System Internet: A Case Study for Delay-Tolerant Applications |
|
|
287 | (22) |
|
|
287 | (1) |
|
|
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) |
|
|
296 | (1) |
|
|
296 | (1) |
|
|
296 | (1) |
|
17.5 Similarity to Emerging Challenged Terrestrial Networks |
|
|
297 | (3) |
|
17.5.1 Remote Sensing Through IoT Devices |
|
|
297 | (1) |
|
|
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) |
|
|
305 | (1) |
|
|
306 | (3) |
|
|
307 | (2) |
About the Authors |
|
309 | (2) |
Index |
|
311 | |