Managing the energy consumption of the built environment is an important source of flexible load and decarbonization, enabling building managers and utilities to schedule consumption to avoid costly demand charges and peak times when carbon emissions from grid generated electricity are highest. A key technology component in building energy management is the building energy management system. Eclipse VOLTTRON is a legacy software platform which enables building energy management. It was developed for the US Department of Energy (DOE) at Pacific Northwest National Labs (PNNL) written in Python and based on a monolithic build-configure-and-run-in-place system architecture that predates cloud native architectural concepts. Yet the software architecture is componentized in a way that anticipates modular containerized applications, with software agents handling functions like data storage, web access, and communication with IoT devices over specific IoT protocols such as BACnet and Modbus. The agents communicate among themselves over a message bus. This paper describes a proof-of-concept prototype to rearchitect VOLTTRON into a collection of microservices suitable for deployment on the Kubernetes cloud native container orchestration platform. The agents are packaged in redistributable containers that perform specific functions and which can be configured when they are deployed. The deployment architecture consists of single Kubernetes cluster containing a central node, nominally in a cloud-based VM, where a microservice containing the database agent (called a "historian") and the web site agent for the service run, and gateway nodes running on sites in buildings where a microservice containing IoT protocol-specific agents handles control and data collection to and from devices, and communication back to the central node.
翻译:管理建筑环境的能源消耗是可调节负荷与脱碳的重要来源,使建筑管理者和公用事业公司能够安排用电计划,以规避高昂的需量电费和电网发电碳排放最高的峰值时段。建筑能源管理的核心技术组件是建筑能源管理系统。Eclipse VOLTTRON是一个实现建筑能源管理的传统软件平台,由美国能源部(DOE)委托太平洋西北国家实验室(PNNL)开发,采用Python编写,基于早于云原生架构概念的单体式"构建-配置-就地运行"系统架构。然而,其软件架构已在组件化层面预见了模块化容器化应用,包含负责数据存储、Web访问以及通过BACnet和Modbus等特定IoT协议与IoT设备通信的软件代理。这些代理通过消息总线相互通信。本文描述了一个概念验证原型,旨在将VOLTTRON重构为一组适用于Kubernetes云原生容器编排平台部署的微服务。代理被封装为可重新分发的容器,执行特定功能,并可在部署时配置。部署架构由单个Kubernetes集群组成,包含一个通常位于云端虚拟机中的中央节点(部署包含数据库代理(称为"historian")和服务的Web站点代理的微服务),以及运行在建筑现场网关节点上的微服务(包含处理设备控制与数据采集的IoT协议特定代理,以及回传至中央节点的通信)。