# NFV-Enabled Efficient Renewable and Non-Renewable Energy Management: Requirements and Algorithms
## 3 Adaptive Energy Managements: Requirements, Components, and Mechanisms
### Requirements for Adaptive Energy Management  
* _Adaptive consumption of available energy:_ for optimal use of available energy, the consumption pattern must be adapted to the existing energy resources at all times, whether or not they are deterministic (this is the case when the energy comes from renewable sources). In order to carry out this procedure, the ECs must collaborate with the ES and be willing to shift the execution of services (i.e., advance or delay consumption) according to availability. In this way, the ES can stimulate consumption or propose the deferment of services during periods of surplus or shortage, respectively. The cooperation between ES and ECs is defined by means of contracts in which technical (service parameters) and economic (pricing schemes) aspects are established. Technically, the consumption adaptation procedure is executed through management mechanisms, such as those described in Section 3.3.3. * _Customer-side participation in the energy management process_: in an adaptive energy management system, the ECs must interact with the ES. The level of interaction between these stakeholders can be fully automated or may require end-user participation, depending on the characteristics of each service and application environment (e.g., residential, industrial, or public infrastructures scenarios). In summary, each time an EC requests energy for service execution, a handshake process must be established with the ES (technically, this process is performed by the EM; see Figure 1), in which information on energy demands and available resources is exchanged. With the collected information, the ES (technically, the EM) must perform the corresponding calculations in order to inform the ECs of the consumption conditions (i.e., the services to which energy can be allocated and their respective execution time). This procedure is described in more detail in Section 3.3.3. Regarding the functional requirement, in order for ECs to participate in the energy management ecosystem, they must have automated IoT capabilities to allow communication (with the ES) and manageability (activation/deactivation of consumption). Currently, a large number of devices are manufactured with embedded communication systems. In addition, if needed, affordable platforms (e.g., Arduino, Raspberry, or ESP32 platforms) can be integrated into virtually any device in order to provide connectivity and automation capabilities. In this context, different protocols, interfaces, and IoT solutions can be used for different purposes and applications. However, a discussion of specific solutions for these purposes is beyond the scope of this paper. Figure 1: Overview of an Network Functions Virtualization (NFV)-enabled adaptive energy management ecosystem. * _ICT infrastructure for the establishment of communication between components_: the communications infrastructure is a fundamental component of an adaptive energy management system [10]. This infrastructure must enable the reliable and secure exchange of information and instructions related to energy management (i.e., information on service parameters, notifications, and consumption indications). Different communication technologies can be used to interconnect the components (ES-EM-ECs), as shown in Figure 1. However, the most suitable option of an underlying network to communicate the different stakeholders is the Software Defined Networking (SDN) technology due to complementarity with the NFV realm [24]. Regarding the ownership, operation, and maintenance aspects of the ICT infrastructure, different options can be analyzed. In the first instance, the ICT infrastructure could be leased by energy suppliers and distributors, but it is expected that, with the massive connectivity and IoT and IoE trends, the energy sector will invest and deploy sophisticated communications networks. The current smart grids could be used as a baseline infrastructure for this purpose.