viz_report

Route Visualization Update

Zachary Miller
29 Jun 2004

The route visualizer is a C program that runs as a CGI program on each node. It is served via the thttpd program. This program allows users to visualize the network as it is seen by the HSLS daemon on the host node. Each node is represented as a small circle and each link by a colored link. The line color indicates the quality of the link.

Features

Location Data: The visualizer has access to a database that maps node identifiers to latitude and longitude, which allows nodes to be placed on a map background image. The visualizer can plot networks with any combination of known location nodes and unknown location nodes. When a new node is added to the open network, the visualizer will map the node at an approximated location relative to the locations of neighboring nodes. In the current version of the visualizer, the node location database is a flat file, but in the future, the visualizer will use dynamic location data provided by the custom CWN DNS system.

Flexible Maps: Designers of a community wireless distribution can include any map of the region that the wireless network will cover.

Dynamic Layout: Large numbers of nodes of unknown location are "untangled" using a physics model that treats every link as a spring and every node as an electron. This model allows us to quickly format the view of a network into one that makes spacial sense even though we don't know the actual location or even relative locations of the nodes.

Imagemap: The visualizer generates an image map that makes it possible for the network map to be interactive. When a user clicks on a given node, meta data for that node could be displayed and the option to view the network from the perspective of that node could be given.

Cachability/Abstraction: All image creation is abstracted into a library that will allow images to be pre-generated so they can be served up more quickly when requests come in.

Efficiency: This software has been tested to prove that it will run on the Soekris boards (small memory footprint, no memory leaks, doesn't overburden the CPU) used by CUWiN and that execution time is on the order of a few seconds or better -- even for networks of hundreds of nodes.

Route Visualization in Action

Beta Version - User Interface



Animations: Note that the user version of the program does not produce animations. These animations are provided only to help programmers evaluate the internal functioning of the physics model.



Hi-Level Examples:


Complex Long Example

Shows all aspects of the viz process in action. It represents a random network of unknown location nodes connected by a single point to our fixed "imc cloud" network.



Existing Cloud

Shows the ability to create high resolution images with precise geographical placement of markers.


Extremely Complex

Shows the ability to deal with large networks of hundreds of nodes. The vizualizer will be able to handle networks even of very large size.


Known and Unknown

Shows the simple movement of a small number of unknown location nodes connected to a network of largely known nodes.


Testbed

Shows that even though we use Lat/Lon as the global universal coordinate system for all of vizualization, it's possible to use a non-map non-geographical background image and still place markers precisely. This is our actual testbed which contains 5 Soekris net4521's and one Soekris net4526 boards all meshed together.




Examples of Layout Fundamentals:


Springs

The core of the physics model is that all nodes are connected by springs which pull or push connected nodes towards a "natural" separation distance. Notice how they oscillate forever never settling into an optimal state.


Electrons

The other main component is electron repulsion which pushes ALL nodes apart. It goes outwards forever until it hits the edge and gets bounded.


Springs & Electrons in Concert

The springs and the electrons come together with added drag, and things settle into equilibrium. A repulsive edge force keeps the nodes from getting all the way to the edge.


Small network - Springs Alone

Springs with drag; no repulsive electron force. Notice how this network tends to collapse on itself. instead of acheiving an optimal spacing.


Small network - Springs & Electrons

Demonstrates the need for the electron force. It's been added here, and now the nodes which aren't connected are guaranteed not to touch.



The relative strengths of each force can be tweaked via config file to acheive different results.