Universal Logic Translation Framework for Multi-Engine Program Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current logic translation frameworks, or pushdown systems, are limited by the need to know operations or commands to be translated in advance, are not reusable, and can only translate at fixed points, restricting the ability to interoperate multiple translation types and leading to inefficient execution strategies.

Innovation Solution

The Flex framework allows for the generation of alternative implementations of programs across multiple engines by translating jobs into candidate translations, merging them, and selecting the most efficient execution strategy, enabling universal translation and reuse of translation logic across different engines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a pushdown system is designed to translate operations at fixed points with sequential growth from an adapter boundary, then the translation process is simple and linear, but the system components are not reusable and are locked to a specific traversal order and direction

Engineering Contradiction:
Improvetranslation process complexityVSAvoidcomponent reusability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments the translation process into independent translators that can be composed in different orders. Each translator handles a specific operation type and can be independently selected and combined based on the translation needs, rather than following a fixed sequential growth pattern from an adapter boundary.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically selects translation strategies and composer operations based on the specific translation context and requirements. The traversal order and direction are not fixed but adapt to the particular translation scenario, allowing the same translator components to be reused in different configurations.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If only one kind of translation is available at any given time in a pushdown system, then the translation logic is simple, but the system cannot adapt when contextual information suggests a different translation type would be more efficient

Engineering Contradiction:
Improvetranslation logic complexityVSAvoidtranslation strategy adaptability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal translation framework where multiple translator types can coexist and be selected based on contextual information. The composer orchestrates these translators dynamically, allowing the system to adapt to different translation scenarios and choose the most efficient translation strategy for each context.

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

Solution Approach 2:

The system changes translation parameters (such as target language, optimization level, or translator selection) based on contextual information. This allows the translation logic to adapt to different scenarios without increasing the fundamental complexity of the translation framework.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If translation is restricted to fixed points in a pushdown system, then the system structure is simple, but the ability to interoperate multiple translation types and explore alternative execution strategies is limited

Engineering Contradiction:
Improvesystem structure complexityVSAvoidtranslation interoperability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a composer as an intermediary that coordinates between multiple translators and the translation context. This mediator enables multiple translation types to interoperate by selecting and composing their outputs appropriately, without requiring a complex fixed-point structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system adds a compositional dimension to the translation process, where translators can be combined and orchestrated in various ways beyond fixed points. This creates a multi-dimensional translation space that supports multiple translation types and execution strategies while maintaining simple individual translator structures.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Manufacturing precision

If a pushdown system is tailored to a particular implementation with context-dependent translation desirability, then the translation accuracy is high, but the system cannot be reused in other contexts

Engineering Contradiction:
Improvetranslation accuracyVSAvoidcontext independence
Core Design Contradiction:
Manufacturing precisionVSAdaptability or versatility

Solution Approach 1:

The patent performs preliminary analysis of the translation context to determine the most appropriate translators and composition strategy before executing the translation. This preliminary action ensures high translation accuracy for each specific context while the modular structure allows the same framework to be applied to different contexts.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from contextual information to dynamically adjust translator selection and composition. This feedback mechanism ensures accurate translations for each specific context while the modular architecture allows the system to adapt to new contexts without being locked to a particular implementation.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10360002B2Method, apparatus, and computer-readable medium for generating an alternative implementation of a program on one or more engines
Publication Date: 2019.07.23 INFORMATICA CORP
  • US10360002B2 patent drawing
  • US10360002B2 patent drawing
  • US10360002B2 patent drawing

AI summary

An apparatus, apparatus and computer-readable medium for generating an alternative implementation of a program on one or more engines, including receiving a job graph comprising a sequence of jobs corresponding to the program, translating each job into a set of candidate translations corresponding to that job based on one or more available engines, storing each set of candidate translations corresponding to each job in the job graph in a region of a job hypergraph, condensing the job hypergraph into an alternative job graph by iteratively replacing each pair of connected regions with a merged region comprising a merged candidate translation generated by combining a pair of candidate translations in that pair of connected regions, and generating the alternative implementation of the program based at least in part on the alternative job graph.