MITATE: Mobile Internet Testbed for Application Traffic Experimentation
Project Summary
Innovative mobile applications, such as multiplayer games and augmented reality, will
require low message delay to provide a high quality of user experience (QoE). Low
message delay, in turn, depends on low network latency and high available bandwidth
between mobile devices and cloud datacenters, on which application back-end logic
is deployed. Unfortunately, mobile network performance can change rapidly. Worse,
traffic shaping mechanisms in cellular networks, such as as cap-and-throttle, traffic
redundancy elimination, and deep packet inspection (DPI), can delay application messages
without being reflected in standard metrics of network performance.
If innovation in the mobile space is to achieve broad adoption, new applications must
deliver a high QoE across a range of network conditions. In other words, application
communication protocols must be smart enough to adapt to changing network performance
to keep message delay low. Such adaptations might include changing packet size, OR
moving between server endpoints to deliver best traffic performance for a given client.
To design and validate adaptive communication protocols developers need to prototype
their implementations in production networks. The research community has produced
several testbeds capable of application prototyping in the wired Internet. To date,
however, cellular network measurement platforms are not programmable in that they
do not provide an foreign code execution environment. Instead applications are evaluated
in network simulators configured to reflect measurements of network performance. While
measurement based simulation allows repeatable experiments, it misses the dynamic
effects of competing traffic in cellular schedulers and of traffic shaping mechanisms.
The technical problem we address is a lack of a programmable testbed for mobile application
prototyping in production cellular networks. We have identified two challenges to
building such a testbed. First, the personal nature of mobile devices creates user
concerns over privacy, accountability for actions of foreign code being prototyped,
and abuse of limited data plan and battery resources. Striking a balance between a
flexible application prototyping environment and the safe execution of foreign code
has been a difficult problem even in the more permissive wired environment. Second,
because mobile battery and data plan resources are limited, testbed participants need
adequate incentives to share them. Difficulty in enlisting mobile users has limited
measurement studies to small samples, high cost of testbeds based on dedicated hardware,
and collection of only high level network performance metrics.
MITATE is a Mobile Internet Testbed for Application Traffic Experimentation made possible
by novel solutions to the problems of security and mobile resource sharing. MITATE
is unique in that it allows programmable application traffic experiments between mobile
hosts and backend server infrastructure. MITATE provides strong client security by
separating application code execution from traffic generation. MITATE also provides
incentives and protections for mobile resource sharing through tit-for-tat mechanisms.
MITATE's specialized traffic experiments can help developers answer questions crucial
to mobile application design such as: What is the largest game state update message
that can be reliably delivered under 100 ms?," Does my application traffic need to
contend with traffic shaping mechanisms?," OR Which CDN provides fastest downloads
through a particular mobile service provider's network peering points?"
Project Status and Resources
MITATE has been generously funded by the National Science Foundation (NSF) through the "NeTS: EAGER: MITATE: Mobile Internet Testbed for Application Traffic Experimentation" grant. As of 2017 the MITATE project has been frozen, due to students graduating.
We did, however, want to archive project resources such as the tutorial and the project github page. If you're interested in continuting MITATE, or using parts of it in your own project, please contact me at mike.wittie@montana.edu.