Rule-Based Rate Limiting for IoT Device Services
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing solutions for controlling access to electronic devices through APIs often lead to undesirable user experiences due to unfettered access by third-party applications, which can negatively impact the operation of devices with varying characteristics, such as battery levels and charging rates.
Innovation Solution
Implementing device-state-based message limiting and rule-based rate limiting, where third-party applications communicate through a device service that assesses operation status parameters like battery level, charging rate, and device age to determine appropriate communication rates, preventing overwhelming of devices and maintaining user experience.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If third-party applications are allowed unfettered access to electronic devices via API, then the versatility and functionality of the devices are improved, but the reliability and user experience deteriorate due to potential device malfunction and battery drain
Solution Approach 1:
A device service intermediary is introduced between third-party applications and electronic devices. This intermediary receives messages from applications, evaluates device state parameters (battery level, charging rate, temperature, etc.), and selectively forwards or blocks messages based on current device conditions. This resolves the contradiction by enabling third-party access while filtering harmful communications that could cause device malfunction or battery drain.
2Reliability
If message filtering and rate limiting are implemented based on device state, then the reliability of device operation is improved, but the device complexity increases due to additional monitoring and control mechanisms
Solution Approach 1:
The device service is designed as a universal multi-functional platform that handles multiple device types (thermostats, sensors, actuators) and multiple application protocols through a single message evaluation and routing system. By creating a universal intermediary that can adapt to different device characteristics and message types, the system achieves reliable device protection without proportionally increasing complexity.
Solution Approach 2:
The system dynamically adjusts message filtering parameters based on real-time device state parameters such as battery level, charging rate, and temperature. Rather than using fixed complex rules, the message control adapts its behavior by changing filtering thresholds and rate limits according to current device conditions, simplifying the control logic while maintaining high reliability.
3Use of energy by moving object
If strict rate limiting is applied to all devices, then the energy consumption is reduced and battery life is extended, but the productivity and responsiveness of the system deteriorate
Solution Approach 1:
The message rate limiting system transitions from static fixed thresholds to dynamic adaptive thresholds based on real-time device state. When devices are well-powered, the system allows higher message rates for improved responsiveness. When battery levels drop or charging rates decrease, the system automatically reduces message rates to conserve energy. This dynamic adaptation resolves the contradiction by adjusting productivity-energy trade-offs in real-time.
Solution Approach 2:
The device service periodically evaluates device state parameters and adjusts message filtering and rate limiting policies accordingly. Rather than applying constant strict limits, the system uses periodic state assessment to temporarily relax or tighten message rates based on current energy conditions, maintaining system responsiveness during favorable conditions while conserving energy during constrained conditions.
Data Source
AI summary
Methods, devices, and machine-readable media are provided to perform rule-based rate limiting. As provided in this disclosure, this may include receiving a message en route to a destination, determining one or more parameters of the message, and determining whether the parameters of the message match parameters of a rule that specifies taking a first action when more than some number of messages having those parameters are received within a specific amount of time. When the one or more parameters of the message match the one or more parameters of the first restriction rule, a sliding window counter that indicates a total number of corresponding messages received within the amount of time may be incremented. When the first sliding window counter exceeds the first number of messages, the specified action may be taken.


