19 Distributed Systems: Resilience, Desperation . . . . . . . . . . . . . . . . . 267
Igor Schagaev and Stephen Farrell
19.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
19.2 On Desperation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
19.3 Desperation in Networking . . . . . . . . . . . . . . . . . . . . . . . . . . 269
19.3.1 How Desperation Grows . . . . . . . . . . . . . . . . . . . . . 270
19.4 Researching Desperation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
19.5 Graph Theory Elements for Desperation Model . . . . . . . . . . . 275
19.6 Desperation—Proposed Algorithms for Handling . . . . . . . . . . 277
19.7 Comparative Analysis of Proposed Algorithm and A* . . . . . . . 279
19.7.1 Briefly About A* . . . . . . . . . . . . . . . . . . . . . . . . . . 282
19.8 Result of Comparative Simulation . . . . . . . . . . . . . . . . . . . . . 283
19.9 We Have More: A Vector Heuristic . . . . . . . . . . . . . . . . . . . . 283
19.10 Router Level of Desperation Control . . . . . . . . . . . . . . . . . . . 287
19.10.1 Router Level—Inside Job . . . . . . . . . . . . . . . . . . . . 288
19.11 Aftermath—Instead of Conclusion . . . . . . . . . . . . . . . . . . . . . 290
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
20 ERRIC Machine Code Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Aleksey Gospodchikov, Sergey Koziakov, Danila Romanov
and Eugene Zouev
20.1 Overall Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
20.2 Basic Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
20.3 Simulator GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
20.4 Simulator Internal Structure . . . . . . . . . . . . . . . . . . . . . . . . . . 297
20.5 Interpreter: The Implementation . . . . . . . . . . . . . . . . . . . . . . . 297
20.5.1 Design Decisions and Caveats . . . . . . . . . . . . . . . . . 297
20.5.2 Extensibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
20.5.3 Machine Code File Formats . . . . . . . . . . . . . . . . . . 298
Appendix 1: Internal Structure of ERRIC Interpreter
and API Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Appendix 2: Practical Introduction and Developer’s
Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
xvi
Contents
Igor Schagaev and Stephen Farrell
19.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
19.2 On Desperation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
19.3 Desperation in Networking . . . . . . . . . . . . . . . . . . . . . . . . . . 269
19.3.1 How Desperation Grows . . . . . . . . . . . . . . . . . . . . . 270
19.4 Researching Desperation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
19.5 Graph Theory Elements for Desperation Model . . . . . . . . . . . 275
19.6 Desperation—Proposed Algorithms for Handling . . . . . . . . . . 277
19.7 Comparative Analysis of Proposed Algorithm and A* . . . . . . . 279
19.7.1 Briefly About A* . . . . . . . . . . . . . . . . . . . . . . . . . . 282
19.8 Result of Comparative Simulation . . . . . . . . . . . . . . . . . . . . . 283
19.9 We Have More: A Vector Heuristic . . . . . . . . . . . . . . . . . . . . 283
19.10 Router Level of Desperation Control . . . . . . . . . . . . . . . . . . . 287
19.10.1 Router Level—Inside Job . . . . . . . . . . . . . . . . . . . . 288
19.11 Aftermath—Instead of Conclusion . . . . . . . . . . . . . . . . . . . . . 290
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
20 ERRIC Machine Code Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Aleksey Gospodchikov, Sergey Koziakov, Danila Romanov
and Eugene Zouev
20.1 Overall Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
20.2 Basic Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
20.3 Simulator GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
20.4 Simulator Internal Structure . . . . . . . . . . . . . . . . . . . . . . . . . . 297
20.5 Interpreter: The Implementation . . . . . . . . . . . . . . . . . . . . . . . 297
20.5.1 Design Decisions and Caveats . . . . . . . . . . . . . . . . . 297
20.5.2 Extensibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
20.5.3 Machine Code File Formats . . . . . . . . . . . . . . . . . . 298
Appendix 1: Internal Structure of ERRIC Interpreter
and API Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Appendix 2: Practical Introduction and Developer’s
Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
xvi
Contents
