Both RTT and throughput aremeasured with respect to a dedicated
server at TU Darmstadt (Germany), allowing maximum
flexibility in the measurement setup. The server and the university
network are well connected to the public Internet using a
lightly loaded network. The mobile devices used in the measurement
campaigns are all Nexus 5 devices running Android
4.4.4, while the devices used by the users of the public application
vary. Hence, thorough filtering was applied to assure high
quality of the measurements.
When measuring throughput and RTT, the cellular network
poses additional challenges compared to wired networks,
requiring adaptation of the measurement procedure. Due to
the mobility of the users, the duration of the measurements
must be kept to a minimum. This is particularly important
for throughput measurements, as the available data rates may
change within seconds.
The RTT measurements use the native ping command on the
Android device to determine the latency to the server. The minimum,
average, and maximum RTT out of five consecutive ping
measurements (excluding the connection upgrade delay) were
recorded. These measurements were run once per minute to
obtain a fine-grained view on the network performance.
Network operations on mobile devices cause an additional,
device internal delay, stemming from kernel and operating
system processing the outgoing and incoming packets [26].
This delay is different depending on the chosen measurement
implementation (e.g. native ping, HTTP ping, socket connect
duration). For our measurements, the RTT is measured using
the native ping command, eliminating the influence of the
Android virtual machine and its scheduling on the accuracy of
the measurements. The ping command directly accesses the low
level timing functions. According to [18] the additional delay
of the sent and received packets on the Nexus 5 for a measured
RTT of 20 ms and 50 ms is 6.028 ms and 7.70 ms with a 95%
confidence interval of ±0.811 ms and ±2.331 ms.
The TU Darmstadt server used for the RTT measurements
is also used to measure the throughput between the end-user
device and the server. The measurements are run using a
patched version of iPerf5, allowing to measure the down-link
bandwidth (conventional iPerf always measures the up-link
from the iPerf client). The generated traffic is reduced by limiting
the time of the measurement, which by default is set to
run for 10 s. In lab trials the minimum measurement duration
on WiFi was determined to be 3 s for the connection to exit the
slow start phase and remain within a limit of ±10% compared
to the full measurement. Repeating the same measurements on
a 3G network led to a minimum measurement interval of 5 s
due to the higher RTT. The accuracy of this setting was also
verified on LTE and hence set as the default interval for all
measurements.
The performance of popular websites is measured by connecting
to the respective URLs of the service as derived
from the Alexa website ranking service6. These addresses are
used on the mobile client to first measure the RTT using the
ping command, measure the connect duration using a TCP