A sensor-based power management system for sustainable computing in large environments
A sensor-based power management system for sustainable computing in large environments
Authorized licensed use limited to: Corporacion Universitaria de la Costa. Downloaded on March 02,2025 at 21:27:04 UTC from IEEE Xplore. Restrictions apply.
To this purpose, all modern operating systems allow the user to • User Presence Detection. Presence detectors allow to
enable automated power management (e.g., hibernating the PC suspend/power off the PC also during idle periods that
after a pre-defined idle period). However users typically do not occur sporadically (e.g., due a meeting or class) and,
enable such mechanism, in order to avoid its negative side hence, cannot be predicted in advance and reflected into
effects. the system through specific control rules. Information
In this perspective Gicomp [4] allows to automatically provided by presence detectors is used by the system to
install/modify power management policies on PCs in large determine if the user is within the working area, or not.
computing environments. Policies are decided by the Whenever the system detects that the user is away from
organization management and installed by the network her/his working area, it sends a shutdown (or
administrator through the system (i.e., without any user suspension) command to the PC. Conversely, as soon as
intervention). Specifically, Gicomp allows to define the time to the system detects the user presence nearby the working
dim and turn off the display, the disk spin down timeout, the area, it sends a Magic Packet (see below) to her/his PC
suspend timeout, the hibernate timeout, and other options, for powering it on (if it was previously suspended or
according to what the operating system offers. Of course, powered off).
Gicomp can be effective only if power management strategies • Remote Control. E-Net-Manager also allows users to
can be decided centrally and cannot be disabled by the user. remotely control their own PCs. To this end, each user
To overcome the limitations of the previous power can access her/his personal account on the system and
management systems, in this paper we propose a E-Net- check the status of each registered PC (i.e., whether it is
Manager, a sensor-based system that leverages information on, off, or sleeping). In addition, the user can perform
provided by sensors, in addition to user-defined rules. specific actions, depending on the state of the PC. For
Basically, the PC is switched off when the user is leaving instance, it is possible to turn off or suspend an active
her/his working area, and resumed when she/he approaches it. PC, or switch on a sleeping PC.
To this purpose, presence detectors are used. In principle, any
kind of device could be used to detect the presence/absence of In addition to implement the above described strategies, E-
the user in the working area. In practice, to be cost effective, E- Net-Manager also provides the following features.
Net-Manager relies on devices that are already available in the • Security and privacy. Each communication within the
environment and are typically used for other purposes. Hence, system is secured through encryption and authentication
they do not require any additional cost. The list of such sensors so as to prevent malicious users from accessing critical
includes attendance recorders, card-enabled doors, Bluetooth- information (e.g., presence of a user or status of a PC).
enabled phones, and software tools such as Google Calendar. • Low intrusiveness. The system operates transparently to
The rest of the paper is organized as follows. Section II the user (i.e., without any interaction) while trying, at
presents the power management strategies implemented in E- the same time, to avoid any possible discomfort to
Net-Manager. Section III discusses the system architecture, her/him.
while Section IV provides some implementation details. • Interoperability. The system can manage any PC,
Section V concludes the paper. irrespective of its operating system.
Authorized licensed use limited to: Corporacion Universitaria de la Costa. Downloaded on March 02,2025 at 21:27:04 UTC from IEEE Xplore. Restrictions apply.
of a special packet called Magic Packet containing the MAC the server machine sends a “power on” command to the Proxy.
address of the target PC. Then, the Proxy sends the Magic Packet to the target PC.
The eXtensible Messaging and Presence Protocol (XMPP) The Client part of the system consists of all those PCs that
[6] is a message-oriented communication protocol based on are under the control of the power management system. Our
XML. XMPP is used for communication between the different system requires that a simple software module (client module)
components of the system (i.e., PCs, server, proxies, and is installed on each PC. The behavior of the client module is
sensors). Specifically, each PC is an XMPP independent node fully transparent to the user. Whenever a rule defined for a PC
with its own identifier (called JID). Similarly, the server has its becomes active, or a sensor detects the user's absence, the
own JID. Hence, all information exchanged within the system Power Manager sends a “power off” (“suspension”) command
forms XML streams. In XMPP, connections are started by to the PC. The client module on the PC is in charge of
clients and are persistent. This allows a bidirectional receiving and executing this command. However, to limit the
communication also in networks with NAT servers or intrusiveness of power management, it preliminary checks
Firewalls. The connection between a PC and the Server can be whether the command can be actually executed. For instance, a
created with both SSL and TLS encryption, thus achieving “power off” (or “suspension”) command is aborted, and
communication confidentiality and server authentication. deferred, if the client module detects a mouse or keyboard
Clients are authenticated using SASL (Simple Authentication activity.
and Security Layer) through JID-password pairs. The last, but not least important, component of our system
is made up by presence detectors. While, in principle, any
Sensors
Server device can be potentially used in E-Net-Manager to detect the
Time card
presence/absence of the user within/from the working area, the
Bluetooth system is conceived to leverage presence detectors that are
Google already available in the environment for other purposes, e.g.,
Calendar
attendance recorders, card-enabled doors, Bluetooth-enabled
Presence
phones, as well as software tools such as Google Calendar. Of
course, it may happen that different detectors must be used
Router depending on the context and users (e.g., attendance recorders
Switch
are typically not used by faculty members).
Proxy server 1 Proxy server 2
IV. IMPLEMENTATION
We have completely implemented the server part of the
Client 1 Client 2 Client 3 Client 4 system, the proxy, the client module for Unix and (Unix-like)
operating systems, and the user interface. In addition we have
Figure 2 - Architecture of E-Net-Manager. integrated in our system two different kinds of presence
detector, namely attendance recorders and Bluetooth phones.
Let us now turn our attention to the various components of
We provide below some implementation details about the
E-Net-Manager that are depicted in Figure 2. The Server side
different system components.
provides the power management service to controlled PCs. It
For the server part of the system, we used MySQL as a
consists of a number of software processes that are listed
relational database to store data about users and PCs, as well as
below, along with a brief description of their service.
to store static rules defined by users. The XMPP service is
• Power Manager. Manages static rules, information provided by eJabberd, an open-source XMPP server. The
coming from sensor, and remote control requests; in Power Manager is structured as a multi-threaded (C++)
addition, it sends commands to controlled PCs to program that uses the Boost Asio library to create timers for
change their energy status. triggering actions defined by users (through static rules). The
• Database server. Stores data about PCs and rules Power Manager periodically (once in a day) reads the rules in
defined by users and the system administrator. the database and activates specific timers for triggering
• Web server. Allows users to (i) check the status of their commands at scheduled times. The Power Manager uses the
PCs, (ii) control them remotely, and (iii) define rules for Gloox library to implement the necessary XMPP
“power on”, “suspension” and “power off” actions. functionalities.
• XMPP server. Allows the communication between the Also the Proxy has been completely implemented.
server and the PCs to control. Currently it can register itself to the Server and communicate
its own subnet address. In addition, it can receive “power on”
If the network consists of many subnets, the Server may not commands from the Power Manager and send Magic Packets
be on the same subnet of the PC to control. In such a case, a to the target PC.
Proxy server is placed in each subnet, so as to remotely turn on The client module is currently available only for Unix (and
PCs in that subnet. This is because the Magic Packet [3] is Unix-like) hosts. It is implemented as a daemon starting at boot
transmitted to the broadcast address of the subnet where the time and is able to (i) receive commands from the Power
target PC resides and, hence, it requires that the sender and Manager, and (ii) power off or suspend the PC. It also monitors
receiver are located on the same subnet. A Proxy is a host with the mouse and keyboard activity in order to check the user’s
a permanent connection to the Server. Whenever a “power on” presence. Both the client module and the Proxy are
rule for a PC becomes active, the Power Manager running on programmed in C++ and use the Gloox library.
Authorized licensed use limited to: Corporacion Universitaria de la Costa. Downloaded on March 02,2025 at 21:27:04 UTC from IEEE Xplore. Restrictions apply.
As far as presence detectors, presently we have integrated Finally, some few words about the user interface. E-Net-
in our system the following devices. Manager is designed to be unobtrusive and, thus, it limits the
user interaction to the minimum. The client module simply
• Attendance Recorders. We have managed the displays a notification message if a “power off” or
attendance recorder system in such a way that, “suspension” command has been received, so that the user can
whenever a user clocks in or out, a special message – decide to abort it. In addition, the user can interact with the
containing the user id and the performed action (i.e., power management system through a Web interface. In our
clock in/out) – is sent to the Power Manager. Since the implementation we have used Apache as web server, and all
user is entering/exiting his working area, the Power web pages have been implemented in PHP and Javascript
Manager will send an appropriate command to the (using jQuery). The user can log in to the web server and
user’s PC (or corresponding Proxy). perform all the supported actions, i.e., (i) check the status of
• Bluetooth-enabled phones. We use an approach similar her/his PCs and remotely control them; (ii) view/change the
to that proposed in [7] that leverages the discovery static rules defined for her/his PCs; (iii) view/change dynamic
mechanism used by Bluetooth devices. Specifically, we rules that leverage information from supported sensors. As an
assume that the user has a Bluetooth-enabled mobile example, Figure 3 shows the page of a generic user. For each
phone and the PC is equipped with a Bluetooth interface user’s PC, the system displays its status, through proper icons.
(both assumptions are quite common nowadays). In The user can perform specific actions, by clicking on specific
addition, the mobile phone and PC are configured in buttons, so as to switch on, switch off or suspend her/his PC.
such a way that they establish a Bluetooth connection,
whenever they happen to come in contact. A specific V. CONCLUSIONS
software module, running on the PC, periodically In this paper we have presented E-Net-Manager, an
checks whether the mobile phone is still in contact (i.e., automated system for power management of networked PCs in
the user is within the coverage range of the Bluetooth large environments, that leverages information provided by
receiver, which is in the order of 10 m). If the mobile presence sensors, in addition to static rules defined by the user.
phone is not detected for a certain time interval, the In principle, any presence detection system can be used.
software module assumes that the user is far and puts However, E-Net-Manager is intended to use presence detectors
the PC into the sleep state. Since the PC is in sleep that are already available in the environment, so as to be cost
state, the user can quickly resume it (manually) when effective and low intrusive. We have already implemented all
she/he comes back. We verified that the reactivation the system components and we have integrated a couple of
process is very fast as the PC is again fully active in a presence detectors in our system. As a further step, we plan to
few seconds. However, we are currently trying to integrate additional hardware and software detectors. Also, we
automate the re-activation operation as well. plan to deploy and test our system in a large computing
In addition to the above mentioned hardware detectors, we environment (e.g., our university college).
are currently trying to integrate also software detectors, such as
Google Calendar. The idea is to exploit information stored in
Google Calendar to trigger appropriate power management REFERENCES
actions. To this purpose, when inserting an event in her/his [1] R. Bolla, R. Bruschi, K. Christensen, F. Cucchietti, F. Davoli, S. Singh,
calendar, the user should indicate – e.g., by selecting a specific “The potential impact of green technologies in next generation wireline
color – whether the PC must be switched off (or suspended) networks – Is there room for energy savings optimization?”, IEEE
during that event. In case, the system will automatically turn Communication Magazine, Vol. 49, N. 8, August 2011.
off the PC at the start time. [2] L. Chiaraviglio, M. Mellia, “Polisave: efficient power management of
campus PCs”, Proc. International Conference on Software,
Telecommunications and Computer Networks (SoftCOM 2010), Split,,
Croatia, September 23-25, 2010.
[3] Magic Packet Technology, White Paper, Publication# 20213, Rev: A,
Amendment/0, November 1995.
[4] K. Kurowski, A. Oleksiak, M. Witkowski, “Distributed power
management and control system for sustainable computing
environments”, Proc. International Conference on Green Computing
(IGCC 2010), Chicago, Illinois, USA, August 15-18, 2010.
[5] “Advanced Configuration and Power Interface Specification, revision
5.0”, Hewlett-Packard, Intel Corporation, Microsoft, Phoenix
Technologies, Toshiba, December 6, 2011 [Online].
Available at: http://acpi.info/DOWNLOADS/ACPIspec50.pdf
[6] P. Saint-Andre, “Extensible messaging and presence protocol (XMPP):
core,” RFC 3920, Internet Engineering Task Force, Oct. 2004 [Online].
Available at: http://www.ietf.org/rfc/rfc3920.txt
Figure 3 - Example of Web interface. [7] C. Harris, V. Cahill, “Power management for stationary machines in a
pervasive computing environment”, Proc. Hawaii International
Conference on System Sciences (HICSS 2005), Hawaii, USA, January
3-6, 2005.
Authorized licensed use limited to: Corporacion Universitaria de la Costa. Downloaded on March 02,2025 at 21:27:04 UTC from IEEE Xplore. Restrictions apply.