This chapter dedicated to analysis of various types of data produced or processed by Internet of Things solution with ESB architecture accent. Since Internet of Things platforms are mostly focused on gathering and processing big amounts of data, to keep such solutions efficient it is important to design and create efficient storage mechanism that will not became a bottle-neck for the whole system performance. Taking into account types of data to be stored or processed, in the chapter designed an option for building efficient storage mechanism for Internet of Things solution that flexibly fits various data requirements.
Various kinds of middlewares based on their supported functionalities like adaptability, contextawareness and application domains like Wireless Sensor Network (WSN), Radio Frequency Identification (RFID) are studied. The surveys performed in (Kjær, 2007) and (Miraoui, Tadj & Amar, 2008) have studied the middleware based on context-awareness feature. The survey (Kjær, 2007) is based on the architectural aspects and provides taxonomy of the features of a generic context-aware middleware. Survey reported in (Miraoui, Tadj & Amar, 2008) evaluates several context-aware architectures based on some relevant criteria from ubiquitous or pervasive computing perspective. In (Wang, Cao, Li & Das, 2008) middleware for WSN has been reviewed and a detailed analysis of the approaches and techniques offered by the middleware to meet the requirements of the WSN has been presented. It also discusses generic components of the middleware and reference model of WSN based middleware. In (Henricksen, Robinson, 2006, pp. 60-65), middleware for WSN has been classified depending on their approaches, which can be database oriented, tuple space approaches, event based and service discovery based approaches (Gelernter, 1985). It also narrates the challenges of WSN middleware and provides some suggestions for solving them. In (Sadjadi, McKinley, 2003) middleware has been surveyed from adaptability perspective. This review also presents taxonomy for adaptive middlewares, their application domains and provides details for one of each middleware categories.
Independent of which class and area IoT solution is applied (i.e., manufacturing automation, health care, fleet management) it is always about gathering and processing data. That is why proper selection of persistence mechanisms is very important when an IoT system is designed and implemented.
Before exploring more deeply the storage options that can be applied in terms of IoT solutions, we must clearly identify scenarios that require interaction with persistence mechanisms and the kinds of data to be stored.
TopGeneral Data Flows And Characteristics
All of the data persisted or going through IoT solutions can be split into two categories: dynamic and static. Dynamic data means that information is frequently changing or rapidly growing. The most common example of such information is messages sent by connected devices to an IoT messaging service. These data are not changing over time because it is important to keep messages as the device initially sent them. But the amount of these messages is rapidly growing. Actual data volume speed depends on various factors, such as the number of connected devices, the message sending frequency, and the average volume of messages floating through the system. Static data is located on the other end of the data classification scale. An example here is information about IoT deployment configuration and details about registered devices. Device information does not change frequently, but its importance and recovery costs may appear very high.