## 2 Background and Related Work  
The evolution of IoT has given birth to a range of smart devices. However, to develop a sustainable ecosystem, all IoT devices need to work together seamlessly regardless of their technology or manufacturer. As the world transitions towards a future that is expected to use IoT devices in greater capacity, it is crucial to find a solution to this problem of interoperability. On the other hand, the semantic web involves annotating data with semantic information to preserve the context and meaning and allow them to be machine-understandable [14]. Using the same concept, semantic annotations when used in IoT allow data from different devices to be understandable by different machines and frameworks, enabling efficient context-aware data exchange and integrated analysis. Thus, the concept of the semantic web can be borrowed to address the interoperability issues in IoT. In other words, a unified framework for data communication and representation can greatly impact the usefulness and efficiency of IoT systems. Nonetheless, the integration of semantic annotation suffers from several challenges, such as complexity, security, and performance, and, as IoT evolves, the evolution of an integrative use of these technologies is also expected for the development of sustainable IoT ecosystems. IoT middleware is a software layer that enables communication among the diverse components of IoT ecosystems, which include network hardware, network stacks, operating systems, and applications [15]. Interoperability, self-adaptability, reliability, scalability, lightweight nature, and real-time capabilities are some of the key characteristics of IoT middleware [16]. However, the development of IoT middleware to maintain machine-to-machine communications and demonstrate the above-mentioned characteristics is a daunting task [17]. Various architectures for IoT middleware have been proposed over the years. Existing work [18] in this area classified these architectures into several categories, including application-specific, agent-based, VM-based, database-oriented, tuple spaces, service-oriented, and message-oriented architectures. Architectures of IoT middleware have evolved over the years to support and cater to the changing demands of IoT environments. Table 1 provides an analysis of the benefits and shortcomings of the aforementioned architectures. The best-fit architecture for an IoT application is identified based on the specific requirements of the application, such as scalability, modularity, nature of devices, and need for real-time processing. With the ever-growing complexity and challenges associated with IoT systems, hybrid architectures [19] may also be employed to address specific challenges and cater to the diverse demands of the IoT system. Several commercial-grade IoT middleware solutions are also available. Some of the popular solutions include AWS IoT Core [36], FIWARE-IoT-Agent [37], FIWARE-ORION [38], Linksmart [39], Microsoft Azure [40], OpenIoT [41], and Symbius IoT [42]. Table 2 provides a technical comparison of these commercial-grade solutions, which demonstrates an overarching trend in areas of future innovation. These solutions can benefit from the integration of improved security features, AI/ML, and edge computing capabilities [43; 44; 45; 46]. In academia, research into IoT middleware continues apace as commercial-grade products, despite their merits, still possess limitations and scope for innovation. Moreover, the explosive growth regarding IoT devices and their diverse applications poses a plethora of challenges to the evolution of these products.