Giter VIP home page Giter VIP logo

sds-mininet-wifi's Introduction

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

sds-mininet-wifi's People

Contributors

jafar-albadarneh avatar ramonfontes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

sds-mininet-wifi's Issues

Dynamic network topology under Mininet-WiFi

The topology created by Mininet-WiFi is static, but the vehicles are in constant motion. So how to create the dynamic network topology?
For example, at first CAR1 connects to AP1, but after some time, CAR1 is in the coverage of AP2 and should connect to AP2.

SDS-Mininet-WiFi/SDStorage/sdstorage-experimental.py not working properly

virtualbox_ubuntu_19_09_2018_15_57_40

nutan@nutan-VirtualBox:$ cd SDS-Mininet-WiFi-master
nutan@nutan-VirtualBox:
/SDS-Mininet-WiFi-master$ ls
Components D-SDCompute README.md SDCD SDStorage
nutan@nutan-VirtualBox:/SDS-Mininet-WiFi-master$ cd SDStorage
nutan@nutan-VirtualBox:
/SDS-Mininet-WiFi-master/SDStorage$ ls
sdstorage-experimental.py
nutan@nutan-VirtualBox:~/SDS-Mininet-WiFi-master/SDStorage$ python2.7 sdstorage-experimental.py
""""Traceback (most recent call last):
File "sdstorage-experimental.py", line 10, in
from mininet.wifi.net import Mininet_wifi
ImportError: No module named wifi.net""""

I am facing this problem while running the experiment. please help me out.
Thank you

sdstorage-experimental.py Running Problem

It seems to be that there is no problem to run SDStorage experiment, but in the middle of running the experiment i witness:


osboxes@osboxes:~/Desktop/mininet-wifi/SDStorage$ sudo python sdstorage-experimental.py
[sudo] password for osboxes:
*** Creating nodes
custom swtich has been initialized
custom swtich has been initialized
custom swtich has been initialized
custom swtich has been initialized
custom swtich has been initialized
*** Configuring wifi nodes
*** Connecting to wmediumd server /var/run/wmediumd.sock
*** Error in `wmediumd': free(): invalid pointer: 0x00007f2d398fc1c8 ***
Traceback (most recent call last):
  File "sdstorage-experimental.py", line 116, in <module>
    topology()
  File "sdstorage-experimental.py", line 75, in topology
    net.configureWifiNodes()
  File "/home/osboxes/Desktop/mininet-wifi/SDStorage/mininet/wifi/net.py", line 2186, in configureWifiNodes
    self.configureWmediumd(nodes)
  File "/home/osboxes/Desktop/mininet-wifi/SDStorage/mininet/wifi/net.py", line 2136, in configureWmediumd
    self.stations, self.aps, propagationModel)
  File "/home/osboxes/Desktop/mininet-wifi/SDStorage/mininet/wifi/link.py", line 688, in __init__
    aps, propagation_model)
  File "/home/osboxes/Desktop/mininet-wifi/SDStorage/mininet/wifi/link.py", line 733, in configureWmediumd
    wmediumd.txpowers, isnodeaps, propagation_model)
  File "/home/osboxes/Desktop/mininet-wifi/SDStorage/mininet/wifi/link.py", line 745, in __init__
    ppm=propagation_model)
  File "/home/osboxes/Desktop/mininet-wifi/SDStorage/mininet/wifi/wmediumdConnector.py", line 394, in start
    WmediumdServerConn.connect()
  File "/home/osboxes/Desktop/mininet-wifi/SDStorage/mininet/wifi/wmediumdConnector.py", line 931, in connect
    cls.sock.connect(uds_address)
  File "/usr/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 2] No such file or directory

Any idea for the solution?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.