Long gone (hopefully!) are the days of building hodge-podge systems. The systems built nowadays are sufficiently complex and with sufficiently widespread effects that they require a structural framework in which to plan, design and ultimately implement the system.
An architectural framework gives general principles in any particular
system might be designed and implemented. The figure from
The Concept of Reference Architectures
by Cloutier et al illustrates this:
The IoT is an amalgamation of two engineering disciplines which have
hitherto been relatively disparate: IT and control systems.
The highest level view of an IoT
system might be
That is, a system of sensors, actuators and some control systems
is linked to a more traditional IT system. Without both of these, it
is not an IoT system.
Although simplistic, this does raise a large number of issues:
Thermometer
object.
There will need to be a "concept bridge" between the two systems
so that the software layer will know that the digital data
represents a temperature rather than anything else.
There are multiple viewpoints that can be had about any system: functional, business, usage, implementation, ... From the functional viewpoint, the IIoT Reference Architecture distinguishes these domains
These are linked through their Figure 6.1
The IIoT states
Data flows and control flows take place in and between these functional domains. Fig 6-1 above illustrates how the functional domains relate to each other with regard to data and control flows. Green arrows show how data flows circulate across domains. Red arrows show how control flows circulate across domains. Other horizontal arrows illustrate some processing taking place within each domain, to process input flows and generate new forms of data or control flows.
This substantially refines the simplistic model of the previous section and clearly shows the flows between components. The IIoT reference architecture goes into substantially more detail about each component, and while targetted towards industrial systems, is nevertheless applicable to many other IoT systems.
Design patterns are a well-accepted means of capturing design problems and possible solutions in an implementation independent way. Architectural design patterns act at a relatively high level. The IIoT reference architecture lists five patterns:
The IoT-A Internet of Things – Architecture prefers to use "design tactics". Both go into a large amount of detail regarding the next level down.
The A Taxonomy of IoT Client Architectures list several layers for client side devices:
Much of the sequel of this book concerns the choices to be made at the implementation level: this network protocol or that, for example. However, any implementation solution should be guided by higher-level architectural considerations.
Copyright © Jan Newmarch, jan@newmarch.name
"The Internet of Things - a techie's viewpoint" by Jan Newmarch is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Based on a work at https://jan.newmarch.name/IoT/.
If you like this book, please donate using PayPal