IoT Rule Execution System with Dynamic Resource Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
IoT systems face challenges in efficiently processing large volumes of sensor readings from billions of devices in real-time, requiring scalable and high-performance rule execution systems to manage complex and critical cases effectively.
Innovation Solution
A rule execution system comprising a resource policy coordinator, data dispatchers, task executors, a multi-phase action reducer, and a final action executor, which configures and balances processing resources based on sensor reading volumes, rule characteristics, and execution status to ensure fast and conflict-free processing of IoT device data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a large number of processing resources are allocated to handle readings from billions of IoT devices, then processing capacity and productivity improve, but system complexity and resource management difficulty increase
Solution Approach 1:
The system segments processing resources into multiple independent task executors that can be individually managed and scaled. Each task executor handles specific subsets of readings, allowing the system to process billions of device readings through distributed, modular processing units rather than a monolithic system.
Solution Approach 2:
A resource policy coordinator acts as an intermediary between data dispatchers and task executors, dynamically managing resource allocation and balancing load. This mediator component simplifies complexity by centralizing resource management decisions while allowing individual processing units to operate independently.
2Speed
If processing resources are dynamically configured based on reading volumes and rule characteristics, then processing efficiency and speed improve, but resource management complexity increases
Solution Approach 1:
The system implements dynamic resource configuration where the resource policy coordinator continuously adjusts task executor allocation based on real-time reading volumes, rule characteristics, and execution status. This dynamic adaptation enables the system to optimize processing speed for varying workloads without manual intervention.
Solution Approach 2:
The system incorporates feedback mechanisms where execution status information flows back to the resource policy coordinator, which then adjusts resource allocation accordingly. This closed-loop control enables automatic optimization of processing efficiency based on actual system performance and workload conditions.
3Productivity
If multiple task executors process readings in parallel, then productivity and processing throughput improve, but conflict management and coordination difficulty increase
Solution Approach 1:
The system divides the processing workload into segmented tasks distributed across multiple parallel task executors. Each executor processes specific subsets of readings independently, enabling high throughput through parallel processing while maintaining manageable coordination through clear task boundaries.
Solution Approach 2:
The resource policy coordinator serves as a central intermediary that manages coordination between parallel task executors, handling task assignment, load balancing, and conflict resolution. This mediator architecture enables multiple executors to work in parallel without direct peer-to-peer coordination complexity.
Data Source
AI summary
A method includes receiving readings from a plurality of Internet of Things (IoT) devices. The method identifies rules associated with the readings from the IoT devices and determines a three dimensional (3D) dataset based on the plurality of IoT devices, the readings and rules associated with the readings from the plurality of IoT devices. The method includes determining policies to be applied to routing of the readings based on rules for dividing the readings into subsets of the 3D dataset, and routing processing for subsets of the readings to be processed in parallel by processing units based on the policies. The method further includes processing the readings to generate a list of actions, and resolving the conflicts in the list of actions based on a multi-phase queue. The method also includes executing the actions.


