|
|
|
|||||||||||||||||||||||
|
|
|||||||||||||||||||||||||
|
We developed three implementations of the QoSbox. Historically, the first implementation was made in a custom simulator, that we used for comparison with other available schemes. That simulator is still used to provide a visualization of our results via a Java applet. [More...] We then implemented our algorithms in the very popular ns-2 network simulator, developed at UC Berkeley initially, and now at the Information Sciences Institute, of the University of Southern California. [More...] ![]() We also have an implementation of the QoSbox in the ALTQ (v3.0 and above) and KAME (SNAP 20020225 and later) packages. KAME is a set of kernel-level and application-level patches for FreeBSD, NetBSD, and OpenBSD, aiming at providing an open-source IPv6 implementation and enhanced networking functionality for these operating systems. ALTQ provides a set of queueing disciplines (usable as kernel modules) to replace the standard FCFS queueing discipline in FreeBSD, NetBSD, and OpenBSD. ALTQ is included in the KAME distribution, but can be downloaded independently, and indeed does not require KAME be installed. We provide the JoBS queueing discipline, which is the scheduling and dropping algorithm central to the QoSbox, for both ALTQ and KAME. This implementation was tested on a testbed of six PowerEdge 1550 1GHz Pentium-III Dell Servers shown in the picture on the left, equipped with six Ethernet network interface cards each, to assess the computational complexity of the algorithms in use in the QoSbox, as well as their efficiency at high data rates (100 Mbps FastEthernet). [More...]
We provide access to our CVS trees,
for people who want to see what the current development status of the code
is. Note that with this web interface ( The ns-2 implementation of the QoSbox is realized by the Queue/JoBS scheduler and dropper and traffic markers (Queue/Marker, derived from an original contribution from Prof. Constantinos Dovrolis). These modules and the relevant documentation have been included in the core distribution of the ns-2 network simulator, as of ns-2.26 (February 28, 2003). We highly recommend that you use the version provided in the stock ns-2 distribution, since the code is now maintained in the ns-2 source tree. However, for people using an older version (2.1b8a, 2.1b9, 2.1b9a, 2.1b9a-gcc32), we provide patches. Bugfixes and improvements are not backported to these patches - these patches are not supported anymore. For these patches to work, you need a pristine ns-2 tree already installed on your computer (which you can download from the ISI website). After having read and agreed to the license agreement (reproduced in the green box below), you can download one of the following patches depending on the version of ns you are using:
2.1b9 by the version number.
Assuming you have already compiled all the components in the ns-allinone distribution, once you have downloaded the patch, do the following:
NSDIR is the absolute path of the directory where ns-2.1b9 resides, and PATCHDIR is the
directory where you stored the patch you just downloaded.
This sequence of commands will:(1) install the JoBS extensions, (2) patch a couple of header files in ns (e.g., you are now able to monitor the number of bytes received by a TCP/DelAck sink), (3) recompile the whole ns tree with the Queue/JoBS module, (4) run the validation tests for Queue/JoBS, (5) include some example scripts in NSDIR/ns-2.1b9/tcl/ex, and (6) update the documentation files in NSDIR/ns-2.1b9/doc. The JoBS extensions to ns-2 have been tested successfully on FreeBSD 2.2.7, FreeBSD 4.4 and above, Linux RedHat 6.2 and above (Intel) (RedHat 8.0 imposes you use the gcc32 snapshot), Windows XP/Cygwin (gcc32 snapshot only) and Solaris 8 (Sparc).
If you have a working LaTeX installation, you can regenerate the documentation by doing
everything.dvi
which is an updated version of the
ns
manual that contains a new chapter (Chapter 9)
explaining what you need to know
about the Queue/JoBS module for ns. On UNIX systems, you should be able to read this file by issuing
the command
The ALTQ and KAME implementation of the QoSbox is realized by the JoBS queueing discipline. To get the JoBS queueing discipline for ALTQ and/or KAME, you have several choices. If you want the most recent version of the software, you should download KAME. (The JoBS code is now maintained in the KAME tree.) If you are more interested in more stable versions of the code, you should download ALTQ. See below for specific instructions. KAME (20021028 SNAP and above). JoBS is included in all KAME SNAP kits released on or after October 28, 2002. This works under all BSD flavors. Please visit the KAME webpage for download and install instructions. Enjoy! KAME (SNAP kits released between February 25, 2002 and October 21, 2002). For reference purposes, we provide patches for the FreeBSD KAME SNAP-kits that were released between February 25, 2002, and October 21, 2002. The code was in a state of flux, and it is not even guaranteed it will compile. (Well, as a SNAP kit, the same caveat applies to KAME itself.) Furthermore, it only ran on FreeBSD 4.x and was not ported yet to the other BSDs. In short, stay away from these patches, and use a SNAP kit released on or after October 28, 2002. If you really need a SNAP kit released between February 25, 2002 and October 21, 2002, you can download the JoBS patch corresponding to your KAME SNAP kit from this list. Once you have downloaded the appropriate patch, unzip it using
XXXXXXXX corresponds to the timestamp of the patch you are
using. Apply the patch to the KAME distribution with:
$KAME denotes the path to your KAME source tree (e.g., /home/nick/kame-snap-20020225/). Please be careful: $KAME does not denote the path to your kernel sources. Recompile and reinstall KAME, following the instructions provided within the KAME distribution,
and you should be all set.
ALTQ (3.1 and above). A stable version of JoBS is included in the base ALTQ distribution as of ALTQ-3.1. Please refer to the ALTQ webpage for download and install instructions. If, for some reason, you have to use ALTQ 3.0, please read on. You can download a modified version of ALTQ 3.0 that includes the JoBS queueing discipline from this page. JoBS is not included in ALTQ 1.x and 2.x, and we do not plan to provide support for these versions. ALTQ (3.0).
The JoBS queueing discipline was not part of the
ALTQ 3.0
base distribution, therefore you have to download it from this
webpage. Once you have read the
license agreement
below (in the green box), you can download altq-3.0+jobs.tar.gz
A BSD license applies to the QoSbox software distributed as part of, or as an extension to ns-2, ALTQ, and KAME. By downloading any software from this website, you agree to the license agreement reproduced below:
Support is provided by means of several mailing-lists:
The following CVS trees can be accessed:
| |||||||||||||||||||||||||
Copyright ©
Multimedia Networks Group
,
Department of Computer Science
,
University of Virginia
,
2000-2003.