Table of Contents
Foreword 9
Chapter 1. Introduction 13 Serge HADDAD, Fabrice KORDON, Laurent PAUTET and Laure PETRUCCI
FIRST PART. LARGE SCALE PEER-TO-PEER DISTRIBUTED SYSTEMS 19
Chapter 2. Introduction to Large-Scale Peer-to-Peer Distributed Systems 21 Fabrice KORDON
2.1. “Large-Scale” distributed systems? 21
2.2. Consequences of “large-scale” 22
2.3. Some large-scale distributed systems 23
2.4. Architectures of large scale distributed systems 26
2.5. Objective of Part 1 30
2.6. Bibliography 31
Chapter 3. Design Principles of Large-Scale Distributed System 33 Xavier BONNAIRE and Pierre SENS
3.1. Introduction to peer-to-peer systems 33
3.2. The peer-to-peer paradigms 34
3.3. Services on structured overlays 41
3.4. Building trust in P2Psystems 43
3.5. Conclusion 52
3.6. Bibliography 53
Chapter 4. Peer-to-Peer Storage 59 Olivier MARIN, Sébastien MONNET and Gaël THOMAS
4.1. Introduction 59
4.2. BitTorrent 60
4.3. Gnutella 66
4.4. Conclusion 79
4.5. Bibliography 79
Chapter 5. Large-Scale Peer-to-Peer Game Applications 81 Sébastien MONNET and Gaël THOMAS
5.1. Introduction 81
5.2. Large-scale game applications: model and specific requirements 83
5.3. Overview of peer-to-peer overlays for large-scale game applications 90
5.4. Overlays for FPS games 93
5.5. Overlays for online life-simulation games 95
5.6. Conclusion 100
5.7. Bibliography 101
SECOND PART. DISTRIBUTED, EMBEDDED AND REAL-TIME SYSTEMS 105
Chapter 6. Introduction to Distributed Embedded and Real-time Systems 107 Laurent PAUTET
6.1. Distributed real-time embedded systems 108
6.2. Safety critical systems as examples of DRE systems 109
6.3. Design process of DRE systems 112
6.4. Objectives of Part 2 114
6.5. Bibliography 115
Chapter 7. Scheduling in Distributed Real-Time Systems 117 Emmanuel GROLLEAU, Michaël RICHARD, and Pascal RICHARD
7.1. Introduction 117
7.2. Generalities about real-time systems 118
7.3. Temporal correctness 122
7.4. WCRT of the tasks 126
7.5. WCRT of the messages 142
7.6. Case study 149
7.7. Conclusion 154
7.8. Bibliography 155
Chapter 8. Software Engineering for Adaptative Embedded Systems 159 Etienne BORDE
8.1. Introduction 159
8.2. Adaptation, an additional complexity factor 160
8.3. Theoretical aspects of adaptation management 163
8.4. Technical solutions for the design of adaptative embedded systems 171
8.5. An example of adaptative system from the robotic domain 176
8.6. Applying MDE techniques to the design of the robotic use-case 177
8.7. Exploitation of the models 184
8.8. Conclusion 188
8.9. Bibliography 189
Chapter 9. The Design of Aerospace Systems 191 Maxime PERROTIN, Julien DELANGE, and Jérôme HUGUES
9.1. Introduction 191
9.2. Flight software typical architecture 193
9.3. Traditional development methods and their limits 195
9.4. Modeling a software system using TASTE: philosophy 197
9.5. Common solutions 199
9.6. What TASTE specifically proposes 200
9.7. Modeling process and tools 201
9.8. Technology 208
9.9. Model transformations 209
9.10. The TASTE run-time 213
9.11. Illustrating our process by designing heterogeneous systems 215
9.12. First user feedback and TASTE future 224
9.13. Conclusion 225
9.14. Bibliography 226
THIRD PART. SECURITY IN DISTRIBUTED SYSTEMS 229
Chapter 10. Introduction to Security Issues in Distributed Systems 231 Laure PETRUCCI
10.1. Problem 231
10.2. Secure data exchange 233
10.3. Security in specific distributed systems 234
10.4. Outline of art III 234
10.5. Bibliography 235
Chapter 11. Practical Security in Distributed Systems 237 Benoît BERTHOLON, Christophe CÉRIN, Camille COTI, and Sébastien VARRETTE, Jean-Christophe DUBACQ
11.1. Introduction 237
11.2. Confidentiality 249
11.3. Authentication 252
11.4. Availability and fault tolerance 261
11.5. Ensuring resource security 278
11.6. Result checking in distributed computations 283
11.7. Conclusion 291
11.8. Bibliography 292
Chapter 12. Enforcing Security with Cryptography 301 Sami HARARI and Laurent POINSOT
12.1. Introduction 301
12.2. Cryptography: from a general perspective 303
12.3. Symmetric encryption schemes 308
12.4. Prime numbers and public key cryptography 324
12.5. Conclusion 328
12.6. Bibliography 329
Index 333