Real-Time Module Resource Allocation for Shared Hardware

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for allocating resources to real-time software modules on a hardware system are inefficient, often leading to resource shortages, waste, and unmet real-time criticality demands, especially when multiple modules are run simultaneously, and require complex maintenance or coarse-grained resource allocation.

Innovation Solution

A method involving resource requirement and supply configurations is used to determine and allocate resources efficiently among multiple real-time software modules, allowing for fine-grained utilization and isolation, with configurations provided as files and potentially automated by neural networks, ensuring sufficient resources and reducing interference.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If resources are allocated at runtime to real-time software modules, then resource flexibility is improved, but real-time criticality requirements cannot be met due to unavailable resources

Engineering Contradiction:
Improveresource flexibilityVSAvoidreal-time criticality
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent performs resource allocation during the build phase rather than at runtime. The build tool determines resource requirements for each software module in advance, generates build artifacts with embedded resource allocation information, and passes this to the runtime system. This preliminary action ensures resources are reserved before execution, meeting real-time criticality while maintaining flexibility through the build-time configuration process.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple real-time software modules are run simultaneously on the same hardware system, then system productivity is improved, but resource conflicts occur leading to unmet time constraints

Engineering Contradiction:
Improvesystem throughputVSAvoidtime constraint compliance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments resource allocation into module-specific allocations determined during the build phase. Each software module receives dedicated resource reservations based on its individual requirements, preventing conflicts when multiple modules run simultaneously. The build tool analyzes each module's resource needs separately and allocates resources in a coordinated manner, ensuring time constraints are met while maximizing system productivity.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If entire resources are allocated to software modules at coarse granularity, then resource allocation simplicity is improved, but resource waste increases significantly

Engineering Contradiction:
Improveallocation simplicityVSAvoidresource waste
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The patent changes the granularity parameter of resource allocation from coarse (entire resources) to fine-grained (specific resource units). The build tool determines precise resource requirements for each module and allocates only the necessary amount, avoiding waste. This is achieved through detailed resource requirement analysis during the build phase while maintaining automated allocation simplicity through the build tool's coordination.

Inventive Principle:
Principle #35Parameter changes

4Adaptability or versatility

If real-time software modules are developed independently without resource awareness, then development flexibility is improved, but resource allocation problems occur at deployment

Engineering Contradiction:
Improvedevelopment independenceVSAvoidresource allocation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a build tool as an intermediary between independent software module development and hardware resource allocation. Developers can create modules independently without resource awareness, and the build tool automatically determines resource requirements, generates build artifacts with allocation information, and coordinates deployment. This intermediary maintains development flexibility while managing resource allocation complexity automatically.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP4685641A1Real-time configuration of modularized automation applications with efficient resource utilization
Publication Date: 2026.01.28 SIEMENS AG
  • EP4685641A1 patent drawingFigure 1
  • EP4685641A1 patent drawingFigure 2
  • EP4685641A1 patent drawingFigure 3~5

AI summary

The present invention relates to a computer-implemented method, a computer-implemented device, a system, and a computer program product for resource allocation to N, with N ≥ 2, real-time software modules which are executed independently of one another on an identical hardware system, comprising providing a resource requirement configuration for each of the N real-time software modules, wherein the resource requirement configuration indicates a resource requirement for operating a respective software module, providing a resource supply configuration which indicates a resource supply of the hardware system, comparing the resource supply indicated by the resource supply configuration with the resource requirement indicated by the resource requirement configuration, and determining, based on the comparison, whether the resource supply indicated by the resource supply configuration is sufficient.To execute the N real-time software modules on the hardware system, create an allocation configuration that allocates resources according to the resource requirements configuration and the resource supply configuration, if the resource supply is determined to be sufficient, and pass the allocation configuration to an operating system of the hardware system to allocate hardware system resources to the N real-time software modules according to the allocation configuration.