Coder Social home page Coder Social logo

maravger / monroe-network-selection Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 19 KB

A dockerized utility-based Network Selection tool, designed for experimentation in the MONROE infrastructure. Code for paper "Utility decisions for QoE-QoS driven applications in practical mobile broadband networks", https://ieeexplore.ieee.org/iel7/8632667/8635591/08635761.pdf

Home Page: https://www.monroe-project.eu/unique/

License: MIT License

Shell 4.59% Python 95.41%
qos qoe iperf3

monroe-network-selection's Introduction

Overview

In UNIQUE, we aspire to evolve, implement and experiment with a unified utility-based framework based on both QoS (network-centric) and QoE (user-centric) features and parameters, which allows to enhance, formulate and improve various advanced network operations in mobile broadband (MBB) infrastructures (network selection, offloading, resource allocation, etc.).

In this software extension, the operation and benefit of the proposed utility-based framework, in a utility-based access network selection application is implemented. The framework is used to evaluate the combined QoE-QoS quality of an MBB interface and determine the more superior. This can be further used for key user-desired and bandwidth intensive network services and applications, such as multimedia downloading.

Experiment template

A template to show of some of the capabilities of this software module.

The experiment will constantly communicate with a public iperf server in order to evaluate the condition (e.g. jitter, transmission rate, packet loss) of the routes selected by each of the node's available interfaces.

A utility function will be applied to the metrics collected ("metrics vector"), and the preferable interface will be selected based on a total score.

Accumulated in this total score will be a QoE value derived from a pre-compiled matrix containing the QoE values corresponding to some metrics vectors (QoS). These values have been collected off-line from real-world experimenters.

The off-line metrics vector scoring the minimum euclidean distance with the on-line metrics vector, will give the corresponding QoE value.

The default values for the weights used in the utility function are (can be overridden by providing a config file):

{
	"w1": 1,
        "w2": 1,
        "w3": 1,
        "w4": 1,
        "w5": 1,
        "w6": 1,
        "w7": 0.01,
        "c1": 1000000,
        "c2": 1,
        "c3": 1,
        "c4": 0.01,
        "c5": 0.01,
        "c6": 1,
        "c7": 1,
        "plossmax": 100,
        "jittermax": 300
}

The download will abort when either size OR time OR actual size of the "url" is downloaded.

The experiment will execute a statement similar to running iperf like this

iperf3 -c 91.138.176.151 -p 5001 -u -R -t 2 -J

Sample output

The experiment will produce an output similar to this:

op0 at 2018-01-30 14:21:16.966311:
bytes: 294912
bits_per_second: 1179340.25218
jitter_ms: 24.280589
lost_percent: 26.315789
out_of_order: 0
packets: 19
lost_packets: 5
seconds: 2.000522
utility: 2.07118880123
qoe: 1.0
total utility: 3.07118880123

op1 at 2018-01-30 14:21:20.854210: 
bytes: 294912
bits_per_second: 1179296.54224
jitter_ms: 30.680238
lost_percent: 11.111111
out_of_order: 0
packets: 18
lost_packets: 2
seconds: 2.000596
utility: 2.21612198035
qoe: 3.0
total utility: 5.21612198035
--------------------------------------------------
Preferable interface: op1
--------------------------------------------------

monroe-network-selection's People

Contributors

maravger avatar

Stargazers

 avatar  avatar

Watchers

 avatar

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.