Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Koneki/LDT/Technical Discussions/Bandwidth estimation tool specification

< Koneki‎ | LDT‎ | Technical Discussions
Revision as of 03:11, 27 March 2012 by Unnamed Poltroon (Talk) (The user interface of the tool)

Introduction

This document describes the specifications of a generic bandwidth estimator. The purpose of this estimator is to provide a tool to estimate the bandwidth which is use by one specific use case with lots of different communication protocols. The estimator consumes an instance of the model which describes the current application. The estimator search informations about the data, events and commands which are describe into the application model. With this tool, users will be able to describe how the estimator will generate artificial values for data, events and commands. This description is the scenario of the estimator. Then, the tool will offer an estimation of the bandwidth which will be use by this scenario for one specified period. The following chapters describe: *user interfaces

  • model which is used to describe data
  • model which is used by the estimator
  • the architecture to add new protocols available for the estimator

The user interface of the estimator

This chapter describes the user interfaces of the tool. By this way, it will by easier to understand how the tool works. The user interface is structured on few pages into three tags.

Bandwidth estimation tool specification main ui.png

The first tag is used to edit the scenario of the estimator. The second tag is used to edit the configuration of all protocols which are available for the estimator. And the third tag is used to show the details of all estimations for each protocols.

The following sections describe the pages of each tags.

Scenario editor tag

The Data/Events generation page.

Bandwidth estimation tool specification DataEvents generation.png

This page contains the list of all data and events which the device could send during its exploitation. For the estimations, the values of data and events will be automatically generate by the estimator. The bandwidth estimation is based on these artificial values. This page allows to set how the values will be generate and used by the estimator. That compute how many bandwidth the protocol needs to send informations of the device.

For the data, there are five main types of informations:

  • Time unit
  • Generation details: after this delay, a new value is generate
  • The type of generation: Increment (the values are generate by following increments values), List (the generated values follow one specific list of values), Random (all values are generate with a random method)
  • Acquisition delay: after this delay, the last value which have been generated is store to be send later
  • Publication delay: after this delay, all stored values have to be send by the communication protocol

For the events, the configuration is simpler than data configuration. There are only the acquisition delay, the publication delay and the time unit parameters. The device is also able to receive messages. Below is the details of the Commands/Data reception page.

The Data/Commands reception page.

Bandwidth estimation tool specification DataCommands reception.png

The data configuration is the same than for the generation configuration. The command configuration is the same than the events configuration for the generation page.

The last page is use to manage different bandwidth estimations.

The bandwidth estimations page

Bandwidth estimation tool specification estimations dashboard.png

This is the most important page. It allows to select which protocol the user want to use. The configuration of the protocols is settable by cliquing on the button "Edit parameters". Then, the suer can choose the period of the estimation and run the estimators. All selected protocols are used to make the estimation. So, for one scenario, the user can directly compare the results of lots of protocols. The user can specifically compare two points. The number of messages which are send and receive by the device and the total bandwidth which will be consume.

After the estimation, into the statics area an abstract of all messages is available for each protocols. And for one selected message, the detail of the message is available into the "Message detail" box. If the protocol provides a specific page to explore the messages, this page available by clicking on the button "Explore messages details".

Protocol configuration tag

The protocol configuration pages are specific for each protocols which are available for the estimator. Below is one example of the MQTT protocol configuration.

MQTT configuration page

Bandwidth estimation tool specification MQTT configuration.png

Qos level

For each type of information (data into reception and generation, events and commands) the configuration page provide to chose which QOS is associate.

Connection parameters

It's the classical fields to set the connexion settings.

Serializer name

For each type of information (data into reception and generation, events and commands) the configuration page provide to chose which serializer is associate. This feature provides to set how the payload is serialize for each MQTT messages. For example, the users could choose a JSON serializer for the data and one binary serializer for the events.

Data/Commands/Events messages pattern

There are many ways to transform the informations (data/commands/events) in MQTT messages. So the configuration page offer to choose which pattern is the best for the application. The patterns offer to broadcast a lot of little messages or few huge messages. For example, the event pattern "asset/events" each messages will contains all events with their name, code and type. With lost of events, the message could become very huge. whereas with the pattern "asset/events/name" the message will only contains only the code and the type for one event. But the number of broadcast messages will increase.

The last box "others"

In this box users can set if they want to broadcast the MQTT subscribe messages before receive new informations. They are also able to configure the date format and intial value.

Back to the top