# IoT Middleware Platforms for Smart Energy Systems: An Empirical Expert Survey
## 2 Background
### IoT Platform Definition and Architecture
Figure 1: (**A**) Three-layer architecture [43; 44], (**B**) four-layer architecture [45], (**C**) five-layer architecture [47]. It was originally designed for TCP/IP network, but other extensions such as MQTT-SN support UDP, ZigBee, etc. * OPC Unified Architecture (OPC UA) [56]: It is a service-oriented, technology-independent and platform-independent approach. It has created new and easy possibilities for communicating with Linux/Unix systems or embedded controls on other platforms and for implementing OPC connections over the Internet supporting both TCP and UDP. The fundamental element in OPC UA is the use of information modeling framework that turns data into information based on rules and building blocks necessary to expose an information model, and this imposed the different data models, which are described in Section 2.1. The communication in OPC UA uses the client/server and publish/subscribe (PubSub) schemes. * Extensible Messaging and Presence Protocol (XMPP) [57]: An open XML technology for real-time communication, which powers a wide range of applications, including instant messaging, presence and collaboration using the point/point interaction over TCP transport. The name of this protocol presents its main features and functionalities as: X(eXtensible): defines that the technology is designed to be extensible and an open system; M(Messaging): describes the exchanged instant messages (IM) between clients, and which happens in real-time using a push mechanism to avoid increasing unnecessary network loads; P (Presence): determines the state of an XMPP entity as online, offline, busy, etc. ; P (Protocol): expresses it as a set of standards that allows systems to talk to each other. * Advanced Message Queuing Protocol (AMQP): An open standard for passing business messages between applications or organizations using TCP. It connects systems, feeds business processes with the information they need and reliably transmits onward the instructions that achieve their goals using the point/point and publish/subscribe interaction modes [58]. It was designed to achieve main goals of: message orientation; queuing; routing; security; reliability; interoperability. * Data Distribution Service (DDS) [59]: A middleware, M2M, Object Management Group (OMG) protocol and API standard for data-centric connectivity. It integrates the components of a system, providing low-latency data connectivity, high reliability and high scalability in publish/subscribe and request/response patterns over TCP and UDP. * Network Layer: It is also known as the _transport layer_; it is responsible for transporting the data provided by the perception layer to the application layer. It uses an enormous number of standards and protocols to enable this connection, such as:
* IP version 6 (IPv6) [60]: This has been designed to be an evolutionary step from IP version 4 (IPv4). The changes from IPv4 to IPv6 fall into the these main categories: expanded addressing capabilities; header format simplification; improved support for extensions and options; flow labeling capability; authentication and privacy capabilities. * ZigBee [61]: A low data rate, low-power-consumption, low cost, wireless networking protocol, to target automation and remote control applications. ZigBee's best quality is its low-power-consumption that can allow batteries in devices using ZigBee to last for several years. The main advantages of ZigBee over Z-Wave are the higher data rate and the ability to connect an unlimited number of nodes together. * Z-Wave [62; 63]: A wireless protocol evolved by Zensys and confirmed by the Z-Wave Alliance for automation devices for homes and commercial environments. It enables reliable transmission of short messages from the control unit to one or more devices in the network with the minimum noise, low-power-consumption (less than ZigBee) and long battery life. It also operates at a low frequency range (800-900 MHz), which means a less congested band and covers a larger range of data transmission.