...
No Format |
---|
1. Load the country to region mapping to the hash-table "%region" which uses the country
names (as defined by PingER) as the index.
e.g. $region{'Kenya'} = Africa and
$region{'Korea, Rep'} = East Asia.
2. Load the PingER data to the data structure "%data" which uses PingER metrics as the index.
Here each entry stores a reference to a unique hash-table defined to store the PingER data
related to a country. Understandably the second hash-table uses country names as the index.
Each entry of the hash-table stores a reference to another hash-table used for storing
performance measurements for the country. Here timestamps are used as indices.
e.g. $data{'minrtt'}->{'Kenya'}->{'1998'},
$data{'packetloss'}->{'United States'}->{'Oct2008'} and
$data{'ipdv'}->{'Pakistan'}->{'08Oct27'}
The metrics used are: minrtt, avgrtt, nthroughput, ipdv, packetloss and unreachability.
3. Load the demographics to the data structure "%data" which uses labels as the index.
Here each entry stores a reference to a unique hash-table defined to store the demographics
of a country. The second hash-table uses country names as the index. Each entry of
the hash-table stores a reference to another hash-table used for storing statistics
for the country. Here timestamps are used as indices.
e.g. $data{'population'}->{'Kenya'}->{'1998'},
$data{'doi'}->{'United States'}->{'Oct2008'} and
$data{'inetpenetration'}->{'Pakistan'}->{'08Oct27'}
The metrics used are: population, inetusers, inetpenetration, doi and hdi.
4. Generate the .html file in compliance with the Google Visualization API constraints.
Here the data is loaded in the following format:
data.addColumn('string', 'Country');
data.addColumn('date', 'Month');
data.addColumn('string', 'Region');
data.addColumn('number', 'Average RTT (ms)');
data.addColumn('number', 'Normalized Throughput (Kbps)');
data.addColumn('number', 'Internet Users (#)');
data.addColumn('number', 'Internet Penetration (%)');
data.addColumn('number', 'Population (#)');
data.addColumn('number', 'Minimum RTT (ms)');
data.addColumn('number', 'Packet Loss (%)');
data.addColumn('number', 'Unreachability (%)');
data.addColumn('number', 'Jitter (ms)');
data.addColumn('number', 'DOI Index');
data.addColumn('number', 'HDI Index');
N.B. the data must be uploaded in a chronologically ascending order.
5. Create .html files for each vantage point (SLAC, CERN and ICTP)
|
Miscellaneous Details
- Tool: The interactive graph was generated using the Google Motion Chart Widget.
- 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 were acquired from the U.S. Census Bureau, the country to region mapping was obtained by the geographical database maintained by the PingER project, where as the Internet usage statistics were taken from Internet World Stats. 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), Internet Users (#), Internet Penetration (%), Population (#), Minimum RTT (ms), Packet Loss (%), Unreachability (%), Jitter (ms), DOI Index, HDI Index,
- Authors: Umar Kalim & Les Cottrell 10/10/2008, version 1.3. Idea champion: Shahryar Khan.