multinets_ a system for real-time switching between multiple network interfaces on mobile devices...

Upload: salah-ahmad-al-jardali

Post on 02-Jun-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    1/22

    1

    MultiNets: A System for Real-Time Switching

    between Multiple Network Interfaceson Mobile Devices

    Angela NicoaraDeutsche Telekom Innovation Labs, Silicon Valley Innovation Center, US

    Joint work with: Shahriar Nirjon, Cheng-Hsin Hsu,

    Jatinder Pal Singh, John StankovicUniversity of Virginia, US

    Department of Electrical Engineering, Stanford University, US

    National Tsing Hua University, Taiwan

    November 14, 2013

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 14, 2013 1

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    2/22

    2

    Challenges in Todays Global Mobile Industry

    *Source: Cisco VNI Mobile, 2012

    *Source: Ciscos Global Mobile Data Traffic Forecast, 2012

    788 million mobile-only Internet users by 2015

    Global mobile traffic will increase by a factor of 26 by 2015

    Mobile apps have increased the demand for more bandwidth

    Meet todays functional demands and the explosive wireless marketgrowth that is expected over the next years

    Slow battery energy density growth

    Widening Energy GapChalamala, Proceedings of the IEEE, 2007

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 2

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    3/22

    Intelligently design system support to switch interfaces in real-time

    to save energy, achieve higher throughput, offload data traffic

    Heterogeneous Network Access

    Devices leave the choice of selecting the network to the end-user

    Real-time network switching system that allows each end-user to select ahigh-level goal, and automatically switches to the suitable network interface

    Goals: 1) Save energy, 2) Higher throughput, 3) Offload data traffic

    Phone usability is limited by battery life

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 3

    Web Server

    Back haul

    Internet

    WiFi AP

    Base Station

    IP3Phone

    IP1

    IP2

    Heterogeneous Network Access

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    4/22

    WiFi 3G/2G

    Activating a new interface and deactivating thecurrent interface:

    Dynamically

    Without interruptions Based on policy

    The difficulty is:

    Switching Interfaces

    TCP is Connection-

    Oriented

    Switching Network Interfaces

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 4

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    5/22

    Backhaul

    Web Server

    Internet

    WiFi Ps

    Base Station ndroid

    Mobile

    Device

    Our novel solution for migrating flows between different network interfaceswithout requiring changes to the existing applications, networking protocols, nor

    backend servers, no extra support from the existing network infrastructure, nouser interventions, and with minimal impact to the user.

    Migrating Network Flows

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 5

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    6/22

    Average lifetime of TCP sessions are ~2 sec.

    Average concurrency of TCP sessions are < 2.

    TCP activities are in bursts average ~3 sec.

    TCP Characteristics

    How many concurrent TCP sessions are thereat any instant of time within a mobile device?

    What are the durations of these sessions?

    How much activities are there over thesesessions?

    Challenges / Questions

    3-months long experiment to collect the usagedata from 13 Android phone users.

    Users used a total of 221 apps, and 35 of theseapps require Internet connectivity.

    Our study

    Data activity of the longest TCP session for 100 sec

    CDF of number of concurrent TCP sessions

    TCP Characteristics in Android

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 6

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    7/22

    77

    X Y

    Step 1: Count #of TCP connections on X.

    Step 2: Add routes for all existing

    TCP connections on X.Step 3: Activate Y and start all new

    sessions over Y.

    Step 4: Deactivate X when there is no

    session on X or timeout.

    Switching Algorithm X => Y)

    Switching between Network Interfaces

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 7

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    8/22

    88

    ABCDbcd

    ultiNets System Architecture

    Kernel

    Switching Core

    State

    Machine

    MultiNet Switching API

    Switching

    Utility

    (6) switching

    action

    Switching Engine(1) select

    policy

    Offloadtraffic

    Selection Policy

    (3) switching

    needed?EnergySaving

    Performance

    Power

    Monitoring Engine

    Network

    FlowWireless

    (4) query

    (7) change connectivity (5) read

    (2)

    getstate

    Performs switchingdynamically

    Based on 3 policies:

    Energy Saving

    Performance

    Offload data traffic

    Supports simultaneousmultiple network access

    Design and principles aregeneral enough to beadopted in other mobile OSes

    MultiNets System Architecture

    ABCDbcd

    mplementation

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 8

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    9/22

    99

    ABCD

    bcd

    ultiNets System Layered Architecture

    Layered architecture

    Modular design that allows:

    Extending the systemcapabilities without

    requiring any changesto the architecture

    Isolate the mechanism,policy and monitoringtasks

    ~860 lines of codeNo modification to kernel

    Implementation

    MultiNets System Layered Architecture

    ConnectivityManager WiFiManager

    NetworkInfo WiFiInfo

    ConnectivityService WiFiService

    MobileStateTracker WiFiStateTracker

    WiFiNative

    PublicAPI

    Interna

    lAPI

    JNI

    NativeCodes

    Android MultiNets

    NetworkUtils

    android_net_wifi_WiFi.cpp android_net_Netutils.cpp

    wifi.c ifc_utils.c

    SwitchingManager

    SwitchingInfo

    switching_utils.cpp

    swi_utils.c

    SwitchingUtils

    SelectionPolicy

    SwitchingService

    MonitoringService

    Kernel

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 9

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    10/22

    Multiple Network Access

    ABCDbcd

    imultaneous Usage of Network Interfaces

    API for using multiple networkinterfaces simultaneously forsending and receiving data toseparate remote devices.

    Apps can request to use a

    specific network interface forcommunicating with a specificremote device.

    Example transferringsensitive data (e.g., usercredentials) over a secured

    cellular network, and lesssensitive data over a publicWiFi network.

    MultiNets API

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 10

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    11/22

    1111

    Switching time

    duration between the instant whenthe engine decides to switch and the instant when itcompletely connects to the new interface anddisconnects the old one.

    Example of switching: start sending data over 3G,switch to WiFi when the data rate over 3G exceeds16KBps, and switch back to 3G when the WiFi isidle for the last 30 sec.

    Switching time illustration

    Switching time overhead:

    Switching to WiFi takes ~1sec more than switchingto 3G involving steps: scanning for access points,associating with one of them, handshaking and adhcp request that are not required for 3G

    Switching Time and TCP Interruptions

    Type Switching time

    msec)

    3G to WiFi

    1212

    WiFi to 3G 196

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 11

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    12/22

    1212

    Switching time in presence of data activity for different timeout valuesTimeout value of 30 sec or more makes the switching time ~15 sec,

    and keeps the TCP disconnections < 1

    Switching Time and TCP Interruptions

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 12

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    13/22

    Energy Measurement System

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 13

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    14/22

    Energy for Download & Upload Dataover 3G and WiFi

    Average energy needed for downloading & uploading 4KB to 4MB over 3G and WiFi

    Energy consumption during data activity is higher for 3G than WiFi

    Upload data is more costly than download data

    Upload energy increases with the amount of data being uploaded

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 14

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    15/22

    Energy for data transfers, turning and keeping on the network interfaces (3G & WiFi)

    Screen brightness configured to minimumA data transfer request contains an energy setup cost of roughly 12 Joules for 3G

    and 1 J for WiFi

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 15

    Who killed my battery? Measurements

    Average idle power consumed by the WiFi network interface 295.85 mW

    Average idle power consumed by the 3G network interface 3.11 mW

    Turning on WiFi network interface 7.19 J

    Turning on 3G network interface 13.13 J

    3G setup cost before the first byte can be sent 12 J

    WiFi setup cost before the first byte can be sent 1 J

    Where the energy goes?

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    16/22

    1616

    Energy Savings Heuristic:

    Remains in 3G during the idle time

    Switches to WiFi during data activitySwitches back to 3G when WiFi is idle

    Energy saving heuristic cuts down the average dailyenergy usage by 27.4% and is close to optimum.

    Trace Driven Evaluation: Energy Saving

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 16

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    17/22

    Trace Driven Evaluation: Throughput

    Performance Policy:Switches to the interface that has higher bandwidth

    Uses signal strength to estimate bandwidth

    Achievable throughput is 7 times higher with switching

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 17

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    18/22

    Trace Driven Evaluation: Offloading

    Offload Policy: Switch to WiFi if available to connectCompute the average daily WiFi usage and compare it to the

    amount of data that is possible to offload if MultiNets was used

    With switching we are able to offload on average 79.82% of the

    average daily usage

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 18

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    19/22

    1919

    Running MultiNets every 5 sec, we keep the overhead below 5%

    System Overhead

    Benchmark Description

    Linpack Solves dense NxN system of linear equations.

    Fps2d Measures 2D graphics frames per second.

    CMark CaffeineMark embedded benchmark. Measures

    performance of Java programs involving prime

    generation, loop, logic, method, floats.

    Graphics Draws opacity and transparent bitmaps.

    Cpu CPU performance of MWIPS, MFLOPS, and

    VAX MIPS (SP and DP).

    Mem Memory copy operation.

    File File create, write, read, and delete.

    Lines of code Added Modified

    C / C++ 209 0

    Java 642 8

    Lines of code

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 19

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    20/22

    Experiments:

    3 Android phones: one into the energy efficiencymode, other 2 phones run Android one withWiFi enabled, and the other staying over 3G only.

    Use a traffic generator to replay the same datatraffic in all the phones

    37 WiFi APs, average signal strengths of -64.46dBm (inside) and -82.34 dBm (outside), and28 WiFi disconnections during the tour.

    Energy saving mode saves about 33.75%

    as compared to Android

    The Stanford University campus tour

    Real Deployment

    MultiNets

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 20

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    21/22

    ConclusionPresented the problem of real-time switching between multiple

    network interfaces on mobile devices

    3-month long empirical study to understand the TCP characteristics

    on Android mobile devices

    Client-based system for dynamically and seamlessly switching

    between WiFi and cellular networks based on 3 policies:

    1) energy efficiency, 2) higher throughput, 3) offload data traffic

    Tools for measuring the precise energy consumption on mobile

    devices

    System outperforms state-of-the-art Android either by saving up to

    33.75% energy, or achieving near-optimal offloading, or achievingnear-optimal throughput

    Techniques and principles are applicable to any mobile OSs and

    extensible to any number of interfaces

    Velocity Europe 2013 MultiNets: Heterogeneous Network Access for Mobile Devices | November 2013 by Dr. Angela Nicoara 21

  • 8/10/2019 MultiNets_ a System for Real-Time Switching Between Multiple Network Interfaces on Mobile Devices Presentation

    22/22

    Thank You!