Binary Re-platforming Service for Legacy App Modernization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy software applications are often limited to specific hardware platforms and instruction set architectures (ISAs), making it difficult to deploy them on different platforms without significant overhead or incomplete translation, which restricts their scalability and performance in modern cloud environments.

Innovation Solution

A software modernization service that automates the re-platforming of software application binaries from one ISA and hardware platform to another using a combination of static and dynamic binary translation, generating a re-platformed executable that can be deployed on various target platforms, including those in cloud provider networks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If legacy software applications are deployed on specific hardware platforms with fixed ISAs, then the applications can execute natively with optimal performance, but the applications cannot be deployed on different hardware platforms without significant overhead or incomplete translation

Engineering Contradiction:
Improveplatform compatibilityVSAvoidexecution completeness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a binary translation service as an intermediary between legacy applications and target hardware platforms. This service translates application binaries from source ISAs to target ISAs, enabling cross-platform deployment while maintaining execution completeness. The translation layer acts as a mediator that preserves application functionality across different hardware architectures.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system changes the ISA parameter of application binaries through automated translation. By modifying the instruction set architecture parameters of the binary code, the system enables legacy applications to execute on different hardware platforms. The translation process transforms instructions from the source ISA format to the target ISA format, achieving platform adaptability.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If binary translation is performed to enable cross-platform deployment, then platform compatibility is improved, but translation overhead and execution time increase

Engineering Contradiction:
Improvecross-platform capabilityVSAvoidtranslation overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements preliminary binary translation where application binaries are translated from source ISA to target ISA before execution on the target platform. This advance translation preparation eliminates runtime translation overhead, as the translated binary is ready for immediate execution. The translation is performed in advance during the deployment phase rather than during execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a translated copy of the application binary in the target ISA format. Instead of executing the original binary directly on different hardware, a translated copy is generated that is optimized for the target platform. This copying approach with translation preserves the original application logic while adapting it to the target architecture, reducing runtime overhead.

Inventive Principle:
Principle #26Copying

3Ease of operation

If automated binary translation is used to re-platform applications, then deployment flexibility is improved, but the complexity of the translation system increases

Engineering Contradiction:
Improvedeployment automationVSAvoidtranslation system complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The binary translation service is designed as a universal system that can handle multiple ISA translations through a single unified platform. The service supports translation between various ISA pairs (e.g., x86 to ARM, PowerPC to x86) using the same core translation infrastructure. This multi-functionality reduces overall system complexity by consolidating translation capabilities rather than requiring separate specialized translators for each platform pair.

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

Solution Approach 2:

The translation system performs automated binary translation without requiring manual intervention from users. The service automatically detects the source ISA, selects the appropriate translation path, and generates the target binary autonomously. This self-service capability simplifies the deployment process for users while managing the complexity of the translation system internally through automated detection and execution mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11900087B1Application binary replatforming as a service
Publication Date: 2024.02.13 AMAZON TECH INC
  • US11900087B1 patent drawing
  • US11900087B1 patent drawing
  • US11900087B1 patent drawing

AI summary

Techniques are described for a software modernization service to provide the ability to re-platform software application binaries from one ISA and hardware platform to another. The software modernization service can generate assessment reports for users' legacy applications, including recommendations for hardware platforms available in a cloud provider network for use. Responsive to a user requesting to re-platform an application from one ISA and hardware platform to another, an application re-platforming service automates steps to perform a static and dynamic binary translation of an application and to combine the results into a re-platformed executable. Among other benefits, the described techniques enable the deployment of legacy software applications onto a wider set of target ISA and hardware platforms, thereby enabling such applications to take advantage of the performance, scalability, availability, and other benefits of certain types of hardware platforms as desired by a user.