From Feast to Famine Managing mobile network resources - - PowerPoint PPT Presentation

from feast to famine
SMART_READER_LITE
LIVE PREVIEW

From Feast to Famine Managing mobile network resources - - PowerPoint PPT Presentation

From Feast to Famine Managing mobile network resources across environments and preferences Rob Kiefer Erik Nordstrm Michael Freedman Princeton University


slide-1
SLIDE 1

From ¡Feast ¡to ¡Famine ¡ ¡

Managing ¡mobile ¡network ¡resources ¡across ¡ environments ¡and ¡preferences ¡

Rob ¡Kiefer ¡ Erik ¡Nordström ¡ Michael ¡Freedman ¡ Princeton ¡University ¡

slide-2
SLIDE 2

Network ¡Usage ¡Makes ¡Demands ¡on ¡Limited ¡Resources ¡

  • Data ¡
  • Ba>ery ¡
  • Performance ¡

2 ¡

! ¡

2GB ¡

! ¡

App ¡ App ¡ App ¡ App ¡ App ¡ App ¡

! ¡

Running ¡ ¡ tasks ¡

slide-3
SLIDE 3
  • User ¡mobility ¡

– indoor ¡vs ¡outdoor ¡ – WiFi ¡vs ¡LTE ¡ – mulIpath ¡& ¡migraIon ¡

  • User ¡interest ¡

– foreground ¡vs ¡background ¡apps ¡ – InteracIve ¡vs ¡streaming ¡

3 ¡

Limita<ons ¡and ¡Opera<ng ¡Condi<ons ¡Are ¡Not ¡Sta<c ¡

slide-4
SLIDE 4

Divergent ¡Goals ¡= ¡Resource ¡Conflicts ¡

  • User ¡and ¡apps ¡may ¡differ ¡

– e.g., ¡apps ¡may ¡prioriIze ¡perf, ¡user ¡is ¡cost ¡sensiIve ¡

  • User ¡has ¡to ¡moderate ¡resource ¡usage ¡

between ¡apps ¡

4 ¡

slide-5
SLIDE 5

Streaming ¡ Music ¡ App ¡

5 ¡

User ¡Goals ¡Don’t ¡Match ¡App ¡Goals ¡

slide-6
SLIDE 6

Streaming ¡ Music ¡ App ¡

6 ¡

User ¡Goals ¡Don’t ¡Match ¡App ¡Goals ¡

User ¡wants ¡to ¡sacrifice ¡quality; ¡app ¡overuses ¡cell ¡network ¡

slide-7
SLIDE 7

Streaming ¡ Music ¡ App ¡

Flow-­‑level ¡Fairness ¡!= ¡App-­‑level ¡Fairness ¡

7 ¡

Video ¡ App ¡

Network ¡Usage ¡ Flows ¡

slide-8
SLIDE 8

Streaming ¡ Music ¡ App ¡

Flow-­‑level ¡Fairness ¡!= ¡App-­‑level ¡Fairness ¡

8 ¡

Video ¡ App ¡

Network ¡Usage ¡ Flows ¡

slide-9
SLIDE 9

Streaming Music ¡ App ¡

Flow-­‑level ¡Fairness ¡!= ¡App-­‑level ¡Fairness ¡

9 ¡

Video ¡ App ¡

Network ¡Usage ¡ Flows ¡

slide-10
SLIDE 10

Streaming Music ¡ App ¡

Interac<ve ¡Apps ¡Lack ¡Priori<za<on ¡

10 ¡

Browser ¡

Network ¡Usage ¡

slide-11
SLIDE 11

Streaming Music ¡ App ¡

Interac<ve ¡Apps ¡Lack ¡Priori<za<on ¡

11 ¡

Browser ¡

Network ¡Usage ¡

slide-12
SLIDE 12

Streaming ¡ Music ¡ App ¡

Interac<ve ¡Apps ¡Lack ¡Priori<za<on ¡

12 ¡

Browser ¡

Network ¡Usage ¡

Interac<ve ¡apps ¡stuck ¡behind ¡long-­‑running ¡flows, ¡hur<ng ¡UX. ¡

slide-13
SLIDE 13

Strawman: ¡Users ¡micromanage ¡across ¡seQngs ¡

13 ¡

slide-14
SLIDE 14

Strawman: ¡Users ¡micromanage ¡across ¡seQngs ¡

14 ¡

  • Requires ¡user ¡to ¡monitor ¡and ¡

esImate ¡usage ¡over ¡potenIally ¡long ¡ epochs ¡(hours, ¡days) ¡

  • Restricts ¡typically ¡all-­‑or-­‑nothing, ¡

e.g., ¡allow ¡on ¡mobile ¡or ¡not ¡

slide-15
SLIDE 15

Strawman: ¡Users ¡micromanage ¡across ¡seQngs ¡

15 ¡

Poor ¡reuse ¡in ¡similar ¡apps ¡

slide-16
SLIDE 16

Strawman: ¡Users ¡micromanage ¡across ¡seQngs ¡

16 ¡

Varying ¡levels ¡of ¡control ¡

Few ¡ Many ¡

Poor ¡reuse ¡in ¡similar ¡apps ¡

slide-17
SLIDE 17

Strawman: ¡Users ¡micromanage ¡across ¡seQngs ¡

17 ¡

Updates ¡can ¡add, ¡ remove, ¡or ¡change ¡ seangs ¡without ¡ user ¡knowing ¡ Varying ¡levels ¡of ¡control ¡ Poor ¡reuse ¡in ¡similar ¡apps ¡

slide-18
SLIDE 18
  • OS ¡limits ¡background ¡acIvity ¡
  • Only ¡certain ¡classes ¡of ¡apps ¡
  • Used ¡by ¡iOS ¡and ¡WinPhone ¡
  • User ¡has ¡no ¡choice ¡

18 ¡

Strawman: ¡OS-­‑level ¡limita<ons ¡and ¡restric<ons ¡

Streaming ¡ Music ¡ App ¡

✔ OK! ¡

Random ¡ App ¡XYZ ¡

✖ ¡NOPE! ¡

slide-19
SLIDE 19
  • Usage ¡preferences ¡through ¡programmaIc ¡

policy; ¡user ¡is ¡priority, ¡but ¡app ¡flexibility ¡

  • Address ¡conflicts ¡proac0vely ¡
  • MigraIon ¡/ ¡mulIpath ¡in ¡mind ¡
  • Handle ¡dynamic ¡operaIng ¡condiIons ¡

19 ¡

Our ¡Solu<on: ¡Tango ¡

slide-20
SLIDE 20

20 ¡

Tango ¡Overview ¡

Kernel ¡

Measure ¡ Control ¡

Controller ¡

¡ ¡ ¡ ¡ ¡ ¡

Gather plans ¡ Execute ¡

¡ ¡ ¡ ¡ ¡ ¡

¡

¡

Apps ¡ Plans ¡ User ¡ Policy ¡

¡ ¡ ¡

State ¡

slide-21
SLIDE 21

21 ¡

Tango ¡Overview ¡

Kernel ¡

Measure ¡ Control ¡

Controller ¡

¡ ¡ ¡ ¡ ¡ ¡

Gather plans ¡ Execute ¡

¡ ¡ ¡ ¡ ¡ ¡

¡

¡

Apps ¡ Plans ¡ User ¡ Policy ¡

¡ ¡ ¡

State ¡

State ¡– ¡metrics ¡ from ¡kernel ¡sources ¡ ¡ Plans ¡– ¡acIons ¡to ¡ be ¡taken ¡ ¡ Policy ¡– ¡generates ¡ plans ¡from ¡ given ¡state ¡

slide-22
SLIDE 22

22 ¡

Tango ¡Overview ¡

Kernel ¡

Measure ¡ Control ¡

Controller ¡

¡ ¡ ¡ ¡ ¡ ¡

Gather plans ¡ Execute ¡

¡ ¡ ¡ ¡ ¡ ¡

¡

¡

Apps ¡ Plans ¡ User ¡ Policy ¡

¡ ¡ ¡

State ¡

  • 1. Controller ¡
  • 2. User ¡Policy ¡
  • 3. App ¡Policies ¡
slide-23
SLIDE 23

23 ¡

Tango ¡Overview ¡

Kernel ¡

Measure ¡ Control ¡

Controller ¡

¡ ¡ ¡ ¡ ¡ ¡

Gather plans ¡ Execute ¡

¡ ¡ ¡ ¡ ¡ ¡

¡

¡

Apps ¡ Plans ¡ User ¡ Policy ¡

¡ ¡ ¡

State ¡

  • 1. Controller ¡
  • 2. User ¡Policy ¡
  • 3. App ¡Policies ¡
slide-24
SLIDE 24

Tango: ¡Controller ¡

  • Measures ¡device ¡state ¡
  • Generates ¡policy ¡

constraints ¡

  • Carries ¡out ¡policy ¡plans ¡

– Verify ¡against ¡constraints ¡ – Perform ¡ac<ons ¡in ¡plan ¡

24 ¡

Kernel ¡

Measure ¡ Control ¡

Controller ¡

¡ ¡ ¡ ¡ ¡ ¡

Gather plans ¡ Execute ¡

¡ ¡ ¡ ¡

¡

¡ Apps ¡ Plans ¡ User ¡ Policy ¡ ¡ State ¡

slide-25
SLIDE 25

Tango: ¡Controller ¡

  • Measures ¡device ¡state ¡
  • Executes ¡the ¡user ¡policy ¡
  • Carries ¡out ¡policy ¡plans ¡

– Verify ¡against ¡constraints ¡ – Perform ¡ac<ons ¡in ¡plan ¡

25 ¡

Kernel ¡

Measure ¡ Control ¡

Controller ¡

¡ ¡ ¡ ¡ ¡ ¡

Gather plans ¡ Execute ¡

User ¡ Policy ¡ ¡ State ¡ ¡ ¡ ¡ ¡

¡

¡ Apps ¡ Plans ¡

slide-26
SLIDE 26

Tango: ¡Policies ¡

26 ¡

Kernel ¡

Measure ¡ Control ¡

Controller ¡

¡ ¡ ¡ ¡ ¡ ¡

Gather plans ¡ Execute ¡

User ¡ Policy ¡ ¡ State ¡

  • Programs ¡
  • Turn ¡state ¡into ¡plans ¡
  • Two ¡levels: ¡user ¡& ¡app ¡

¡ ¡ ¡ ¡

¡

¡ Apps ¡ Plans ¡

slide-27
SLIDE 27

Tango: ¡Policies ¡

27 ¡

Kernel ¡

Measure ¡ Control ¡

Controller ¡

¡ ¡ ¡ ¡ ¡ ¡

Gather plans ¡ Execute ¡

¡ ¡ ¡ ¡

¡

¡ Apps ¡ Plans ¡ User ¡ Policy ¡ ¡ State ¡

  • Programs ¡
  • Turn ¡state ¡into ¡plans ¡
  • Two ¡levels: ¡user ¡& ¡app ¡
  • User ¡level ¡

– Global ¡management ¡of ¡network ¡resources ¡ – Sets ¡resource ¡constraints ¡for ¡app ¡policies ¡ – Default ¡plan ¡for ¡(classes ¡of) ¡apps ¡

slide-28
SLIDE 28

28 ¡

Policies: ¡Turning ¡State ¡into ¡Ac<ons ¡

slide-29
SLIDE 29

29 ¡

Policies: ¡Turning ¡State ¡into ¡Ac<ons ¡

net_name: ¡eth0 ¡ net_type: ¡CELL, ¡ ba>_charge: ¡false ¡ ba>_perc: ¡50 ¡ flows: ¡10, ¡11, ¡12… ¡ … ¡

slide-30
SLIDE 30

30 ¡

Policies: ¡Turning ¡State ¡into ¡Ac<ons ¡

net_name: ¡eth0 ¡ net_type: ¡CELL, ¡ ba>_charge: ¡false ¡ ba>_perc: ¡50 ¡ flows: ¡10, ¡11, ¡12… ¡ … ¡

Source ¡ Info ¡ Transport ¡Layer ¡ # ¡retrans., ¡RTTs, ¡cong. ¡window… ¡ Network ¡Layer ¡(IP) ¡ addresses, ¡rouIng ¡rules… ¡ Link ¡Layer ¡ type, ¡signal ¡quality, ¡bit ¡errors… ¡ Ba>ery ¡ charging ¡status, ¡percent… ¡

State ¡

slide-31
SLIDE 31

31 ¡

Policies: ¡Turning ¡State ¡into ¡Ac<ons ¡

net_name: ¡eth0 ¡ net_type: ¡CELL, ¡ ba>_charge: ¡false ¡ ba>_perc: ¡50 ¡ flows: ¡10, ¡11, ¡12… ¡ … ¡

Policy ¡

State ¡

Source ¡ Info ¡ Transport ¡Layer ¡ # ¡retrans., ¡RTTs, ¡cong. ¡window… ¡ Network ¡Layer ¡(IP) ¡ addresses, ¡rouIng ¡rules… ¡ Link ¡Layer ¡ type, ¡signal ¡quality, ¡bit ¡errors… ¡ Ba>ery ¡ charging ¡status, ¡percent… ¡

slide-32
SLIDE 32

32 ¡

Policies: ¡Turning ¡State ¡into ¡Ac<ons ¡

net_name: ¡eth0 ¡ net_type: ¡CELL, ¡ ba>_charge: ¡false ¡ ba>_perc: ¡50 ¡ flows: ¡10, ¡11, ¡12… ¡ … ¡

Policy ¡

MIGRATE(10, ¡eth0), ¡ MIGRATE(11, ¡eth0), ¡ MIGRATE(12, ¡eth0), ¡ …, ¡ RATELIMIT(eth0, ¡ 500kbps) ¡

State ¡

Source ¡ Info ¡ Transport ¡Layer ¡ # ¡retrans., ¡RTTs, ¡cong. ¡window… ¡ Network ¡Layer ¡(IP) ¡ addresses, ¡rouIng ¡rules… ¡ Link ¡Layer ¡ type, ¡signal ¡quality, ¡bit ¡errors… ¡ Ba>ery ¡ charging ¡status, ¡percent… ¡

slide-33
SLIDE 33

33 ¡

Policies: ¡Turning ¡State ¡into ¡Ac<ons ¡

Ac<on ¡ Iface ¡ Flow ¡ ENABLE ¡ ✔ ¡ ✔ ¡ RATELIMIT ¡ ✔ ¡ ✔ ¡ LOG ¡ ✔ ¡ ✔ ¡ MANAGE ¡ ✔ ¡ MIGRATE ¡ ✔ ¡

State ¡ Ac<ons ¡

net_name: ¡eth0 ¡ net_type: ¡CELL, ¡ ba>_charge: ¡false ¡ ba>_perc: ¡50 ¡ flows: ¡10, ¡11, ¡12… ¡ … ¡

Policy ¡

MIGRATE(10, ¡eth0), ¡ MIGRATE(11, ¡eth0), ¡ MIGRATE(12, ¡eth0), ¡ …, ¡ RATELIMIT(eth0, ¡ 500kbps) ¡

Source ¡ Info ¡ Transport ¡Layer ¡ # ¡retrans., ¡RTTs, ¡cong. ¡window… ¡ Network ¡Layer ¡(IP) ¡ addresses, ¡rouIng ¡rules… ¡ Link ¡Layer ¡ type, ¡signal ¡quality, ¡bit ¡errors… ¡ Ba>ery ¡ charging ¡status, ¡percent… ¡

slide-34
SLIDE 34

Kernel ¡

Measure ¡ Control ¡

Controller ¡

¡ ¡ ¡ ¡ ¡ ¡

Gather plans ¡ Execute ¡

¡ State ¡

  • Leverage ¡local ¡state ¡
  • Only ¡act ¡on ¡their ¡flows ¡
  • Subject ¡to ¡user ¡policy ¡

constraints ¡

  • App ¡can ¡provide ¡hints ¡

34 ¡

Tango: ¡App ¡Policies ¡

¡ ¡ ¡ ¡

¡

¡ Apps ¡ Plans ¡ User ¡ Policy ¡

slide-35
SLIDE 35
  • ProacIvely ¡address ¡resource ¡conflicts ¡

– Constraints ¡known ¡a ¡priori ¡ – Simplifies ¡controller ¡& ¡app ¡policy ¡interacIon ¡cycle ¡

  • Apps ¡can ¡hint ¡at ¡desired ¡resource ¡needs ¡for ¡

future ¡rounds ¡

35 ¡

Tango: ¡Constraints ¡& ¡Hints ¡

slide-36
SLIDE 36

evaluate(s, c): // Plan returned. genConstraints(s): c = new Constraints() for a in s.apps(): if a.isForeground(): c.put(a, HIGH) return c

36 ¡

USER ¡POLICY ¡

Tango: ¡User ¡& ¡App ¡Policy ¡

slide-37
SLIDE 37

evaluate(s, c): // Plan returned. genConstraints(s): c = new Constraints() for a in s.apps(): if a.isForeground(): c.put(a, HIGH) return c

37 ¡

evaluate(s, ca): plan = new Plan() pstate = GetPlayerState() // Rest of policy omitted. plan.hintPriority = NORM urgent = false buffer = pstate.bufferTime if buffer > 30: urgent = false elif buffer < 20 || urgent: urgent = true plan.hintPriority = HIGH return plan

USER ¡POLICY ¡ APP ¡POLICY ¡

Tango: ¡User ¡& ¡App ¡Policy ¡

slide-38
SLIDE 38

evaluate(s, c): // Plan returned. genConstraints(s): c = new Constraints() for a in s.apps(): hint = a.hintPriority if a.isForeground(): c.put(a, HIGH) elif Allowed(a, hint): c.put(a, hint) return c

38 ¡

evaluate(s, ca): plan = new Plan() pstate = GetPlayerState() // Rest of policy omitted. plan.hintPriority = NORM urgent = false buffer = pstate.bufferTime if buffer > 30: urgent = false elif buffer < 20 || urgent: urgent = true plan.hintPriority = HIGH return plan

USER ¡POLICY ¡ APP ¡POLICY ¡

Tango: ¡User ¡& ¡App ¡Policy ¡

slide-39
SLIDE 39
  • Controller, ¡sample ¡policies, ¡sample ¡apps ¡in ¡

Java ¡for ¡Android ¡phones ¡

  • Flow ¡migraIon ¡provided ¡by ¡Serval ¡(NSDI ¡‘12) ¡
  • Explored ¡the ¡policy ¡space ¡for ¡single ¡and ¡

mulIple ¡apps ¡

39 ¡

Prototype ¡

slide-40
SLIDE 40
  • Campus ¡WiFi ¡offers ¡chance ¡to ¡offload ¡
  • But, ¡even ¡seamless ¡switching ¡w/ ¡migraIon ¡has ¡problems ¡
  • How ¡to ¡use ¡policy ¡to ¡improve ¡when ¡to ¡switch? ¡
  • How ¡to ¡minimize ¡cell ¡usage? ¡
  • How ¡can ¡app ¡policies ¡help? ¡

40 ¡

Evalua<on: ¡Streaming ¡Music ¡Across ¡SpoXy ¡Campus ¡WiFi ¡

slide-41
SLIDE 41
  • Campus ¡WiFi ¡offers ¡chance ¡to ¡offload ¡
  • But, ¡even ¡seamless ¡switching ¡w/ ¡migraIon ¡has ¡problems ¡
  • How ¡to ¡use ¡policy ¡to ¡improve ¡when ¡to ¡switch? ¡
  • How ¡to ¡minimize ¡cell ¡usage? ¡
  • How ¡can ¡app ¡policies ¡help? ¡

41 ¡

Evalua<on: ¡Streaming ¡Music ¡Across ¡SpoXy ¡Campus ¡WiFi ¡

slide-42
SLIDE 42

42 ¡

Clinging ¡to ¡WiFi ¡Leads ¡to ¡Poor ¡Performance ¡

Good ¡WiFi ¡ ¡ Bad ¡WiFi ¡ ¡

slide-43
SLIDE 43

43 ¡

100 200 300 400 500 100 200 300 400 500 600 700 Buffer (secs) Time (secs) WiFi Cell

Clinging ¡to ¡WiFi ¡Leads ¡to ¡Poor ¡Performance ¡

Good ¡WiFi ¡ ¡ Bad ¡WiFi ¡ ¡

slide-44
SLIDE 44

44 ¡

100 200 300 400 500 100 200 300 400 500 600 700 Buffer (secs) Time (secs) WiFi Cell

Clinging ¡to ¡WiFi ¡Leads ¡to ¡Poor ¡Performance ¡

Unneeded ¡cell ¡usage ¡ Good ¡WiFi ¡ ¡ Bad ¡WiFi ¡ ¡

slide-45
SLIDE 45

45 ¡

100 200 300 400 500 100 200 300 400 500 600 700 Buffer (secs) Time (secs) WiFi Cell 100 200 300 100 200 300 400 500 600 700 Buffer (secs) Time (secs) Pause WiFi Cell

Clinging ¡to ¡WiFi ¡Leads ¡to ¡Poor ¡Performance ¡

Good ¡WiFi ¡ ¡ Bad ¡WiFi ¡ ¡

slide-46
SLIDE 46
  • More ¡aggressive ¡in ¡leaving ¡WiFi; ¡more ¡

conservaIve ¡in ¡joining ¡

  • Use ¡heurisIcs ¡on ¡signal ¡strength ¡trends ¡
  • Based ¡on ¡measurements ¡across ¡campus ¡of ¡

signal ¡strength ¡vs ¡achieved ¡throughput ¡

46 ¡

Improving ¡Network ¡Switching ¡

slide-47
SLIDE 47

47 ¡ 1000 2000 3000 4000 5000 6000 0 100 200 300 400 500 600 700 800 Buffer (secs) Time (secs) WiFi Cell

Improving ¡Streaming ¡Music ¡Through ¡Policy ¡

No ¡rate ¡limit ¡

slide-48
SLIDE 48

48 ¡ 1000 2000 3000 4000 5000 6000 0 100 200 300 400 500 600 700 800 Buffer (secs) Time (secs) WiFi Cell 100 200 300 400 500 600 700 800 100 200 300 400 500 600 700 800 Buffer (secs) Time (secs) WiFi Cell

Improving ¡Streaming ¡Music ¡Through ¡Policy ¡

No ¡rate ¡limit ¡ Rate ¡limit ¡

slide-49
SLIDE 49

49 ¡ 100 200 300 400 500 600 700 100 200 300 400 500 600 700 800 Buffer (secs) Time (secs) WiFi Cell 1000 2000 3000 4000 5000 6000 0 100 200 300 400 500 600 700 800 Buffer (secs) Time (secs) WiFi Cell 100 200 300 400 500 600 700 800 100 200 300 400 500 600 700 800 Buffer (secs) Time (secs) WiFi Cell

Improving ¡Streaming ¡Music ¡Through ¡Policy ¡

No ¡rate ¡limit ¡ Rate ¡limit ¡ App ¡Policy ¡

slide-50
SLIDE 50

50 ¡

50 100 150 200 250 Unl Rate App Data (MB) Policy WiFi Cell Total

User ¡and ¡App ¡Policy ¡Coopera<on ¡Yields ¡Best ¡Usage ¡

Rate ¡uses ¡5-­‑6x ¡less ¡cell ¡data ¡than ¡Unl. ¡ ¡ App ¡uses ¡about ¡30x ¡less ¡cell ¡data ¡than ¡Unl. ¡

slide-51
SLIDE 51

51 ¡

2 4 6 8 20 40 60 80 100 120 10 20 30 40 50 Page load time (s) Playback buffer (s) Time (secs) Music app Web app

Interac<ve ¡App ¡Compe<ng ¡w/ ¡Streaming ¡App ¡

Problem ¡ Poor ¡resource ¡isolaIon ¡leads ¡to ¡erraIc ¡load ¡Imes ¡ ¡ ¡ Solu<on ¡ App ¡fair ¡share, ¡prioriIze ¡music ¡only ¡when ¡buffer ¡low ¡

slide-52
SLIDE 52

52 ¡

2 4 6 8 20 40 60 80 100 120 10 20 30 40 50 Page load time (s) Playback buffer (s) Time (secs) Music app Web app

Interac<ve ¡App ¡Compe<ng ¡w/ ¡Streaming ¡App ¡

Problem ¡ Poor ¡resource ¡isolaIon ¡leads ¡to ¡erraIc ¡load ¡Imes ¡ ¡ ¡ Solu<on ¡ App ¡fair ¡share, ¡prioriIze ¡music ¡only ¡when ¡buffer ¡low ¡

slide-53
SLIDE 53

53 ¡

2 4 6 8 20 40 60 80 100 120 10 20 30 40 50 Page load time (s) Playback buffer (s) Time (secs) Music app Web app 2 4 6 8 50 100 150 200 250 300 350 10 20 30 40 50 Page load time (s) Playback buffer (s) Time (secs) Music app Web app

Interac<ve ¡App ¡Compe<ng ¡w/ ¡Streaming ¡App ¡

slide-54
SLIDE 54
  • Context ¡awareness: ¡CASS, ¡CARISMA, ¡JCAF ¡

– Using ¡context ¡to ¡improve ¡apps ¡ – Not ¡looking ¡at ¡resource ¡usage; ¡not ¡single ¡device ¡

  • Network ¡Choice/Wifi ¡Offloading ¡

– Many: ¡Whiffler, ¡IMP, ¡BreadCrumbs, ¡SALSA… ¡ – Complementary ¡to ¡Tango ¡

  • Serval, ¡MPTCP, ¡TCP-­‑Migrate ¡

– ¡Need ¡policy ¡to ¡guide ¡decisions ¡on ¡nets ¡to ¡use ¡ – Complementary ¡to ¡Tango ¡

54 ¡

Related ¡Work ¡

slide-55
SLIDE 55
  • Context ¡awareness: ¡CASS, ¡CARISMA, ¡JCAF ¡

– Using ¡context ¡to ¡improve ¡apps ¡ – Not ¡looking ¡at ¡resource ¡usage; ¡not ¡single ¡device ¡

  • Network ¡Choice/WiFi ¡Offloading ¡

– Many: ¡Whiffler, ¡IMP, ¡BreadCrumbs, ¡SALSA… ¡ – Complementary ¡to ¡Tango ¡

  • Serval, ¡MPTCP, ¡TCP-­‑Migrate ¡

– ¡Need ¡policy ¡to ¡guide ¡decisions ¡on ¡nets ¡to ¡use ¡ – Complementary ¡to ¡Tango ¡

55 ¡

Related ¡Work ¡

slide-56
SLIDE 56
  • Context ¡awareness: ¡CASS, ¡CARISMA, ¡JCAF ¡

– Using ¡context ¡to ¡improve ¡apps ¡ – Not ¡looking ¡at ¡resource ¡usage; ¡not ¡single ¡device ¡

  • Network ¡Choice/WiFi ¡Offloading ¡

– Many: ¡Whiffler, ¡IMP, ¡BreadCrumbs, ¡SALSA… ¡ – Complementary ¡to ¡Tango ¡

  • Serval, ¡MPTCP, ¡TCP-­‑Migrate ¡

– ¡Need ¡policy ¡to ¡guide ¡decisions ¡on ¡nets ¡to ¡use ¡ – Complementary ¡to ¡Tango ¡

56 ¡

Related ¡Work ¡

slide-57
SLIDE 57
  • Tango ¡is ¡a ¡network ¡resource ¡management ¡

framework ¡based ¡on ¡programmaIc ¡policy ¡

  • ProacIvely ¡handle ¡resource ¡conflicts ¡while ¡

including ¡user ¡and ¡app ¡prefs ¡into ¡decisions ¡

  • Demonstrated ¡the ¡value ¡it ¡adds ¡for ¡single ¡apps ¡

as ¡well ¡as ¡across ¡apps ¡

57 ¡

Conclusions ¡

slide-58
SLIDE 58

Thanks! ¡Ques<ons? ¡

58 ¡