Cross-Language Process Mediator for Machine Learning Training

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional machine learning model training is constrained by the programming language in which the system is implemented, limiting access to popular frameworks and libraries designed for other languages.

Innovation Solution

A computer-program product that includes a non-transitory machine-readable storage medium storing computer instructions to manage a parent computer process and child computer processes across different programming languages, enabling the execution of analytical operations on datasets by accessing and processing data through cross-process queues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the system is programmed in a particular programming language, then the system can execute instructions in that language, but the system cannot utilize popular frameworks and libraries designed for other programming languages

Engineering Contradiction:
Improveaccess to frameworks and librariesVSAvoidsystem architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a parent-child process architecture where the parent process (in the target programming language) acts as an intermediary that manages and coordinates child processes (in different programming languages). This mediator enables the system to access frameworks and libraries from multiple languages without requiring the entire system to be multi-language, thus resolving the contradiction between adaptability and complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system divides the analytical operation into separate segments: the parent process handles data access and coordination in the target programming language, while child processes handle specific analytical tasks in their native programming languages. This segmentation allows each process to utilize appropriate frameworks and libraries for its specific function while maintaining overall system coherence.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the system uses a parent-child process architecture to access multiple programming languages, then the system can utilize diverse frameworks and libraries, but the system complexity increases

Engineering Contradiction:
Improvemulti-language supportVSAvoidprocess management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The parent process serves as a central intermediary that manages all child processes, handling data retrieval, configuration management, and result aggregation. This centralized mediation simplifies process management by providing a single point of control, reducing the complexity that would otherwise arise from direct peer-to-peer coordination between multiple language processes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The parent process is designed with universal functionality to handle multiple tasks: accessing data from data lakes, managing configuration files, coordinating child processes, and aggregating results. This multi-functionality reduces the need for separate specialized components, thereby managing system complexity while supporting multi-language operations.

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

3Productivity

If the system launches child processes for each analytical operation, then the system can execute operations in optimal programming languages, but the overhead of process management increases

Engineering Contradiction:
Improveanalytical operation executionVSAvoidprocess management overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The parent process performs preliminary actions by pre-fetching data from data lakes and preparing configuration files before child processes are launched. This preliminary preparation reduces the workload and execution time for child processes, thereby improving overall productivity while minimizing the time loss associated with process management overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuity of useful action by having the parent process continuously manage and coordinate child processes throughout the analytical operation. Data is passed efficiently from the parent to child processes and results are continuously aggregated, ensuring that useful computational action continues without interruption while minimizing idle time during process transitions.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS12299503B1Systems and methods for multi-language training of machine learning models
Publication Date: 2025.05.13 SAS INSTITUTE INC
  • US12299503B1 patent drawing
  • US12299503B1 patent drawing
  • US12299503B1 patent drawing

AI summary

A system, method, and computer-program product includes receiving, by a worker process, a plurality of chunks of data from a client process; deriving, by the worker process, an input pattern for feeding the plurality of chunks of data to a machine learning model; caching, by the worker process, a subset of data elements of the plurality of chunks of data specified by the input pattern based on a data caching policy; and training the machine learning model by feeding the subset of data elements cached by the worker process and a remainder of data elements in the plurality of chunks of data when requested by the input pattern.