Network Modeling and Simulation is a practical guide to using modeling and simulation to solve real-life problems. The authors give a comprehensive exposition of the core concepts in modeling and simulation, and then systematically address the many practical considerations faced by developers in modeling complex large-scale systems. The authors provide examples from computer and telecommunication networks and use these to illustrate the process of mapping generic simulation concepts to domain-specific problems in different industries and disciplines.
Key features:
- Provides the tools and strategies needed to build simulation models from the ground up rather than providing solutions to specific problems.
- Includes a new simulation tool, CASiNO built by the authors.
- Examines the core concepts of systems simulation and modeling.
- Presents code examples to illustrate the implementation process of commonly encountered simulation tasks.
Offers examples of industry-standard modeling methodology that can be applied in steps to tackle any modeling problem in practice.
Author(s): Mohsen Guizani, Ammar Rayes, Bilal Khan, Ala Al-Fuqaha
Publisher: Wiley-Interscience
Year: 2010
Language: English
Pages: 300
NETWORK MODELING AND SIMULATION: A PRACTICAL PERSPECTIVE......Page 5
Contents......Page 7
Preface......Page 13
Acknowledgments......Page 17
1.1 Why is Simulation Important?......Page 19
1.2 What is a Model?......Page 22
1.2.2 Example of a Model: Electric Car Battery Charging Station......Page 24
1.3 Performance Evaluation Techniques......Page 26
1.3.1 Example of Electric Car Battery Charging Station......Page 28
1.3.2 Common Pitfalls......Page 31
1.3.3 Types of Simulation Techniques......Page 32
1.4 Development of Systems Simulation......Page 34
1.4.1 Overview of a Modeling Project Life Cycle......Page 36
1.4.2 Classifying Life Cycle Processes......Page 38
1.4.3 Describing a Process......Page 39
1.4.4 Sequencing Work Units......Page 40
1.4.5 Phases, Activities, and Tasks......Page 41
Recommended Reading......Page 42
2 Designing and Implementing a Discrete-Event Simulation Framework......Page 43
2.1 The Scheduler......Page 44
2.2 The Simulation Entities......Page 50
2.4 Tutorial 1: Hello World......Page 52
2.5 Tutorial 2: Two-Node Hello Protocol......Page 54
2.6 Tutorial 3: Two-Node Hello through a Link......Page 56
2.7 Tutorial 4: Two-Node Hello through a Lossy Link......Page 59
Recommended Reading......Page 62
3.1 Background......Page 63
3.2 System Architecture......Page 65
3.3.1 Event Response in a Machine, Honeypot, and Sensors......Page 67
3.3.2 Event Response in a Worm......Page 69
3.3.3 System Initialization......Page 71
3.3.4 Performance Measures......Page 78
3.3.5 System Parameters......Page 80
3.3.6 The Events......Page 82
3.4 Simulation Execution......Page 84
3.5 Output Analysis......Page 85
Recommended Reading......Page 86
4.1 Characteristics of Monte Carlo Simulations......Page 87
4.2.1 A Toy Example: Estimating Areas......Page 88
4.2.2 The Example of the Electric Car Battery Charging Station......Page 90
4.2.3 Optimizing the Electric Car Battery Charging Station......Page 91
4.3 Merits and Drawbacks......Page 92
4.4 Monte Carlo Simulation for the Electric Car Charging Station......Page 93
4.4.1 The Traffic Generator......Page 94
4.4.2 The Car......Page 97
4.4.3 The Charging Station......Page 98
4.4.4 The Server......Page 100
4.4.5 Putting It All Together......Page 103
4.4.6 Exploring the Steady State......Page 105
4.4.7 Monte Carlo Simulation of the Station......Page 108
4.5 Summary......Page 113
Recommended Reading......Page 114
5 Network Modeling......Page 115
5.1 Simulation of Networks......Page 116
5.2 The Network Modeling and Simulation Process......Page 117
5.3 Developing Models......Page 118
5.4 Network Simulation Packages......Page 121
5.5 OPNET: A Network Simulation Package......Page 124
5.6 Summary......Page 128
6 Designing and Implementing CASiNO: A Network Simulation Framework......Page 129
6.1 Overview......Page 130
6.2 Conduits......Page 135
6.3 Visitors......Page 139
6.4 The Conduit Repository......Page 140
6.5 Behaviors and Actors......Page 141
6.5.1 Adapter–Terminal......Page 143
6.5.2 Mux–Accessor......Page 144
6.5.3 Protocol–State......Page 146
6.5.4 Factory–Creator......Page 147
6.6 Tutorial 1: Terminals......Page 149
6.7 Tutorial 2: States......Page 153
6.8 Tutorial 3: Making Visitors......Page 156
6.9 Tutorial 4: Muxes......Page 160
6.10 Tutorial 5: Factories......Page 167
6.11 Summary......Page 172
Recommended Reading......Page 173
7 Statistical Distributions and Random Number Generation......Page 175
7.1.2 Cumulative Density Functions......Page 176
7.1.4 Correlation and Covariance......Page 177
7.2.1 Bernoulli Distribution......Page 178
7.2.2 Binomial Distribution......Page 179
7.2.3 Geometric Distribution......Page 180
7.2.4 Poisson Distribution......Page 181
7.3.1 Uniform Distribution......Page 182
7.3.2 Gaussian (Normal) Distribution......Page 183
7.3.3 Rayleigh Distribution......Page 184
7.3.4 Exponential Distribution......Page 185
7.3.5 Pareto Distribution......Page 186
7.4 Augmenting CASiNO with Random Variate Generators......Page 187
7.5.1 Linear Congruential Method......Page 188
7.5.2 Combined Linear Congruential......Page 189
7.6 Frequency and Correlation Tests......Page 190
7.6.1 Kolmogorov–Smirnov Test......Page 191
7.6.3 Autocorrelation Tests......Page 192
7.7.1 Inversion Method......Page 193
7.7.2 Accept–Reject Method......Page 194
7.7.4 Generate Random Numbers Using the Normal Distribution......Page 195
7.7.5 Generate Random Numbers Using the Rayleigh Distribution......Page 196
7.8 Summary......Page 197
Recommended Reading......Page 198
8.1 Making a Poisson Source of Packets......Page 199
8.2 Making a Protocol for Packet Processing......Page 201
8.3 Bounding Protocol Resources......Page 205
8.4 Making a Round-Robin (De)multiplexer......Page 206
8.5 Dynamically Instantiating Protocols......Page 208
8.6 Putting it All Together......Page 210
8.7 Summary......Page 213
9 Queuing Theory......Page 215
9.1 Introduction to Stochastic Processes......Page 216
9.2 Discrete-Time Markov Chains......Page 219
9.4 Basic Properties of Markov Chains......Page 221
9.5 Chapman–Kolmogorov Equation......Page 222
9.6 Birth–Death Process......Page 223
9.7 Little’s Theorem......Page 224
9.9 Standard Queuing Notation......Page 225
9.10 The M/M/1 Queue......Page 226
9.10.1 A CASiNO Implementation of the M/M/1 Queue......Page 227
9.10.3 A MATLAB Implementation of the M/M/1 Queue......Page 229
9.11 The M/M/m Queue......Page 230
9.11.1 A CASiNO Implementation of the M/M/m Queue......Page 232
9.11.2 A SimJava Implementation of the M/M/m Queue......Page 235
9.11.3 A MATLAB Implementation of the M/M/m Queue......Page 238
9.12 The M/M/1/b Queue......Page 239
9.12.1 A CASiNO Implementation of the M/M/1/b Queue......Page 240
9.12.2 A SimJava Implementation of the M/M/1/b Queue......Page 242
9.12.3 A MATLAB Implementation of the M/M/1/b Queue......Page 243
9.13 The M/M/m/m Queue......Page 244
9.13.1 A CASiNO Implementation of the M/M/m/m Queue......Page 245
9.13.2 A SimJava Implementation of the M/M/m/m Queue......Page 248
9.13.3 A MATLAB Implementation of the M/M/m/m Queue......Page 249
9.14 Summary......Page 250
Recommended Reading......Page 251
10 Input Modeling and Output Analysis......Page 253
10.1 Data Collection......Page 254
10.2 Identifying the Distribution......Page 255
10.3 Estimation of Parameters for Univariate Distributions......Page 258
10.4 Goodness-of-Fit Tests......Page 262
10.4.1 Chi-Square Goodness-of-Fit Test......Page 264
10.4.2 Kolomogorov–Smirnov Goodness-of-Fit Test......Page 265
10.5.1 Correlation and Covariance......Page 267
10.5.3 Time-Series Distribution Models......Page 269
10.7 Output Analysis......Page 271
10.7.1 Transient Analysis......Page 272
10.7.2 Steady-State Analysis......Page 273
Recommended Reading......Page 274
11.1 Introduction......Page 277
11.2.2 Variable Bit Rate (VBR) Traffic......Page 278
11.3 Traffic Models for Mobile Networks......Page 279
11.4.2 Tabu Search......Page 281
11.4.3 Simulated Annealing......Page 282
11.5.1 Solving Constrained Optimization Problems Using Particle Swarm Optimization......Page 284
11.6.1 The Penalty Approach......Page 285
11.6.2 Particle Swarm Optimization (PSO)......Page 286
11.6.3 The Algorithm......Page 287
Recommended Reading......Page 288
Index......Page 291