Mobile Application Profiling for Connected Mobile Devices

  • Published on
    22-Mar-2017

  • View
    212

  • Download
    0

Embed Size (px)

Transcript

  • 54 PERVASIVEcomputing Published by the IEEE CS n1536-1268/10/$26.002010IEEE

    P E RVA S I V E A P P L I CAT I O N P R O F I L I N G

    T he recent appearance of open operating systems and virtual machines optimized for mobile devices has led to new and inno-vative applications.1 However, although these mobile devices pave the way for a new generation of applications that exploit their intrinsic mobility, proximity to the user, and dependence on handheld devices, they create unique challenges for developers.2 For instance, new mobile devices come with powerful multi-tasking processors, but their performance and processing capacity differ significantly from

    those of traditional desktop computers. In this restricted and unknown development environment, developers face new constraints related to not only hardware issues such as

    processors and memory but also the lack of tools for debugging the different aspects that affect mobile application performance.Mobile device technologies such as Bluetooth,

    wireless local area networks (WLANs), General Packet Radio Service (GPRS) or Enhanced Data Rate for Global Evolution (EDGE), Universal Mobile Telecommunications System (UMTS)/High-Speed Packet Data Access (HSDPA), and WiMAX also introduce variables during devel-opment that developers working on fixed net-works are unaccustomed to. Each technology

    has different behaviors and is suitable for differ-behaviors and is suitable for differ- and is suitable for differ-ent contexts. In addition, the simultaneous use of different radio-access technologies is a new challenge for mobile developers.Several existing tools can analyze a mobile ap-

    plications resource consumption performance. However, these tools dont address communica-tion performance from a developers standpoint (see the Related Work in Application Profil-ing sidebar) or answer these questions:

    How can I debug the applications data con-nection behavior?

    Whats my protocols performance? Can I improve my applications connection performance?

    Whats my applications connection quality? Whats my real available bandwidth?

    Such questions proliferate in dynamic scenarios in which propagation conditions are less stable and vertical handover occurs between different radio-access technologies.To provide the answers to these and other

    questions, and to help developers find the cause of errors related to accessing network resources, we created SymPA (Symbian Proto-col Analyzer; www.lcc.uma.es/~pedro/mobile). SymPA is a free software tool with packet- sniffing features, measurement localization maps, and other relevant functionalities (see

    The SymPA (Symbian Protocol Analyzer) tool correlates traffic information, radio-access-technology measurements, and location data to help developers evaluate mobile applications in the field.

    Almudena Daz, Pedro Merino, and F. Javier RivasUniversity of Mlaga

    Mobile Application Profiling for Connected Mobile Devices

  • JANUARYMARCH2010 PERVASIVEcomputing 55

    Figure 1) that let developers profile mo-bile applications with advanced com-munication capacities. We developed SymPA using Symbian, the most ex-tended OS for mobile phones, according to the Canalys report Smart Mobile Device Shipments Hit 118 Million in 2007, up 53% on 2006 (www.canalys.com/pr/2008/r2008021.htm). Symbian supports an ample range of program-ming languages, including Symbian C++, native C, native C++, Java, Py-thon, Adobe Flash Lite, and Ruby,

    and lets developers test applications programmed in different languages. University of Mlaga researchers have successfully tested SymPA on projects ranging from mobile application devel-opment to mobile service characteriza-tion over cellular networks.3,4

    New Profiling Needs in Always Connected ApplicationsBecause programmers need to manage new APIs, OSs, and implementation

    methodologies, mobile device soft-ware development has a long time-scale.5 Networking is one of the most important issues developers deal with during implementation and testing on real devices. Guaranteeing mobile ap-plication networking performance is key for the future of mobile devices. One reason this new generation of mobile phones has been designated as smart is their capacity to communi-cate with many smart networks, rang-ing from near-field communication to

    S ymbianwirelessnetworkperformanceanalysistools,suchasQualiPoc(www.swissqual.com),NemoHandy(www.anite.com),andCustomerExperienceManager(www.

    mformation.com), providelow-levelinformationandfocuson

    specificservicetests.However,unlikeSymPA,theydontlet

    developersdebugtheirprotocolsbehavior,solveconnectivity

    problems,orcorrelatetheseissueswithlocationdata.

    Othersolutionsfocusonprovidingon-targettestsandde-

    buggingcapabilities.JInjectorisaninstrumentationtoolthat

    letsdevelopersevaluatecodecoverageforJava2MicroEdition

    applicationsbothinemulatorsandontheactualdevices.1The

    abilitytodebugapplicationsonrealdevicesisindispensable

    becauseapplicationsusuallyworksuccessfullyontheemulator

    butfailonrealtargets.On-targettestingisalsooneofthemost

    time-consumingtasksandthereforerequiressimplificationand

    facilitation.

    ForumNokiasRemoteDeviceAccess(RDA)serviceoffers

    remoteaccesstoawiderangeofmobiledevices,sodevelop-

    erscantesttheirapplicationsonapoolofrealdevices.RDA

    alsoprovidesthepossibilityoftestingonprototypes,which

    letsdevelopersdesignnewapplicationsthatexploitthesenew

    devicesfunctionalities.SimilarinitiativesfromForumNokia

    aretheVirtualDeveloperLab,poweredbyDeviceAnywhere,

    andtheDeviceLoanerProgram.Theseinitiativesrevealthe

    importanceofusingrealdevicesduringmobileapplication

    development.

    Deployingtheapplicationonrealdevicesduringtestingis

    alsonecessarytoanalyzeapplicationperformanceonthehard-

    wareforwhichitwasdesigned.TheNokiaEnergyProfilerlets

    developersmonitortheirapplicationsenergyuseinrealtime

    andanalyzestheprocessor,memory,andnetworksignallevels.

    TheperformanceinvestigatordeliveredwithCarbide.c++,an

    Eclipse-baseddevelopmenttoolsupportingSymbianOSdevel-

    opment,enableson-targetdatatracingoffunctioncalls,power

    use,memoryuse,andkeyevents.Mobileapplicationeval-

    uationrequiresnotonlyusingrealdevicesbutalsotesting

    theminthefield.2SymPAaddressesthiskeyissueofmobile

    applicationdevelopment.

    Finally,stabilityandsecurityarecrucial.Stabilityiskeyfor

    mobiledevicesbecausetheymustoperateforlongtimeperi-

    ods.Usersmustalwaysbeabletoswitchawayfromanyexecut-

    ingapplicationandmakeanemergencycall.SymbianSigned

    (www.symbiansigned.com)providesaunifiedtestingandcer-

    tificationprocesstoensurethatdevicesoperatenormallyafter

    applicationsareinstalledorremovedandthatapplicationsare

    safeforusersanddontharmnetworkoperation.Thisinitiative,

    aswellasJavaVerified(www.javaverified.com)andTrueBrew

    Certification(http://brew.qualcomm.com),revealsthatapplica-

    tionintegrityconcernsnotonlyendusersbutalsodevelopers,

    mobilenetworkoperators,andphonemanufacturers.

    Themobilesectorsdifferentstakeholdersareclearlyaware

    thatthecorrectperformanceofmobileapplicationsisvitalfor

    thetechnologicalevolutionofdevices,applications,andserv-

    ices.Butitsalsoclearthatcommunicationsperformance,an

    openissueinapplicationdevelopment,3isbeyondthescopeof

    currentdevelopmentsupporttools.

    REFERENCES

    1.M.SamaandJ.Harty,UsingCodeInstrumentationtoEnhanceTest-ingonJ2ME:ALessonLearnedwithJInjector,Proc. 10th Workshop Mobile Computing Systems and Applications,ACMPress,2009,pp.16.

    2. T.Halonen,J.Melero,andJ.R.Garcia,GSM, GPRS and EDGE Perfor-mance: Evolution toward 3G/UMTS,HalstedPress,2002.

    3. K.A.Brown,ImpactofWirelessCommunicationonMultimediaAp-plicationPerformance,Multimedia Systems and Applications(Proc. SPIE,vol.3528),1999,pp.566573.

    Related Work in Application Profiling

  • 56 PERVASIVEcomputing www.computer.org/pervasive

    PERVASIVE APPLICATION PROFILING

    global communication using cellular technologies.Wireless network and mobile phone

    networking issues require more effort than desktop computer issues because developers lack tools to check connec-tivity, analyze traffic data, study pro-tocol stack configuration, and debug

    mobile communication performance errors. For example, implementing servers on mobile devices is tedious because of limitations imposed by net-work operators. In this situation, de-velopers should be able to determine whether a problem is related to closed ports or server implementation. This

    issue might seem trivial, but develop-ers must analyze more complex issues related to mobile communications changeable nature to discern between application performance issues or net-work errors.Developers should also be able to

    cope with issues such as link outages. However, to implement such function-ality, they need tools to analyze traffic and correlate it with location, speed, and wireless network issues. Improv-ing the applications radio technology battery consumption is also a concern.The protocol stack configurations

    on mobile devices differ from those of traditional PCs, so developers cant use emulators. We dont recommend using a mobile phone as a modem be-cause applications tested this way use the computer protocol stack to estab-lish data connections. So, developers cant use traditional protocol ana-lyzers to study networking perform-ance. To analyze connectivity issues, developers must execute the applica-tions on real devices, which requires tools that run on these devices. In ad-dition, adequate protocol behavior debugging tools might reduce devel-opment and testing time, but existing on-device debugging tools can detect only coding errors, not communica-tion underperformance. The SymPA profiling tool runs on real devices to help developers deal with these issues (see Figure 2).SymPA also supports heterogene-

    ous environments. Heterogeneous networks are one of the most interest-ing possibilities mobile devices offer, promising the development of always connected applications. However, heterogeneous environments are criti-cal scenarios in which connectivity could become a challenge for mobile developers. SymPA enables perform-ance evaluation of vertical handover on mobile devices, which should al-low seamless roaming between dif-ferent networks. Developers could use SymPA to analyze these techniques impact on IP communications from

    (b) (c)(a)

    Figure 2. SymPA (Symbian Protocol Analyzer) running on a Nokia 6110 Navigator. The mobile device provides advanced monitoring functionalities directly: (a) IP traffic capture, (b) quality-of-service (QoS) profile parameters, and (c) cell information.

    Battery consumption

    Mobility

    Trafccapture

    Connectedmobile

    applicationproling

    Localization(cell ID and

    GPS)

    DataconnectionQoS prole

    Signalstrength

    Figure 1. Mobile application profiling. A complete characterization of mobile applications requires monitoring and correlating different types of information, such as IP traffic, received signal strength, location, and battery consumption.

  • JANUARYMARCH2010 PERVASIVEcomputing 57

    the applications viewpoint. For exam-ple, weve used SymPA to characterize handover between GPRS and UMTS networks. Figure 3 shows the burst of lost packets during a handover on a streaming session in a vehicle test. It also shows each technologys signal strength, jitter, bandwidth, and bat-tery consumption.

    Enabling Mobile Application AnalysisSymPA analysis centers on networking issues. In general, radio propagation conditions become unstable in wireless scenarios, where factors such as signal quality and received signal strengthusually affected by Doppler and multi path fading effectstrigger cell reselections and handovers between different access technologies. Ana-

    lyzing this information is essential to identifying the source of connectivity issues such as call drops, packet losses, or bandwidth reduction. SymPA helps monitor all these parameters.Figure 4 shows SymPAs architec-

    ture, including the libraries, APIs, and different modules we implemented to provide its analysis functionalitiesanalyzing data connections, check-ing connectivity, localizing measure-ments, tracking energy consumption, and correlating data.

    Analyzing Data ConnectionsSymPAs data connection analysis functionality includes traffic capture, received-signal-strength tracking, and radio-access-technology identifica-tion. SymPA also reports the quality-of-service (QoS) profile granted by

    cellular networks during the establish-ment of data connections. Data traffic capture is fundamental

    for not only traffic analysis but also debugging communication protocol implementations. SymPA users can apply a wide range of measurements to the established connections to ob-tain parameters such as bandwidth, delay, and jitter. Other useful utili-ties include incoming establishment- availability checking, which can deter-mine whether a mobile operator has closed ports.The mobile terminals memory

    stores the raw data traffic, which can be exported to libpcap. Because libp-cap is a widely used standard format, its compatible with analysis tools such as Wireshark, a well-known protocol analyzer.

    Consum

    ption (W

    )

    0

    0.5

    1

    1.5

    2

    2.5

    Time (min.:sec.)0:00 1:00 2:00 3:00

    Bandwidth (k

    bps)

    0

    20

    40

    60

    80

    100

    120

    140

    160Jitte

    r (ms)

    0

    100

    200

    300

    400

    500

    Rece

    ived

    sig

    nal s

    treng

    th in

    dica

    tion

    (dBm

    )

    120

    100

    80

    60

    40

    20

    0General Packet

    Radio ServiceUniversal MobileTelecommunications System

    2

    1

    1

    1

    1

    2

    5

    1

    1

    1

    5

    1

    2

    1

    2

    1

    2

    1

    2

    1

    1

    1

    1

    2

    1

    1

    1

    1

    1

    3

    1

    1

    1

    4

    2

    4

    2

    1

    2

    1

    1

    2

    1

    1

    1

    1

    1

    1

    1

    55

    6

    79

    70

    27

    Cell reselectionBandwidthJitterSequence error

    Received signal strengthLost packet(s)Consumption

    Figure 3. Handover between General Packet Radio Service (GPRS) and Universal Mobile Telecommunications System (UMTS) networks. The handover causes a burst of packet losses, jitter increase, and bandwidth decrease. After handover, UMTS provides higher bandwidth, reducing the amount of lost packets at the expense of power consumption.

  • 58 PERVASIVEcomputing www.computer.org/pervasive

    PERVASIVE APPLICATION PROFILING

    Checking ConnectivitySymPA lets developers verify mobile-to-Internet connectivity by establish-ing a data connection and then obtain-ing the IP address associated with the connection. Obtaining the IP address is useful because it changes each time a connection is established and can be used for further data processing or to accept connections in servers running in mobile devices.

    Checking connectivity is particu-larly useful in mobile-to-mobile use cases because developers cant deploy traditional tools on the server side, as in a typical Internet scenario. SymPA incorporates a TCP client and a server, which allows file transfer between mo-bile devices. This active traffi c genera- traffi c genera-traffic genera-tion utility, in conjunction with the traffic capture feature, enables mobile-to-mobile connection performance evaluation.A standard ping functionality lets

    users obtain an estimate of the con-nections round-trip delay. Develop-ers need a proper characterization of communication delays to design timers

    Figure 5. Geographic localization on a mobile device. SymPA provides positioning features to locate m...