For CS290i, Fall 2007. Professor Tobias Hollerer University of California - Santa Barbara
Background and Previous Work
Wireless Mesh Network (WMN) where many (hundreds of) routers are connected to a few gateways via wireless hops presents a challenge to network administrators. Diagnostics of problems in WMN is hard because of the large volume of data. A good visualization tool can be helpful in such process. A previous work in UCSB Four Eyes Lab and MOMENT Lab introduced SCUBA [1], a first step in visualizing WMN data. SCUBA organizes the information into tiers. As the user dives (zooms) in, more details are revealed. A 2D zoom window allows user to focus on a specific area, while an overview window provides context. Additionally, SCUBA’s hyperbolic mode provides both focus and context.
Screenshots of the old version:
Project Description
We redesign and re-implement SCUBA, with the same basic concepts, from a 3D perspective. We explore the ways in which WMN traffic can better be visualized in a 3D graphics environment. We allow the user to interact with the scene in 3D, for the purpose of diving into the entities he/she is interested in.
The new SCUBA uses OpenGL, and is implemented in Java.
We test the tool by visualizing the simulated Wireless Mesh Network data based on the map of Google's WMN in Mountain View, California, consisting of 500 routers and gateways [3].
Data Representation
We maintain the old SCUBA's ways of representing the data.
Normal routers are shown with blue dots. The gateways are shown with red triangles. In addition, the gateways are displaced in the Z direction to distinguish them from other routers.
Routes are shown with curves. Thicker routes have higher delay (round-trip time). Red routes have lower throughputs. Links are shown with dotted lines. The more broken the line is, the higher the ETX (expected number of transmissions) value of that link. High ETX values mean packets need to be retransmitted many times before a success. In this way, the attention is drawn to the poor quality routes and links.
For each router, the clients are visualized as pie slices around the associated node. The angle of each slice correspond to the percentage of channel utilization by that client. The radius of the slice corresponds to the signal strength. The lower the signal strength, the farther away that client is from the router. The slices are sorted by area so it will be easy to indentify potentially problematic clients. Note that high area = low signal strength, high channel utilization.
3D Interaction Mechanisms
Summary of the interactions:
Mouse click and drag: scrolling
Mouse Wheel: zoom in and out
[SHIFT] + Mouse Wheel: tilt
Mouse right-click and drag: rotation
Mouse double-click: auto-zoom to cursor
Right [SHIFT]: hold down for Quick Pan
Key [R]: Reset rotation
Key [SPACE]: Reset everything
Key [+]: Bookmark current snapshot in history
Key [LEFT]: Move backward in history
Key [RIGHT]: Move forward in history
Basic navigation (scroll, zoom, tilt, rotate)
The user can scroll by clicking and dragging the mouse. The zoom is done with the mouse wheel. If the user holds down shift while scrolling the mouse wheel, the view is tilted. Finally rotation around the scene can be done by dragging with the right mouse button.
We impose a constraint on the camera's up vector. It has to always point upward. This prevent the users from getting lost.
Auto-center and zoom (with double-click)
The user can double-click, with the left mouse button, anywhere in the 3D View screen. When the user double-clicks the view will shift to center around the point that was clicked and zoom in to a closer view of that point. This feature is animated as it occurs.
Overview window
When the user zooms in to a particular part of the scene, he/she may lose the context. The overview window can show where the user is. In this 3D version, the overview window can show both position, zoom level, and the orientation of the camera. A small, semi-transparent arrow is put on the north direction of the legend to aid orientation.
The user can also click on the overview window to jump to a certain position. This is particulary useful when the user changes orientation, as it can be harder to navigate in the main window. Zooming with the mouse wheel also works inside the overview window.
Quick Pan
If the user wants to do a quick overview of what is around a certain point, he/she can place that point at the center of the screen and temporarily zoom in and pan around the point by holding down the right [SHIFT] button. While shift is down, the zoom level increses to a certain level, the tilt degree increses up until 40 degrees, and the view keeps rotating around until shift is released. Once shift is released, the view animates back quickly to the state before shift is pressed.
Restore view buttons
The user can press [R] to reset the rotation and tilt, or press [SPACE] to reset everything including the position. The resets are not done in an instant, but rather though animation so the user knows what is happening.
Bookmark & History
The user can bookmark the current snapshot by hitting [+]. Afterward, the [LEFT] and [RIGHT] arrow keys can be used to navigate through the history. Before going back to the previous snapshot, the current snapshot is automatically saved.
The movements through history are animated.
Also, whenever a button is pushed, an icon (plus sign, left arrow, right arrow) is shown momentarily at the center of the screen to provide feedback. They are gradually faded away in approximately one second.
Development Process
We use Netbeans as the IDE for Java. The 2D version was implemented using Java swing package. This new 3D version is based on JOGL, a Java port for OpenGL. However, the old Overview window implemented under swing is still in use, with some modifications.
Future Improvements
As the user gets closer to the nodes, the pie chart should stop expanding in size. However, the distances among them should increase to make room for more information to be shown.
The level of detail of each node is currently determined by the global zoom level. Hence, all nodes have the same level of details. In the future, the nodes that are closer to the camera should have higher level of details than nodes that are farther away.
Screen shots & videos
We present the following video (first version, lower frame rate than normal):
A. Jardosh, P. Suwannatat, T. Hollerer, E. Belding, K. Almeroth. SCUBA: Focus and Context for Real-time Mesh Network Health Diagnosis. University of California - Santa Barbara, October 2008.