In-Memory Database Health Check via Iterative Component Handlers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-memory database instances in cloud-based container architectures face challenges in ensuring that all requirements are met, especially when these requirements have dependencies on one another, leading to difficulties in successfully running health checks.

Innovation Solution

A specialized in-memory database health check process is implemented, where component handlers are executed iteratively until all requirements are satisfied, ensuring that dependencies are resolved and the instance is successfully created.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If component handlers are executed in a single pass to check requirements, then the health check process is simple and fast, but it fails when requirements have dependencies that need iterative resolution

Engineering Contradiction:
Improvehealth check success rateVSAvoidhealth check process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The health check process implements periodic action by executing component handlers in multiple iterations until all requirements are satisfied. The system repeatedly runs through the list of component handlers, checking requirements and resolving dependencies across different passes, rather than attempting to complete the check in a single execution cycle.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system performs preliminary action by identifying and executing component handlers that can be evaluated independently before moving to handlers with dependencies. This allows the health check process to make progress on non-dependent requirements first, setting the stage for subsequent iterations to resolve dependent requirements.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If all component handlers are executed immediately, then the health check completes faster, but it may attempt to evaluate requirements that depend on other requirements not yet satisfied

Engineering Contradiction:
Improvehealth check durationVSAvoidrequirement evaluation accuracy
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The health check process implements dynamics by adaptively adjusting the execution flow based on the state of requirements. The system dynamically determines which component handlers can be executed in the current iteration based on which requirements are already satisfied, and which handlers need to wait for dependencies to be resolved in future iterations.

Inventive Principle:
Principle #15Dynamics

3Reliability

If the health check process waits for all dependencies to be resolved before proceeding, then requirement evaluation is accurate, but the process becomes slower and more complex

Engineering Contradiction:
Improverequirement evaluation accuracyVSAvoidinstance creation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies partial action by executing component handlers in stages rather than waiting for complete dependency resolution. In each iteration, the system evaluates handlers whose dependencies are satisfied, making partial progress toward the overall health check completion. This allows the process to move forward incrementally without blocking on unresolved dependencies.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11537437B2Executing and re-executing a list of component handlers defined for a resource in response to detecting a creation, deletion, or modification of the resource
Publication Date: 2022.12.27 SAP SE
  • US11537437B2 patent drawing
  • US11537437B2 patent drawing
  • US11537437B2 patent drawing

AI summary

A specialized in-memory database health check process is utilized to resolve dependencies in a resource indicating requirements for an instance of an in-memory database. Specifically, when an instance of an in-memory database is created in response to a request, a list of one or more component handlers are obtained. These component handlers are modular functions, separate from each other but potentially dependent on one or more other component handlers, and act to validate various requirements listed in a resource for the request. Each of the component handlers are executed individually during execution of a Reconcile function. To the extent that the execution of any component handlers in the list is unsuccessful, the Reconcile function is rerun for another iteration. These iterations continue until all component handlers report back as successful. Instance creation is then considered successful and the instance of the in-memory database can be utilized by users.