[Interop-dev] CNML/Database Brainstorming: Help!

Ralf Schlatterbeck (spam-protected)
Fri May 11 18:54:15 CEST 2012

Federico, thanks for summarizing our discussion and starting the
discussion here with a wider audience.

When I'm mentioning CNML in the following, I'm referring to the current
implementation from guifi.net which I've studied in detail and which is
a very good starting point in further discussions about a common data
model in my opinion. I'll try to make this self-contained so that it's
understandable without knowledge of CNML.

On Fri, May 11, 2012 at 06:16:39PM +0200, Federico Capoano wrote:
> *Devices & Servers*
> in the existing nodeDB i haven't seen yet (i haven't studied them all in
> detail eheh) servers.
> We probably need to be able to store different type of devices in a
> database:
>   * access points (meaning stuff like ubiquiti NanoStation M5 - what's
>     the most correct name?)
>   * servers (a very expensive brand new machine :D for example)
>   * routers (yes.. a nanostation is also a router.. it's a tricky
>     business this one)
>   * more stuff? managed switches?
> Making different database tables would mean duplicating relations with
> interfaces and ip addresses.
> Maybe this stuff should all go on a single table called "device" and we
> should have "types" or "categories".

Concerning devices and servers: In our model we currently have "network
devices".  They have wireless and wired interfaces. This corresponds to
CNML which has a "device" and this can have "radio"s and "interface"s. A
"radio" in turn can also have an "interface" (which serves to capture
the common attributes of a wireless and a wired interface).

If we only want to model the network connectivitiy, I think this is
enough. If we're modelling further services (like telephony, or web
services) we probably need to associate further functions to a device.

In our model we use a device-type which serves to distinguish attributes
of a device model or revision.

CNML currently has two attributes associated with a device that give it
a name:
- The attribute "name" indicates the *device-type* used (e.g. WRT 54GL)
- The attribute "title" is the name given to a deployed device
I think that the device-type should be explicitly represented. This
allows us to model firmware-compatibility (i.e. what firmware can be run
by a device type) and other attributes that depend on the hardware used.
This needs change in the CNML in my opinion.

What I'm missing in the CNML model is that currently the antenna-related
parameters are bound to the radio. This makes re-use of antenna
information difficult. In our model we have 
- An antenna
- An antenna-type

The antenna-type carries parameters like gain (and a radiation pattern
taken from the manufacturer docs) that relate to the model
of antenna (so we can re-use the antenna parameters when the same
antenna model is re-used in the network). The antenna parameters relate
to the deployment: The inclination and azimuth and maybe the

We're currently not explicitly modelling a radio -- it is just
represented by a network interface (we could have several network
interfaces on the same frequency with a single radio with mechanisms
like "virtual access points" or VAPs as they're called by madwifi, I

Dr. Ralf Schlatterbeck                  Tel:   +43/2243/26465-16
Open Source Consulting                  www:   http://www.runtux.com
Reichergasse 131, A-3411 Weidling       email: (spam-protected)
osAlliance member                       email: (spam-protected)

More information about the Interop-dev mailing list