Understanding Services and Their Clients

Total Page:16

File Type:pdf, Size:1020Kb

Understanding Services and Their Clients 1 Web Service Growing Pains: Understanding Services and Their Clients Tiago Espinha © 2014, Tiago Espinha Thesis style design: Tiago Espinha Cover design: Tiago Espinha Printed by: CPI Koninklijke Wöhrmann In memory of my grandfather, José Aurélio Mourinho Rodrigues Web Service Growing Pains: Understanding Services and Their Clients Proefschrift ter verkrijging van de graad van doctor aan de Technische Universiteit Delft, op gezag van de Rector Magnificus prof. ir. K.C.A.M. Luyben, voorzitter van het College voor Promoties, in het openbaar te verdedigen op vrijdag 20 maart 2015 om 10:00 uur door Tiago ESPINHA Master of Science University of Leicester, United Kingdom geboren te Marinha Grande, Portugal. Dit proefschrift is goedgekeurd door de promotor: Prof. dr. A. van Deursen Copromotor Dr. A.E. Zaidman Samenstelling promotiecommissie: Rector Magnificus Voorzitter Prof. dr. A. van Deursen Delft University of Technology, promotor Dr. A.E. Zaidman Delft University of Technology, copromotor Prof. dr. G.-J. Houben Delft University of Technology Prof. dr. ir. M.F.W.H.A. Janssen Delft University of Technology Prof. dr. B. Adams École Polytechnique de Montréal, Canada Dr. S. Jansen Utrecht University, The Netherlands Dr. H.-G. Gross Esslingen University, Germany This work was carried out as part of the Jacquard ScaleItUp project, sponsored by the Netherlands Organisation for Scientific Research (Nederlandse Organisatie voor Weten- schappelijk Onderzoek — NWO). ISBN: 978-94-6186-406-2 Copyright © 2014, Tiago Espinha Thesis style design: Tiago Espinha Cover design: Tiago Espinha Cover artwork: © Depositphotos.com/lightsource Printed by: CPI Koninklijke Wöhrmann Contents 1 Introduction 3 1.1 From the Internet to Web Services ...................... 3 1.1.1 Simple Object Access Protocol (SOAP) ................ 4 1.1.2 Representational state transfer (REST) ................ 4 1.1.3 Web Services .............................. 4 1.2 Terminology ................................... 5 1.3 Problem Statement ............................... 7 1.3.1 Research Questions ........................... 8 1.3.2 Research Methods ........................... 9 1.4 Thesis Outline ................................. 11 1.5 Origin of Chapters ............................... 11 1.6 Additional Publications ............................ 11 2 Web APIs: Loosely Coupled yet Strongly Tied 13 2.1 Introduction ................................... 13 2.2 Terminology ................................... 15 2.2.1 SOAP .................................. 15 2.2.2 REST .................................. 15 2.2.3 JSON-RPC & JSON .......................... 16 2.3 Experimental Setup ............................... 16 2.3.1 Experimental Setup for the Client-Side Investigation ........ 17 2.3.2 Experimental Setup For The End-to-End Analysis ......... 20 2.4 Client-side Analysis ............................... 21 2.4.1 Interviews With Client Developers .................. 21 2.4.2 Web API Characteristics ........................ 26 2.4.3 Impact on Client Code ......................... 28 2.5 End-to-End Analysis .............................. 34 i ii CONTENTS 2.5.1 VirtualBox ............................... 34 2.5.2 XBMC .................................. 37 2.6 Discussion .................................... 41 2.6.1 Answering the Research Questions .................. 41 2.6.2 Recommendations ........................... 43 2.6.3 Threats to validity ........................... 46 2.7 Related work .................................. 46 2.8 Conclusion .................................... 48 3 Web API Clients: How Robust is Yours 51 3.1 Introduction ................................... 51 3.2 Approach .................................... 53 3.2.1 Mutation Analysis — Mutant Generation .............. 53 3.3 Experimental Setup ............................... 57 3.3.1 Application Selection .......................... 57 3.3.2 Applying the Mutations ........................ 58 3.3.3 Caching and Versioning ........................ 60 3.3.4 Developer Interviews .......................... 60 3.4 Experimental Results .............................. 61 3.4.1 Application Behavior .......................... 62 3.4.2 Behaviors Per Mutation Type ..................... 62 3.4.3 Data Caching .............................. 66 3.4.4 Versioning ................................ 66 3.4.5 Developer Interviews .......................... 67 3.5 Threats to Validity ............................... 69 3.6 Related Work .................................. 70 3.7 Conclusion .................................... 70 4 SOA: Proposing a Standard Case Study 73 4.1 Introduction ................................... 73 4.2 Background Research .............................. 74 4.3 Stonehenge ................................... 78 4.3.1 Motivation ............................... 78 4.3.2 System Description ........................... 78 4.3.3 Usage Scenarios ............................. 80 4.4 Research Agenda ................................ 81 4.4.1 Online Updating and Versioning ................... 81 4.4.2 Online Diagnosis and Testing ..................... 82 4.5 Summary .................................... 82 5 SOA: Understanding its Runtime Topology 85 5.1 Introduction ................................... 85 5.2 Approach .................................... 87 CONTENTS iii 5.2.1 Required data .............................. 87 5.2.2 Data extraction ............................. 89 5.2.3 Data presentation ........................... 90 5.2.4 Serviz .................................. 91 5.3 Experimental Setup ............................... 91 5.3.1 One-group pretest-posttest ....................... 91 5.3.2 Assignment ............................... 94 5.3.3 Pilot ................................... 96 5.4 Results ...................................... 96 5.4.1 Pretest Data .............................. 96 5.4.2 Posttest Data .............................. 98 5.5 Discussion .................................... 101 5.5.1 Revisiting the Research Questions .................. 101 5.5.2 Threats to validity ........................... 102 5.6 Related work .................................. 103 5.7 Conclusion .................................... 104 5.7.1 Future work ............................... 104 6 SOA: Users and Versions in Multi-Tenant Systems 107 6.1 Introduction ................................... 107 6.2 Approach .................................... 109 6.2.1 Data Requirements ........................... 110 6.2.2 Data Extraction ............................ 110 6.3 Serviz ...................................... 111 6.3.1 User Filtering .............................. 112 6.3.2 Service/Version Filtering ........................ 112 6.3.3 Combined Filtering ........................... 112 6.3.4 Histograms ............................... 113 6.4 Experimental Setup ............................... 113 6.4.1 Case Study System ........................... 114 6.4.2 Questionnaire .............................. 115 6.4.3 Participants ............................... 116 6.5 Results ...................................... 116 6.5.1 General Questions ........................... 116 6.5.2 Generic Software Engineering Questions ............... 118 6.5.3 User Filtering .............................. 119 6.5.4 Service Filtering ............................ 120 6.5.5 Version Filtering ............................ 120 6.5.6 Combined Filtering ........................... 121 6.6 Discussion .................................... 122 6.6.1 The Research Questions Revisited .................. 122 6.6.2 Lessons Learned ............................ 123 6.6.3 Threats to Validity ........................... 123 CONTENTS 1 6.7 Related Work .................................. 124 6.8 Conclusion .................................... 125 6.8.1 Future Work .............................. 125 7 Conclusion 127 7.1 Summary of Contributions ........................... 128 7.2 The Research Questions Revisited ....................... 129 7.2.1 RQ1 — How do web service APIs evolve and what are the conse- quences for clients of web APIs? .................... 129 7.2.2 RQ2 — How well-prepared are Android mobile applications with regard to changes in response messages from the web API? ..... 131 7.2.3 RQ3 — How can the topology of a running SOA-based system help in its maintenance? ........................... 132 7.2.4 RQ4 — Does the combination of user, service-version and timing information projected on a runtime topology help in the under- standing of SOA-based multi-tenant software systems? ....... 133 7.3 Recommendations For Future Work ...................... 133 7.3.1 Automated Web API Evolution .................... 133 7.3.2 Versioning Data versus Versioning Interfaces ............. 134 7.3.3 Runtime Topology ........................... 134 7.3.4 Dead Code Warnings .......................... 136 7.3.5 Web API Documentation Mining ................... 136 7.3.6 Metrics for Web API Frequency of Change .............. 137 7.3.7 Coupling Metrics for Organizational Co-evolution .......... 137 7.3.8 Per-user, At-will Web API Version Migration ............ 137 7.3.9 Closed versus Open-source ....................... 138 Acknowledgement 139 Summary 141 Samenvatting 145 2 CONTENTS CHAPTER 1 Introduction 1.1 From the Internet to Web Services The creation of the Internet in the 1980s paved the way for the connected world as we know it today. The Internet, which as of December 2013 was connecting in excess of 2.8 billion people1, opened the door not only for the relatively fast sharing
Recommended publications
  • EMDK for Android V6.6
    Release Notes - EMDK for Android v6.6 Important News Introduction Description Device Compatibility Installation Requirements Device Updates Usage Notes Known Issues Part Number and Release Date Important News ▪ EMDK for Android support for all KitKat (Android 4.4.3 or higher) devices will be dropped. - The EMDK for Android v6.6 will be the final version supporting KitKat (Android 4.4.3 or higher) devices. All future EMDK versions will support Lollipop or higher devices only. ▪ EMDK OS update package support limited to KitKat devices - The EMDK v6.6 OS update package distributed with the PC/MAC installation will only support installation on KitKat devices. For all Lollipop or higher devices, the EMDK update for a specific device will be distributed with the latest BSP or security incremental patch. ▪ EMDK for Android support for all Jelly Bean (Android 4.1.2) and TC70 KitKat (Android 4.4.2) BSP version 112414 devices has been terminated - Starting from EMDK for Android v6.0, KitKat and higher OS versions (except TC70 KitKat BSP version 112414) are supported. EMDK for Android v5.0 will continue to support Jelly Bean and TC70 KitKat BSP version 112414 devices. ▪ EMDK for Android support for Payment APIs is terminated - The EMDK for Android v5.0 is the only version that supports Payment APIs. ▪ Support for ProfileConfig class has been deprecated - The ProfileConfig class which can be used to access the profile data has been deprecated. It is recommended to use the name-value pair function of Profile Manager feature. The Profile XML can also be directly modified.
    [Show full text]
  • Software Development Methodologies on Android Application Using Example
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by VUS Repository POLYTECHNIC OF ŠIBENIK DEPARTMENT OF MANAGEMENT SPECIALIST STUDY OF MANAGEMENT Ivan Bumbak SOFTWARE DEVELOPMENT METHODOLOGIES ON ANDROID APPLICATION USING EXAMPLE Graduate thesis Šibenik, 2018. POLYTECHNIC OF ŠIBENIK DEPARTMENT OF MANAGEMENT SPECIALIST STUDY OF MANAGEMENT SOFTWARE DEVELOPMENT METHODOLOGIES ON ANDROID APPLICATION USING EXAMPLE Graduate thesis Course: Software engineering Mentor: PhD Frane Urem, college professor Student: Ivan Bumbak Student ID number: 0023096262 Šibenik, September 2018. TEMELJNA DOKUMENTACIJSKA KARTICA Veleučilište u Šibeniku Diplomski rad Odjel Menadžmenta Diplomski specijalistički stručni studij Menadžment Razvojne metode programa na Android platformi koristeći primjer Ivan Bumbak [email protected] Postoji mnogo razvojnih metoda programskih rješenja koje se mogu koristiti za razvoj istih na bilo kojoj platformi. Koja metoda će se koristiti ovisi o zahtjevnosti samog projekta, koliko ljudi radi na projektu, te u kojem vremenskom roku projekt mora biti isporučen. U svrhu ovog diplomskog rada razvijena je Android aplikacija putem tradicionalne metode, iako su danas sve više i više popularne takozvane agile metode. Agile, ili agilan, znači biti brz i sposoban reagirati na vrijeme te prilagoditi se svim promjenama u bilo kojem trenutku razvoja projekta. U radu su objašnjenje najpopularnije agile metode te su prikazane prednosti korištenja agile metoda u odnosu na tradicionalnu metodu. (37 stranica
    [Show full text]
  • Securing Android Devices
    Securing Android Devices Sun City Computer Club Seminar Series May 2021 Revision 1 To view or download a MP4 file of this seminar With audio • Audio Recording of this seminar • Use the link above to access MP4 audio recording Where are Android Devices? • Smart Phones • Smart Tablets • Smart TVs • E-Book Readers • Game consoles • Music players • Home phone machines • Video streamers – Fire, Chromecast, Why Android devices? • Cutting edge technology – Google • User Friendly • User modifications Android Software Development Kit (SDK) Open Source • Huge volume of applications • Google, Samsung, LG, Sony, Huawei, Motorola, Acer, Xiaomi, … • 2003 • CUSTOMIZABLE My Choices • Convenience vs Privacy • Helpful <-> Harmful • Smart devices know more about us than we do Android “flavors” flavours • Android versions and their names • Android 1.5: Android Cupcake • Android 1.6: Android Donut • Android 2.0: Android Eclair • Android 2.2: Android Froyo • Android 2.3: Android Gingerbread • Android 3.0: Android Honeycomb • Android 4.0: Android Ice Cream Sandwich • Android 4.1 to 4.3.1: Android Jelly Bean • Android 4.4 to 4.4.4: Android KitKat • Android 5.0 to 5.1.1: Android Lollipop • Android 6.0 to 6.0.1: Android Marshmallow • Android 7.0 to 7.1: Android Nougat • Android 8.0 to Android 8.1: Android Oreo • Android 9.0: Android Pie • Android 10 Many potential combinations • Each manufacturer “tunes” the Android release to suit #1 Keep up with updates Android Operating System Android firmware (Very vendor specific) Android Applications (Apps) Android settings
    [Show full text]
  • Android Kitkat .Tar.Md5 File Download Download/Install Android 4.4.2 Kitkat Update for T-Mobile Galaxy Note 3 SM-N900T – N900TUVUCNB4
    android kitkat .tar.md5 file download Download/Install Android 4.4.2 KitKat Update for T-Mobile Galaxy Note 3 SM-N900T – N900TUVUCNB4. Here’s the official T-Mobile Galaxy Note 3 Android 4.4 KitKat update , directly from Samsung, that you CAN INSTALL MANUALLY yourself! The Android 4.4 firmware name is, N900TUVUCNB4 , and has been released officially today only. You can install the KitKat update yourself using Odin software, that we have provided below with direct download links of firmware too. So, Update T-Moble Galaxy Note 3 model n0. SM-N900T to latest Android 4.4.2 OS, KitKat now. WARNING! Warranty may be void of your device if you follow the procedures given on this page. You only are responsible for your device. We won’t be liable if any damage occurs to your device and/or its components. T-MOBILE GALAXY NOTE 3 OFFICIAL KITKAT 4.4 FIRMWARE. Before you begin with guide instructions below, make sure your android device is adequately charged — at least 50% battery of the device. STEP 0: CHECK DEVICE MODEL NO. To make sure your device is eligible with this, you must first confirm its model no. in ‘About device’ option under Settings. Another way to confirm model no. is by looking for it on the packaging box of your device. It must be SM-N900T! Do not use the procedures discussed here on any other Galaxy Note 3 (including the Galaxy Note 3 variant at Sprint, US-Cellular, AT&T, Verizon and other International variants) or any other device of Samsung or any other company.
    [Show full text]
  • Xerox® Versalink® C400 Colour Printer
    ® ® Xerox VersaLink C400 Colour Printer ® ® VersaLink C400 Colour Printers are built on Xerox ConnectKey Technology. For more information, go to www.ConnectKey.com. SYSTEM SPECIFICATIONS VERSALINK C400/DN One-sided Speed1 8.5 x 11 in. Up to 36 ppm colour and black-and-white A4 / 210 x 297 mm Up to 35 ppm colour and black-and-white 8.5 x 14 in. / 216 x 356 mm Up to 30 ppm colour and black-and-white Two-sided Speed1 8.5 x 11 in. Up to 24 ppm colour and black-and-white A4 / 210 x 297 mm Up to 23 ppm colour and black-and-white 8.5 x 14 in. / 216 x 356 mm Up to 21 ppm colour and black-and-white Monthly Duty Cycle2 Up to 85,000 pages / month Recommended Average Up to 8,500 pages Monthly Print Volume3 Processor 1.05 GHz Dual-Core Memory 2 GB Connectivity Ethernet 10/100/1000 Base-T, High-speed USB 3.0, Wi-Fi 802.11n and Wi-Fi Direct with optional Wi- Fi Kit (concurrent wired and wireless connections supported), NFC Tap-to-Pair Controller Features Configuration Cloning, Xerox Extensible Interface Platform®, Xerox® App Gallery App, Xerox® Standard Accounting Tool, Network Accounting Enabled, Role Based Permissions, Convenience Authentication Enabled, Online Support User Interface Languages English, French, Italian, German, Spanish, Brazilian Portuguese, Russian, Dutch, Swedish, Danish, Finnish, Norwegian, Greek, Turkish, Polish, Czech, Hungarian, Romanian, Catalan, Ukrainian, Croatian DEVICE SPECIFICATIONS North America Voltage: 110-127 VAC+/- 10% Frequency: 50/60 Hz+/- 3Hz, 10 A Europe and Other Geographies Voltage: 220-240 VAC+/- 10% Frequency:
    [Show full text]
  • A Research on Android Technology with New Version Naugat(7.0,7.1)
    IOSR Journal of Computer Engineering (IOSR-JCE) e-ISSN: 2278-0661,p-ISSN: 2278-8727, Volume 19, Issue 2, Ver. I (Mar.-Apr. 2017), PP 65-77 www.iosrjournals.org A Research On Android Technology With New Version Naugat(7.0,7.1) Nikhil M. Dongre , Tejas S. Agrawal, Ass.prof. Sagar D. Pande (Dept. CSE, Student of PRPCOE, SantGadge baba Amravati University, [email protected] contact no: 8408895842) (Dept. CSE, Student of PRMCEAM, SantGadge baba Amravati University, [email protected] contact no: 9146951658) (Dept. CSE, Assistant professor of PRPCOE, SantGadge baba Amravati University, [email protected], contact no:9405352824) Abstract: Android “Naugat” (codenamed Android N in development) is the seventh major version of Android Operating System called Android 7.0. It was first released as a Android Beta Program build on March 9 , 2016 with factory images for current Nexus devices, which allows supported devices to be upgraded directly to the Android Nougat beta via over-the-air update. Nougat is introduced as notable changes to the operating system and its development platform also it includes the ability to display multiple apps on-screen at once in a split- screen view with the support for inline replies to notifications, as well as an OpenJDK-based Java environment and support for the Vulkan graphics rendering API, and "seamless" system updates on supported devices. Keywords: jellybean, kitkat, lollipop, marshmallow, naugat I. Introduction This research has been done to give you the best details toward the exciting new frontier of open source mobile development. Android is the newest mobile device operating system, and this is one of the first research to help the average programmer become a fearless Android developer.
    [Show full text]
  • Android Developers Can Seize the Day in Wearable Devices
    Serving the 21st Century Design Engineer Android Developers Can Seize the Day in Wearable Devices Renjith Ponnappan, eInfochips 11/26/2013 In the movie Dead Poets Society, Robin Williams whispers to his students, "Carpe diem," or "Seize the day." Today, Android device developers around the world are planning to incorporate new Android KitKat technology into wearable devices and seize their share of this lucrative new market. Developers are also wrestling with how to support their product lines while designing a completely new class of products. Wearable devices are pouring into the market with huge investments from cash-rich VCs such as Legend Capital, and with development assistance from resource-rich vendors such as Google, Intel, and Baidu. Recent big bets include $43 million in financing for wearable device company FitBit, Legend Capital's funding of Zepp Lab, and an investment by Intel in the ski glass pioneer Recon. On the development side, Intel started a New Device group led by a designer who worked on the popular Nike FuelBand, and Baidu has launched a site featuring wearable devices using its mobile operating system called Baidu Cloud. Driving the investments are forecasts for huge market demand. According to a Juniper Research report (subscription required), revenue from wearable industry sales will reach $19 billion in 2018 -- more than 13 times the $1.4 billion expected this year. World of Wearable Technology Applications Function with Style Serving the 21st Century Design Engineer KitKat is a wearable device watershed Until now, Android operating system (OS) technology wasn't optimized for small, low-power wearable devices.
    [Show full text]
  • Exploring the Prevalence and Evolution of Android Concerns: a Community Viewpoint
    Journal of Software Exploring the Prevalence and Evolution of Android Concerns: A Community Viewpoint Sherlock A. Licorish* Department of Information Science, University of Otago, PO Box 56, Dunedin 9054, New Zealand. Manuscript submitted May 3, 2016; accepted August 12, 2016. * Corresponding author. Tel.: 64 3 479 8319; email: [email protected] doi: 10.17706/jsw.11.9.848-869 Abstract: In line with growing awareness of the need for systems to adapt quickly to change, there has been increasing interest in the evolution of software systems. Research has particularly considered developer-led activities change over time. Comparatively less consideration has been given to the study of software evolution as driven by the wider community of stakeholders. Although, a project’s wider community is central to the feedback system and project success. We have contributed to such efforts and studied the evolution of architecture issues and non-functional requirements in the Android project, as identified by the wider Android community1. We mined the Android issues tracker, employing n-gram analysis in our examination of 21,547 issues. We observe that most architecture-related issues were located in Android application layer, and these issues increased with time. Additionally, usability-related concerns were reported most when they were held to be given greatest attention. Outcomes suggests that Android’s open model and shared ownership have positively impacted Google’s success, which could provide a useful lesson for other similar projects. Key words: Android, android architecture, android non-functional requirements, software evolution, data mining and N-gram analysis. 1. Introduction A large body of research has been directed to understanding various aspects of the software development process (as performed by humans), and particularly, how systems evolve.
    [Show full text]
  • Release Notes - Enterprise Home Screen V2.5
    Release Notes - Enterprise Home Screen v2.5 Important News Introduction Description Contents Device Compatibility Installation Requirements Installation Instructions Part Number and Release Date Important News EHS Support for all Jelly Bean (Android 4.1.2) devices and TC70 KitKat (Android 4.4.2) BSP version 112414 device is terminated - EHS v2.5 will support KitKat (except TC70 KitKat BSP version 112414) and higher OS versions. EHS v2.4 and earlier versions will still be available on the Support Portal for use on Jelly Bean devices and TC70 KitKat BSP version 112414. EHS Installer apk release is terminated - With the end of support for Jelly Bean devices and TC70 KitKat BSP version 112414, EHS v2.5 and higher will no longer distribute a separate installer APK for these devices. EHS v2.5 and higher will contain only one apk for all Zebra devices running KitKat (except TC70 KitKat BSP version 112414) and higher. Introduction Enterprise Home Screen (EHS) is a replacement application launcher for Symbol Android devices, designed to allow only specified applications to be launched. Description Added support for TC51/TC56, TC75x/TC70x Android Marshmallow 6.0.1 Added support for ET5X Android Lollipop 5.1.1 Added support for TC8000 Android Lollipop 5.1.1 Added support for TC70 Android Lollipop 5.1.1 Added support for TC75 Android Lollipop 5.1.1 Added support for MC67 Android KitKat 4.4 Added support for MC40 Android Lollipop 5.1.1 Added support for MC18 Android Lollipop 5.1.1 Added support for MC32 Android Lollipop 5.1.1 Removed Support for all Jelly Bean (Android 4.1.2) devices and TC70 KitKat (Android 4.4.2) BSP version 112414 device.
    [Show full text]
  • Co-Branding: a Sweet Business Strategy?
    COMMENTARY Co-branding: A sweet business strategy? By Kelly McCarthy, Esq., and Samantha Von Hoene Sideman & Bancroft In today’s brand-centric world, co-brands are over 23 new versions produced since the everywhere. From fast-food joints to credit original design was first sold in 1984.1 Benefits of co-branding card companies to fashion, co-branding has In a typical co-branding deal, two or more Introduce loyal customers of one been making its mark on business strategy companies come together and strategically brand to the other. since at least the 1950s. When brands merge, merge some of their own products, services, Build wider customer base for the results can propel a brand’s popularity designs, colors or logos to come up with new products and advertising. and success to soaring new heights. But a new marketable product or service. A Use another brand’s strong be careful — those same collaborations can successful pairing results in automatic reputation when trying something sometimes leave a brand fighting to save a credibility in the eyes of the consumer, new or different. once-polished reputation from tarnish and increasing popularity and sales for both of disrepair. the partnered brands. Save money. Create illusions of exclusivity through limited-edition or A successful pairing results in automatic credibility limited-duration products. in the eyes of the consumer, increasing popularity Elevate brand’s reputation, and sales for both of the partnered brands. popularity and financial success. Risks of co-branding Over the past 60 years, co-branding has been A co-branded product usually crosses into used to form a multitude of new partnerships.
    [Show full text]
  • Selectively Taming Background Android Applications
    Selectively Taming Background Android Apps to Improve Battery Lifetime Marcelo Martins Justin Cappos Rodrigo Fonseca Brown University New York University Brown University 2 Your Battery and You Active device high battery drainage Matches our battery life expectation 3 Your Battery and You Idle device expect low battery drain (?) Background activities break low-power harmony Energy bugs keep the device awake 4 Hidden Energy Drain Pure AOSP + Google Mobile Services 5 100 100 Pure AOSP Pure AOSP w/ Google M. Services w/ Google M. Services 80 80 (%) (%) 60 60 40 40 Battery LevelBattery Battery LevelBattery 20 20 0 0 0 20 40 60 80 100 120 140 0 50 100 150 200 250 ~1.8 days ~8.3 days Hours Hours Samsung Galaxy Nexus ASUS MeMO Pad 7 6 ) W AlarmManager ( 2 1 Power Power Pure AOSP 0 0 50 100 150 200 250 300 350 Timeline (s) AlarmManager NetworkLocationService GCoreFlp GeofencerStateMachine NlpCollectorWakeLock ) NlpWakeLock W ( UlrDispatchingService PendingIntentCallbackService NlpLocationReceiverService Power Power 3 Hidden Energy Drain 2 1 + Google Mobile Services 0 0 50 100 150 200 250 300 350 7 Timeline (s) What Can We Do Today? Reconfigure apps Uninstall/Switch apps Kill apps Change system settings 8 What Can We Do Today? Reconfigure apps Uninstall/Switch apps Kill apps Change system settings 9 What Can We Do Today? Reconfigure apps Uninstall/Switch apps Kill apps Change system settings 10 What Can We Do Today? Reconfigure apps Uninstall/Switch apps Kill apps Change system settings 11 TAMER Runtime mechanism to rate-limit background events
    [Show full text]
  • Spectralink 87-Series Version 1.7.0.12599 Release Notes
    Spectralink 87-Series Wireless Telephone Release Notes Spectralink 87-Series Software 1.7 Spectralink 87-Series Software 1.7 November 2015, v1 Release Notes Spectralink 87-Series Software Copyright Notice © 2014-2015 Spectralink Corporation. All rights reserved. SpectralinkTM, the Spectralink logo and the names and marks associated with Spectralink’s products are trademarks and/or service marks of Spectralink Corporation and are common law marks in the United States and various other countries. All other trademarks are property of their respective owners. No portion hereof may be reproduced or transmitted in any form or by any means, for any purpose other than the recipient’s personal use, without the express written permission of Spectralink. All rights reserved under the International and Pan-American Copyright Conventions. No part of this manual, or the software described herein, may be reproduced or transmitted in any form or by any means, or translated into another language or format, in whole or in part, without the express written permission of Spectralink Corporation. Do not remove (or allow any third party to remove) any product identification, copyright or other notices. Android™, Google™, Google Play™ and other marks are trademarks of Google, Inc. Notice Spectralink Corporation has prepared this document for use by Spectralink personnel and customers. The drawings and specifications contained herein are the property of Spectralink and shall be neither reproduced in whole or in part without the prior written approval of Spectralink, nor be implied to grant any license to make, use, or sell equipment manufactured in accordance herewith. Spectralink reserves the right to make changes in specifications and other information contained in this document without prior notice, and the reader should in all cases consult Spectralink to determine whether any such changes have been made.
    [Show full text]