SDS-Mininet-WiFi

Software Defined Systems support extension for Mininet-WiFi Emulator

Stars
8

SDS-Mininet-WiFi

Software Defined Systems support Extension for Mininet-WiFi Emulator

What is this repository for?

  • Quick summary
  • Systems Support

This repo holds the outcome of the collaborative work on supporting software defined systems as an extension to the well-known Network SDN Emulator Mininet-wifi.

The list of supported systems are as follows:

  1. Cooperative mobile edge computing system for VANET-based software-defined content delivery

Cite @ Cooperative SDContent Delivey, J.Albadarneh et.al

  1. Software Defined Storage for Cooperative Mobile Edge Computing Systems.

Cite @ SDStorage, J.Albadarneh et.al

How do I get set up?

  • Summary of set up

    There is no special configurations required to run the system, all you've to do is to clone the repo and cd into the system directory (ex. SDCD) and run the experiment.

  • Configuration

    • you've to follow the configuration required by Mininet-WiFi
  • Dependencies

    As stated in the description, the proposed systems support works as an extension to mininet wifi. so you should have mininet-wifi installed inside your machine. you'll need:

    Temporarily: The Experiements are compatible with mininet-wifi v2.2.

    • SUMO Urban simulator version >= 0.28.0
    • Distributed Internet Traffic Generator (D-ITG) (latest version) can be found at: D-ITG. Required if planning to simulate traffic.
    • octave (latest version), can be found at: Octave
    • Both Storage and Content Delivery Experimetns requires Python2.7
    • any future dependencies will be added here
  • How to run tests

    In order to run the experiments, follow these instructions:

    1. for V-SDCD, navigate to the system directory (SDCD):
      cd SDCD then run the experiment via sudo python2.7 sdcd_experimental.py.
    • The terminal will guide you to choose your experiment.
    • The Map files are hosted inside Mininet-WiFi. Once you have it installed, Mininet environment variables will be able to locate the files and grab them.
      They can be found here
    1. for SDStorage experiment, navigate to system directory (SDStorage):
      cd SDStorage then run the experiment via sudo python2.7 sdstorage_experimental.py
    • Right after initializing the environemnt, a plot will be shown asking for drawing some roads for the cars. (10 roads - 4 mec nodes - 5 cars). Draw roads as connected points, and then place the mec nodes among those roads. After placing the last MEC node, the cars will be placed on the roads with random positions and speeds.

    please note that, for you to be able to run the experiments properly, you need to wait for car1 to be connected to one of the mec node. -a nice tip here is to place the MEC nodes near to each other-.

    • Once car1 is in range of any MEC node, enter the amount of storage units the car is willing to store. Note that Each MEC node is set to have a predefined capacity of 125000 storage units. As specified in the study, auto-scaling storage capacity for MEC nodes will be triggered on-demand.
  • If you encountered problems with your wifi-drivers which might stops the nodes from getting connected to the experiment basestations, you need to stop your network manager and use wpa_supplicant to retain your interenet connection which is needed to load the simulation environment map. Instructions to connect using wpa_supplicant are as follows:

# Login as sudo user
sudo su
# Scan wireless networks
sudo /sbin/iw wlan0 scan
# Stop the network manager
service network-manager stop
# Register wifi network 'home-accesspoint'. You'll be prompted for wifi password
wpa_passphrase home-accesspoint >> /etc/wpa_supplicant/file.conf
# Connect to the network home-accesspoint
sudo wpa_supplicant -B -D wext -i wlo1 -c /etc/wpa_supplicant/file.conf
# Check Connection Status
iw wl0 link :: connected
# Add the following name servers to access the internet 8.8.8.8, 8.8.4.4
vim /etc/resolv.conf

Having some troubles!!

Don't hesitiate and go ahead submit your PRs

Who do I talk to?

  • Repo owner or admin (Jafar Albadarneh)

Collaborators