1. IoT architecture
The Internet of Things (IOT) has a wide array of technologies integrated to ensure different devices are interconnected and work to achieve the desired task. There is usually several concrete reference architectures that co-exist ranging from stateless to stateful, hard real time to soft real time, or even unconstrained to constrained architectures. When referring to IOT architecture, this is an outline of a defined framework that has specified physical components that have been configured for their functional organization, specific operational principle and procedures, and a set of data formats incorporated to ensure that IOT operation is efficient (Grubitzsch et al. 2017).
According to In Chattopadhyay et al. (2017), IOT architecture is characterized by a number of layers or aspects that define its operations. These include physical devices or rather, “the Things” that comprise of physical components that get interlinked via wired or wireless internet so that a desired task can be achieved. There is then the gateway, which is an edge component that connects resource-constrained components or devices in the IOT system. Novo (2018), outlines that the other characteristic is the integration system which comprises of an enterprise of bus and message broker that is essential in linking different devices. Applications forms the last architectural constitute and they are used for data processing and analytics.
Apparently, IOT architecture is set to evolve and grow but not from a grand plan but rather separate contributions. There are but a few current IOT architecture models that have already sparked the evolution, for example, RFID which is a tag based identification architecture. There is also the sensor-based architecture which compares well to the internet system today. Others include the ITU-T model, the ETSI’s M2M model, the NIST model meant for Smart Grid, W3C, and IETF among other IOT architectural designs and models. In each IOT application, there has to be a communication infrastructure that facilitates the exchange of information. IOT architecture has a layered communication system that is followed by most IOT applications (Wolf & Nagurney, 2016.
IoT layer architecture
The basic IOT architecture comprises of Three-and Five-Layer Architecture that aids in IOT communication between devices. Each layer has different functions that it performs and each depends on the other for complete IOT functioning to take place.
The perception layer is the lowest IOT layer physical in nature and it comprises of sensors, bar code labels, cameras, GPRS, and even RFID tags are all found in this layer. It is thus an information gathering or perceiving layer from the environment (Sethi & Sarangi, 2017). For example, if there are changes in temperatures in a given environment, it is the perception layer that detects these changes by the use of temperature sensors and relays it to the subsequent layer for action. It is also practically used to identify other smart objects in the environment (IEEE Staff, 2017).
1.1.2. Network Layer
This is the second layer after the perception layer and it collects data that was perceived by the perception layer and relays it to the internet. The network layer has the primary responsibility of connecting to other smart things, servers, and network devices. It has essential features that aid in the processing and transmission of sensor data. The layer also has data transport capabilities as well as routing and addressing data (Rwanshane, 2016). It is, therefore, acts as a gateway in data transmission by the use of internet and in the process, detects and corrects data errors for proper execution of the desired command.
Another function of the Network layer is to enhance message routing, subscribing, and publishing. This layer ensures that multiple networks with various technologies are integrated and put into heterogeneous configurations that streamline communication between IOT devices and the servers or internet databases. The layer supports communication requirements by enhancing latency, security, and bandwidth effectiveness thus acting as the information processing centre (In Chattopadhyay et al. 2017),
1.1.3 Transport Layer
The data gathered by the perception layer requires to be transferred from the network layer. It is the role of the transport layer to relay this sensor-data to the processing layer and vice versa. It utilizes such networks as NFC, RFID, Bluetooth, 3G, LAN, and wireless among other networks.
This is the layer that is designed to receive data from the network layer. This layer has the function of storing data from the network layer as well as service management of the stored data. Information processing is also done here, and based on the results presented; the layer has been designed to take automatic action. The output of the decision is thus passed to the next layer which is the application layer (Novo, 2018). Basically, the Middleware layer is tasked with storage, analysis and processing of huge amount of data that is delivered from the network layer. It is in this layer that multiple data processing technologies such as cloud computing, databases, and data processing modules are utilized in data interpretation into useful information that can be responded to appropriately.
The application layer receives the output processed in the Middleware layer. It is designed to perform the final data presentation. It has a unique role of presenting that data from a given application and provides global management of the data. It presents this data in form of smart home, smart city, vehicle tracking, smart transportation, or even smart health depending on the types of devices in the perception and Middleware layers and the data that is processed and presented to the application layer for execution (Sethi & Sarangi, 2017).
It is in the application layer that different output commands as delivered by the Middleware layer are executed based on the desired action in relation to different IOT devices. The underlying system function is integrated in this layer and a practical application built up for all types of industries. The application layer has two major sub-layers called data-management, and application service sub-layer. The data management sub layer is tasked with handling big data via cloud computing, data mining and intelligence classification (Wolf & Nagurney, 2016).
In the cloud computing and data storage layer under application layer, services are placed in the cloud so that flexibility in access of the same data can be enhanced as well as expanding storage capacity for the same data. On the other hand, data mining technologies assist in the reduction of human input in data collection. It is here that data cleaning, integration, selection and transformation is done since not all collected data is of value (Sethi & Sarangi, 2017).
When it comes to the application service sub-layer, the possessed and analyzed data is thus availed for different applications. These applications vary based on the IOT devices, data and task to be accomplished. This creates room for smart homes, smart water, smart transportation, smart health, and smart security among multiple other applications. The application layer plays a wide range of problem resolution by interacting with other layers based on the feedback information presented to it (Rwanshane, 2016).
1.1.6 Business Layer
When it comes to the business layer, it is designed to manage money gained from the service provided. It is money making section that received the data processed in the application layer and moulds it into meaningful service. In addition, it goes ahead to create more services from the already existing meaningful services provided by the applications layer (Novo, 2018). According to Sethi & Sarangi (2017), the service provider relies on the business layer to quantify the value of the service provided in ensuring an effective IOT smart application response to an existing problem. The business layer can thus be defined as a whole IOT system management layer. It monitors IOT applications, business profit models, and ensures that the user’s privacy is enhanced.
According to Grubitzsch et al. (2017), the device layer in IOT architecture refers to the hardware level of IOT solution and applications. It comprises of IOT security features such as Trusted Platforms modules (TPMs) which ensure that private and sensitive information is protected during data transmission. It uses device intelligence to ensure that all the layers are protected from any security breach and promote a secure communications layer for the IOT architecture. Most importantly, the device layer acts as the drive system that connects different types of sensor devices (In Chattopadhyay et al. 2017). It mostly connects the serial UART analysis. A mapping relation between the sensors attached to the system and their interaction with other layers on an up-down link is enhanced in this layer.
IoT standard structure
The application of IOT is different based on the task at hand and the devices being used to achieve that task. However, there are basic IOT standard structures that have to be incorporated in any IOT architectural setting for communication to be effective. These include three basic structure that must be in any IOT architectural setup (Rwanshane, 2016). There is the information perception structure, data exchange and transport structure, and information application structure. These are standard structures that can never lack in an effective IOT system irrespective of the fact that they may be presented in different models (Novo, 2018).
1.2.1 Information perception structure
This is the device layer that consists of physical objects and sensors in IOT system. Such devices as GPS, cameras, Radio frequency Identification, and other sensors all embedded in physical devices that detect environmental changes. It is here that Machine-2-machine connection is enabled as well as the identification of objects and information collection. The physical devices found in this structure are able to detect such changes as temperature, heartbeat, vibration, chemical changes, or even humidity among other environmental changes (Grubitzsch et al. 2017).
1.2.2 Data exchange and transport structure
These are IOT systems that comprises wired and wireless internet Connections for communication purposes. They work on the basis of device to device communication, or device to human communication. In a bid to complete this linkage, there is need for a connection system that can relay the collected data from the physical devices and sensors to the processing layer for interpretation. The use of wireless or cable networks is essential in any IOT structure. Such internet technologies include 2G, 3G, RFID, and Bluetooth among others. It is through the internet that environmental changes are relayed from one device to the others and back for appropriate action to be taken.
1.2.3 Information Application Structure
These are responsible for managing data and putting it to effective use as per the data collected. This is a feedback and action centre and it utilizes such technologies as cloud computing and intelligence classification. The devices found here include servers, storage spaces, processors, and user-applications (Wolf & Nagurney, 2016).
Cloud computing is a data storage, transmission and security technology that has been widely incorporated in IOT communication systems. IOT systems utilize cloud computing platforms in their architecture to offer large data storage capacity and flexibility and scalability in data processing processes and analysis. Cloud computing has proven effective in boosting IOT structure in dealing with new requirements, system updates, as well as offering new capabilities in real-time IOT communication (In Chattopadhyay et al. 2017).
Cloud computing techniques have proven indispensable due to their high computational capabilities and storage capacity. IOT cloud architecture has become the remedy to fast, secure, flexible, IOT communication between devices while providing enough data storage space that has the capacity to control multiple IOT communications. The use of cloud computing in IOT applications is to ensure that there is prompt access of data any time anywhere. The cloud acts as the central unit with several servers located in specific geographical areas to ensure larger space is enhanced (Rwanshane, 2016).
According to Novo (2018), in simplified cloud IOT architecture, the use of sensors and actuators in connecting two or more IOT devices is common. Cloud computing provides the opportunity for IOT enabled devices to relay environmental changes transmitted by sensors to the clouds via servers to be enhanced. The optimization of data bandwidth, scalability and elasticity, and data sovereignty are some of the added advantages that an IOT cloud computing architecture offers in IOT communication (Rwanshane, 2016). Cloud architectures are thus taking over the concept of IOT applications in various areas such as security, health, education, business, and even detection of environmental changes.
1.4 Publish/Subscribe Architectures
The Publish Subscribe Architecture involves a messaging pattern that is used by publishers to broadcast messages with little or no knowledge of subscribers. On the other hand, subscribers use this IOT-enabled architecture to listen out to messages that they are interested in without the knowledge of the publishers. This is a type of a private communication system for a given clique of people. The system uses filtering-out of un-required messages so that only subsets of the messages sent by publishers can be received by subscribers. The publish/subscribe architecture has been designed to ensure that a pattern that advises one to identify a subject and stick to it while maintaining a list of subscribers for that message is enabled.
The architecture comes in two systems namely: List-based and Broadcast-based architecture. In the list-based architecture, a subscription list is created and in case an event to be communicated occurs, the subjects in that subscription are notified. Multiple fields in line-based publish/subscribe architecture are separated by periods. The listening nodes in particular subjects are thus allowed to subscribe to them using wildcards (Shi & Hou, 2013).
On the other hand, the broadcast-based architecture involves broadcasting a message by an event publisher through a local area network (LAN). In this system, if the listening node matches the subject line, then the message is captured, if not, it is ignored. Another architecture consist of content-based publish/subscribe system. In this system, information exchange process is more flexible considering that subscriptions tend to be related to specific information content. Each information combination is thus treated as a single dynamic logic channel (Grubitzsch et al. 2017).
1.5 SoA Based Architecture ( SoA: Service-oriented Architecture )
Service oriented architecture (SOA) is understood as a collection of services that communicate with each other. The involved communication is usually under simple data passing or an activity being coordinated by two or more services. It is the ability of different services to interact independently in a created system. This means that software parts on PCs are able to communicate, interact and cooperate under a single network. As a result, application components under SOA system are able to offer services to each other over a given network. SOA service oriented architecture uses coding to reduce communication constraints between services.
There are three main objectives of SOA systems and the first one involves the conversion of software components into services. The services are then loosely coupled with applications so that they can be used in future when needed. Moreover, they are designed in such a manner that software developers can utilize them easily in creation of other applications in a consistent way (In Chattopadhyay et al. 2017).
The second objective involves the provision of a mechanism to publish available services. The published services enable software developers to easily incorporate them in different applications. The third objective for SOA is the utilization of the established services in the management, governance, and control of security problems. SOA is designed to revolve heavily on the security of various individual components within the architecture (IEEE Staff, 2017).
The SOA architecture is designed to ensure that there is a reduced cost in maintenance of desired levels of output in a business setting. It also allows for scalability during software development for web applications so that the service to meet the need for clients can be achieved. The architecture is also designed to promote interaction due to the SOA’s high level of interoperability. This means that languages that are inbuilt no longer hinder communication (Shi & Hou, 2013).
Grubitzsch, P., Springer, T., Hara, T., Braun, I., & Schill, A. (2017). A Concept for Interoperable IoT Intercloud Architectures. Proceedings of the 7th International Conference on Cloud Computing and Services Science. doi:10.5220/0006375107040713
IEEE Staff. (2017). 2017 IEEE International Conference on Cloud Computing Technology and Science (CloudCom).
In Chattopadhyay, A., In Chang, C.-H, & In Yu, H. (2017). Emerging technology and architecture for big-data analytics.
Novo, O. (2018). Blockchain Meets IoT: an Architecture for Scalable Access Management in IoT. IEEE Internet of Things Journal, 1-1. doi:10.1109/jiot.2018.2812239
Rwanshane, K. B. (2016). Structure of Typical IOT Setup. Retrieved from https://www.theseus.fi/bitstream/handle/10024/119418/katunzi_bernard.pdf?sequence=1&isAllowed=y
Sethi, P., & Sarangi, S. R. (2017, January 26). Internet of Things: Architectures, Protocols, and Applications. Retrieved from https://www.hindawi.com/journals/jece/2017/9324035/#B58https://www.hindawi.com/journals/jece/2017/9324035/#B58
Shi, Y. R., & Hou, T. (2013). Internet of Things Key Technologies and Architectures Research in Information Processing. Applied Mechanics and Materials, 347-350, 2511-2515. doi:10.4028/www.scientific.net/amm.347-350.2511
Wolf, T., & Nagurney, A. (2016). A Layered Protocol Architecture for Scalable Innovation and Identification of Network Economic Synergies in the Internet of Things. 2016 IEEE First International Conference on Internet-of-Things Design and Implementation (IoTDI). doi:10.1109/iotdi.2015.27