Dynamic Host Allocation in Bare Metal Clusters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In bare metal distributed computing environments, dynamic allocation of host devices to execute software applications is challenging due to the lack of virtualization layers, which makes initial device assignments static and difficult to change, leading to potential resource wastage and increased latency.

Innovation Solution

A method is introduced that involves receiving resource requirements for software applications, querying host devices for their computing and location information, and selecting a subset of devices that meet these requirements to form a cluster, allowing for dynamic assignment and optimization of host devices based on criteria such as resource availability and network conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If host devices are statically assigned in bare metal environments, then device assignment simplicity is maintained, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidallocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic host device allocation by establishing a clustering service that continuously receives computing resource requirements, queries host device information, and reallocates devices based on current resource availability and application needs. This transforms the static assignment model into a dynamic one where host devices can be reassigned throughout their operational lifecycle, directly improving resource utilization efficiency without requiring virtualization layers.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system establishes a feedback loop where the clustering service queries host devices for their computing resource information, compares it against application requirements, and makes allocation decisions based on this feedback. This continuous information exchange enables the system to adapt to changing resource availability and optimize allocations in real-time, resolving the contradiction between allocation simplicity and resource efficiency.

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If initial device assignments are made without dynamic reallocation, then allocation process simplicity is maintained, but operational flexibility deteriorates

Engineering Contradiction:
Improveoperational flexibilityVSAvoidallocation process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent enables operational flexibility by allowing host devices to be dynamically added to or removed from clusters based on changing application requirements and resource availability. The clustering service can reallocate devices mid-operation, enabling the system to adapt to various scenarios such as device failures, new applications, or changing resource needs without requiring complete reconfiguration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system segments the allocation process into distinct phases: initial cluster formation based on minimum resource requirements, and subsequent dynamic reallocation based on additional requirements. This segmentation allows the system to maintain simplicity in initial assignments while gaining flexibility through structured, incremental reallocation decisions.

Inventive Principle:
Principle #1Segmentation

3Manufacturing precision

If comprehensive resource requirements are enforced, then resource allocation precision is improved, but allocation time increases

Engineering Contradiction:
Improveallocation precisionVSAvoidallocation time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by first allocating host devices based on minimum computing resource requirements to form an initial cluster, then subsequently applying additional requirements and filtering criteria. This staged approach allows the system to quickly establish functional clusters while progressively refining allocations to meet precise requirements, thereby reducing overall allocation time compared to enforcing all criteria simultaneously.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements partial action by initially satisfying only the essential minimum resource requirements to enable rapid cluster formation and application execution. Additional resource requirements are then applied as refinements, allowing the system to achieve functional allocations quickly while optionally improving precision through subsequent filtering, thus balancing allocation time and precision based on priority.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20230305869A1Dynamic allocation of host devices in bare metal distributed computing environments
Publication Date: 2023.09.28 RED HAT INC
  • US20230305869A1 patent drawing
  • US20230305869A1 patent drawing
  • US20230305869A1 patent drawing

AI summary

Systems and methods for dynamically allocating host devices in distributed computing environments are provided. In one embodiment, a method is provided that includes receiving a request to execute multiple instances of a software application within a distributed computing environment. The distributed computing environment may be a bare metal computing environment in which application code is executed directly by computing hardware. At least one computing resource requirement, including at least one minimum resource requirement, may be identified and computing resource information may be received from a first plurality of host devices. Based on the computing resource information, a second plurality of host devices may be identified from among the first plurality of host devices that fulfill the minimum resource requirement. At least a subset of the second plurality of host devices may be assigned to a cluster used to execute the multiple instances of the software application.