for Application Traffic Experimentation Utkarsh Goel, Ajay - - PowerPoint PPT Presentation

for application traffic experimentation
SMART_READER_LITE
LIVE PREVIEW

for Application Traffic Experimentation Utkarsh Goel, Ajay - - PowerPoint PPT Presentation

MITATE: Mobile Internet Testbed for Application Traffic Experimentation Utkarsh Goel, Ajay Miyyapuram, Mike P. Wittie, Qing Yang Montana State University - Bozeman March 26, 2014 Workshop on Active Internet Measurements (AIMS14) 1


slide-1
SLIDE 1

1

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

MITATE: Mobile Internet Testbed for Application Traffic Experimentation

March 26, 2014 Workshop on Active Internet Measurements (AIMS’14)

slide-2
SLIDE 2

2

Motivation

APP SERVER USER

slide-3
SLIDE 3

3

Motivation

APP SERVER USER DEVELOPER Measure end-to-end delays

slide-4
SLIDE 4

4

Motivation

APP SERVER USER DEVELOPER RESEARCHER Measure end-to-end delays Evaluate new network mechanisms

slide-5
SLIDE 5

5

Motivation

APP SERVER USER DEVELOPER RESEARCHER Measure end-to-end delays Evaluate new network mechanisms

slide-6
SLIDE 6

6

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

slide-7
SLIDE 7

7

Measurement without MITATE

//app code int main() App Traffic //srvr code int main()

Mobile Devices Back-end Servers Application Implementation

//app code int main() App Traffic //srvr code int main() Security concerns over untested code Restrictive APIs Want to measure traffic delays. Have to deploy code to do so. Small number of volunteered devices Downsides of code deployment

slide-8
SLIDE 8

8

How does MITATE help measurement?

MITATE separates traffic generation from application logic MITATE

App Traffic

MITATE Mobile Devices Back-end Servers Application Implementation

//app code int main() //srvr code int main() App Traffic App Traffic

XML:

slide-9
SLIDE 9

9

MITATE’s traffic definition

  • Generate traffic definitions in a form of well structured XML that defines

– what the traffic looks like? – where the traffic is going? – when the traffic is to be sent? – which mobile device should execute the experiment?

slide-10
SLIDE 10

10

Defining a transfer

  • ther parameters include:
  • Transmission delay
  • No. of packets
  • Explicitly defined content

<transfer> <id>transfer1</id> <src>client</src> <dst>1.2.3.4</dst> <protocol>UDP</protocol> <dstport>5060</dstport> <bytes>20</bytes> <response>0</response> </transfer>

slide-11
SLIDE 11

11

Defining transfers with explicit content

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

slide-12
SLIDE 12

12

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>

  • ther parameters include:
  • Network carrier
  • Minimum battery power
  • Minimum signal strength
  • Device model name
slide-13
SLIDE 13

13

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>

slide-14
SLIDE 14

14

How does MITATE help developers?

MITATE separates traffic generation from application logic MITATE

App Traffic

MITATE

Mobile Devices Back-end Servers Application Implementation

//app code int main() //srvr code int main() App Traffic App Traffic

XML:

slide-15
SLIDE 15

15

How does MITATE help developers?

MITATE separates traffic generation from application logic MITATE

App Traffic

MITATE

Mobile Devices Back-end Servers Application Implementation

//app code int main() //srvr code int main() App Traffic App Traffic

XML:

No mobile code – only traffic description shipped to mobiles Flexibility in traffic generation logic Large number of volunteered devices Upsides of using MITATE

slide-16
SLIDE 16

16

How does MITATE help developers?

MITATE separates traffic generation from application logic MITATE

App Traffic

MITATE

Mobile Devices Back-end Servers Application Implementation

//app code int main() //srvr code int main() App Traffic App Traffic

XML:

No mobile code – only traffic description shipped to mobiles Flexibility in traffic generation logic Large number of volunteered devices Upsides of using MITATE

slide-17
SLIDE 17

17

How does MITATE help developers?

MITATE separates traffic generation from application logic MITATE

App Traffic

MITATE

Mobile Devices Back-end Servers Application Implementation

//app code int main() //srvr code int main() App Traffic App Traffic

XML:

No mobile code – only traffic description shipped to mobiles Flexibility in traffic generation logic Large number of volunteered devices Upsides of using MITATE

slide-18
SLIDE 18

18

How does MITATE help developers?

MITATE separates traffic generation from application logic MITATE

App Traffic

MITATE

Mobile Devices Back-end Servers Application Implementation

App Traffic

XML:

No mobile code – only traffic description shipped to mobiles Flexibility in traffic generation logic Large number of volunteered devices Upsides of using MITATE where performance of intermediate solutions are the reported metrics in each experiment round

slide-19
SLIDE 19

19

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 – Prevent abuse of contributed resources

  • MITATE jointly addresses both problems using a data credit exchange

system inspired by BitTorrent tit-for-tat mechanisms

  • Avoid DDoS attacks configured as MITATE experiments.

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

slide-20
SLIDE 20

20

Measure of application performance

  • 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?

  • Which CDN provides fastest downloads through a particular mobile

service provider's peering points?

slide-21
SLIDE 21

21

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

slide-22
SLIDE 22

22

Measure of application performance

  • 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?

  • Which CDN provides fastest downloads through a particular mobile

service provider's peering points?

slide-23
SLIDE 23

23

Effect of payload on CSP1

slide-24
SLIDE 24

24

Effect of choice of transport protocols

slide-25
SLIDE 25

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?

slide-26
SLIDE 26

26

Measurement based CDN selection

slide-27
SLIDE 27

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.

slide-28
SLIDE 28

28

Requests to the audience

  • Beta testers and collaborators within the mobile development and

research communities to test MITATE

  • Feedback on MITATE’s functionality before making the tool public on

M-Lab.

slide-29
SLIDE 29

29

Learn more

  • Details in our Mobiquitous’13 paper:

http://www.cs.montana.edu/mwittie/publications/Goel13MITATE.pdf

  • Web URL: http://mitate.cs.montana.edu
  • Email: mitate@cs.montana.edu
  • Code Repo: https://github.com/msu-netlab/MITATE

Thank you Questions?

slide-30
SLIDE 30

30

Why “MITATE”

  • Mitate is a technique used in ukiyo-e images, as

well as in other creative forms, in which many layers of meaning are layered atop one another

  • MITATE allows the discovery of multiple types of

mobile network performance data

A mitate-e painting by Hokusai, depicting a courtesan juxtaposed with Daruma, the founder of Zen.

http://wiki.samurai-archives.com/index.php?title=Mitate