MITATE - Networks Lab - Montana State University

MITATE: Mobile Internet Testbed
for Application Traffic Experimentation
Utkarsh Goel, Ajay Miyyapuram, Mike P. Wittie, Qing Yang
Montana State University - Bozeman
December 03th, 2013
Conference on Mobile and Ubiquitous System: Computing, Networking
and Services (Mobiquitous’13)
1
Societal problem
• In many ways the causes of end-to-end network delay are not
technological, but economic in nature.
• Reductions to end-to-end delays are unlikely to come from improvements
of network mechanisms alone.
• Application communication protocols must be smart enough to adapt to
changing network performance to keep communication delay low.
• To design and validate adaptive communication protocols, developers
need to prototype their implementations in production networks.
2
Contd.
Measure
end-to-end
delays
Evaluate new
network
mechanisms
APP
SERVER
USER
DEVELOPER
RESEARCHER
3
MITATE
• A new platform for mobile application prototyping in live mobile networks.
• Allows experimentation with custom mobile application traffic between
mobile devices and cloud infrastructure endpoints.
• A collaborative framework, in which participants contribute their mobile
network resources and are allowed, in turn, to run their traffic
experiments on others’ devices.
• Open to the public and being deployed on Google’s Measurement Lab
(M-Lab).
4
Developers without MITATE
Application Implementation
Want to measure traffic delays.
//app code
int main()
App Traffic
//srvr code
int main()
Mobile Devices
Back-end Servers
Have to deploy code to do so.
//app code
int main()
App Traffic
//srvr code
int main()
Small number of volunteered devices
Downsides of code deployment
Security concerns over mobile code
Restrictive APIs
5
How does MITATE help developers?
MITATE separates traffic generation from application logic
Application Implementation
XML:
//app code
int main()
Mobile Devices
Back-end Servers
App Traffic
App Traffic
//srvr code
int main()
MITATE
App Traffic
MITATE
6
MITATE’s traffic definition
• Generate traffic definitions in a form of well structured XML by defining
–
–
–
–
what the traffic looks like?
where the traffic is going?
when the traffic is to be sent?
which mobile device should execute the experiment?
7
Defining a transfer
<transfer>
<id>transfer1</id>
<src>client</src>
<dst>1.2.3.4</dst>
<protocol>UDP</protocol>
<dstport>5060</dstport>
<bytes>32</bytes>
<response>0</response>
</transfer>
other parameters include:
•
•
•
Transmission delay
No. of packets
Explicit content
8
Defining a packet content
<content>
<contentid>content1</contentid>
<data>
<![CDATA[0x0100be07de55...]]>
</data>
<contenttype>HEX</contenttype>
</content>
9
Defining a criteria
<criteria>
<id>criteria1</id>
<latlong>"45.666 -111.046"</latlong>
<radius>5000</radius>
<networktype>cellular</networktype>
<starttime>12:00</starttime>
<endtime>13:30</endtime>
</criteria>
other parameters include:
•
•
•
•
Network carrier
Minimum battery power
Minimum signal strength
Device model name
10
Summing up all the definitions
<transaction count=“10”>
<criteria>
<criteriaid>criteria1</criteriaid>
</criteria>
<transfers>
<transferid delay=“10” repeat=“1”>transfer1</transferid>
<transferid delay=“20” repeat=“2”>transfer2</transferid>
<transferid delay=“10” repeat=“1”>transfer1</transferid>
</transfers>
</transaction>
11
DNS Query through MITATE
<transfer>
<id>dns_req</id>
<src>client</src>
<dst>DNS</dst>
<dstport>53</dstport>
<prot>UDP</prot>
<bytes><![CDATA[0x0100be07de55...]]></bytes>
<response>1</response>
</transfer>
12
How does MITATE help developers?
MITATE separates traffic generation from application logic
Application Implementation
XML:
//app code
int main()
Mobile Devices
Back-end Servers
App Traffic
App Traffic
//srvr code
int main()
MITATE
App Traffic
MITATE
where performance of intermediate solutions are
the reported metrics in each experiment round
Large number of volunteered devices
Upsides of using MITATE
No mobile code – only traffic description shipped to mobiles
Flexibility in traffic generation logic
13
Researchers without MITATE
Call your friends…
Measure network performance…
Latency
Loss
Bandwidth
… line up a few volunteered devices
Low device and setting diversity
… configure network simulators
Configured simulations do not
reflect traffic shaping mechanisms
14
Challenges in deploying large scale testbed
• Assure sufficient resource capacity for scheduled experiments.
(Limiting resource is mobile data, subject to monthly caps)
• Entice users to contribute resources
• Protect contributed resources from abuse.
• MITATE jointly addresses both problems using a data credit exchange
system inspired by BitTorrent tit-for-tat mechanisms
15
Security & privacy concerns
• Personal mobile devices have the
potential for violations of privacy if a
device owner’s activity and personally
identifiable information were to
become public.
• MITATE’s security design protects
user privacy, the volunteered devices,
and non-MITATE Internet resources.
“That was a very interesting cell phone conversation.
Thanks for sharing it with me”
16
Protecting user privacy & user device
• Only active traffic experiments and
cannot monitor non-MITATE traffic.
• User can set usage limits for mobile
data, Wi-Fi data, and battery level on
their devices.
• We separate all data collected on
devices from personally identifiable user
account information
17
Protecting Non-MITATE resources
• Avoid DDoS attacks configured as MITATE experiments.
• Limit traffic by placing a credit limit.
• A MITATE user may request that multiple devices send data
simultaneously, the user’s credit will be rapidly depleted.
• So even if the transmissions are malicious, they will be short-lived.
18
Measure of application performance
• What is the largest game state update message that can be reliably
delivered under 100 ms?
• Whether the delays are due to network allocation timeouts or due to the
device entering power save mode?
• Does my application traffic need to contend with traffic shaping
mechanisms?
• Which CDN provides fastest downloads through a particular mobile
service provider's peering points?
19
Message delay vs. message size at 10AM on
CSP 1 to a CA datacenter
Asymmetric network
provisioning
20
Measure of application performance
• What is the largest game state update message that can be reliably
delivered under 100 ms?
• Whether the delays are due to network allocation timeouts or due to the
device entering power save mode?
• Does my application traffic need to contend with traffic shaping
mechanisms?
• Which CDN provides fastest downloads through a particular mobile
service provider's peering points?
21
Downlink message delay vs. transmission
interval on CSP1 and CSP2
Network allocation
timeouts causes
delay
22
Measure of application performance
• What is the largest game state update message that can be reliably
delivered under 100 ms?
• Whether the delays are due to network allocation timeouts or due to the
device entering power save mode?
• Does my application traffic need to contend with traffic shaping
mechanisms?
• Which CDN provides fastest downloads through a particular mobile
service provider's peering points?
23
Effect of payload on CSP1
MITATE can detect
content based traffic
shaping
24
Effect of choice of transport protocols
Packet loss due to
traffic policing,
rather than traffic
shaping
25
Measure of application performance
• What is the largest game state update message that can be reliably
delivered under 100 ms?
• Whether the delays are due to network allocation timeouts or due to the
device entering power save mode?
• Does my application traffic need to contend with traffic shaping
mechanisms?
• Which CDN provides fastest downloads through a particular mobile
service provider's peering points?
26
Measurement based CDN selection
CDN2 provides the
best combination
of performance
27
Conclusions
• MITATE is the first public testbed that supports prototyping of application
communications between mobiles and cloud datacenters.
• MITATE separates application logic from traffic generation, which
simplifies security and resource sharing mechanisms.
• We have presented data collected with MITATE experiments that affects
mobile application message delay.
28
Where can you find MITATE
• MITATE’s approach has been announced through a
- poster at USENIX NSDI’13
- presentation at ACM IMC’13
29
Getting involved
• Beta testers and collaborators within the mobile development and
research communities to test MITATE
• Suggest extensions to its feature set before making the tool public
on M-Lab.
30
Learn more
Web URL: http://mitate.cs.montana.edu
Email: [email protected]
Code Repo: https://github.com/msu-netlab/MITATE
Utkarsh Goel
[email protected]
http://www.cs.montana.edu/~utkarsh.goel
31