Skip to content
This repository has been archived by the owner on Sep 3, 2021. It is now read-only.

pedromanoel/EbitSim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The EbitSim is an enhanced BitTorrent simulation with the
following features:

- Multiple concurrent swarm
- Multiple trackers
- Timeslice processing model
- A thousand nodes simulated
- Use of the INET Framework
- Modular model to allow easy configuration

For now, this model does not come with documentation other
than the comments on the code. Check the article with the
same name, presented at MASCOTS 2011, for further information.

DEPENDENCIES

This code was built with omnetpp-4.2.2 and it needs an
installation of inet-20111118.

They both can be found at the links:
http://www.omnetpp.org/omnetpp
http://inet.omnetpp.org/

Extract omnetpp and inet in a folder of your choice, where the
omnetpp workspace will be created ("~/Workspace", for example).

In a fresh Ubuntu install, it is necessary to install the
following packages to compile omnetpp:
- default-jre
- build-essential
- zlib1g-dev
- tcl8.4-dev
- tk8.4-dev
- tclreadline
- blt-dev
- libxml2-dev
- libpcap-dev

Run the following command to install these packages
$ sudo apt-get install default-jre build-essential zlib1g-dev tcl8.4-dev\
 tk8.4-dev tclreadline blt-dev libxml2-dev libpcap-dev

In order to compile Ebitsim, it is necessary to download the smc (State Machine
Compiler) and the boost library:
SMC: http://smc.sourceforge.net/
Boost: http://www.boost.org/

Extract them somewhere in your home folder, such as "~/libs".

INSTALLATION

1. Compile omnetpp-4.2.2 by running the following commands:
$ ./configure
$ make

If you face any problems, please refer to the omnetpp installation guide.

2. Create the file "~/bin/smc" with the following content:
#!/bin/bash
if [[ $# > 0 ]]
then
    java -jar PATH-TO-SMC-INSTALL/bin/Smc.jar $*
else
    echo "Usage: smc -{targetlanguage} {options} {smfilename}.sm"
fi

Substitute PATH-TO-SMC-INSTALL with the path where you extracted the smc
("~/libs/smc_VERSION" if you followed the suggestion above).

Make the file executable with the command
$ chmod u+x ~/bin/smc

3. Open the OMNeT++ IDE and add the INET framework source to the workspace. Then
compile both in release and debug modes.

4. Copy or move the EbitSim source code to the IDE workspace and create
an OMNeT++ project with the same name.
Use the template "Empty project with 'src' and 'simulations' folders". You MUST
NOT overwrite the 'package.ned' and the omnetpp.ini files.

5. Add the smc and boost folders to the paths.
Enter the project properties, select "C/C++ General -> Paths and Symbols", and
add the paths to the "boost" folder (it is the root) and to the "smc/lib/C++"
folder under the GNU C++ Language.

6. Use the inet project as a reference for the EbitSim.

7. Run 'make' inside the folder src/client/smc and compile the EbitSim project
both in release and debug modes.

Now you should be ready to play around!

About

Enhanced BitTorrent Simulation using OMNeT++

Resources

Stars

Watchers

Forks

Packages

No packages published