Deflection routing is employed to ameliorate packet loss caused by contention in buffer-less architectures such as optical burst-switched networks. The main goal of deflection routing is to successfully deflect a packet based only on a limited knowledge that network nodes possess about their environment. This is the homepage of the iDef framework that introduces intelligence to deflection routing. iDef decouples the design of the signaling infrastructure from the underlying learning algorithm. It consists of a signaling and a decision-making module. Signaling module implements a feedback management protocol while the decision-making module implements a reinforcement learning algorithm. iDef is implemented using the ns-3 network simulator.
The iDef framework is written in C++ programming language using the ns-3 network simulator. It uses many of the programming facilities that are provided by the network simulator and, therefore, it is essential for the users to be familiar with ns-3 network simulator.
The latest version of the iDef framework maybe downloaded here:
idef_framework.tar
> hg clone https://www.bitbucket.org/shaeri/hmm-deflection
Alternatively, the framework may be download directly from its Mercurial repository:
The source code follows the ns-3 source code structure.
The iDef framework source files are located under: src/hmm-deflection
The important subdirectories are:
Deflection Manager: src/hmm-deflection/deflector
Decision Making Module: src/hmm-deflection/decision-maker
Mapping Module: src/hmm-deflection/mapping
Signaling Module: src/hmm-deflection/signal-manager
Simulation Scenarios: src/hmm-deflection/examples
> CXXFLAGS='-Wno-error -std=c++98' ./waf --enable-examples configure
> ./waf
> ./waf --run 'nn-nsf-net --NumFlows=2200 --Alpha=0.1 --RewardZoffset=-100 --PacketsPerFlow=50 --MaxDeflections=2 --numWavelenghts=64 --useEpisodicReinforcement=0 --gtest_filter=*EnableNNWithFlowChange/NeuralNetDeflectionTest* --EnableNsAnimation=0 --EnableProgressBar=1 --gtest_catch_exceptions=0'
If you have any questions related to the iDef framework, please contact Soroush Haeri shaeri at sfu.ca.