Software developed by Anja Feldmann's research group at TU München

Some of our software is listed on this page... if the author cared to put a link here, that is... :)


Software developed within the DFG-Forschungsschwerpunkt 1126: Algorithmik großer und komplexer Netzwerke:

In case you have problems downloading or installing software in this section, please contact Nils Kammenhuber <Spam-Schutz>

DML syntax checker for SSFNet

A quick-and-dirty syntax checker for SSFNet DML files. It just checks those cases that SSFNet does not check; i. e., schemas are ignored. You need the open source tool javacc to create the .java files from the .jj file. Then you can compile the .java files using your favourite java compiler (typically javac)

Once compiled, use it from the command line like this:
$ java -classpath ...blahblah... Parser < inputFile.dml

Download Parser.jj, written by Nils Kammenhuber

Framework for Traffic Engineering Protocols for SSFNet

Ongoing work by Simon Fischer, Nils Kammenhuber, Sebastian Mohr, Nataliya Skrypnyuk, and Tobias Schmidbauer. Includes multipath balancing code, TTL-based routing, an universal framework for (online) traffic engineering agents, and implementations involving evolutionary game theory.
Work in progress.

Download patch against Racesway SSFNet v2.0.
Install with these commands:
cd /home/bla/bla/bla/original-and-unchanged-ssfnet-as-downloaded-from-ssfnet.org-2.0/ ; zcat /home/bla/bla/bla/ssfnet-pstara-mpls-replex-wwg-application.patch.gz | patch -p1
(Note the path for the cd command!)

Contains the following SSFNet extensions written at our TU München research group:

There is no need to apply this patch together with either the MPLS patch or the SSF.OS.WWG patch below! (In fact, it probably will not work anyway...)

Simple Simulator for Evolutionary Game Theoretic Strategies within a Peer-to-Peer Network (SEPP)

Work by Simon Fischer and Nils Kammenhuber — please inquire latest version by e-mail

Rocketfuel parser module for Perl

A Perl module that reads a Rocketfuel network topology map (i.e., a .cch file, which can be a bit tedious to parse) and stores the topology data in an object data structure, consisting of Host and Link objects.

rocketfuel.pm (Version: October 2006), written by Nils Kammenhuber

Rocketfuel→DML converter

A Perl script that reads a Rocketfuel map using the Perl module rocketfuel.pm, and that converts it into a SSFNet DML scenario description file consisting of OSPFv2-connected (backbone) routers and/or routers with networks representing access and external routers. The DML produced is quite generic; thus, arbitrary workload clouds can be used without the need to modify the script. The script is constantly evolving over time; if you are interested in the newest version do not hesitate to inquire it via e-mail. Written by Nils Kammenhuber.

translateIPs — a simple SSFNet debug output enhancer

When writing debugging output etc. from lower-layer classes such as routing tables, it is usually much easier to print an IP address than to print the corresponding NHI address. This can be quite unfortunate, since in debugging, it is usually a lot easier to identify a host by its DML-configured NHI address and not by some IP address which SSFNet chose "at random".

The Perl script translateIPs parses SSFNet output, reads in the mapping table which SSFNet prints out before the simulation run starts, and uses this table to replace any occurence of an IP address within further SSFNet output by the string IP address[NHI address]. In other words, it translates (SSFNet-assigned) IP addresses to the NHI addresses which the user had assigned in the DML file.

Remarks:

MPLS for SSFNet

Developed by Thomas Krämer as a Diploma thesis (supervisor: Olaf Maennel, Anja Feldmann). An implementation of Multi-protocol label switching (MPLS) for the SSFNet simulator. The code is heavily based on the MPLS implementation of GLASS — in principle, it is a "back-port" of MPLS from the GLASS extension back to the orginal SSFNet. This allows MPLS to be used with routing protocols such as OSPFv2 or BGP4.

Code ported to SSFNet v2.0 by Nils Kammenhuber.

N.B. Code includes Christian Vollmert's Web Workload Generator SSF.OS.WWG (see below). There is no need to apply both patches!

Web Workload Generator for SSFNet

Developed and evaluated by Christian Vollmert as a Bachelor thesis (supervisors: Nils Kammenhuber, Jörg Wallerich). A new implementation of a web workload generator (WWW clients, WWW servers, framework for WWW proxies) based on an extended SURGE model. Well-documented code.
Download Web-Workload-Generator-Patch against SSFNet 2.0 (please consider using one of the patches above instead)
Download Christian Vollmert's corresponding Bachelor Thesis as... .pdf or as .ps.gz
Download Christian Vollmert's final presentation as .ppt (in German!)

Expand-and-collapse algorithm

Developed by Nils Kammenhuber. Dynamic monitoring of the number of search hits on individual nodes of a large tree-shaped graph, under the constraint that only a very small number of nodes can be monitored at a time. Ongoing joint work with Lukas Kencl (Intel Research) — please inquire latest code by mail.
Download EaC algorithm and simulation framework
Download utilities and example files

Version: September 2004.

DMLEditor

Developed by Andreas Hartl as a Systementwicklungsprojekt (systems development project); supervised by Nils Kammenhuber. A graphical editor for DML files (network and simulation scenario descriptions for the SSFNet network simulator).
Download DMLEditor.jar (version: september 2004)
Download Andreas' documentation (PDF)

ksplit

Developed by Nils Kammenhuber. Uses an algorithm by Krysta/Sanders/Vöcking that yields an optimal solution for the k-splittable scheduling problem. Implemented in Java. Runs with JDK 1.3 and above, possibly with JDK 1.2 also (not tested). Documentation included with the tgz file.
Download ksplit.tgz (version: march 2004)

ips2networks

Developed by Nils Kammenhuber. Reads in IPv4 addresses, inserts them into a huge binary prefix tree, and outputs all network prefixes formed by the individual IPs. Tuneable heuristics can be used to ignore "gaps" within a network (so as to avoid unneccessary prefix fragmentation).
Download ips2networks.tgz (version: october 2003)

Patch for SSFNet (obsolete — the same functionality now is provided by our Web Workload Generator)

Developed by Philipp Walter, Amit Aggarwal, Tarun Aggarwal, Sumit Chopra, and Nils Kammenhuber. Allows to specify server probabilities and monitor events in SSFNet's httpClient.
Download


Software developed within other projects

Library for R

Developed by Philipp Walter. Needed to analyze the results gained from the httpClientMonitors from the SSFNet patch above with the GNU R statistical evaluation software.
Download