This thesis proposes a novel power management solution for the resource-constrained devices in the context of Internet of Things (IoT). We focus on smartphones in the IoT, as they are getting increasingly popular and equipped with strong sensing capabilities.
Smartphones have complex and chaotic asynchronous power consumption incurred by heterogeneous components including their on board sensors. Their interaction with the cloud can support computation offloading and remote data access via the network. In this work, we aim at monitoring the power consumption behaviours of smartphones and profiling individual applications and platform to make better decisions in power management.
A solution is to design architecture of cloud orchestration as an epic predictor of the behaviours of smart devices with respect to time, location, and context. We design and implement this architecture to provide an integrated cloud-based energy monitoring service. This service enables the monitoring of power consumption on smartphones and support data analysis on massive data logs collected by a large number of users.
IoT is a convergence of a number of technologies such as sensors, IPv6, wireless communication and the Internet. Any real-world objects become smart just by satisfying a few conditions but are not limited to 1) uniquely identifiable; 2) being able to sense or actuate, and 3) being able to communicate.
The term energy efficiency is referred to the way of achieving more services for the same amount of energy, or the same services for less amount of energy,until otherwise specified.
Q1-Domain Knowledge: Do we have enough domain knowledge to provide an outstanding energy efficient data communications? What are the other factors worth considering? Why?
Q2-Cloud Solutions: Big data, large-scale cloud computing and services, crowdsourcing and IoT are new concepts that are aiming to boost data-driven intelligence and insights. How to integrate these concepts to design an architecture for energy efficiency?
Q3-Self Efficiency: Is energy consumption of the proposed optimizer within the service-enabled devices less than the energy efficiently made utilized?
Within the time frame and scope of the master thesis the following tasks are possible as future works.
Deploying a fully functional smart profiler with the scale demanded by
crowdsourcing: In the case of crowdsourcing it is challenging to get fine-grained logs of system level data. It is sophisticated to study in laboratory conditions by customizing OS image and to use advanced kernel level tools.
Integrating various cloud services as the orchestration that coordinates
and enables energy efficiency in the participating devices: It is not so easy to set-up and configure cloud services in a short period of time from different vendors. It has the limitations of the cross-communication and linking of best services.
In this section, we highlight fundamental concepts and information needed for the thesis.
Android: System and Performance Constraints:
Android™ is an open source system software stack, built on top of the Linux kernel, that provides services and supports a variety of (mobile) devices. Figure 2.1 shows the Android software stack and the architecture of the Android operating system that are referred by applications developers, hardware developers, Original Equipment Manufactures (OEM) and carriers.
Data communication is, in essence, digital data transmission between two or more computerized systems or computing devices, namely smartphone (client or peer) and cloud (server) via an interconnected telecommunication medium such as the Internet.
METHOD AND IMPLEMENTATION
IoT initially had two visions, one is the Things oriented vision and the other is the Internet-oriented vision. The Things vision emphasizes on the sensing and communication capability of different types of smart devices, which can be standalone or embedded into different real-world objects. The Internet vision focuses on the connectivity of the smart devices and their interaction with the Internet.
Cloud Orchestration for Energy Efficiency:
The main goal of our system design is to provide energy-efficient decision(s) back to the service enabled smartphones which are participating in the Orchestration. Orchestration, the concept existing in the music world was adopted in process automation of business world by automating, coordinating and managing complex systems, middlewares and services.
EEaaS Orchestration Architecture:
We propose a cloud orchestration architecture, called EEaaS, for power management of IoT devices in Figure 3.1 . The design is open and flexible which makes it easy to add, remove and merge with new models and services at any granular level in the orchestrator. The orchestrator coordinates the following components, including Participating Devices, Data Processor, Big data storage, Knowledge graph, Wisdom box, Control box and Decision Enhancer.
Architectural Layers in the IoT Context:
In the general architecture of IoT is well explained as four layers. Generally, Perception Layer is where all the information collected from the envionment using specialized equipment such as sensors.
Considering the smart phones nowadays, the perception layer may include the on-board sensors such as a camera, microphone, GPS, light sensor, accelerometer, and gyroscope, etc. It is the layer that provides the digital representation of the physical world. Network Layer is for communication and transmission of information.
Energy-Efficient Data Profiling and Communication:
Given that data communication is one of the biggest challenges for energy efficiency, cloud-assisted data profiling would seem counter intuitive. Our system design takes smart logging with minimal data communications to reduce the overhead.
In this section, we explain the prototype development in iterations, tools used and experimental set-up.
The smartphone is a system-on-chip architecture with three key components, Application processor to handle user applications, Modem processor to handle transmission, and reception and Peripheral devices (I/O) to interact with users. In smartphones, the power consumption of any I/O component is often higher than the power consumption of the CPU or at the least comparable.
Power States and Data Logging:
The Advanced Configuration and Power Interface (ACPI) specification has been evolving as common hardware interfaces in Operating System-directed configuration and Power Management (OSPM) for both the end devices and the entire system.
Analysis for Energy-Efficient Profiling:
Understanding the characteristics of applications and energy consumption patterns on the smartphones are very useful for reducing the energy consumption in the profiling process itself.
Through simple analysis, we can make initial observations on what applications consume the most energy and what applications consume insignificant amount. Our profiler can use this information to reduce the amount of data being collected on resource utilization.
In this paper, we proposed a novel cloud orchestration framework for improving energy efficiency for smartphones in the IoT. The major advantage of this cloud orchestration is that it supports dynamic workflow and configuration of different processes and services. We have described the components of the orchestration and their interactions. Our architecture design is flexible so that new components and advanced functions can be added to the system easily.
The big data, knowledge graph, control box are openly accessible, so that both single user and mass collaborators can participate and add new methods to the system. We have conducted experiments using real resource utilization traces collected by four mobile users in a three month period. The results demonstrated that our profiler can successfully characterize the energy consumption of different applications and identify the most power consumption applications.
It can also give feedbacks to the energy profiler to reduce energy consumption in data logging. The amount of data logs can be reduced significantly through learning the key energy indicators and application characteristics. This iterative learning process can progressively reduce the communication and computation overhead in energy profiling. There is a great potential that the big data knowledge can be used for solving other problems as well, such as energy bug detection, etc.
In the future, we would like to investigate advanced data mining and data filtering techniques to further reduce energy consumption in energy profiling. We will explore how data logging and communication can be optimized considering the application characteristics, usage pattern and operation context.
Source: Uppsala University
Author: Peramanathan Sathyamoorthy