gLCB: an energy aware context broker

https://doi.org/10.1016/j.suscom.2012.10.005Get rights and content

Abstract

Context

Worldwide mobile device sales will reach 821 Million units in 2012 and will rise to 1.2 Billion in 2013 [1]. Inevitably the paradigm for access information and Internet services is increasingly migrating to mobile. Context-aware services can help to improve the user experience because they can adapt themselves to the users’ context but, despite the improvements in terms of hardware, the the main obstacle towards a widespread adoption of such services is the limited battery life. A context-aware service requires the installation of a Context-Broker Application, which generates a continuous flow of data from the smartphone and a constant usage of its equipped sensors: as a consequence the considerable increase of energy consumption becomes a problem.

Aim

The aim of this work is to propose gLCB an Energy Efficient Context-Aware middleware for Android OS, which is able to collect Context Information and to send it to a remote platform in an energy-efficient way. The gLCB application proposes a new energy-aware data collection based on user profiles.

Methods

We define policies based on battery consumption profiles, which are selected depending on modifications of the context information. Moreover, we have implemented an automatic consumption testing mechanism and a statistical treatment of results to provide a reliable validation of gLCB in terms of energy efficiency.

Results

Experimental results show that our middleware got the best trade-off between number of server uploads and battery lifetime with the policies computed automatically by the device. This means that the way in which software is written can impact the energy consumption of a mobile device and service adaptation can be based on the actual value of the battery charge.

Introduction

The increasing proliferation of mobile devices and the intention of defining universal standards related to the mobile market, motivate many companies to implement context-aware standards, with the purpose of stimulating a rapid and wide adoption of a variety of useful applications.

A context-aware system has to be able to combine contextual information, which is related to the bounded environment. This info, called context data, is any information that can be used to characterize a specific entity situation [2].In this way it is possible to describe the actual situation, by determining some automatic behavioural variations or by notifying the user about some specific event. This kind of system has to be constantly in execution to gather raw data and to execute different types of operations based on context reasoning.

Context-Aware services collect contextual information automatically. With a wide range of possible user situations, it is important that services have a way to adapt appropriately to best support low battery scenarios. A system is context-aware whether it uses the context to provide relevant information and/or services to the user, where relevancy depends on the user's task.

Many approaches are not completely dynamic, flexible or effective when we need to automatically match battery consumption requirements in differing contexts. A Context and Energy Aware system has to be flexible and able to react to environment variations.

Many features of modern devices like high processor speed, more efficient displays, more powerful data storage and WiFi/GPRS/UMTS network adapters, and specific hardware to enable advanced 3D graphics, considerably influence the device energy costs. Current approaches are not able to implement energy-aware self-adaptation because they do not consider aspects related to context management policies.

Context can be used to find a lower energy consumption performance as well as implementing proper adaptation policies.

An energy aware context broker has to deal with:

  • Sensing: to detect as much contextual information as possible.

  • Transmission: to send gathered information to a context platform (for further processing).

  • Adaptation: to manage the energy cost caused by sensing and transmission phases.

The context broker should be able to collect (and to send) context data only when really needed to avoid useless duplicated data management. It is also fundamental to include the battery charge state in the optimization strategy the context broker is adopting: the context broker shall be able to manage the information granularity depending on the battery level.

It is also indispensable to respect the following fundamental principles [3] in order to reduce the energy consumption to the lowest possible level:

  • less work requires less energy,

  • event programming avoids polling,

  • multi-core environment programming,

  • periodic timer should be avoided and

  • the system should be scalable.

A context-aware application has to be able to minimize its operations in situations where the device is running out of energy [4]. In order to cut the device runtime operations, it is important:
  • to implement an efficient algorithm or to modify an existing one to reduce operations have to be carried out to a minimum,

  • to improve the compilation process by introducing optimizations based on target processor and

  • to prefer a compiled and optimized code instead of an interpreted one.

Nowadays, operating systems for mobile devices provide different APIs to check the battery state (e.g. battery charge percentage, battery technology and temperature). Software components can be notified whenever batteries state changes.

Energy Awareness is concerned with several aspects: the quantity of energy that is used, what this energy is used for, where it comes from, the resulting effects (e.g. environment impact, resources consumption). In addition it poses the problem of how to reduce the energy consumption and its collateral effects.

Our previous work [5], [6] demonstrated a relationship between software and energy consumption. Even if software does not consume energy directly, however it has a direct influence on the energy consumption of the hardware underneath. As a matter of fact applications and operating systems indicate how the information is processed and, consequently, drive the hardware behaviour. We think that writing energy efficient code in a mobile environment can be more appreciated by users because there is a direct effect on their mobile batteries lifetime.

The energy-aware middleware we are going to introduce in this paper uses certain resources (i.e. GPS, Bluetooth) related to different operations that have a high impact on energy consumption.

gLCB implements features, which focus on reducing the energy consumption by avoiding the execution of redundant operations.

The rest of this paper is organized as follows. Section 2 describes the main characteristics of our Context-Awareness Platform. Section 3 describes characteristics of the architecture and the components of gLCB, Section 4 describes our validation criteria, Section 5 introduces results, Section 6 includes related works and finally, Section 7 includes conclusions and future work.

Section snippets

Context awareness platform

gLCB is responsible of retrieving context information through device hardware sensors, and it is also responsible of delivering such data to a Context Awareness Platform (CAP) [7].

The CAP allows the collection of context data from users’ devices. Context data can eventually be processed by other components of the platform and become high-level context information (e.g. GPS coordinates can be translated into a civil address). This process is called reasoning [8].

Fig. 1 describes the functional

gLCB

The middleware software we developed for Android OS, is based on two levels: the first one is associated to the local context broker, and the second one to the sensors layer. The lower level establishes a communication channel to the higher level by sharing an interface. Mobile context-aware applications can rely on the local context broker to retrieve context data. To do so, the application is requested to bind to the LCB [9] service; when the binding is established, the application can

Validation criteria

We chose an empirical approach to demonstrate the algorithm optimization effectiveness and we employed two different techniques to measure our middleware energy consumption. The first technique – “user side” – measures the time required by each profile to run out the phone battery (time measurements), while the second –“lab side” – aims at measuring the instant power consumption of each different user profile (instant power measurements).

For both the approaches we scheduled the execution of a

Time measurements

The complete battery discharge curves for each profile are presented in Fig. 7. We can easily appreciate the non-linearity of the behaviour, which represents the main reason that led us to consider the total discharge time. In the figure, the rightmost abscissa reached by each profile represents the time required to achieve a 5% charge level: this is the time we consider as the total discharge time.

Table 8 reports, for each user profile, the total discharge time. The different profiles

Related work

The energy issue is becoming very important in particular for mobile handsets [10]. In the literature can be found some approaches, which aim at reducing mobile applications power consumption based on context information. The context information retrieval is not the main feature of these applications but it is a side effect needed to implement the policies to save energy.

Flinn and Satyanarayanan [11] show that there is a relationship between OS and some applications, which can be used to

Conclusions

The main goal of context-aware systems is to provide relevant information, and/or services, based on current user context. In this paper we analysed the energy consumption behaviour of gLCB: a context-aware middleware, which runs in background in Android OS based mobile phones, and sends context information to a remote platform.

We described the architecture of gLCB, which is designed to adapt its behaviour on the basis of the remaining battery information.

We analysed some principles based on

Luca Ardito is a PhD student at Politecnico di Torino in the Software Engineering research group. He received both his BSc and MSc in Computer Engineering from Politecnico di Torino. He graduated in February 2010 with a Master's Thesis titled “Energy Aware Software”. He serves on the program committee of IARIA ENERGY international conference and GREENS workshop. His current research interests are: context awareness, green software, empirical software engineering methodologies and mobile

References (22)

  • L. Boszormenyi et al.

    Metadata driven adaptation in the admits project

    Signal Processing: Image Communication

    (2003)
  • R. Van der Meulen

    Gartner says 821 million smart devices will be purchased worldwide, in 2012

  • G. Abowd et al.

    Towards a better understanding of context and context-awareness

  • G. Kaefer

    Green SW Engineering: Ideas for Including Energy Efficiency into your Software Projects

  • J. Lorch et al.

    Software strategies for portable computer energy management

    IEEE Personal Communications

    (1998)
  • A. Vetro’ et al.

    Monitoring it power consumption in a research center: seven facts

  • G. Procaccianti et al.

    Profiling power consumption on desktop computer systems

  • P. Falcarin et al.

    Context data management: an architectural framework for context-aware services

    Service Oriented Computing and Applications

    (2012)
  • B. Beamon et al.

    Hycore towards a generalized hierarchical hybrid context reasoning engine

  • L. Lamorte et al.

    A platform for enabling context aware telecommunication services

  • J.F. Mejia Bernal et al.

    Towards an Efficient Context-Aware System: Problems and Suggestions to Reduce Energy Consumption in Mobile Devices

    (2010)
  • Cited by (0)

    Luca Ardito is a PhD student at Politecnico di Torino in the Software Engineering research group. He received both his BSc and MSc in Computer Engineering from Politecnico di Torino. He graduated in February 2010 with a Master's Thesis titled “Energy Aware Software”. He serves on the program committee of IARIA ENERGY international conference and GREENS workshop. His current research interests are: context awareness, green software, empirical software engineering methodologies and mobile development.

    Marco Torchiano is an associate professor at Politecnico di Torino, Italy; he has been post-doctoral research fellow at Norwegian University of Science and Technology (NTNU), Norway. He received an MSc and a PhD in Computer Engineering from Politecnico di Torino, Italy. He is author or coauthor of more than 100 research papers published in international journals and conferences. He is the co-author of the book ‘Software Development—Case studies in Java’ from Addison-Wesley, and co-editor of the book ‘Developing Services for the Wireless Internet’ from Springer. His current research interests are: design notations, Model-Driven development, OTS-based development and software engineering for mobile and wireless applications. The methodological approach he adopts is that of empirical software engineering.

    Marco Marengo is a Mobile Software Engineer at Telecom Italia s.p.a.; he currently works in the Research & Trends division and is responsible for the design and prototyping of mobile applications on mobile platforms (iOS and Android). His research interests include mobile social networking, augmented reality and software ergonomics. He has participated to several FP6 and FP7 European Research Projects including CIP ICT-PSP Life 2.0.

    Paolo Falcarin is a senior lecturer at University of East London, UK, where he leads the MSc Software Engineering Programme. He has been post-doctoral research fellow at Politecnico di Torino, Italy, where he received an MSc and a PhD in Computer Engineering. He is author or coauthor of more than 60 research papers published in international journals and conferences. His current research interests are: context-aware systems, service modelling and composition, software protection and reverse engineering.

    View full text