Database Container Resource Cost Model Injection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtual computing environments, database containers face unpredictable performance due to varying cost models for resources like CPU, memory, and storage, leading to inefficient execution of web applications.

Innovation Solution

A host computing device generates database container instances by determining resource usage profiles and selecting customizable resource cost models, which include look-up tables or hash tables to optimize resource allocation for processing power, memory, storage, bandwidth, and latency, ensuring efficient hosting and execution of web applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If database containers are dynamically provisioned without predefined resource specifications, then deployment flexibility and adaptability are improved, but performance predictability deteriorates due to varying cost models

Engineering Contradiction:
Improvedeployment flexibilityVSAvoidperformance predictability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system dynamically changes the cost model parameters based on the resource usage profile of each database container. By selecting different cost models (e.g., memory-optimized, storage-optimized, compute-optimized) that match the container's workload characteristics, the system maintains performance predictability while preserving deployment flexibility. This resolves the contradiction by adapting parameters rather than fixing them.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements a feedback mechanism where the resource usage profile of the database container is analyzed and fed back into the cost model selection process. This feedback loop ensures that the appropriate cost model is applied based on actual workload characteristics, maintaining reliable performance predictions even in dynamically provisioned environments.

Inventive Principle:
Principle #23Feedback

2Productivity

If customizable resource cost models are selected based on resource usage profiles, then resource allocation efficiency is improved, but system complexity increases

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the cost model selection process into distinct components: resource usage profile analysis, cost model selection, and cost model injection. By dividing the system into these manageable segments, complexity is reduced while maintaining efficient resource allocation. Each segment can be independently optimized and maintained.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-defining multiple cost models with different optimizations (memory-optimized, storage-optimized, compute-optimized) before runtime. During container provisioning, the appropriate pre-defined model is selected and injected based on the resource usage profile, avoiding the need to create complex models on-the-fly and reducing system complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11169996B2Query optimizer injection for dynamically provisioned database containers
Publication Date: 2021.11.09 RED HAT INC
  • US11169996B2 patent drawing
  • US11169996B2 patent drawing
  • US11169996B2 patent drawing

AI summary

A method includes generating an instance on a host computing device in response to a request to host a web application on the host computing device, and determining a resource usage profile associated with the instance. The resource usage profile indicates one or more specific resources on the host computing device to be utilized to host the web application. The method further includes selecting one of a stored plurality of resource models based at least in part on the resource usage profile, and modifying the instance on the host computing device in accordance with the selected one of the stored plurality of resource models. The instance is modified to host the web application.