Logical design of an IoT system refers to an abstract representation of the entities and processes without going into low level specifics of implementation. Iot system comprises several functional blocks that provide the system of capabilities for identification, sensing, actuation, communication and Management.
If you’re new to IoT or want a refresher on how these systems are structured, check out my previous article on IoT Architecture to get up to speed before diving into the logical design.
For understanding logical design of Iot, we consider the following three terms:
- IoT functional Block
- IoT communication models
- IoT communication API
1. IoT Functional Blocks
An IoT system comprises of several functional blocks that provides the system capabilities of identification, sensing, actuation, communication and Management.
![Functonal Blocks of IoT]()
- Device: An IoT system comprises of devices that provide sensing, monitoring, actuation, and control functions.
- Communication: Handles the communication for the IoT system.
- Services: Services for device monitoring, device control service, data publishing services and services for device discovery.
- Management: This block provides various functions to govern the IoT system.
- Security: This block secures the IoT system and by providing functions such as authentication, authorisation, message, and content integrity and data security.
- Application: This is an interface that users can use to control and monitor various aspects of the IoT system. Applications also allow users to view the system status and view or analyse the process data.
2. Communication Models
i. Request-Response Communication model
- Request-Response is a communication model in which client send requests to server and server responds to the request.
- When the server receives a request, it decides how to respond, fetches the data, retrieves resource representations, prepare the response and send the response to the client.
- It is a stateless communication model.
![request-response communication model IoT]()
ii. Publish-Subscribe communication model
- Publish-Subscribe is a communication model that involves publisher, brokers and consumers.
- Publishers are the source of data.
- Publishers send the data to the topic which are managed by the broker. Publisher are not aware of the consumer.
- Consumer subscribed to the topic which are managed by the broker.
- When the broker receive data for a topic from publisher, it send the data to all the subscribed consumers.
![Publish-subscriber communication model IoT]()
iii. Push-Pull communication model
- Push-Pull is a communication model in which the data producers push the data to queues and the consumer pull the data from the queues. Producers do not need to be aware of the consumer
- Queues help in Decoupling the messaging between the producer and the consumers.
- Queues also act as buffer which help in situation when there is a mismatch between the rate at which producer push data the rate at which consumer pull the data.
![Push-Pull communication Model IoT]()
iv. Exclusive pair communication model
- Exclusive pair is bidirectional, fully duplex communication model that uses a persistent connection between the client and the server.
- Once the connection is set up it, main open until the client send a request to close the connection.
- Client and server can message to each other after connection setup.
![Exclusive pair communication Model IoT]()
3. IoT communication APIs
Generally, we used two APIs for IoT communication. These IoT communication APIs are:
i. REST-based communication APIs
- Representional state transfer (REST) is a set of architectural principles by which you can design web services and web APIs that focus on a system's resources and how resource states are addressed and transferred.
- REST APIs follow the request-response communication model.
- REST architectural constraints applied to the components, connectors and the data elements with in distributed hypermedia system.
![REST-based APIs IoT]()
![REST-based APIs]()
ii. Websocket-based communication APIs
- Websocket APIs allow bi-directional, full duplex communication between clients and servers.
- Websocket APIs follow the Exclusive pair communication model. Unlike request-response model such as REST, websocket APIs allow the full duplex communication and does not require a new connection to be setup for each message to be sent.
- Websocket communication begins with connection setup request sent by client to the server.
- The request ( called websocket handshake) is sent over HTTP and the server interprets it is an upgrade request. If the server supports websocket protocol, the server responds to the websocket handshake response.
- After the connection setup client and server can send data/messages to each other in full duplex mode. Web socket APIs reduces the network traffic and latency as there is no overhead for setup and termination requests for each message.
- Websocket suitable for IoT application that have low latency or high throughput requirements. So web socket is most suitable IoT communication APIs for IoT system.
![Web-Socket based APIs IoT]()
In this article we learned The Logical Design of IoT, covering key components like Functional Blocks, Communication Model and APIs.Readers learn about different communication methods—request-response, publish-subscribe, push-pull, exclusive pair and APIs like REST and WebSocket. Hope you gained some Knowledge!
Thank you for reading this Article!
You are a Great Learner !!