10 research outputs found

    User-Centric Power Management For Mobile Operating Systems

    Get PDF
    The power consumption of mobile devices must be carefully managed to provide a satisfied battery life to users. This target, however, recently has become more and more difficult to complete. We still cannot expect the battery life problem be solved economically shortly, even though researchers already addressed many aspects of this problem. Principally, that\u27s because existing power management systems, which concentrate on controlling hardware power states, cannot effectively make these hardware components work in low-power mode. Why is this the case? Based on our analysis of 14 users\u27 device usage trace, we found that background applications generate too many activities when the device is either idle or active. These activities are either unimportant or unnecessary for the user. However, a significant amount of CPU time was consumed by them. Moreover, these application activities cause many system services to consume a considerable quantity of battery energy. When we install more applications on our mobile devices, this situation will become even worse. Most application developers rarely consider the power consumption of applications. How to control application state and eliminate redundant application activities become more and more important. Existing power management systems, apparently, cannot handle this situation. Some publications already tried to solve the problem several years ago. For example, EcoSystem and Cinder operating systems try to allocate battery energy precisely to applications based on their requirements. However, the problem with their solution is that the estimated application power consumption cannot accurately represent its reasonable demand. Energy-aware adaptation is another solution to decrease application power consumption. In our previous research, we implemented the {\em Anole} framework to supply energy adaptation APIs to applications. To use this framework, application developers have to implement power-saving strategies in their program. In the operating system, we need to change application behavior automatically in energy adaptation mode. We noticed the latest iOS operating system implemented the idea; the system notifies users to turn off background application update when the battery level is lower than 20%20\%. However, this kind of uniformity in power management can hardly be accepted by most users, because user habits are different from each other. We need to customize the power management strategy for each user. Otherwise, the user experience may be significantly impacted. To solve this problem, we propose user-centric power management, which utilizes the usage pattern of the individual user to distinguish important application from regular applications. Energy-saving strategies will not influence important applications to the user. From the analysis of 14 users\u27 device usage traces, we found that most users\u27 user behavior follows their pattern, which is both time-dependent and location-dependent. Based on this observation, we propose the UPS power management, which collects user behaviors and analyzes the usage pattern of users. We can easily use it to bridge usage behavior to energy-saving strategies. We also proposed three energy-saving strategies, UCASS, LocalLite and WakeFilter, to optimize the redundancy in background application activities and location service usage, and the abuse of in wakelock usage. Our simulation result based on real device usage traces shows that these three strategies can effectively save battery energy consumed background application activities, location requests, and wakelock requests

    Optimierung des Energieverbrauchs bei mobilen Applikationen

    Get PDF
    Entwickler von mobilen Applikationen wissen nach der Lektüre dieser Bachelorarbeit, wie sie die Energieeffizienz einer App maximieren können. Es werden konkrete Handlungsempfehlungen gegeben, wie rechen- oder kommunikationsintensive Applikationen optimiert werden können, um die Akkulaufzeit zu erhöhen

    A Survey of Performance Optimization for Mobile Applications

    Get PDF
    Nowadays there is a mobile application for almost everything a user may think of, ranging from paying bills and gathering information to playing games and watching movies. In order to ensure user satisfaction and success of applications, it is important to provide high performant applications. This is particularly important for resource constraint systems such as mobile devices. Thereby, non-functional performance characteristics, such as energy and memory consumption, play an important role for user satisfaction. This paper provides a comprehensive survey of non-functional performance optimization for Android applications. We collected 155 unique publications, published between 2008 and 2020, that focus on the optimization of non-functional performance of mobile applications. We target our search at four performance characteristics, in particular: responsiveness, launch time, memory and energy consumption. For each performance characteristic, we categorize optimization approaches based on the method used in the corresponding publications. Furthermore, we identify research gaps in the literature for future work

    Elastic phone : towards detecting and mitigating computation and energy inefficiencies in mobile apps

    Get PDF
    Mobile devices have become ubiquitous and their ever evolving capabilities are bringing them closer to personal computers. Nonetheless, due to their mobility and small size factor constraints, they still present many hardware and software challenges. Their limited battery life time has led to the design of mobile networks that are inherently different from previous networks (e.g., wifi) and more restrictive task scheduling. Additionally, mobile device ecosystems are more susceptible to the heterogeneity of hardware and from conflicting interests of distributors, internet service providers, manufacturers, developers, etc. The high number of stakeholders ultimately responsible for the performance of a device, results in an inconsistent behavior and makes it very challenging to build a solution that improves resource usage in most cases. The focus of this thesis is on the study and development of techniques to detect and mitigate computation and energy inefficiencies in mobile apps. It follows a bottom-up approach, starting from the challenges behind detecting inefficient execution scheduling by looking only at apps’ implementations. It shows that scheduling APIs are largely misused and have a great impact on devices wake up frequency and on the efficiency of existing energy saving techniques (e.g., batching scheduled executions). Then it addresses many challenges of app testing in the dynamic analysis field. More specifically, how to scale mobile app testing with realistic user input and how to analyze closed source apps’ code at runtime, showing that introducing humans in the app testing loop improves the coverage of app’s code and generated network volume. Finally, using the combined knowledge of static and dynamic analysis, it focuses on the challenges of identifying the resource hungry sections of apps and how to improve their execution via offloading. There is a special focus on performing non-intrusive offloading transparent to existing apps and on in-network computation offloading and distribution. It shows that, even without a custom OS or app modifications, in-network offloading is still possible, greatly improving execution times, energy consumption and reducing both end-user experienced latency and request drop rates. It concludes with a real app measurement study, showing that a good portion of the most popular apps’ code can indeed be offloaded and proposes future directions for the app testing and computation offloading fields.Los dispositivos móviles se han tornado omnipresentes y sus capacidades están en constante evolución acercándolos a los computadoras personales. Sin embargo, debido a su movilidad y tamaño reducido, todavía presentan muchos desafíos de hardware y software. Su duración limitada de batería ha llevado al diseño de redes móviles que son inherentemente diferentes de las redes anteriores y una programación de tareas más restrictiva. Además, los ecosistemas de dispositivos móviles son más susceptibles a la heterogeneidad de hardware y los intereses conflictivos de las entidades responsables por el rendimiento final de un dispositivo. El objetivo de esta tesis es el estudio y desarrollo de técnicas para detectar y mitigar las ineficiencias de computación y energéticas en las aplicaciones móviles. Empieza con los desafíos detrás de la detección de planificación de ejecución ineficientes, mirando sólo la implementación de las aplicaciones. Se muestra que las API de planificación son en gran medida mal utilizadas y tienen un gran impacto en la frecuencia con que los dispositivos despiertan y en la eficiencia de las técnicas de ahorro de energía existentes. A continuación, aborda muchos desafíos de las pruebas de aplicaciones en el campo de análisis dinámica. Más específicamente, cómo escalar las pruebas de aplicaciones móviles con una interacción realista y cómo analizar código de aplicaciones de código cerrado durante la ejecución, mostrando que la introducción de humanos en el bucle de prueba de aplicaciones mejora la cobertura del código y el volumen de comunicación de red generado. Por último, combinando la análisis estática y dinámica, se centra en los desafíos de identificar las secciones de aplicaciones con uso intensivo de recursos y cómo mejorar su ejecución a través de la ejecución remota (i.e.,"offload"). Hay un enfoque especial en el "offload" no intrusivo y transparente a las aplicaciones existentes y en el "offload"y distribución de computación dentro de la red. Demuestra que, incluso sin un sistema operativo personalizado o modificaciones en la aplicación, el "offload" en red sigue siendo posible, mejorando los tiempos de ejecución, el consumo de energía y reduciendo la latencia del usuario final y las tasas de caída de solicitudes de "offload". Concluye con un estudio real de las aplicaciones más populares, mostrando que una buena parte de su código puede de hecho ser ejecutado remotamente y propone direcciones futuras para los campos de "offload" de aplicaciones.Postprint (published version

    Smartphone sensing meets transport data: A collaborative framework for transportation service analytics

    Get PDF
    National Research Foundation (NRF) Singapore under International Research Centres in Singapore Funding Initiativ

    Elastic phone : towards detecting and mitigating computation and energy inefficiencies in mobile apps

    Get PDF
    Mobile devices have become ubiquitous and their ever evolving capabilities are bringing them closer to personal computers. Nonetheless, due to their mobility and small size factor constraints, they still present many hardware and software challenges. Their limited battery life time has led to the design of mobile networks that are inherently different from previous networks (e.g., wifi) and more restrictive task scheduling. Additionally, mobile device ecosystems are more susceptible to the heterogeneity of hardware and from conflicting interests of distributors, internet service providers, manufacturers, developers, etc. The high number of stakeholders ultimately responsible for the performance of a device, results in an inconsistent behavior and makes it very challenging to build a solution that improves resource usage in most cases. The focus of this thesis is on the study and development of techniques to detect and mitigate computation and energy inefficiencies in mobile apps. It follows a bottom-up approach, starting from the challenges behind detecting inefficient execution scheduling by looking only at apps’ implementations. It shows that scheduling APIs are largely misused and have a great impact on devices wake up frequency and on the efficiency of existing energy saving techniques (e.g., batching scheduled executions). Then it addresses many challenges of app testing in the dynamic analysis field. More specifically, how to scale mobile app testing with realistic user input and how to analyze closed source apps’ code at runtime, showing that introducing humans in the app testing loop improves the coverage of app’s code and generated network volume. Finally, using the combined knowledge of static and dynamic analysis, it focuses on the challenges of identifying the resource hungry sections of apps and how to improve their execution via offloading. There is a special focus on performing non-intrusive offloading transparent to existing apps and on in-network computation offloading and distribution. It shows that, even without a custom OS or app modifications, in-network offloading is still possible, greatly improving execution times, energy consumption and reducing both end-user experienced latency and request drop rates. It concludes with a real app measurement study, showing that a good portion of the most popular apps’ code can indeed be offloaded and proposes future directions for the app testing and computation offloading fields.Los dispositivos móviles se han tornado omnipresentes y sus capacidades están en constante evolución acercándolos a los computadoras personales. Sin embargo, debido a su movilidad y tamaño reducido, todavía presentan muchos desafíos de hardware y software. Su duración limitada de batería ha llevado al diseño de redes móviles que son inherentemente diferentes de las redes anteriores y una programación de tareas más restrictiva. Además, los ecosistemas de dispositivos móviles son más susceptibles a la heterogeneidad de hardware y los intereses conflictivos de las entidades responsables por el rendimiento final de un dispositivo. El objetivo de esta tesis es el estudio y desarrollo de técnicas para detectar y mitigar las ineficiencias de computación y energéticas en las aplicaciones móviles. Empieza con los desafíos detrás de la detección de planificación de ejecución ineficientes, mirando sólo la implementación de las aplicaciones. Se muestra que las API de planificación son en gran medida mal utilizadas y tienen un gran impacto en la frecuencia con que los dispositivos despiertan y en la eficiencia de las técnicas de ahorro de energía existentes. A continuación, aborda muchos desafíos de las pruebas de aplicaciones en el campo de análisis dinámica. Más específicamente, cómo escalar las pruebas de aplicaciones móviles con una interacción realista y cómo analizar código de aplicaciones de código cerrado durante la ejecución, mostrando que la introducción de humanos en el bucle de prueba de aplicaciones mejora la cobertura del código y el volumen de comunicación de red generado. Por último, combinando la análisis estática y dinámica, se centra en los desafíos de identificar las secciones de aplicaciones con uso intensivo de recursos y cómo mejorar su ejecución a través de la ejecución remota (i.e.,"offload"). Hay un enfoque especial en el "offload" no intrusivo y transparente a las aplicaciones existentes y en el "offload"y distribución de computación dentro de la red. Demuestra que, incluso sin un sistema operativo personalizado o modificaciones en la aplicación, el "offload" en red sigue siendo posible, mejorando los tiempos de ejecución, el consumo de energía y reduciendo la latencia del usuario final y las tasas de caída de solicitudes de "offload". Concluye con un estudio real de las aplicaciones más populares, mostrando que una buena parte de su código puede de hecho ser ejecutado remotamente y propone direcciones futuras para los campos de "offload" de aplicaciones

    Yhteisöllinen energiatehokkuus mobiililaitteilla

    Get PDF
    We have created a mobile energy measurement application and gathered energy measurement data from over 725,000 devices, running over 300,000 applications, in heterogeneous environments, and constructed models of what is normal in each context for each application. We have used this data to find energy abnormalities in the wild, and provide users of our application advice on how to deal with them. These abnormalities cannot be discovered in laboratory conditions due to the rich interaction of the smartphone and its operating environment. Employing a collaborative mobile energy awareness application with thousands of users allows us to gather a large amount of data in a short time. Such a large and diverse dataset has helped us answer many research questions. Our work is the first collaborative approach in the area of mobile energy debugging. Information received from each device running our application improves the advice given to other users running the same applications. The author has developed a context data gathering hub for smartphones, discovered the need for a common API that unifies network connectivity, energy awareness, and user experience, and investigated the impact of mobile collaborative energy awareness applications, to find previously unknown energy bugs on smartphones, and to improve users' knowledge of smartphone energy behavior.Viime vuosien aikana älypuhelinten laitteistot ovat kehittyneet entistä tehokkaammiksi, mutta akkuteknologia ei ole kehittynyt yhtä nopeasti. Tämä on synnyttänyt tarpeen tehostaa sekä laitteiston että ohjelmiston energiatehokkuutta. Älypuhelimen energiatehokkuuden optimointi on haastavaa, koska toimintaympäristö on moninainen ja käsittää paitsi laitteiston ja sen asetukset, niin myös sovellukset, jotka käyttävät laitteiston toimintoja. Tässä väitöstyössä on keskitytty mobiililaitteiden energiaongelmien ja poikkeamien löytämiseen ja niiden korjaamiseen. Väitöskirja käsittelee yhteisöllisen metodin käyttöä energiankulutukseen liittyvien epätehokkuuksien löytämisessä ja korjaamisessa mobiililaitteilla. Tätä metodia on ensimmäistä kertaa sovellettu mobiililaitteille väitöstyöhön liittyvässä Carat-projektissa. Projektissa on luotu energianmittaussovellus mobiililaitteille ja kerätty energiamittauksia yli 725 000 laitteelta ja 300 000 sovelluksesta monipuolisissa ympäristöissä. Näiden pohjalta on tehty malleja sovellusten normaalista energiankulutuksesta eri konteksteissa. Tietojen ja mallien avulla on löydetty energiapoikkeavuuksia tavallisessa käytössä olevilta laitteilta ja annettu sovelluksen käyttäjille neuvoja poikkeavuuksien korjaamiseen. Väitöstyön aikana kerätty suurikokoinen ja monipuolinen aineisto on auttanut vastaamaan moniin kysymyksiin koskien älypuhelinten energiankulutusta arkikäytössä. Kaikkia poikkeavuuksia ei voida löytää laboratorio-olosuhteissa, sillä mobiililaitteen ympäristö vaikuttaa vahvasti sen toimintaan. Esitetty menetelmä on ensimmäinen, joka soveltaa yhteisöllistä lähestymistapaa mobiililaitteiden energiaongelmien löytämiseen. Kirjoittaja on kehittänyt kontekstitietojen keräysratkaisun älypuhelimille. Hän on huomannut tarpeen järjestelmälle, joka yhdistää mobiililaitteen tilanteen, käytön, energiatehokkuuden ja käyttäjäkokemuksen. Työssä on kehitetty uusi menetelmä energiapoikkeamien analyysiin yhteisöllisesti kerättyjen mittausten perusteella sekä tutkittu energiatehokkuussovellusten vaikutusta eri mobiililaitteilla. Näiden avulla on löydetty ennen tuntemattomia energiaongelmia älypuhelimista ja parannettu käyttäjien ymmärrystä älypuhelinten energiakäyttäytymisestä

    Preventing Capability Abuse through Systematic Analysis of Exposed Interface

    Full text link
    Connectivity and interoperability are becoming more and more critical in today’s software and cyber-physical systems. Different components of the system can better collaborate, enabling new innovation opportunities. However, to support connectivity and interoperability, systems and applications have to expose certain capabilities, which inevitably expands their attack surfaces and increases the risk of being abused. Due to the complexity of software systems and the heterogeneity of cyber-physical systems, it is challenging to secure their exposed interfaces and completely prevent abuses. To address the problems in a proactive manner, in this dissertation, we demonstrate that systematic studies of exposed interfaces and their usage in the real world, leveraging techniques such as program analysis, can reveal design-level, implementation-level, as well as configuration-level security issues, which can help with the development of defense solutions that effectively prevent capability abuse. This dissertation solves four problems in this space. First, we detect inconsistent security policy enforcement, a common implementation flaw. Focusing on the Android framework, we design and build a tool that compares permissions enforced on different code paths and identifies the paths enforcing weaker permissions. Second, we propose the Application Lifecycle Graph (ALG), a novel modeling approach to describing system-wide app lifecycle, to assist the detection of diehard behaviors that abuse lifecycle interfaces. We develop a lightweight runtime framework that utilizes ALG to realize fine-grained app lifecycle control. Third, we study real-world programmable logic controller programs for identifying insecure configurations that can be abused by adversaries to cause safety violations. Lastly, we conduct the first systematic security study on the usage of Unix domain sockets on Android, which reveals both implementation flaws and configuration weaknesses.PHDComputer Science & EngineeringUniversity of Michigan, Horace H. Rackham School of Graduate Studieshttps://deepblue.lib.umich.edu/bitstream/2027.42/149960/1/yurushao_1.pd

    Energy optimization in Android applications through wakelock placement

    No full text

    Energy optimization in Android applications through wakelock placement

    No full text
    corecore