WS-Anon - A Dataset of Web Service QoS Measurements using Anonymity Networks - Documentation
Authors
Ulrich Lampe (TU Darmstadt), André Miede (TU Darmstadt), Tim Lusa (TU Darmstadt), Stefan Schulte (TU Vienna), Ralf Steinmetz (TU Darmstadt), Schahram Dustdar (TU Vienna)
Corresponding Author: Ulrich Lampe - Multimedia Communications Lab - TU Darmstadt - Rundeturmstr. 10 - 64283 Darmstadt - Germany - ulrich.lampe@KOM.tu-darmstadt.de
Version History
The most current version of WS-Anon is available through the WS-Anon homepage.
Dataset
Version | Release Date | Changes / Comments |
---|---|---|
1.0 | April 24, 2012 | Initial release. |
Documentation
Version | Release Date | Changes / Comments |
---|---|---|
1.0b | January 8, 2013 | Updated information on the manuscript acceptance. |
1.0a | September 24, 2012 | Updated information on the manuscript submission, added list of PlanetLab nodes. |
1.0 | April 24, 2012 | Initial release. |
About
WS-Anon is a comprehensive dataset that has been used for the analysis of the side effects of anonymity systems - namely JonDo and Tor - on the Quality of Service (QoS) of Web service invocations. It is based more than 2.25 million Web service invocations that have been conducted over the course of approximately three weeks.
For that purpose, a dummy Web service has been deployed to 10 globally distributed servers in the PlanetLab network. Subsequently, the measurements were taken from a central client computer, located in Darmstadt, Germany.
A manuscript that extensively describes both the acquisition and subsequent analysis of this dataset has been accepted at the 2013 Conference on Networked Systems (NetSys 2013) conference. Full bibographical information and a pre-print version of this manuscript are available in the publications section of our lab's Web site.
Using the Dataset
Data Import
The data is provided as a SQL script in the file ws-anon.sql
. It can be easily imported into any SQL database. We recommend using XAMPP, which includes MySQL, as database backend. As management frontend, the use of HeidiSQL is recommended.
Data Structure
After the SQL script has been successfully executed, you should see a new database named ws_anon
. This database comprises two tables, namely observations_parallel
and observations_sequential
.
Table observations_parallel
The table observations_parallel
contains a total of 2,100 observations. Each observation corresponds to 800 parallel service calls. The table comprises 210 observations per server, which in turn comprise of 70 observations per access mechansism (Direct, JonDo, or Tor). The table structure is explained in more detail in the following.
Column Name | Purpose or Meaning |
---|---|
id | Primary key with sequential and unique ID for each record. |
serverCode | Alphanumerical code for the server resp. its geographical location (possible values: BR, CA, DE, JP, NZ, RU, TW, UK, US-1, US-2; please see the annex for details). |
accessMech | Applied access mechanism for the call (possible values: direct, JonDo, TOR). |
timeout | Timeout for the calls, in seconds. |
requests | Number of parallely sent service requests (static value: 800). |
finished | Number of calls that successfully finished within the timeout (possible values: 0..800). |
unfinished | Number of calls that failed (possible values: 0..800). |
Table observations_sequential
The table observations_sequential
contains a total of 546,000 observations. Each observation corresponds to one sequential service calls. The table comprises 54,600 observations per server, which in turn comprise of 18,200 observations per access mechanism (140 batches with 130 Web service calls each). The table structure is explained in more detail in the following.
Column Name | Purpose or Meaning |
---|---|
id | Primary key with sequential and unique ID for each record. |
batchNum | Sequential batch number (possible values: 1..140). |
callNum | Sequential call number within the batch (possible values: 1..130). |
serverCode | See table above. |
accessMech | See table above. |
timetoserver | Request transfer time between client and server, in milliseconds. NULL indicates a failure. |
timetoclient | Response transfer time between server and client, in milliseconds. NULL indicates a failure. |
processtime | Call process time on the server, in milliseconds. NULL indicates a failure. |
responsetime | Sum of transfer and process times above. NULL indicates a failure. |
errormsg | Error message (possible values: OK - call sucessful; TIME_SYNC_FAIL - server and client clocks were not in sync; NOT_REACHABLE - could not transfer request; NOT_RESPONDING - did not receive reply). |
available | Call successfully completed (possible values: 0, 1). |
Data Analysis
Four sample SQL scripts, which have also been used in the analysis for abovementioned manuscript, are provided in the folder analysis
. A brief explanation is provided in the following.
Script analysis__availability.sql
Provides analysis of the QoS parameter availability, for each server (rows in the query result) and access mechanism (columns in the query result) separately. The result fields AvgValue*
and SdValue*
provide the sample means and standard deviations, respectively. AbsInc*
and RelInc*
describe the absolute and relative differences between pairs of access mechanisms, based on the sample mean.
Script analysis__response_time.sql
Same as above, but for response time.
Script analysis__throughput.sql
Same as above, but for throughput.
Script analysis__response_time__cdf.sql
Provides a frequency count of response times across all serves, separately for each acess mechanism, suitable for creating a Cumulative Distribution Function (CDF).
Used PlanetLab Nodes
The following table provides an overview of the PlanetLab nodes that acted as Web servers in our experiments.Code | Country | Continent / Region | URL |
---|---|---|---|
BR | Brazil | South America | planetlab1.pop-mg.rnp.br |
CA | Canada | North America | planetlab-1.elisa.cpsc.ucalgary.ca |
DE | Germany | Europe | planetlab01.tkn.tu-berlin.de |
JP | Japan | Asia | planet0.jaist.ac.jp |
NZ | New Zealand | Oceania | planetlab-n2.wand.net.nz |
RU | Russia | Europe | plab-2.sinp.msu.ru |
TW | Taiwan | Asia | planetlab-1.webedu.ccu.edu.tw |
UK | United Kingdom | Europe | planetlab1.xeno.cl.cam.ac.uk |
US-1 | United States | North America | pl1.cs.yale.edu |
US-2 | United States | North America | planetlab-02.cs.princeton.edu |