Shard-Based Load Balancing for IoT Message Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional load balancing techniques in cloud computing, such as MQTT and methods like Least Connection, Round Robin, and IP Hash, fail to scale effectively with large numbers of IoT devices, particularly those with long-lived connections, leading to uneven server utilization and inability to reshuffle load when imbalanced.
Innovation Solution
Implementing shard-based processing techniques that manage server load by bundling device connections into groups (shards) and distributing them across multiple servers, allowing for active balancing of message handling load and ensuring message delivery even over unreliable networks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional load balancing techniques (MQTT, Least Connection, Round Robin, IP Hash) are used to manage device connections, then the system can handle basic message routing, but the system fails to scale effectively with large numbers of IoT devices and cannot reshuffle load when imbalanced
Solution Approach 1:
The patent segments device connections into groups called shards, where each shard contains a subset of device connections. This segmentation allows the system to scale by distributing shards across multiple servers, enabling effective management of large numbers of IoT devices while maintaining adaptability through dynamic shard redistribution when load imbalance is detected
Solution Approach 2:
The patent implements dynamic load balancing by continuously monitoring server utilization and reshuffling shard assignments when imbalances are detected. This dynamic approach allows the system to adapt to changing load conditions and scale effectively, resolving the contradiction between maintaining basic routing functionality and achieving scalability with large device numbers
2Ease of operation
If device connections are distributed across multiple servers, then the system can achieve better load distribution, but server-to-server traffic increases
Solution Approach 1:
The patent introduces a load balancer as an intermediary component that manages shard assignments and routes messages between devices and servers. This intermediary optimizes message routing to minimize server-to-server traffic while maintaining balanced load distribution, by intelligently directing messages to the appropriate server based on current shard assignments and reducing unnecessary traffic forwarding
3Duration of action of stationary object
If long-lived connections are maintained for IoT devices, then the system can ensure continuous monitoring capability, but the system cannot effectively reshuffle load when imbalanced
Solution Approach 1:
By segmenting long-lived device connections into manageable shards, the system can maintain continuous monitoring capabilities while enabling flexible load redistribution. Each shard can be independently moved between servers without disrupting individual device connections, allowing the system to adapt to load changes while preserving the durability of long-lived connections
Solution Approach 2:
The patent implements dynamic shard assignment that can reshape load distribution even with long-lived connections. When load imbalance is detected, the system can migrate shards between servers, and the load balancer manages the transition by redirecting messages for affected devices to new servers, enabling load reshuffling without terminating or disrupting the underlying long-lived device connections
Data Source
AI summary
A computing device including a memory and a processor is provided. The processor is configured to receive, from a device configured to communicate data generated by at least one sensor disposed in a location being monitored, a request to establish a bi-directional connection between the device and a computing environment; identify a structure of data storing a uniform resource locator (URL) and a set of identifiers, the set of identifiers being representative of a group of connections with the computing environment; and respond, to the device, with a response specifying the URL, thereby enabling the device to establish the bi-directional connection.


