IoT Communication Models PDF
Document Details
Uploaded by SelfRespectAntigorite3888
Tags
Summary
This document provides an overview of different communication models related to the Internet of Things (IoT). It details the request-response, publish-subscribe, push-pull, and exclusive pair models. It also covers IoT communication APIs, like REST and WebSocket, and briefly summarizes IoT levels and deployment.
Full Transcript
IoT Communication Models ======================== - Request-Response is a communication model in which the client **sends** requests to the server and the server **responds** to the requests. - When the server receives a request, it decides how to **respond**, fetches the data, ret...
IoT Communication Models ======================== - Request-Response is a communication model in which the client **sends** requests to the server and the server **responds** to the requests. - When the server receives a request, it decides how to **respond**, fetches the data, retrieves resource representations, **prepares** the response, and then sends the response to the client. Publish-Subscribe communication model ===================================== - Publish-Subscribe is a communication model that involves **publishers**, **brokers** and **consumers**. - Publishers are the **source** of data. Publishers send the data to the topics which are managed by the broker. Publishers are **not** aware of the **consumers**. - Consumers subscribe to the **topics** - When the broker receives data for a topic from the publisher, it sends the data to **all** the **subscribed** consumers. ![](media/image3.jpeg)Push-Pull communication model =================================================== - Push-Pull is a communication model in which the data producers push the data to **queues** and the consumers **pull** the data from the queues. Producers do **not** need to be **aware** of the consumers. - Queues help in **decoupling** the messaging between the producers and consumers. - Queues also act as a **buffer** which helps in situations when there is a mismatch between the rate at which the producers push data and the rate rate at which the consumers pull data. Exclusive Pair communication model ================================== - Exclusive Pair is a bidirectional, fully duplex communication model that uses a **persistent** connection between the client and server. - Once the connection is setup it remains open **until** the client sends a request to **close** the connection. - Client and server can send messages to each other after connection **setup**. IoT Communication APIs ====================== - Representational 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. - The REST architectural constraints apply to the components, connectors, and data elements, within a distributed hypermedia system. 1. **Resources**: REST APIs are based on the concept of resources, which represent entities or objects that can be accessed, manipulated, and 2. **HTTP Methods**: REST APIs utilize the HTTP methods (GET, POST, PUT, DELETE, etc.) 3. **Stateless**: REST APIs are stateless, meaning that each request from a client to a server contains all the necessary information needed to process that request. The **server does not maintain any client-specific state** between requests, which simplifies scalability and enables better caching. 4. **Uniform Interface**: REST APIs follow a uniform interface, meaning that they have a standardized set of rules and conventions for accessing and manipulating resources. This includes using URLs to identify resources, using HTTP methods for specific operations, and returning responses in a consistent format (e.g., JSON or XML). 5. **Representation**: REST APIs transfer representations of resources, which can be in different formats like **JSON** (JavaScript Object Notation) or 6. **Hypermedia Links**: REST APIs can include hypermedia links in the responses, which provide navigation and discoverability of related resources. 7. **Authentication and Security**: REST APIs often employ authentication and security mechanisms to protect resources and ensure that only ![](media/image6.jpeg)WebSocket-based Communication APIs ======================================================== - WebSocket APIs allow bi- directional, full duplex communication between clients and servers. - WebSocket APIs follow the exclusive pair communication model IoT Levels & Deployment Templates ================================= - **Device**: An IoT device allows identification, remote sensing, actuating and remote monitoring capabilities. You learned about various examples of IoT devices in section - **Resource**: Resources are software components on the IoT device for accessing, processing, and storing sensor information, or controlling actuators connected to the device. Resources also include the software components that enable network access for the device. - **Controller Service**: Controller service is a native service that runs on the device and interacts with the web services. Controller service sends data from the device to the web service and receives commands from the application (via web services) for controlling the device. IoT Levels & Deployment Templates ================================= - **Database**: Database can be either local or in the cloud and stores the data generated by the IoT device. - **Web Service**: Web services serve as a link between the IoT device, application, database and analysis components. Web service can be either implemented using HTTP and REST principles (REST service) or using WebSocket protocol (WebSocket service). - **Analysis Component**: The Analysis Component is responsible for analyzing the IoT data and generate results in a form which are easy for the user to understand. - **Application**: IoT applications provide an interface that the users can use to control and monitor various aspects of the IoT system. Applications also allow users to view the system status and view the processed data. IoT Level-1 =========== - A level-1 IoT system has a **single** node/device that performs sensing and/or actuation, stores data, performs analysis and hosts the application - Level-1 IoT systems are suitable for modeling low- cost and low-complexity solutions where the data involved is **not big** and the analysis requirements are not computationally intensive. ![](media/image8.jpeg)IoT Level-2 ================================= - A level-2 IoT system has a single node that performs sensing and/or actuation and local analysis. - Data is **stored** in the **cloud and application** is usually cloud- based. - Level-2 IoT systems are suitable for solutions where the data involved is **big**, however, the primary analysis requirement is **not computationally intensive** and can be done **locally** itself. IoT Level-3 =========== - A level-3 IoT system has a single node. Data is stored and analyzed in the cloud and application is cloud- based. - Level-3 IoT systems are suitable for solutions where the data involved is big and the analysis requirements are **computationally intensive.** ![](media/image10.jpeg)IoT Level-4 ================================== - A level-4 IoT system has multiple nodes that perform local analysis. Data is stored in the cloud and application is cloud-based. - Level-4 contains local and cloud- based observer nodes which can subscribe to and receive information collected in the cloud from IoT devices. - Level-4 IoT systems are suitable for solutions where multiple nodes are required, the data involved is big and the analysis requirements are computationally intensive. IoT Level-5 =========== - A level-5 IoT system has **multiple** end - The end nodes that perform sensing and/or actuation. - Coordinator node **collects** data from the end nodes and sends to the cloud. - Data is stored and analyzed in the cloud and application is cloud-based. - Level-5 IoT systems are suitable for solutions based on **wireless sensor** networks, in which the data involved is big and the analysis requirements are **computationally intensive**. ![](media/image12.jpeg)IoT Level-6 ================================== - A level-6 IoT system has multiple independent end nodes that perform sensing and/or actuation and send data to the cloud. - Data is stored in the cloud and - The analytics component analyzes the data and stores the results in the cloud database. - The results are visualized with the - The centralized controller is **aware** of the status of all the end nodes and sends control commands to the nodes. 1. What is meant by IoT? 2. Describe the main characteristics of IoT. 3. Explain the IoT devices capabilities. 4. discuss the main characteristics of the following protocols: - CoAP - MQTT - WebSocket - XMPP - AMQP - DDS - 6LoWPAN - 2G, 3G, 4G, and LTE 5. Explain Publish-Subscribe communication model with graph. 6. Explain Exclusive Pair communication model with graph. 7. Explain Push-Pull communication model with graph. 8. Describe REST-based Communication APIs with graph. 9. What are the IoT system components? 10. Mention the IoT levels, then explain two of them in details.