Publication Type

Journal Article

Version

publishedVersion

Publication Date

8-2017

Abstract

Measuring and understanding the performance of mobile networks is becoming very important for end users and operators. Despite the availability of many measurement apps, their measurement accuracy has not received sufficient scrutiny. In this paper, we appraise the accuracy of smartphone-based network performance measurement using the Android platform and the network round-trip time (RTT) as the metric. We show that two of the most popular measurement apps-Ookla Speedtest and MobiPerf-have their RTT measurements inflated. We build three test apps that cover three common measurement methods and evaluate them in a testbed. We overcome the main challenge of obtaining a complete trace of packets and their timestamps by using multiple sniffers and frame-based synchronization. Our multi-layer analysis reveals that the delay inflation can be introduced both in the user space and kernel space. The long path of subfunction invocations accounts for the majority of the delay overhead in Android runtime (both Dalvik VM and ART), and the sleeping functions in the drivers are the major source of the delay overhead between the kernel and physical layer. Motivated by the findings, we propose and implement a native app to increase the accuracy of RTT measurement, and its delay inflation in the user space can be kept under 1.5ms for almost all cases.

Keywords

Accuracy, Android, Atmospheric measurements, Delays, Mobile communication, Mobile computing, mobile phone, Network measurement, Particle measurements, Smart phones

Discipline

Digital Communications and Networking | Software Engineering

Publication

IEEE Transactions on Mobile Computing

Volume

17

Issue

3

First Page

717

Last Page

732

ISSN

1536-1233

Identifier

10.1109/TMC.2017.2737990

Publisher

Institute of Electrical and Electronics Engineers (IEEE)

Additional URL

https://doi.org/10.1109/TMC.2017.2737990

Share

COinS