GSoC 2010 – Database outuput from Freimap
Wednesday, August 18th, 2010The Google Summer of Code 2010 is going to end.
Also this year, we have participated with a Freifunk project on the Freimap Software.
Freimap is an Open Source visualization and analysis framework for (mostly) mesh networks, such as for example Freifunk.net. It can read many a different data source and display them as different layers in a map. The network can be browsed and queried in real time, and a time bar allows to trace back to past events. Some statistics of the topology and network traffic may also be generated. From the last Google Summer of Code 2009, Service Discovery is a new feature.
The software itself runs in Java, and smoothly at that. It reads data from various sources in the network, a database, a file or from a Live Stream (OLSR Routing Protocol, B.A.T.M.A.N., etc).
This year I’ve added this feature: the ability of Freimap to store all visualized data in a MySQL Database.
HOW IT WORKS
In the current version, Freimap can take data from different datasource:
- a file for a simple visualization: js, xml, txt files (static)
- a MySQL database (static)
- Live stream from an OLSR Daemon (dynamic)
If you want to store Live stream with the new “Database output for Freimap” feature you have to follow 2 simple steps. These steps are been simplified with a wizard that appear when you make a choice in the main GUI page.
The first step is a simple Wizard in which you have to insert some basics information such as:
- MySQL Database information: IP/Hostname and port
- MySQL Database credentials of an user that have a rw permission
- Position of the OLSRd config file
- Position of the LatLon.js file of the NameService Plugin
- The port of the dotDraw plugin
Once you have entered all the information you can choose a previous “Freimap” Database or to “Create a new Freimap Database”. When you choose a database from a list of available database the application automatically detect if the selected schema contains Freimap data. This choice read the data from the selected database and continue to store new live data in the same tables. With the second choice you can create a new database. This choice means that you can destroy an old database or you can create a completely new one.
ISSUES AND …TO DO
There is a lot of work to do to improve Freimap Software.
For example, as discussed in the OLSR-Dev Mailing List, there is a needs to make a simple web interface for the config file (now an xml file) in which you can change the base settings of the “Database output for Freimap” feature.
Another thing to do is to find a method to update and generate in a the fastest way a new “layer id” for the recovery of the correct layer when requested.
We have to add the possibility to read and store live data from and in two or more database (also schemas). This can be useful when you want to simulate in the same environment two networks with two different routing protocol (BATMAN and OLSR)
Actually the database information crosses the network in plain text. This means that we have to find a method to encrypt Freimap network data.
You can find more info here: http://wiki.freifunk.net/freimap
Mercurial Repository is here: http://code.google.com/p/freimap/