Visualizing ISP availability

An extension of the AlwaysOn reliability report, this interactive chart helps visualize the availability of Internet service providers (ISPs). Given that the Internet is lossy by design, the packet loss threshold is a user-controlled parameter for each of the plots.

This project is a part of AquaLab @ Northwestern.

See the chart ›


The creation of this chart was motivated by the need for a visual representation of ISP availability (as defined in the reliability report). It considers the packet loss threshold – the maximum tolerable packet loss rate above which the service is considered “unavailable” – as a variable parameter instead of using the fixed values 1%, 5%, and 10%.

The chart has three plots:

  • Unvailability vs. loss threshold shows the average (mean) percentage of time each ISP is “unavailable”, against the maximum acceptable packet loss rate.
  • Unvailability over time shows the percentage of time each ISP is “unavailable” each month, where availability is determined against a selectable fixed packet loss rate.
  • Single ISP over time shows the same plots as Unvailability vs. loss threshold, but includes only one ISP and shows one line per reporting year (not averaged over time).


The chart (built using Chart.js) is interactive. You can hover over or tap individual points to see tooltips with their values. Indiviudal ISPs can be shown/hidden by clicking/tapping them in the legend, and clicking an ISP while holding Shift will exclusively show that ISP.

The controls below the chart can be used as follows:

  • Chart view: selects which plot to view.
  • Scale: toggles the y-axis scale between linear and logarithmic.
  • ISP: picks the ISPs to include (one or multiple).
    Applicable to the Single ISP over time plot.
  • Service type: when toggled, shows/hides groups of ISPs according to service technology. Individual ISPs can still be toggled on the chart independently of the state of these checkboxes.
    Applicable to the Unvailability vs. loss threshold and Unavailability over time plots.
  • Included regions: toggles which regions of the United States are included in the calculated data.
  • Packet loss range: configures the range of the x-axis to view. Data not between the bounds won’t be shown.
    Applicable to the Unvailability vs. loss threshold and Single ISP over time plots.
  • Packet loss: configures the packet loss threshold at which availability is calculated.
    Applicable to the Unvailability over time plot.