IoT Connectivity Layer Abstraction for Broker Interoperability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The variability in implementations of IoT client libraries leads to increased complexity and user confusion when interfacing and developing connections between IoT clients, servers, and applications, due to inconsistent support for bandwidth throttling, automatic reconnect, and limited server connectivity.
Innovation Solution
A connectivity layer, such as the IoT Client Abstraction Layer (ICAL), provides centralized access for IoT clients to various IoT brokers, enabling seamless connections and data exchange regardless of the broker's platform or protocol implementation, using connection variables like port and host names, and allowing for persistent sessions and quality of service level management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple different IoT client libraries are used to connect to various IoT brokers, then compatibility with different brokers is achieved, but system complexity and user confusion increase
Solution Approach 1:
The patent introduces an abstract factory pattern that serves as an intermediary between IoT clients and multiple broker implementations. The abstract factory provides a unified interface for creating broker-specific client libraries, allowing clients to work with different brokers through a common abstraction layer without directly depending on multiple concrete implementations.
Solution Approach 2:
The patent creates a universal client library framework that can work with multiple types of IoT brokers through standardized interfaces. The abstract factory pattern enables a single client library implementation to support multiple broker types (MQTT, CoAP, HTTP) by providing factory methods that return appropriate broker-specific clients based on configuration.
2Adaptability or versatility
If multiple different IoT client libraries are used to support different protocols and features, then functionality is improved, but ease of operation deteriorates
Solution Approach 1:
The abstract factory pattern acts as a mediator that translates high-level client requests into broker-specific operations. Users interact with a unified abstract interface while the factory handles the complexity of mapping these requests to the appropriate protocol-specific implementations, improving ease of operation.
Solution Approach 2:
The patent segments the client library into two distinct layers: an abstract interface layer that provides unified functionality, and implementation-specific layers that handle protocol details. This segmentation allows users to work with the simple abstract interface while the complex protocol-specific code is isolated in separate factory-generated implementations.
3Reliability
If each IoT client library is customized for specific brokers, then connection reliability is improved, but adaptability to new brokers deteriorates
Solution Approach 1:
The abstract factory pattern creates a universal client library that can adapt to new broker types through configuration rather than requiring new code. The factory methods can be extended to support additional brokers while maintaining reliable connections through proven implementation patterns already established in the framework.
Solution Approach 2:
The patent establishes predefined factory methods and abstract interfaces in advance that encapsulate best practices for reliable connections. When new broker types are introduced, the preliminary framework structure is already in place to support them, reducing the effort needed to maintain connection reliability while adapting to new protocols.
Data Source
AI summary
An apparatus in one embodiment comprises at least one processing platform comprising a plurality of processing devices. The at least one processing platform is configured to establish a connection between a given one of a plurality of Internet of Things (IoT) clients and a given one of a plurality of IoT brokers via a connectivity layer providing the plurality of IoT clients with centralized access to the plurality of IoT brokers, and to exchange data between the given one of the plurality of IoT clients and the given one of the plurality of IoT brokers via the connectivity layer.


