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

pedromanoel/EbitSim

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
 
 
doc
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
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