Internet of Things - Architectures
Published:
Lesson: 2
Topic: IoT
Author: Ashley Rosilier
Architectural Requirements
In general terms, any IoT architecture includes both hardware and software components. Hardware is necessary for sensors/actuators, processing, storage and communications, while software is needed for networking, data transfer and processing. In addition, there must be associated protocols to control the overall system.
The list below was proposed by IEEE [2] and represents a minimal list of architectural components needed in an IoT system in order to achieve the defining features stated above. Additional components may be added for specfic applications, but this list is a good baseline to define most IoT architectures.
- User - Has a goal to be achieved via the IoT system.
- Physical Entity - Discrete, identifiable object in the “real” world that is of interest to the user to achieve the end goal. There is typically an associated virtual entity that represents the physical entity in the digital system. The virtual entity could take various forms such as a database entry, an object or a 3D model. The physical enttity and its virtual representation are collectively referred to as an augmented entity, and any changes to either the physical or virtual entity must be reflected in the other.
- Device - Used to associate the physical and virtual entities and allow interaction, such as tags, readers, sensors or acutators.
- Sensor Operating System - Either event-driven or multi-threaded OS that prioritzes energy-efficiency, resource usage and modularity and handles all interface between devices and the IoT network.
- Middleware - Configures and manages hardware and processes tag data, serving as an interface to enterprise software. Middlewware does not run on IoT devices themselves, but rather on a dedicated computer at the edge of the network or in a data center with a wide area network.
- Resources - Software compoenents needed to control devices or provide information about physical entitites, which can be deployed on-device (such as executable code) or on-network (such as databases).
- Service - Provides a well-defined interface to expose device functionality.
This architecture can be divided into three layers:
- Physical layer - the physical entity and associated devices
- Interrogator-Gateway layer - networking infrastructure and interface between the devices and the application software
- Information management, application & software layer - functional platform for the system applications
Alternative Repesentation
As mentioned previously, IoT is still an evolving domain and there is not consensus on how to define its architecture. Another description of the architectural layers is presented by [3] and illustrated in the graphic below.
References
[2] R. Minerva, A. Biru and D. Rotondi, “Towards a definition of the Internet of Things (IoT)”, IEEE Internet Initiative, vol. 1, pp. 1-86, 2015. https://iot.ieee.org/definition.html
[3] Lee, S.K.; Bae, M.; Kim, H. Future of IoT Networks: A Survey. Appl. Sci. 2017, 7, 1072. https://doi.org/10.3390/app7101072
[4] Chui, M.; Löffler, M.; Roberts, R. The internet of things. McKinsey Q. 2010, 2, 1–9.