Fork me on GitHub

Project Group 04: Cluster Duck Network Visualization, CS 7250 S21

Justin Raynor, Tianrui Hu, Colin Keil

Service-Learning Course Project as part of CS 7250 S21 Information Visualization: Theory and Applications, taught by Prof. Cody Dunne, Data Visualization @ Khoury, Northeastern University.

Abstract

Management of dynamic and ad hoc networks presents several challenges and creates a complex design space for visualizations intended to aid network engineers and operators in making decisions about a network. Some of those challenges include how to integrate temporal, dynamic geospatial and nodal health data into an interface that drives decisions of new node placement, how to supplement the network in weak areas, replace nodes that are lost and ensure coverage over a given geographic area. The intent of this project is to work with network engineers to integrate this information from several field tests to produce interactive visualizations that address these overhead tasks.

Visualization

The dataset we are using in this visualization was collected near Allentown, PA in March to test the functionality of Project Owl’s duck ad-hoc mobile network, which are designed to be established in areas hit by natural disasters. The Project Owl team is mostly concerned with the overall stability and coverage of the network. To this end, we visualize the battery voltage and CPU board temperature as indicators of device health (which are drop down options and also shown in the timeseries plots). We also consider estimates for device and network coverage, although we cannot calculate the area with the current data provided. Finally, we can visualize the volume of message sent between links with the paths option. All of the nodes have pop-up information available by clicking on it and the timeline, depicting message volume over time can be brushed and linked to the data shown on the map and in the timeseries data. Click on non-brushed area can reset the brush. Finally the content of the message can be viewed in the information window.

Following our design implementation and discussions with our partner, we made several updates and incorporated a few more desired features. First, the user is now able to select a file to use for the data displayed in the visualization. This feature is designed to generalize our solution and allow the user to look at and view any dataset. Additionally, we added color legends to show how the colors used in both the battery voltage and board temperature palettes correspond to their relative values. This will give the user a better idea of the state of each data point in the visualization and appear when each option is selected. One of the advanced features that we also incorporated is using the opacity of the nodes to encode their relative age. Nodes that appear more opaque are newer and nodes that are less opaque are older. The opacity scale is relative to the user's selected time window on the timeline, which can change dynamically with the user's selection. This feature will allow the user to identify the most recent states of the nodes and clarify node states given the GPS jitter present in the data sets. Finally, we improved the efficiency of the back end data processing, which improved the overall functionality of the application.

Selected Messages

Message Volume

CSV file only. Required columns:
created_at(%Y-%m-%d %H:%M:%S.%L), DeviceID, MessageID, Payload, path, duckType, Latitude, Longitude, Volts, Board_Temperature

Example:
Header: ,created_at,event_type,DeviceID,MessageID,Payload,path,hops,duckType,Counter,Latitude,Longitude,Altitude,Charging,Full,Volts,Board_Temperature
Sample 1: 0,2021-03-14 20:01:48.304,gps,device1,msg1,payload-1,path1,1,2,1,0.0,0.0,0.0,1,0,3309.9,37.6

Battery Voltage

Board Temperature

Demo Video

Visualization explanation

Link to the slides

Acknowledgments

List here where any code, packages/libraries, text, images, designs, etc. that you leverage come from.