Distributed Rules Engine for IoT Event Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing rules engines face challenges in handling large volumes of data with minimal downtime and scaling across multiple computing instances in cloud-based environments, making it difficult to manage IoT devices and resources efficiently.

Innovation Solution

A distributed rules engine that processes data inputs from IoT devices and client devices by distributing rule processing across multiple physical or virtual computing devices, allowing for horizontal scaling and seamless updates without significant uptime disruptions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a rules engine processes a large number of rules continuously applied to a stream of a large number of events, then the ability to manage IoT devices and resources is improved, but the system experiences increased downtime and difficulty in scaling across multiple computing instances

Engineering Contradiction:
Improverules processing capacityVSAvoidsystem uptime
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The rules engine is divided into multiple computing instances distributed across a network. Each instance processes a subset of rules independently, allowing the system to handle large volumes of events without single-point failures. This segmentation enables continuous operation as individual instances can be updated or fail without stopping the entire system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically loads and unloads rules at runtime without requiring system shutdown. Rules can be added, removed, or modified while the rules engine continues processing events. This dynamic capability maintains high availability and prevents downtime during rule updates or system scaling operations.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If rules are updated continuously in a rules engine, then the ability to adapt to changing requirements is improved, but system downtime increases

Engineering Contradiction:
Improverules update capabilityVSAvoiddowntime during updates
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

New rules are compiled and validated before being activated in the running system. The compilation process prepares rule logic in advance, and validation ensures correctness before deployment. This preliminary preparation allows rules to be updated without interrupting the processing of existing rules, maintaining system availability throughout the update process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The rules engine implements dynamic rule loading that allows rules to be added, removed, or modified at runtime without system shutdown. The engine maintains rule versions and transitions between them smoothly, enabling continuous adaptation to changing requirements while preserving system uptime and operational continuity.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If a single rules engine processes all events, then system complexity is reduced, but the ability to scale horizontally across multiple computing instances is limited

Engineering Contradiction:
Improvesystem architectureVSAvoidhorizontal scaling capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The monolithic rules engine is segmented into multiple independent computing instances that can be distributed across different servers or cloud infrastructure. Each instance maintains the core rules engine functionality and can process events independently. This segmentation enables horizontal scaling by simply adding more instances to the network without fundamentally changing the system architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each computing instance in the distributed system implements the complete rules engine functionality, making every node universal and capable of processing any event type. This multi-functionality at the instance level allows flexible scaling and load distribution while maintaining architectural simplicity through standardized, interchangeable components.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10979288B2Distributed rules engine for processing events associated with internet of things devices
Publication Date: 2021.04.13 OMNISSA LLC
  • US10979288B2 patent drawing
  • US10979288B2 patent drawing
  • US10979288B2 patent drawing

AI summary

Disclosed are various examples for deploying a rules engine in a distributed fashion. A rule definition that defines a rule can be transformed in a network topology. The network topology can be deployed onto a cluster of computing devices or instances. In this way, the rules engine can be horizontally scalable such that is it not necessary to deploy the rules engine in a single computing instance.