Rule Engine for Declarative API Object Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing approaches for managing custom resources in container orchestration systems, such as Kubernetes, require procedural programming languages, making it difficult to express semantically tied custom logic and necessitate rewriting logic upon changes, which is inefficient and labor-intensive.

Innovation Solution

Utilizing a rule engine within an operator framework to define and manage API objects declaratively, allowing for the creation, modification, and evaluation of API rules that specify conditions and actions, thereby automating the management of custom resources without the need for extensive procedural coding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If procedural programming languages are used to manage custom resources in container orchestration systems, then the system can execute management tasks, but it becomes difficult to express semantically tied custom logic and requires rewriting logic upon changes

Engineering Contradiction:
ImproveAbility to express custom logicVSAvoidComplexity of management system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a rule engine as an intermediary component between the operator framework and custom resource management logic. This rule engine uses Domain Specific Language (DSL) to bridge the gap between procedural programming and declarative rule-based management, allowing semantic logic to be expressed in a more natural and maintainable way without requiring changes to the underlying system architecture

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transforms the management approach by changing the parameter of logic expression from procedural code to declarative rules. By using DSL-based rule definitions with patterns, constraints, and actions, the system allows logic to be modified through configuration changes rather than code rewriting, improving adaptability while maintaining system complexity at acceptable levels

Inventive Principle:
Principle #35Parameter changes

2Productivity

If procedural programming is used for managing custom resources, then logic can be implemented, but rewriting logic upon changes is necessary which is inefficient and labor-intensive

Engineering Contradiction:
ImproveEfficiency of logic managementVSAvoidTime for rewriting logic
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-compiling DSL rules into executable form during system initialization or deployment. When logic changes are needed, only the rule definitions need to be updated in the DSL configuration, and the rule engine automatically recompiles and applies the changes without requiring manual rewriting of procedural code, significantly reducing the time and effort required for logic modifications

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The rule engine implements self-service by automatically detecting changes in DSL rule definitions and recompiling them into executable logic. This eliminates the need for manual intervention to rewrite and redeploy management logic, allowing the system to adapt to changes autonomously and improving productivity while reducing time loss

Inventive Principle:
Principle #25Self-service

3Productivity

If rule engine is used to manage API objects declaratively, then efficiency is improved and computational resource usage is reduced, but the system complexity increases

Engineering Contradiction:
ImproveEfficiency of resource managementVSAvoidComplexity of system architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing the rule engine to handle multiple types of API objects and management scenarios through a single unified DSL-based framework. The same rule engine infrastructure supports various resource types, management operations, and logic patterns, improving efficiency and reducing resource usage while avoiding the need for separate complex systems for each management task

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

Data Source

PatentUS20240143367A1Using rule engine for managing application programming interface objects in an operator framework
Publication Date: 2024.05.02 RED HAT INC
  • US20240143367A1 patent drawing
  • US20240143367A1 patent drawing
  • US20240143367A1 patent drawing

AI summary

A method includes identifying an object by processing, by a processing device implementing a rule engine that utilizes a rule, a data item associated with a service defined by an application programming interface (API), wherein the data item associated with the service defined by the API comprises Custom Resource (CR) data; determining whether the object is an API object of a containerized computing cluster, wherein the containerized computing cluster comprises a plurality of virtualized computing environments running on one or more host computer systems; and responsive to determining that the object is an API object of the containerized computing cluster, adding the object to a definition of the containerized computing cluster.