You are here: Demos



Thor: Energy Programmable WiFi Networks

WiFi hotspots are increasingly deployed to relieve cellular networks from the burden generated by data–hungry
mobile applications. Such deployments generally cater for the worst case scenario, which leads to over–provisioning of resources eventually resulting in a significant energy waste when little or no traffic is present. In this demo, we present an integrated energy and mobility management solution for WiFi networks. The demo combines Energino, an open real–time energy consumption monitoring toolkit with Odin a software defined networking framework for WLANs. This integration enables energy programmable WiFi networks, allowing to cluster clients around access points in an energy-efficient and performant manner.


The architecture is sketched in Figure. The Odin framework allows deploying new services as Network Apps. The Energy Manager is responsible of energy management in the network. The decisions that lead to client handovers are handled by the Mobility Manager.


The Odin Master speaks OpenFlow to the switches and uses a custom protocol to communicate with the Odin Agents. The Energy Manager uses a custom protocol to communicate with the APs
and with Energino.


[1] M. Afanasyev et al., “Usage patterns in an urban wifi network,” IEEE/ACM Trans. Netw., vol. 18, no. 5, pp. 1359–1372, Oct. 2010.

[2] J. Manweiler and R. Roy Choudhury, “Avoiding the rush hours: Wifi energy management via traffic isolation,” in MobiSys ’11, pp. 253–266.

[3] R. Riggio et al., “Energino: energy saving tips for your wireless network,” in Proc. of ACM SIGCOMM, 2012.

[4] K. M. Gomez et al., “Energino: An hardware and software solution for energy consumption monitoring,” in Proc. of WinMee, 2012.

[5] L. Suresh et al., “Towards programmable enterprise wlans with odin,” in Proc. of ACM HotSDN, 2012.



Current wireless networks are not designed with energy conservation in mind. They generally cater to the worst case scenario, which mandates for an overprovisioning of resources. For instance, the enterprise WLAN in Intel in Portland, OR, has 125 APs over a four floors building with an inter–node distance of 5 m to provide sufficient capacity for four very close users using voice, data, and multimedia applications simultaneously. However, measurements showed that these APs spend ≈ 20 to 80% of their time idling and consume 8.76MWh of energy per year in total [1]. Similar stories repeat in other deployments. The core of the problem is that current networks do not gracefully adjust their energy consumption accordingly to the “amount of work”.

Network Architecture

In this demo, we show how to use Energino to both monitor and control the energy consumption of WLANs. The reference architecture is reported in the following figure.


The measurement framework conceptually consists of three layers: (1) The network layer contains the devices to be
monitored. (2) The energy monitoring layer contains the Energino devices that measure the energy consumption and implement the actions scheduled by the controller. Notice that Energino and the APs share both the connection to the Internet and the actual power source. Finally, (3) the control layer contains the network controller responsible for gathering network and energy usage statistics from both the network and the energy monitoring layers. The controller also schedules the necessary actions to switch the operating mode of the different network devices. 

State Machine

We currently support three operating modes. In the online mode, an AP and its wireless interfaces are always on. This is the default mode for a standard WiFi AP. We introduce an idle mode, in which the AP is powered on but its
wireless interfaces are periodically switched on/off according to a programmable duty-cycle. This mode is similar to
the Power-Save Mode typically reserved for client devices in IEEE 802.11. In the offline mode, the entire AP is turned
off and only the Energino is powered.


If the AP has been inactive for at least Tonline seconds, an Online-Timeout event is triggered. Here, inactive means either the AP has no associated clients or, its clients are not sending or receiving. In this case, the AP switches from Online to Idle. If the AP has been in the Idle mode for at least Tidle seconds, this generates an IdleTimeout event and the AP is switched to Offline. In the Idle mode, if a new client has just made an association request to the AP or an existing client started traffic, the AP returns to the Online mode. Finally, the controller can trigger a WakeUp event to power–up an AP, and switch the AP from Offline to Online.

The demo scenario

In this demo, we show the operation of Energino in a high-density deployment scenario (as the Intel deployment). In the network layer, we will have 3 APs and 3 − 5 clients. The energy monitoring layer will be composed of 3 Energino de-
vices, and one laptop will act as the controller.

We assume the APs form a cluster, and one AP is enough to provide sufficient network coverage at least at the basic transmission rates (i.e., 1/6 Mbps for IEEE 802.11abg and MCS 0 for IEEE 802.11n). This node can be considered as the cluster-head. Within this scenario, we plan to show how the controller monitors and controls the energy consumption of the network. A management backend written in Python is used to both configure Energino’s operating parameters, e.g., sampling rate and resolution, and to gather the network and the energy consumption statistics.

In our scenario, the network transitions through different traffic load stages.

  • Low load: At this stage, all APs, except the cluster-head, are off.
  • Increasing load: As more clients join the network the controller starts turning on APs. At the beginning, the clients will be able to associate only to the cluster-head, however, as more APs turn on, the clients may re-associate to these APs.
  • Decreasing load: All APs, except the cluster-head, gradually switch first to Idle, then Offline, after Online-Timeout and IdleTimeout, respectively.

Source Code

We release both the hardware schematics and the software with a permissive BSD license to encourage the research community to use and extend it. The code and the hardware schematics can be downloaded from github:

git clone git://

The repository contains:

  • The hardware schematics in Fritzing format
  • The Arduino sketches
  • The controller implemented for this demo (
  • The software agent implemented for this demo and running in each access point (


[1] A. Jardosh et al., “Green WLANs: On-demand WLAN infrastructures,” Mobile Networks and Applications, vol. 14, no. 6, pp. 798–814, Dec. 2009.

[2] K. M. Gomez et al., “Energino: An hardware and software solution for energy consumption monitoring,” in WinMee, 2012.


Latest News

CREATE-NET vectorial logo