Site Navigation


Welcome

Introduction

TCP Simulator
Operation

Running the
Simulator

Simulator
Capabilities and
Limitations

Downloads

Java Class
Documentation

Log Book

Useful Links



Email Me

TCP Simulator Operation => TCP Layer => Dynamic Configuration Mechanism


Dynamic Configuration Mechanism

The Dynamic Configuration Mechanism allows users to extend the simulator by defining new flow control algorithms that can be loaded into the TCP Layer at run time for simulation purposes. The following is a brief description of how this mechanism works. For a complete explanation, please refer to Section 4.1 in the thesis.

Firstly, each TCP event handler in the simulator is expressed as a set of TCP Handler modules that are sequentially executed whenever the handler as a whole is activated (See below).

TCP Event Handler in module form

Expressing TCP event handlers in this form allows users to modify any TCP event handler present in the simulator. They can -

  • Insert new modules between existing modules in a simulator handler module set.


  • Overwrite existing modules in a simulator handler module set with new modules.


  • Delete modules in a simulator handler module set.

The Dynamic Configuration Mechanism then works as follows.

  1. On simulator startup, the TCP Layer loads in a default handler module set representing TCP event handlers that form a basic version of TCP. Currently, the basic version of TCP implemented as the default handler module set is the TCP version defined in RFC 793 that standardises the first widely used verson of TCP.


  2. A flow control algorithm is then be expressed as a user defined module set that is "patched" (by inserting, overwriting or deleting modules) into the simulator's default handler module set to form a new version of TCP that incorporates that flow control algorithm (See below).

    Example of how modules are inserted into existing event handlers



  3. Users can then pick and choose different flow control algorithm module sets, representing different flow control algorithms, to load into the simulator at run time for simulation purposes.

Since users can define module sets however they like, the Dynamic Configuration Mechanism allows any flow control algorithm to be implemented as a a module set that can be loaded into the simulator at run time for simulation purposes.

For information on how flow control algorithms can be implemented as a module set, please refer to Appendix 2 in the thesis.