Motivation

Pinger data explorer is primarily used to visualize the trends in the Internet end-to-end performance statistics measured over 170 countries from +90 active PingER monitoring hosts. Having gathered data since 1998, the explorer graphs enable the users to study the trends, step changes, significant improvements/degradations.

The data can be viewed in 4 different ways: Motion bubble chart, Motion Map, Motion Histogram and Line Chart.

The different sets of charts (w.r.t. regions) enables the users to study the progress made by countries in comparison to their neighbours as well as the world in general.

Below are some examples of the Motion bubble chart:

Default view

Highlighted countries with
bubble size showing internet users


 

Usage

By default the pinger data explorer shows the bubble chart between throughput in log scale to average_rtt in log scale. Each bubble represents a country. The size of the bubble shows population of the country. The color of the bubble shows the region of the country. The motion is the time. The time granularity is by the year. Click on the play button to initiate motion.

  • On the left, there are two panels: PingER Visual Landscape and Compare by Country
  • PingER Visual Landscape shows the metrics which are measured by PingER and which can be compared to other metrics or indices of the world.
  • Click on a metric name, a sub heading of the metric will appear. Click the sub heading, a menu will open which will allow you to choose the metric to be displayed at X-axis, Y axis; or to color the bubbles on the basis of this metric; or to size the bubbles on the basis of this metric.
  • Other PingER metrics that are available include minimum_rtt, ipdv, packet_loss, internet users, population, n throughput, MOS, Ping unreachability, Corruption Perception Index (CPI), Digital Opportunity Index (DOI), Human Development Index (HDI), ICT Development Index (IDI) and internet penetration index.
  • A log scale or a linear scale can be chosen for X and Y axis by going to the chart options (top right), a drop down menu appears which allows you to select default colors; allows you to set same bubble size for all bubbles; and allows you to show the trails.
  • The lower left panel allows you to compare countries within a selected region or with all the countries of the world.
  • In the lower left panel, below compare by country, and next to regions there is a drop down menu of colors. This allows you to choose countries to be compared in a region or with all the regions; and also allows you to color the bubbles according to regions. By default it is set to compare all the countries of the world.
  • Move the cursor over a bubble to identify the values for the bubble.
  • Move the cursor over a colored legend symbol to blink the bubbles associated with the symbol's color.
  • To follow the changes in detail simply move the slider bar with the mouse.
  • One can select a bubble by clicking on it to provide a label for the bubble that persists with the motion. The trails check box leaves a trail to follow the motion of selected bubbles. 
  • By clicking the link at the right top of the page, one may select the vantage point, the observed region and the granularity of the measurements.
  • Only one axis (or metric) can be chosen for Motion map, Motion histogram and Line chart. Line chart requires countries of interest to be selected to view the line chart of that metric with respect to years as it does not have motion feature.

Implementation Details

HTML Output

To create a motion chart, the data must be populated in a data structure (as stated by Google public data explorer  and copied below, the complete dataset can be found here ):

<?xml version="1.0" encoding="UTF-8"?>
<dspl xmlns="http://schemas.google.com/dspl/2010"
    xmlns:geo="http://www.google.com/publicdata/dataset/google/geo"
    xmlns:geo_usa="http://www.google.com/publicdata/dataset/google/geo/us"
    xmlns:time="http://www.google.com/publicdata/dataset/google/time"
    xmlns:quantity="http://www.google.com/publicdata/dataset/google/quantity"
    xmlns:entity="http://www.google.com/publicdata/dataset/google/entity">

  <import namespace="http://www.google.com/publicdata/dataset/google/time"/>
  <import namespace="http://www.google.com/publicdata/dataset/google/quantity"/>
  <import namespace="http://www.google.com/publicdata/dataset/google/entity"/>
  <import namespace="http://www.google.com/publicdata/dataset/google/geo"/>

  <info>
    <name>
      <value>Pinger Visual Landscape</value>
    </name>
    <description>
      <value>Some very interesting statistics about countries and their connectivity</value>
    </description>
    <url>
      <value>http://www-iepm.slac.stanford.edu/pinger/</value>
    </url>
  </info>

  <provider>
    <name>
      <value>Pinger</value>
    </name>
    <url>
      <value>http://www-iepm.slac.stanford.edu/pinger/</value>
    </url>
  </provider>

  <topics>
    <topic id="geography">
      <info>
        <name><value>Geography</value></name>
      </info>
    </topic>
    <topic id="population_indicators">
      <info>
          <name><value>Population indicators</value></name>
        </info>
    </topic>

    <topic id="pinger">
      <info>
        <name><value>Pinger Metrics</value></name>
      </info>
    </topic>
    <topic id="ipdv_indicators">
      <info>
          <name><value>Inter Packet Delay Variation</value></name>
        </info>
    </topic>
    <topic id="minimum_rtt_indicators">
      <info>
          <name><value>Minimum Round Trip Time</value></name>
        </info>
    </topic>
	.
        .
        .
        .
        .
  </topics>

  <concepts>
    <!-- As noted in the tutorial, this concept should extend quantity:amount.-->


    <concept id="population">
      <info>
        <name>
          <value>Population</value>
        </name>
        <description>
          <value>Size of the resident population.</value>
        </description>
      </info>
      <topic ref="population_indicators"/>
      <type ref="integer"/>
    </concept>

	<concept id="ipdv">
      <info>
        <name>
          <value>ipdv</value>
        </name>
        <description>
          <value>Inter Packet Delay Variation</value>
        </description>
      </info>
      <topic ref="ipdv_indicators"/>
      <type ref="float"/>
    </concept>
	.
        . 
        .
        .
        .

    <!-- This country concept is defined for educational purposes only. A country
    concept exists in the Google geo dataset. See:

    http://code.google.com/apis/publicdata/docs/canonical/geo.html -->
	<concept id="region" extends="geo:location">
      <info>
        <name>
          <value>Regions</value>
        </name>
        <description>
          <value>My list of Regions</value>
        </description>
      </info>
      <type ref="string"/>
      <property id="name">
        <info>
          <name><value xml:lang="en">Regions</value></name>
          <description>
            <value xml:lang="en">The official name of the region</value>
          </description>
        </info>
        <type ref="string"/>
      </property>
      <table ref="region_table"/>
    </concept>

    <concept id="country" extends="geo:location">
      <info>
        <name>
          <value>Country</value>
        </name>
        <description>
          <value>My list of countries</value>
        </description>
      </info>
      <type ref="string"/>
      <property id="name">
        <info>
          <name><value xml:lang="en">Country name</value></name>
          <description>
            <value xml:lang="en">The official name of the country</value>
          </description>
        </info>
        <type ref="string"/>
      </property>
	  <property concept="region">
	  <info>
		<name><value xml:lang="en">Regions</value></name>
        </info>
      </property>
      <table ref="countries_table"/>
    </concept>


    <concept id="unemployment_rate" extends="quantity:rate">
      <info>
        <name>
          <value>unemployment rate</value>
        </name>
        <description>
          <value>The percent of the labor force that is unemployed, not seasonally
            adjusted.</value>
        </description>
        <url><value>http://www.bls.gov/cps/cps_htgm.htm</value></url>
      </info>
      <topic ref="population_indicators"/>
      <type ref="float"/>
      <attribute id="is_percentage">
        <type ref="boolean"/>
        <value>true</value>
      </attribute>
    </concept>

  </concepts>

  <slices>
<slice id="countries_slice">
    <dimension concept="country"/>
    <dimension concept="time:year"/>
    <metric concept="population"/>
	<metric concept="average_rtt"/>
    <metric concept="ipdv"/>
    <metric concept="minimum_rtt"/>
    <metric concept="MOS"/>
    <metric concept="nthroughput"/>
    <metric concept="throughput"/>
    <metric concept="unreachability"/>
	<metric concept="packet_loss"/>
	<metric concept="internetusers"/>
    <table ref="countries_slice_population_table"/>
  </slice>


  </slices>

  <tables>
    <table id="countries_table">
      <column id="country" type="string"/>
      <column id="name" type="string"/>
      <column id="latitude" type="float"/>
      <column id="longitude" type="float"/>
	  <column id="region" type="string"/>
      <data>
        <file format="csv" encoding="utf-8">countries.csv</file>
      </data>
    </table>

 <table id="region_table">
      <column id="region" type="string" />
      <column id="name" type="string" />
      <column id="latitude" type="float" />
      <column id="longitude" type="float" />

<data>
  <file format="csv" encoding="utf-8">countries-regions.csv</file>
  </data>
  </table>

    <table id="countries_slice_population_table">
      <column id="country" type="string"/>
      <column id="year" type="date" format="yyyy"/>
      <column id="population" type="integer"/>
	  <column id="average_rtt" type="float"/>
      <column id="ipdv" type="float"/>
      <column id="minimum_rtt" type="float"/>
      <column id="MOS" type="float"/>
      <column id="nthroughput" type="float"/>
      <column id="throughput" type="float"/>
      <column id="unreachability" type="float"/>
	  <column id="packet_loss" type="float"/>
	  <column id="internetusers" type="float"/>
      <data>
        <file format="csv" encoding="utf-8">file.csv</file>
      </data>
    </table>


</tables>


</dspl>

The data must comply with the formatting requirements of Google data explorer and mentioned below:

  • The column headings in the first line of the data file must exactly match the concept id and the property id of the concept with which the data is associated (though order may vary).
  • Each row must have exactly the same number of elements as the number of properties on the concept (even if the value is empty).
  • Each value for the concept's id field (here, the country code) must be unique and non-empty (an empty field is one with zero or only whitespace characters).
  • Values for properties that reference other concepts must either be empty or be a valid value of the referenced concept.
  • Values that contain the comma character must be represented without comma; for example 23,400 must be represented as 23400.

The complete folder that was uploaded to Google Explorer is available here .

Relevant Files

The scripts and files are placed at /afs/slac.stanford.edu/package/pinger/explorer . Two scripts have to be run for generating the data file in the format required by the google data explorer. First script is generate-metric-files-for-explorer.pl . This script takes metric values from prmout folder (http://www-iepm.slac.stanford.edu/pinger/prmout/ AKA /afs/slac/g/www/www-iepm/pinger//prmout (you can use ls -lt /afs/slac/g/www/www-iepm/pinger/prmout/ | grep SLAC | grep allyear | more to find the latest relevant files, see below) and transposes the data such that years are now incremented vertically and not horizontally.

ls -lt /afs/slac/g/www/www-iepm/pinger//prmout/ | grep SLAC | grep allyear | more
-rw-rw-rw- 1 cottrell sf 17108 Jan 4 09:26 unreachability-EDU.SLAC.STANFORD.N3-country-allyearly.csv
-rw-rw-rw- 1 cottrell sf 18886 Jan 4 09:23 ipdv-EDU.SLAC.STANFORD.N3-country-allyearly.csv
-rw-rw-rw- 1 cottrell sf 18524 Jan 4 09:20 packet_loss-EDU.SLAC.STANFORD.N3-country-allyearly.csv
-rw-rw-rw- 1 cottrell sf 21477 Jan 4 09:16 minimum_rtt-EDU.SLAC.STANFORD.N3-country-allyearly.csv
-rw-rw-rw- 1 cottrell sf 18099 Jan 4 09:13 alpha-EDU.SLAC.STANFORD.N3-country-allyearly.csv
-rw-rw-rw- 1 cottrell sf 15112 Jan 4 09:06 MOS-EDU.SLAC.STANFORD.N3-country-allyearly.csv
-rw-rw-rw- 1 cottrell sf 30900 Jan 4 08:48 nthroughput-EDU.SLAC.STANFORD.N3-country-allyearly.csv
-rw-rw-rw- 1 cottrell sf 21426 Jan 4 08:30 throughput-EDU.SLAC.STANFORD.N3-country-allyearly.csv
-rw-rw-rw- 1 cottrell sf 21561 Jan 4 08:27 average_rtt-EDU.SLAC.STANFORD.N3-country-allyearly.csv
-rw-rw-rw- 1 pinger sf 3359 Jan 4 08:08 nthroughput-EDU.SLAC.STANFORD.N3-continent-allyearly.csv
-rw-rw-rw- 1 pinger sf 2190 Jan 4 08:02 minimum_rtt-EDU.SLAC.STANFORD.N3-continent-allyearly.csv
-rw-rw-rw- 1 pinger sf 1837 Jan 4 07:58 ipdv-EDU.SLAC.STANFORD.N3-continent-allyearly.csv
-rw-rw-rw- 1 pinger sf 2196 Jan 4 07:53 average_rtt-EDU.SLAC.STANFORD.N3-continent-allyearly.csv
-rw-rw-rw- 1 pinger sf 1253 Jan 4 07:49 MOS-EDU.SLAC.STANFORD.N3-continent-allyearly.csv
-rw-rw-rw- 1 pinger sf 1754 Jan 4 07:43 unreachability-EDU.SLAC.STANFORD.N3-continent-allyearly.csv
-rw-rw-rw- 1 pinger sf 2225 Jan 4 07:39 throughput-EDU.SLAC.STANFORD.N3-continent-allyearly.csv
-rw-rw-rw- 1 pinger sf 1824 Jan 4 07:34 packet_loss-EDU.SLAC.STANFORD.N3-continent-allyearly.csv
-rw-rw-rw- 1 pinger sf 1485 Jan 4 2014 alpha-EDU.SLAC.STANFORD.N3-continent-allyearly.csv

The above files are updated using the command:

 /afs/slac/package/pinger/analysis/wrap-analyze-allyears.pl --basedir /nfs/slac/g/net/pinger --usemetric --dataset hep  --set_metric 4

that is run quarterly from a trscontab file, thus you should not need to do anything.

The files generated by /afs/slac/package/pinger/explorer/generate-metric-files-for-explorer.pl  are:

326cottrell@rhel6-64i:~$ls -lt /afs/slac.stanford.edu/package/pinger/explorer
total 639
-rw-rw-r-- 1 amberzeb sg 36293 Jan 4 09:37 MOS.csv
-rw-rw-r-- 1 amberzeb sg 42913 Jan 4 09:37 average_rtt.csv
-rw-rw-r-- 1 amberzeb sg 40238 Jan 4 09:37 ipdv.csv
-rw-rw-r-- 1 amberzeb sg 42829 Jan 4 09:37 minimum_rtt.csv
-rw-rw-r-- 1 amberzeb sg 51327 Jan 4 09:37 nthroughput.csv
-rw-rw-r-- 1 amberzeb sg 39876 Jan 4 09:37 packet_loss.csv
-rw-rw-r-- 1 amberzeb sg 40887 Jan 4 09:37 throughput.csv
-rw-rw-r-- 1 amberzeb sg 35982 Jan 4 09:37 unreachability.csv

These are then given as an input to the script generate-alldata-for-pinger-data-explorer.pl (I think /afs/slac.stanford.edu/package/pinger/explorer/generate-alldata-file-for-pinger-data-explorer.pl), which outputs the data for all the metrics altogether in one file named file.csv. This file is in the format as required by the google data explorer.

The metric files placed in prmout, for example, average_rtt-EDU.SLAC.STANFORD.N3-country-allyearly.csv have the data in the format shown below:

allyearly,?,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011
EDU.SLAC.STANFORD.N3-to-Afghanistan,.,.,.,.,.,.,.,.,.,.,767.453,732.841,728.492,750.940,743.080
EDU.SLAC.STANFORD.N3-to-Albania,.,.,.,.,.,.,.,.,.,.,.,234.933,235.681,254.324,225.474
EDU.SLAC.STANFORD.N3-to-Algeria,.,.,.,.,.,.,.,.,197.772,271.337,354.233,242.616,369.479,224.162,239.514
EDU.SLAC.STANFORD.N3-to-Andorra,.,.,.,.,.,.,.,.,.,.,171.471,166.487,172.334,180.878,181.307
EDU.SLAC.STANFORD.N3-to-Angola,.,.,.,.,.,.,.,.,.,622.280,610.272,642.821,556.701,617.649,.
EDU.SLAC.STANFORD.N3-to-Argentina,.,.,.,.,.,.,.,.,.,210.563,196.282,269.567,284.886,285.094,310.711
EDU.SLAC.STANFORD.N3-to-Armenia,.,.,.,.,.,.,553.942,433.564,590.536,613.230,532.564,370.588,255.761,248.554,237.400
EDU.SLAC.STANFORD.N3-to-Australia,.,.,.,.,.,.,.,.,.,211.440,193.981,180.105,181.620,190.176,179.072
EDU.SLAC.STANFORD.N3-to-Austria,.,.,.,.,.,.,.,.,.,.,180.361,185.830,178.831,180.726,180.207
EDU.SLAC.STANFORD.N3-to-Azerbaijan,.,.,.,.,.,.,.,.,.,.,.,257.763,269.463,256.694,252.713
EDU.SLAC.STANFORD.N3-to-Bahamas,.,.,.,.,.,.,.,.,.,.,.,109.626,110.701,817.097,112.252
EDU.SLAC.STANFORD.N3-to-Bahrain,.,.,.,.,.,.,.,.,.,.,664.547,333.670,316.139,313.444,295.960
EDU.SLAC.STANFORD.N3-to-Bangladesh,.,.,.,.,.,1562.224,1222.391,1039.782,1084.855,842.794,545.756,496.707,426.840,350.780,371.552
EDU.SLAC.STANFORD.N3-to-Belarus,.,.,.,.,.,.,1770.143,2322.474,227.052,206.936,205.880,222.485,258.829,281.173,205.689
EDU.SLAC.STANFORD.N3-to-Belgium,.,.,.,.,.,.,.,.,.,.,158.697,160.445,158.798,164.117,160.686
EDU.SLAC.STANFORD.N3-to-Benin,.,.,.,.,.,.,.,.,417.760,535.608,382.265,366.215,485.181,377.928,331.121
EDU.SLAC.STANFORD.N3-to-Bhutan,.,.,.,.,.,.,.,.,.,.,.,622.936,356.257,327.709,332.479
EDU.SLAC.STANFORD.N3-to-Bolivia,.,.,.,.,.,.,.,.,.,381.975,368.615,304.993,262.934,227.907,202.485
EDU.SLAC.STANFORD.N3-to-Bosnia Herzegovina,.,.,.,.,.,.,.,.,.,.,207.925,209.180,194.950,203.405,204.102
EDU.SLAC.STANFORD.N3-to-Botswana,.,.,.,.,.,.,.,.,.,.,.,.,416.286,431.282,443.501
EDU.SLAC.STANFORD.N3-to-Brazil,.,.,.,.,.,195.192,213.593,246.179,279.903,208.264,229.659,236.297,238.008,237.791,236.176
EDU.SLAC.STANFORD.N3-to-Brunei,.,.,.,.,.,.,.,309.591,498.171,339.716,269.697,285.392,266.995,265.540,296.008
EDU.SLAC.STANFORD.N3-to-Bulgaria,.,.,.,.,.,.,.,.,.,.,193.049,211.796,202.603,205.785,200.523
EDU.SLAC.STANFORD.N3-to-Burkina Faso,.,.,.,.,.,.,1006.037,1004.097,904.836,765.485,306.416,339.176,321.502,367.969,330.849
EDU.SLAC.STANFORD.N3-to-Burundi,.,.,.,.,.,.,.,.,.,889.260,845.340,665.150,666.138,670.703,686.103
EDU.SLAC.STANFORD.N3-to-Cambodia,.,.,.,.,.,.,.,.,.,.,261.756,253.511,253.505,225.453,233.720

The script /afs/slac.stanford.edu/package/pinger/explorer/generate-metric-files-for-explorer.pl converts the metric files in the format below:

AFG,1998,
AFG,1999,
AFG,2000,
AFG,2001,
AFG,2002,
AFG,2003,
AFG,2004,
AFG,2005,
AFG,2006,
AFG,2007,767.453
AFG,2008,732.841
AFG,2009,728.492
AFG,2010,750.940
AFG,2011,743.080
ALB,1998,
ALB,1999,
ALB,2000,
ALB,2001,
ALB,2002,
ALB,2003,
ALB,2004,
ALB,2005,
ALB,2006,
ALB,2007,
ALB,2008,234.933
ALB,2009,235.681
ALB,2010,254.324
ALB,2011,225.474
DZA,1998,
DZA,1999,

With all the metric files in the above format, a file has to be generated with data for allmetrics altogether as below:

ountry,year,population,average_rtt,ipdv,minimum_rtt,MOS,nthroughput,throughput,unreachability,packet_loss,internetusers
FG,1998,18511480, , , , , , , , ,
FG,1999,19038420, , , , , , , , ,
FG,2000,19701940, , , , , , , , ,
FG,2001,20531160, , , , , , , , ,1000
AFG,2002,21487079, , , , , , , , ,1000
AFG,2003,22507368, , , , , , , , ,20000
AFG,2004,23499850, , , , , , , , ,25000
AFG,2005,24399948, , , , , , , , ,300000
AFG,2006,25183615, , , , , , , , ,535000
AFG,2007,25877544,766.542,14.959,684.521, , ,104.390,12.784,12.784,500000
AFG,2008,26528741,732.168,11.963,688.990, , ,185.696,6.971,6.971,500000
AFG,2009,27207291,757.940,15.615,679.949, , ,162.520,9.399,9.399,100000
AFG,2010,27962207,758.457,16.102,673.438, , ,145.039,4.791,4.791,900472.2222
AFG,2011,28809167,748.252,12.247,695.982, , ,182.375,1.448,1.448,1016522.222
AFG,2012,29726803,742.298,12.135,696.738, , ,289.165,27.145,27.145,
AFG,2013,30682500,729.152,13.043,561.894, , ,335.934,37.886,37.886,
AFG,2014,31627506,506.886,5.919,306.091, , ,303.197,0.232,0.232,
AFG,2015,32510236,334.816,2.335,161.226, , ,392.257,0.214,0.214,
AFG,2016,34832396,310.830,2.485,275.268, , ,585.247,0.572,0.572,
AFG,2017,69664776,289.552,0.982,256.032, , ,694.266,0.580,0.580,
AFG,2018,71406395,290.077,3.220,263.951, , ,865.366,16.359,16.359,
AFG,2019,73148014,272.802,1.064,232.858, , ,800.593,0.255,0.255,
ALB,1998,3128530, , , , , , , , ,2000
ALB,1999,3108778, , , , , , , , ,2500
ALB,2000,3089027, , , , , , , , ,3500
ALB,2001,3060173, , , , , , , , ,10000
ALB,2002,3051010, , , , , , , , ,12000
ALB,2003,3039616, , , , , , , , ,30000
ALB,2004,3026939, , , , , , , , ,75000
ALB,2005,3011487, , , , , , , , ,188000
ALB,2006,2992547, , , , , , , , ,300000
ALB,2007,2970017, , , , , , , , ,471000
ALB,2008,2947314,234.798,1.700,211.463, , ,692.675,1.204,1.204,750000
ALB,2009,2927519,227.456,2.672,201.217, , ,478.448,2.437,2.437,1300000
ALB,2010,2913021,240.834,4.107,210.101, , ,323.681,2.985,2.985,719805.7143
ALB,2011,2904780,219.940,0.858,192.671, , ,669.506,0.476,0.476,783557.6786
ALB,2012,2900489,217.436,0.661,183.491, , ,1324.090,0.839,0.839,
ALB,2013,2897366,215.515,7.396,178.691, , ,503.866,0.086,0.086,
ALB,2014,2894475,210.308,1.616,176.654, , ,839.650,0.126,0.126,
ALB,2015,3540536,209.244,0.606,191.528, , ,868.063,0.111,0.111,
ALB,2016,3793431,199.113,2.030,182.726, , ,915.164,0.240,0.240,
ALB,2017,11949284,203.075,5.471,176.711, , ,837.439,0.932,0.932,
ALB,2018,12138955,183.536,1.630,175.506, , ,816.885,0.315,0.315,
ALB,2019,12328626,187.683,1.180,179.347, , ,991.819,0.471,0.471,
DZA,1998,30336880, , , , , , , , ,6000
DZA,1999,30766551, , , , , , , , ,60000

#country,year,population,average_rtt,ipdv,minimum_rtt,MOS,nthroughput,throughput,unreachability,packet_loss,internetusers,
#Internet_Penetration, DOI, HDI, CPI, IDI
AFG,1998,22441529, , , , , , , , ,,0.1,0,0,0,0
AFG,1999,23028254, , , , , , , , ,,0.1,0,0,0,0
AFG,2000,23630320, , , , , , , , ,,0.1,0,0,0,0
AFG,2001,24232219, , , , , , , , ,1000,0.1,0,0,0,0
AFG,2002,24849449, , , , , , , , ,1000,0.1,0,0,0,0
AFG,2003,25482401, , , , , , , , ,20000,0.1,0,0,0,0
AFG,2004,26131476, , , , , , , , ,25000,0.1,0,0.347,0,0
AFG,2005,26797083, , , , , , , , ,300000,0.1,0,0.347,2.5,0
AFG,2006,27518809, , , , , , , , ,535000,0.1,0,0.35,0,0
AFG,2007,28259973,767.453,13.43,697.938,1.2,100.822,100.822,12.859,2.279,500000,0.1,0,0.352,1.8,0
AFG,2008,29021099,732.841,8.295,696.396,1.5,175.8,175.8,4.813,0.836,500000,0.1,0,0.352,1.5,0
AFG,2009,29802724,728.492,6.604,687.919,1.6,216.936,216.936,9.495,0.564,1000000,1.5,0,0.352,1.3,0
AFG,2010,30175351,750.94,10.811,675.284,1.5,128.965,128.965,7.024,2.279,900472.2222,1.5,0,0.352,1.3,0
AFG,2011,30823706,743.08,9.967,684.141,1.7,142.843,142.843,9.709,1.534,1016522.222,1.5,0,0.352,1.3,0
ALB,1998,3075628, , , , , , , , ,2000,2.4,0.36,0.784,0,0
ALB,1999,3069856, , , , , , , , ,2500,2.4,0.36,0.784,0,0
ALB,2000,3067556, , , , , , , , ,3500,2.4,0.36,0.784,0,0
ALB,2001,3069383, , , , , , , , ,10000,2.4,0.36,0.784,0,0
ALB,2002,3076282, , , , , , , , ,12000,2.4,0.36,0.801,2.5,1.92
ALB,2003,3086736, , , , , , , , ,30000,2.4,0.36,0.801,2.5,1.92
ALB,2004,3098677, , , , , , , , ,75000,2.4,0.36,0.811,2.5,1.92
ALB,2005,3110579, , , , , , , , ,188000,2.4,0.36,0.811,2.4,1.92
ALB,2006,3121751, , , , , , , , ,300000,2.4,0.37,0.814,2.6,1.92
ALB,2007,3132458, , , , , , , , ,471000,2.4,0.37,0.818,2.9,2.73
ALB,2008,3143291,234.933,5.869,204.462,4,584.968,584.968,8.125,0.728,750000,2.4,0.37,0.818,3.4,2.73
ALB,2009,3155271,235.681,7.91,197.166,3.9,527.683,527.683,7.358,0.884,1300000,16,0.37,0.818,3.2,2.73
ALB,2010,3140420,254.324,10.106,199.379,3.8,406.381,406.381,4.935,1.613,719805.7143,16,0.37,0.818,3.2,2.73
ALB,2011,3145807,225.474,1.847,200.22,4,602.674,602.674,24.037,0.759,783557.6786,16,0.37,0.818,3.2,2.73
DZA,1998,29646386, , , , , , , , ,6000,2.6,0.39,0.713,0,0
DZA,1999,30071594, , , , , , , , ,60000,2.6,0.39,0.713,0,0
DZA,2000,30506054, , , , , , , , ,150000,2.6,0.39,0.713,0,0

This is the format required by Google data Explorer. The file in above format is generated by running the script /afs/slac.stanford.edu/package/pinger/explorer/generate-alldata-file-for-pinger-data-explorer.pl which takes the files generated by/afs/slac.stanford.edu/package/pinger/explorergenerate-metric-files-for-explorer.pl as input files and outputs a file named 'file.csv' with all the metric data in the format required by Google Data Explorer.

It is important to note here that the CPI, IDI, HDI, DOI and Internet Penetration data has been taken from Motion chart data files (demographics.csv) placed at /afs/slac.stanford.edu/package/pinger/motion-chart.

Implementation

Following is the algo of implementation:

1)	Compare the metric file in the prmout with the file country_name_code.csv
      a.	If the country names in the two files match
              i.	Save the country code for each country in the metric file.
             ii.	Also arrange per year data incrementing row wise (in prmout files it is incrementing column wise).
2)	Compare all the metric files
      a.	if country code and year match
              i.	 Save the corresponding values of the metrics (column wise) in the row for that country code & year.

3)      Call the above generated .csv file in the DSPL code
4)      Zip the folder with the data file, countries with latitude and longitudes file, countries and regions file and DSPL code file.
5)      Upload the folder at Upload Dataset

Updating Data Files

The files have to be generated manually and uploaded manually. There is no crontab that is running these scripts to generate files and the folder to be uploaded. These files need to be updated each year. Once the data set is uploaded, it checks for errors. If there are no errors then you can preview the data and once it is up to the mark, publish the dataset.

Miscellaneous Details

  • Tool: The interactive graph was generated using the Google Public Data Explorer. Also see https://www.google.com/publicdata/directory
  • Now the data for Pinger Data Explorer is under pinger.slac@gmail.com (May/2016).
  • Data: The data presented here was collected by the PingER  project, processed by prmout. The same data is available in tabular format. The statistics of Population and internet users were acquired from the World bank , the country to region mapping was obtained by the geographical database maintained by the PingER project, the Corruption Perception Index (CPI) was taken from Transparency International and extracted from Wikipedia , the Digital Opportunity Index (DOI) is obtained from ITU's ICT Statistics , Human Development Index (HDI) is obtained from UNDP Human development reports and ICT Development Index (IDI) is obtained from ITU Reports .
  • Please note that while all the statistics were acquired over several years (i.e. since 1998), the Internet usage statistics were documented in Nov. 2007.
  • Loading: The time to load and render the web page is largely determined speed of the link, the file length (about a MByte that is determined by the number of metrics and frequency of data points and the number of metrics) and the speed of the client rendering.
  • Metrics: Average RTT (ms), Normalized Throughput (Kbps), Throughput (Kbps), Internet Users (#), Population (#), Minimum RTT (ms), Packet Loss (%), Unreachability (%), IPDV (ms), MOS, IDI, HDI, DOI, CPI and Internet penetration Index.
  • Authors: Faisal Zahid & Amber Zeb 29/8/2011. Idea champion: Faisal Zahid.

Problems

For some countries stars or asterisks appear instead of bubble. This is because of no data available for the size of the bubble. For example if there is no data for population of Chile but there is data for its metrics, then the bubble would be replaced by an asterick and the metric values would be shown in motion like normal.

  • No labels