IoT Middleware Technology: Review and Challenges


"Internet of Things” (IoT) is a worldwide network of interconnected devices relying upon the infrastructure of Information and Communication Technologies (ICT). It connects objects like mobiles and refrigerators. There is a big market opportunity for device manufacturers, service providers, and application developers. By 2020, billions of smart objects are expected to join in IoT. In [l], the market shares of IoT by 2025 are depicted. Among the other sectors, healthcare and related sectors possess majority share, while the rest of the share is occupied by electricity, agriculture, and security. Devices like refrigerators or washing machines will act like smart devices with computing and communication capabilities. They can be controlled from our offices. Not only that, the interconnected devices will communicate with each other over the internet to yield a pervasive computing environment. However, there are many challenges to confront because of the robustness and heterogeneous nature of IoT devices. India and similar countries can be benefited with an application in agriculture using IoT. Using the applications, farmers can monitor the different field parameters, like moisture and temperature. It does not need physical supervision of the crop field. Even farmers can get expert advice about harvesting or irrigation. Such an application not only increases quality production, but also can save natural resources, like water. Healthcare services can be offered to far-apart patients with IoT too. Devices attached to a patient send data like sugar level to a doctor. After getting various data pertaining to a patient, the doctor can advise medicines via patient’s smart phone. This application relives the patient’s energy and keeps hospitals free of crowds. Real-time tracking of goods is also possible nowadays. Goods can be attached with sensors which are aware of location. Through IoT, we can track the location of the goods and can estimate delivery thereafter. Smart meters can send reading or even usage pattern of a city to an electric grid. The grid now is able to distribute electricity efficiently over many cities. Animals like tigers are attached with radio-frequency identification (RFID). So, through IoT their movement can be traced. Medicines can be attached with smart labels so as to read information regarding date of expiry, doses, price, etc. In this way, counterfeiting of medicines can be prevented. Another contribution of IoT is ambient assisted living (AAL). Elderly people living alone in houses can be monitored remotely using IoT. Their near ones can be notified on emergency after analyzing their condition. Some of the home appliances, like air conditioning, can be automatically turned on or off remotely over the internet. IoT has been successfully used in smart cities. Traffic lights, parking space, and water distribution, etc., in a smart city are controlled by the use of IoT. The popularity of IoT is made possible with the advancement in enabling technologies of IoT, including identifying, communication, sensing, and the middleware. A software layer called middleware is positioned between the IoT technical and application layers in order to balance the technical gaps between different manufacturers [2-5]. This chapter presents a comprehensive overview of IoT, its architecture, enabling technologies [6]. and the state-of-the-art of middleware technology, along w'ith research challenges for IoT.

The remainder of this chapter is structured as follows: Section 4.2 gives the use case of IoT middleware, while the architecture of IoT is mentioned in Section 4.3. Enabling technologies of IoT are presented in Section 4.4. A review of IoT middleware is included in Section 4.5. In Section 4.6, promising applications of IoT are described. Current research challenges are pointed out in Section 4.7. Finally, a conclusion is made in Section 4.8.


In this section, we try to illustrate the motivation behind IoT middleware. The aim is achieved by developing an application framework for smart agriculture, such as the AgriTech [7] as given in Figure 4.1. Such a type of application has immense importance in third-world countries, where common people depend on agriculture. In traditional agriculture, the farmers need to observe the field closely. It requires the farmer’s direct intervention. Flowever, today people are busy in other professions as well. So, they don’t have time to visit a crop field physically. As smart phones become popular to everyone, irrespective of professions, for field monitoring physically reaching to the field is not required. Instead, field data can be obtained from the cloud using AgriTech.

Use case

FIGURE 4.1 Use case: AgriTech framework [7].

As proposed by authors in [7], the framework for such an application has four layers:

4.2.1 Things Layer

Different devices are deployed in this layer with an aim to collect field data. For example, moisture sensors may be deployed to read the soil moisture. In a large field, many moisture sensors are used. They sense moisture and send to local base stations via networking among sensors. Wireless sensor network plays an important role in this context. It is a network of sensors to gather sensed data at base station either by directly or by multi-hop way.

Knowing the location of sensed data, it is essential to take decisions based on those data. The simple way to achieve location of every sensor is to attach Global Positioning System (GPS) to every sensor. But, this is not feasible as it increases application cost. Only a few sensors are attached with GPS, called anchors. All other sensors calculate locations using the locations of anchors. This process is known as localization. Here, in this use case, the authors consider to utilize a localization algorithm for the purpose of knowing humidity data. After knowing humidity with location information, the farmer can decide to start controlled irrigation in the specific field area. Not only does it restrict wastage of water, but it also saves time to manually check the dried-up field area.

4.2.2 Local Gateway

Data can be collected from sensors either by directly or multi-hop way. Local base stations collect the data and forward to a local gateway. Its job is to aggregate the data to restrict redundancy of data. Once the aggregation is over, it uploads the same to the cloud. As the smart phones have limited storage capacity, field-related data can't be stored in such devices. We can use the cloud for storage requirement.

4.2.3 Internet

Without the internet, farmers can’t access data saved in the cloud. Whenever they need to know different field data, the cloud is used and the data is downloaded in the smart phones of farmers. They can also get weather data from the internet. Weather data helps in taking irrigation or harvesting crops.

4.2.4 The Cloud

The cloud provides a storage facility in the framework. Farmers need to pay only for knowing field data from the cloud. If needed, farmers can take the help of advice from agricultural experts. They can provide irrigation or harvesting decisions based on field data. For example, analyzing data and considering weather conditions, the experts can suggest postponing the irrigation. This decision not only saves crops but also prevents wastage of water.

In the framework, there are many heterogeneous devices. In order to manage the technological differences, the middleware layer is to be introduced


The architecture of IoT must support heterogeneous devices. Although several architectures are proposed, no one of them is chosen as a common architecture for wide acceptance. The existing TCP/IP protocol suite is not suitable for IoT because of scalability. Presently, new architecture needs to be developed to handle IoT network, addressing many challenges. As of now, many architectures have been proposed for IoT, as shown in Figure 4.2. The architectures may be classified as: application- specific and general purpose [8-11]. The standard architectures for a multifaceted concept are appropriate. A multi-layered architectural model may have 3, 4, 5, or 6 layers [5]. Among them, the Service Oriented Architecture (SOA)-based model is most popular. It is supported by middleware technology. A summary of different architectures is given in Table 4.1.

Layered Architectures

FIGURE 4.2 Layered Architectures: First column: three-layer based. Second column: four- layer based. Third column: five-layer based. Fourth column: the SOA-based architecture [5].


Summary of Layered Architecture














[9, 10. 13]












[14, 15]






Technological changes in ICT make IoT realizable to us. This section includes the enabling technologies, which makes IoT feasible.

Identification, Sensing, and Communication Technologies

IPv4 and IPv6 are being used to address IoT devices. 6L0WPAN [12] is developed for low-power wireless communication over IPv6. The RFID [8] is applied to identify the objects attached with radios.

For communication, IEEE 80215.4, Bluetooth, IoT, and WiFi are commonly used. WiFi supports communication in short distance [11]. Near Field Communication (NFC) provides short- range communication of 10 cm and a data rate of 424 [16].

In addition to standards in Table 4.2, organizations like EPCGlobal provide efforts towards developing protocols. The Constrained Application Protocol (CoAP) [17-20] is developed by IETF. The Extensible Messaging and Presence Protocol (XMPP) [21] is an open source message communication. The IETF developed Low Power and Lossy Networks (RPL) routing protocol, to be used over IPv6. Another protocol is the 6L0WPAN, developed by IETF for communication over IPv6. IEEE

802.15.4 is a protocol built to define the Medium Access Control (MAC) sub-layer and the Low-Rate Wireless Private Area Networks (LR-WPAN) physical layer [22]. A description of the IoT protocols can be found in [7].

Middleware Technology

It’s predicted that many heterogeneous objects would interact and communicate in IoT. They possess many communication formats and technologies. Middleware is a software layer added between technical layers and application layers just to meet the technological differences. As shown in Figure 4.1, the SOA-based IoT architecture uses the middleware technology. This technology is being successfully used in cloud


IoT Communication Technologies [24]



Transmission Range

Transmission Rate



50 cm/50 cm/3 ml 1.5 m

424 kbps

135 KHz/13.56 MHz/ 960 MHz/2.4 GHz


10 m

1 Mbps

2.4 GHz


100 m

50-320 Mbps

2.4/5.8 GHz


10 cm

100 kbps to 10 Mbps

2.45 GHz


10 m

256 kbps/20 kbps

2.4 GHz/900 MHz


50 km

70 Mbps

2-11 MHz



2 Mbps

896 MHz

IEEE 802.15.4

10 m

20/24/250 kbps

868/915/2400 MHz

Functional components of IoT middleware

FIGURE 4.3 Functional components of IoT middleware.

computing, wireless sensor networks, and vehicular network [8, 23]. This section addresses the state-of-the-art of middleware technology.

The following blocks, as shown in Figure 4.3, are functionally an IoT middleware. Protocols Interface

Specifies the protocol between networks to share information. This block handles connectivity issues in the TCP/IP protocol stack in physical layer to upper layers. Device Abstraction

Describes an abstract system model for facilitating interaction between heterogeneous devices. APIs are responsible for managing syntactic or semantic of information. Syntactic means the format of the information, while the meaning of the exchanged information is reviewed by semantic interoperation. Central Control, Context Detection, and Management

Manage context in IoT. Here, decision making is made involving contexts [25]. Currently, a few middleware support such computing in IoT. Research to contribute in the area of context-aware computing is being supported by the European Union during the period 2015-2020 [26]. Application Abstraction

Supports an interface to communicate among heterogeneous devices. Query language can help in defining the interface.

The middleware for IoT can be classified as functional, non-functional, and architectural [27]. Functional requirements are associated with managing resource and data, and non-functional requirements tackle QoS like security. Issues like interoperability and context-awareness are dealt with architectural requirements.

Again, the design approaches of middleware can be classified into many types with respect to design. Table 4.3 includes such types. Event-based middleware acts when an event occurs. Service-oriented middleware provides services to applications. Service-oriented computing (SOC) is associated on services. Virtualization of infrastructure is possible through Virtual Machine (VM)-based middleware [28]. Agent-based middleware dispatches different modules of applications to mobile agents. Fault tolerance is ensured by migrating modules to other agents. FIYDRA [19], UBIWARE promotes context-aware computing. Tuple-space middleware, such as LIME [29], TS-Mid [30] use tuple data. Here, an SQL query may be used to know the application data. In database-oriented middleware solutions, the application uses SQL-like statements. Application-driven middleware are designed to support only specific applications. Such middleware solutions do not necessarily meet all requirements. The current middleware solutions can be found in Table 4.4.


Middleware Design Approach Classification [24]

Type of Middleware



Hermes [20], RUNES [31], EMMA [32]. GREEN [33]


Hydra [19]. TinySOA [22]. SENSEI [34]

VM approach

MagnetOS [35], Sensorware [28]. Tiny VM [36]


Smart messages [37]. Agilla [38]. UbiROAD [39]

Tuple-space approach

LIME [40], TS-Mid [41], A3-TAG [23]

Database approach

COUGAR [42], Sensation [43], TinyDB [44], KSpot+ [45]


MiLAN [46]. MidFusion [47]. AutoSec [48]


Comparison of Solutions for Middleware [15]

Features of Middleware









Security and Privacy






































Among the middleware architectures [14], SOA-based IoT architecture attracts attention recently. However, in the current scenario, more research contribution is sought in this domain. A few solutions are reliable as they provide security and privacy. The Interoperability issue is not addressed by ASPIRE. UBIWARE, GSN. Context awareness is not found in most of the solutions. HYDRA and UBIROAD supports all features. The potential research should explore all issues of IoT.

< Prev   CONTENTS   Source   Next >