gLCB: an energy aware context broker
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.
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.
- •
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.
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)
- et al.
Metadata driven adaptation in the admits project
Signal Processing: Image Communication
(2003) Gartner says 821 million smart devices will be purchased worldwide, in 2012
- et al.
Towards a better understanding of context and context-awareness
Green SW Engineering: Ideas for Including Energy Efficiency into your Software Projects
- et al.
Software strategies for portable computer energy management
IEEE Personal Communications
(1998) - et al.
Monitoring it power consumption in a research center: seven facts
- et al.
Profiling power consumption on desktop computer systems
- et al.
Context data management: an architectural framework for context-aware services
Service Oriented Computing and Applications
(2012) - et al.
Hycore towards a generalized hierarchical hybrid context reasoning engine
- et al.
A platform for enabling context aware telecommunication services
Towards an Efficient Context-Aware System: Problems and Suggestions to Reduce Energy Consumption in Mobile Devices
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.