Orchestration Cluster Coordinates Multi-Architecture Software Builds

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

A cluster of nodes can only build software compatible with a specific computer architecture, limiting its use on other architectures, such as ×86, 64-bit PowerPC, or 32-bit PowerPC, preventing cross-architecture compatibility.

Innovation Solution

An orchestration cluster coordinates the building of multiple software versions across multiple clusters with different architectures, enabling a client device to request builds for various architectures, such as ×86, Motorola 6800, PowerPC, ARM, and Renesas FAX CPU, by selecting and communicating with appropriate nodes to build compatible software.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a cluster of nodes is dedicated to building software for a specific computer architecture, then the build quality and compatibility for that architecture is ensured, but the system cannot serve other architectures

Engineering Contradiction:
Improvearchitecture compatibilityVSAvoidcluster configuration
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the build cluster into multiple independent nodes, each dedicated to a specific computer architecture (e.g., x86 nodes, PowerPC nodes, ARM nodes). This segmentation allows each node to specialize in building software for its native architecture while the overall system serves multiple architectures through the orchestration layer that routes build requests to appropriate nodes.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If multiple clusters are used to build software for different architectures, then cross-architecture compatibility is achieved, but the system complexity and coordination overhead increases

Engineering Contradiction:
Improvemulti-architecture supportVSAvoidorchestration system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

An orchestration layer acts as an intermediary between client devices and the segmented build nodes. This intermediary receives build requests, determines the target architecture, and routes requests to the appropriate specialized nodes. It also manages the coordination of builds across multiple clusters, handling dependencies and synchronizing outputs, thereby abstracting the complexity from clients while enabling multi-architecture support.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If a single cluster handles all build requests, then the system is simple to manage, but it can only build software for one architecture at a time

Engineering Contradiction:
Improvebuild throughputVSAvoidarchitecture flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The orchestration system provides universal functionality by managing build requests for multiple architectures through a single unified interface. While build nodes are specialized for specific architectures, the orchestration layer itself is architecture-agnostic and can handle any build request by routing it to the appropriate specialized node, thereby achieving both high productivity through parallel builds and architecture flexibility.

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

Data Source

PatentUS10235163B2Coordinating software builds for different computer architectures
Publication Date: 2019.03.19 RED HAT INC
  • US10235163B2 patent drawing
  • US10235163B2 patent drawing
  • US10235163B2 patent drawing

AI summary

Software can be built for different computer architectures. For example, an orchestration node in an orchestration cluster of nodes can receive a request from a client device to build the software. In response to receiving the request, the orchestration node can transmit a first request to a first cluster of nodes to cause the first cluster of nodes to build a first version of the software that is compatible with a first computer architecture. The orchestration node can additionally or alternatively transmit a second request to a second cluster of nodes to cause the second cluster of nodes to build a second version of the software that is compatible with a second computer architecture. The second computer architecture can be different from the first computer architecture.