1 / 31

Utkarsh Goel , Ajay Miyyapuram, Mike P. Wittie, Qing Yang Montana State University - Bozeman

MITATE: Mobile Internet Testbed for Application Traffic Experimentation. Utkarsh Goel , Ajay Miyyapuram, Mike P. Wittie, Qing Yang Montana State University - Bozeman. December 03 th , 2013 Conference on Mobile and Ubiquitous System: Computing, Networking and Services (Mobiquitous’13).

moana
Download Presentation

Utkarsh Goel , Ajay Miyyapuram, Mike P. Wittie, Qing Yang Montana State University - Bozeman

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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)

  2. 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.

  3. Contd. Evaluate new network mechanisms Measure end-to-end delays X 1000 APP SERVER USER DEVELOPER RESEARCHER

  4. MITATE • A new platform for mobile application prototypingin 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).

  5. Developers without MITATE Application Implementation Mobile Devices Back-end Servers Want to measure traffic delays. Have to deploy code to do so. //app code int main() //srvr code int main() //app code int main() //srvr code int main() App Traffic App Traffic Small number of volunteered devices Downsides of code deployment Security concerns over mobile code Restrictive APIs

  6. How does MITATE help developers? MITATE separates traffic generation from application logic Application Implementation Mobile Devices Back-end Servers XML: //app code int main() //srvr code int main() MITATE MITATE App Traffic App Traffic App Traffic

  7. 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 deviceshould execute the experiment?

  8. 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

  9. Defining a packet content <content> <contentid>content1</contentid> <data> <![CDATA[0x0100be07de55...]]> </data> <contenttype>HEX</contenttype> </content>

  10. 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

  11. 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>

  12. 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>

  13. How does MITATE help developers? MITATE separates traffic generation from application logic Application Implementation Mobile Devices Back-end Servers XML: //app code int main() //srvr code int main() MITATE MITATE App Traffic App Traffic App Traffic 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

  14. Researchers without MITATE Call your friends… Measure network performance… LatencyLossBandwidth … line up a few volunteered devices … configure network simulators Configured simulations do not reflect traffic shaping mechanisms Low device and setting diversity

  15. 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

  16. 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”

  17. Protecting user privacy & user device • 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 • Only active traffic experiments and cannot monitor non-MITATE traffic. Don’t worry!

  18. 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.

  19. 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?

  20. Message delay vs. message size at 10AM on CSP 1 to a CA datacenter Asymmetric network provisioning

  21. 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?

  22. Downlink message delay vs. transmission interval on CSP1 and CSP2 Network allocation timeouts causes delay

  23. 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?

  24. Effect of payload on CSP1 MITATE can detect content based traffic shaping

  25. Effect of choice of transport protocols Packet loss due to traffic policing, rather than traffic shaping

  26. 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?

  27. Measurement based CDN selection CDN2 provides the best combination of performance

  28. 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.

  29. Where can you find MITATE • MITATE’s approach has been announced through a - poster at USENIX NSDI’13 - presentation at ACM IMC’13

  30. Getting involved • Beta testers and collaboratorswithin the mobile development and research communities to test MITATE • Suggest extensions to its feature set before making thetool public on M-Lab.

  31. Learn more Utkarsh Goel utkarsh.goel@cs.montana.edu http://www.cs.montana.edu/~utkarsh.goel Web URL: http://mitate.cs.montana.edu Email: mitate@cs.montana.edu Code Repo: https://github.com/msu-netlab/MITATE

More Related