SWNRG / minos

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MINOS: A Multi-protocol Software Defined Networking Platform for the Internet of Things

MINOS Architecture

MINOS is suitable to accomodate many different protocols. Two of them are included, both in the relevalt folders inside protocols_deployment/. We also include a work in progress in dual-stack (contiki dual-stack) using a contiki version.

  • CORAL-SDN, Readme file here
  • CORAL-SDN protocol video here

CORAL-SDN is an OpenFlow-like protocol. CORAL-SDN decouples complexity from the network protocol and offloads it to network control software deployed at the surrounding fixed infrastructure. It supports dynamic deployment and configuration of SDN enabled topology and flow control mechanisms. Moreover, applies network control using two novel topology control algorithms and two flow establishment and forwarding techniques that can be combined and adjusted on-demand. Reference paper here.

  • Adaptable-RPL, Readme file here
  • Adaptable-RPL protocol video here

The Adaptable-RPL is a standard contiki-RPL with modifications in order to provide handlers to MINOS to adapt RPL parameters in real time. These parameters are Imin, Idouble, effecting the tricle algorithm, responsible for neighbors solicitiation, which affects the performance of mobile nodes. Other parameters include the frequency of UDP messages sending (aka communication data), and dynamic change of Objective Function, described in submitted works.

  • Contiki with Dual Stack, Readme file here

A dual stack network involves nodes that are capable of processing two protocols’ traffic simultaneously, originally implemented in IPv4 and IPv6. We foresee that dual stack network application on IoT networks will enhance the network adaptability to changing network conditions. This is a work in progress which only started showing its potential. Inside the folder we include an example running in cooja of two nodes exchanging messages. The output of both stacks is depicted in the serial output.

About


Languages

Language:C 72.9%Language:Java 9.6%Language:C++ 7.5%Language:Makefile 6.2%Language:Python 1.9%Language:HTML 0.4%Language:Assembly 0.4%Language:Gnuplot 0.3%Language:Shell 0.3%Language:Perl 0.2%Language:Objective-C 0.1%Language:Brainfuck 0.1%Language:JavaScript 0.0%Language:CSS 0.0%Language:XSLT 0.0%Language:Asymptote 0.0%Language:Scala 0.0%Language:SuperCollider 0.0%Language:Dockerfile 0.0%Language:GDB 0.0%Language:Awk 0.0%Language:Batchfile 0.0%