GSoC 2010 – Database output for Freimap

Freimap is a virtualization and visualization software for mesh networks. Currently this software does not have the ability to store information transmitted by individual nodes (data routing, position, connected clients, etc.) so the user cannot have a clear idea of network behavior over the time.

Freimap Start PopUp

After gathering information and needs of various communities in Berlin during the international event WCW2010 we have written the basics for the job of this summer for the Google Summer of Code 2010. With the project “Database output for Freimap” we want to create a plug-in that can store all information and data, not only of individual clients but also of the entire mesh network (SNMP data, syslog data, etc …). In this way Freimap can be used as a veritable tool for troubleshooting and reference. The needs identified during the WCW2010 were:

  • Define of a common node schema: communities have different schemas of nodes (due to the different types of networks used)
  • Possibility to redrawing the map at a given time
  • Ability to find a particular information (eg client connected at a given time)
  • Need to manage the entire network from anywhere in the world with a Web Interface

The new Freimap is organized by level, unlike the previous version (written by Thomas Hirsch). These levels are:

1) Layer Datasource

2) Data Layer

3) Main Layer

The first layer is responsible for collecting data from all DataSources (NameService Plugins, OlsrDataSource, Files, MySqlDataScource, etc …)

The second layer is responsible for organizing and storing data in the database. This level contains all necessary information for the “rebuilding” of the map and then the regeneration of the situation at a given time. In addition to the data passed from the “DataSource Layer” at this level are added some basic information such as timestamps and information on the nodes (translated xy positions on the map, lat / lon, etc. ..)

The third level is responsible of the generation of the GUI from the data of previous levels. The project’s aim is therefore to find a way to store data of the second level, where there are all necessary data for the rebuilding  of the level at the given time.

This first step that must be followed, is surely a definition of a common  node schema. Project already started by the Ljubljana Community with some fundamental results.

Now, only for testing, the structure of the database tables is reduced at:

Node Table:

Database Schema 1

Layer Table:

Database Schema 2

Link Table:

Database Schema 3

After this first design phase, the second part of the program will be dedicated entirely to the coding in which will be defined the procedures for storing data in the database. With the first commit have been implemented the automatic generation of the database structure (local and/or remotely) and the ability to select an existing external/internal database from which to get the information and updates in real time .

Credentials for MySQL Database

Other updates will be announced shortly before the Mid-term evaluations deadline;

Changelog and updates about the development process can be found at: https://code.google.com/p/freimap/

Stefano Pilla

Author Profile

pillastefano

Tags: , , ,

Leave a Reply