mitate: mobile internet testbed for application traffic ...utkarsh.goel/docs/goel...•a new...

29
1 Utkarsh Goel, Ajay Miyyapuram, Mike P. Wittie, Qing Yang Montana State University - Bozeman MITATE: Mobile Internet Testbed for Application Traffic Experimentation November 25 th , 2013 Computer Science Monday Seminar

Upload: others

Post on 27-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

1

Utkarsh Goel, Ajay Miyyapuram, Mike P. Wittie, Qing Yang

Montana State University - Bozeman

MITATE: Mobile Internet Testbed

for Application Traffic Experimentation

November 25th, 2013

Computer Science Monday Seminar

Page 2: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

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.

Page 3: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

3

Contd.

APP SERVER

USER

DEVELOPER RESEARCHER

Measure

end-to-end

delays

Evaluate new

network

mechanisms

Page 4: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

4

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

Page 5: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

5

Developers 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 mobile code

Restrictive APIs

Want to measure traffic delays. Have to deploy code to do so.

Small number of volunteered devices

Downsides of code deployment

Page 6: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

6

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:

Page 7: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

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 device should execute the experiment?

Page 8: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

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

Page 9: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

9

Defining a packet content

<content>

<contentid>content1</contentid>

<protocol>Skype</protocol>

<data>

<![CDATA[0x0100be07de55...]]>

</data>

<contenttype>HEX</contenttype>

</content>

Page 10: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

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

Page 11: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

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>

Page 12: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

12

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

where performance of intermediate solutions are

the reported metrics in each experiment round

Page 13: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

13

Researchers without MITATE

Call your friends…

… line up a few volunteered devices

Measure network performance…

… configure network simulators

Low device and setting diversity Configured simulations do not

reflect traffic shaping mechanisms

Latency

Loss

Bandwidth

Page 14: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

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

Page 15: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

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”

Page 16: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

16

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.

Page 17: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

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.

Page 18: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

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?

Page 19: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

19

Message delay vs. message size at 10AM on

CSP 1 to a CA datacenter

Asymmetric network

provisioning

Page 20: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

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?

Page 21: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

21

Downlink message delay vs. transmission

interval on CSP1 and CSP2

Network allocation

timeouts causes

delay

Page 22: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

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?

Page 23: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

23

Effect of payload on CSP1

MITATE can detect

content based traffic

shaping

Page 24: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

24

Effect of choice of transport protocols

Packet loss due to

traffic policing,

rather than traffic

shaping

Page 25: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

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?

Page 26: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

26

Measurement based CDN selection

CDN2 provides the

best combination

of performance

Page 27: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

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.

Page 28: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

28

Where can you find MITATE

• Our preliminary design and limited validation of MITATE’s measurement

techniques will be published at Mobiquitous’13 in December of this year.

(NEW)

• MITATE’s approach has been announced through a

- poster at USENIX NSDI’13

- presentation at ACM IMC’13.

Page 29: MITATE: Mobile Internet Testbed for Application Traffic ...utkarsh.goel/docs/Goel...•A new platform for mobile application prototyping in live mobile networks. •Allows experimentation

29

Utkarsh Goel

[email protected]

http://www.cs.montana.edu/~utkarsh.goel

Web URL: http://mitate.cs.montana.edu

Email: [email protected]

Code Repo: https://github.com/msu-netlab/MITATE

Learn more