Reader small image

You're reading from  Architectural Patterns and Techniques for Developing IoT Solutions

Product typeBook
Published inSep 2023
PublisherPackt
ISBN-139781803245492
Edition1st Edition
Right arrow
Author (1)
Jasbir Singh Dhaliwal
Jasbir Singh Dhaliwal
author image
Jasbir Singh Dhaliwal

Jasbir Singh Dhaliwal has over 26 years of software development and management experience, including 10 years in delivering complex IoT projects. Currently employed with IBM as a Principal Architect (IoT and cloud) and considered a thought leader with over 31 IoT patents, he has a deep understanding of IoT concepts/architectures and has delivered IoT projects in diverse domains such as consumer goods, smart buildings, healthcare, precision agriculture, automobile, and manufacturing. His extensive experience in both the public cloud and embedded domains gives him a unique edge in conceiving innovative end-to-end IoT solutions. He holds a bachelor's degree in computer science and engineering from Punjab Engineering College, India.
Read more about Jasbir Singh Dhaliwal

Right arrow

IoT Patterns for the Central Server

This chapter lists the architectural patterns that are deployed on a central server due to storage and/or computational requirements and deployed on the edge (on-premises) or a cloud. These patterns provide insights based on the data generated by field devices, analyzing and enriching the existing data using additional data (from additional systems, such as enterprise systems).

These patterns help to extract insights, as well as automate certain actions (switching on the irrigation pump if the soil moisture goes beyond a defined threshold, as an example). Simple decisions (if X, then do Y) can be built into the business logic, but typically, any complex decision requires the evaluation of multiple input parameters and certain prior experience, which is where artificial intelligence (AI) and machine learning (ML) play a significant role. This chapter details how the data obtained from field devices is preprocessed to enable data-driven decision...

AI/ML integration

In IoT solutions, AI/ML technologies enable machines and field devices to simulate intelligent behavior and help make informed decisions with little to no human involvement. The notation that we will use in this book for AI/ML integration is as follows:

Figure 3.1 – The notation for an AI/ML integration pattern

AI/ML provides each IoT device with a distinct personality or identity that helps us to understand the overall context and allows it to act on behalf of the end user. In other words, another layer of abstraction is provided for both field-generated insights (data from sensors) and commands (to actuators), as shown in the following figure:

Figure 3.2 – AI/ML as an abstraction layer between the IoT system and end user

This pattern has multiple application scenarios, which are as follows:

  • Cleaning dirty (as in incorrect, out-of-context) data and interpolating/extrapolating missing data.
  • ...

The rule engine

The rule engine is essentially mapping between IoT events and actions that need to be associated with those events. In the IoT context, events are typically generated using sensors, and required actions are taken by an actuator. The notation used for this pattern in this book is shown in the following figure:

Figure 3.6 – The notation for a “rule engine” pattern

An interesting analogy is to compare the rule engine to the human mind, where the use of the five senses can be compared to the activation of sensors, and then corresponding actions are taken by body parts (hands or legs, for example), as shown in the following figure:

Figure 3.7 – A rule engine decoupling sensors and actuators and its comparison with the human body/mind

Additionally, the cause-and-effect relationships in the IoT context are dynamic as well as complex, which can only be made possible by having an entity such as the...

File upload

The file upload pattern is relevant where real-time telemetry is not required or in cases where data needs to be fetched from legacy and non-connected devices. This pattern is also used to push the firmware to the field devices. The notation used for this pattern is shown in the following figure:

Figure 3.10 – The notation for a file upload pattern

Some scenarios where this pattern can be used are as follows:

  • Video stream processing is to be done in a central server.
  • Legacy systems in industrial, healthcare, or energy domains output data in a physical file and it is not possible to parse or interpret the generated file on the device due to computation and/or storage constraints.
  • Certificates and keys are required for secure connection to the central server.
  • Scheduled or ad hoc firmware update of devices.

File upload is generally done via packetizing the file content to optimize bandwidth usage. A typical algorithm...

Enterprise system integration

To derive maximum value from IoT implementation, the IoT system needs to integrate with existing software systems in an enterprise. In fact, integration with external systems allows for the interaction between the cyber and physical worlds – IoT systems representing the physical world and external systems residing in the cyber/virtual world. The notation used for this pattern is shown in the following figure:

Figure 3.12 – Notation for an external system integration pattern

As is the case with any general integration, integration of an IoT system with another enterprise or legacy system results in benefits that far exceed what we would have if these systems were operating in isolation (the whole being greater than the sum of its parts). Integration can enable automation of end-to-end workflows, remove data duplicity, enhance decision-making quality, or eliminate the possibility of relying on stale data.

Data synchronization...

Summary

This chapter introduced architectural patterns (AI/ML integration, the rule engine, file upload, and enterprise system integration) that are typically deployed on a central server. The patterns in this chapter, as well as those detailed in previous chapters, will empower you to architect any IoT application. Subsequent chapters will show us examples of how these patterns are combined to solve complex problems in different domains, starting with the next chapter, where we will discuss two specific use cases in the consumer domain – home automation and a smart egg boiler – and understand how the architectural patterns we’ve previously learned about can be applied to develop interesting use cases.

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Architectural Patterns and Techniques for Developing IoT Solutions
Published in: Sep 2023Publisher: PacktISBN-13: 9781803245492
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €14.99/month. Cancel anytime

Author (1)

author image
Jasbir Singh Dhaliwal

Jasbir Singh Dhaliwal has over 26 years of software development and management experience, including 10 years in delivering complex IoT projects. Currently employed with IBM as a Principal Architect (IoT and cloud) and considered a thought leader with over 31 IoT patents, he has a deep understanding of IoT concepts/architectures and has delivered IoT projects in diverse domains such as consumer goods, smart buildings, healthcare, precision agriculture, automobile, and manufacturing. His extensive experience in both the public cloud and embedded domains gives him a unique edge in conceiving innovative end-to-end IoT solutions. He holds a bachelor's degree in computer science and engineering from Punjab Engineering College, India.
Read more about Jasbir Singh Dhaliwal