FPQ implementation for Bluehoc
Jean
Baptiste Lapeyrie, Thierry
Turletti
This note will help you to install and simulate the FPQ algorithm, implemented
for ns and Bluehoc.
We assume that ns-2.1b7a, available from "http://www.isi.edu/nsnam/ns",
has been correctly installed as well as the Bluehoc extension, available
from "http://www-124.ibm.com/developperworks/opensource/bluehoc".
INSTALLATION
1. Dowload the file fpq.tgz. After decompressing
fpq.tgz, go into the directory FPQ/ .
2. Replace the following files
-
~ns/ns-2.1b7a/bt-core.h
-
~ns/ns-2.1b7a/bt-def.h
-
~ns/ns-2.1b7a/bt-drr.cc
-
~ns/ns-2.1b7a/bt-host.cc
-
~ns/ns-2.1b7a/l2cap.cc
by those located in ./ns-2.1b7a/ .
Then replace ~ns/ns-2.1b7a/tcl/lib/ns-btnode.tcl by ./ns-2.1b7a/tcl/lib/ns-btnode.tcl.
These are the files of Bluehoc we have changed in order to implement
FPQ and to obtain traffic in both direction (slaves -> master and master
-> slaves) in the Piconet.
3. Copy the file ./ns-2.1b7a/expooip.cc into
~ns/ns-2.1b7a/ .
This is a Poisson traffic generator implemented as expoo.cc, written
by Xerox.
4. Modify the file ~ns/ns-2.1b7a/Makefile to include the new traffic
generator.
You must add expooip.cc in OBJ_CC (you can look for expoo.cc to find
the right place...).
Then, you can see a line that looks like: expoo.o : expoo.cc /usr...
Copy this line and replace expoo.o by expooip.o and expoo.cc by expooip.cc.
5. In ~ns/ns-2.1b7a/, run 'make' to recompile NS. Normally, the FPQ
extension of Bluehoc is correctly installed.
SIMULATIONS
In ./Scripts are located 4 script files in order to use Bluehoc
and FPQ.
-
aide.tcl:
Here are implemented some functions to build the
Piconet with the rigth parameters.
-
config.tcl:
The first section allows you yo set up the topology,
and the traces files. There is no particular difficulty to understand the
meaning of each parameter.
In the next section, you can set up the transport
protocols and the applications that you want to use. You can use only one
application from the master towards each slave and one application from
each slave towards the master. You can choose the time at which each application
must start. If you set this time to 0, that implies that the application
will never start. If you want to configure an application from slave i
towards the master, you must configure an application from the master to
slave i (with a start time equal to 0 if necessary...). Warning: the application
must start after the connection of the slave to the Piconet!
In the last section, you can set up the QoS parameters.
You can choose the time at which FPQ should replace DRR. It allows to use
only DRR (with a very high start time), only FPQ (very low start time)
or DRR and after FPQ. The remaining parameters corresponds to the parameter
alpha of FPQ and the QoS requests. The Flow Rate request is expressed through
the average time between each packet, in ms. The Maximum Delay request
is expressed by the maximum number of slots that the end-to-end delay can
reach. If MD=0, this means that no MD request is expressed.
-
create.tcl:
This file is used to build the Piconet along with
aide.tcl and the config.tcl configuration files.
-
run.tcl:
This script runs the simulation and launches nam.
Finally, if ~ns/bin/ is in your $PATH variable, execute 'ns run.tcl', in
the directory where these files are located, in order to run the simulation.
Thierry Turletti
Last
modified: Tue Jul 16 11:29:02 MEST 2002