Code Fragment Migration for Program Context Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing program migration techniques face inefficiencies due to large checkpoint sizes and network transfer times, especially when migrating between different computing environments, as they often require stopping the process, saving the execution context, and transferring it to a new host, which can be time-consuming and resource-intensive.

Innovation Solution

A method and system for identifying and migrating code fragments to different computing environments based on code pattern recognition and fragment characterization, allowing for cost-effective migration by determining candidate fragments for migration, injecting code for saving program context, and transferring only necessary checkpoints to specialized resources like GPUs or supercomputers, thereby optimizing resource usage and reducing transfer times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the entire program context is saved and transferred for migration, then the program can be migrated to a new host, but the checkpoint size becomes very large and transfer time increases

Engineering Contradiction:
Improveprogram migration capabilityVSAvoidtransfer time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent divides the program into code fragments and identifies only the necessary fragments for migration. Instead of migrating the entire program context, the system segments the code and selectively migrates only those fragments that require specialized computing resources, thereby reducing checkpoint size and transfer time while maintaining migration capability.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the entire program context is saved and transferred for migration, then the program can be migrated to a new host, but the checkpoint size becomes very large

Engineering Contradiction:
Improveprogram migration capabilityVSAvoidcheckpoint size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent extracts and identifies only the necessary code fragments that require migration to specialized resources. By analyzing code patterns and computational requirements, the system takes out only the essential fragments from the entire program context, reducing the checkpoint size while preserving the ability to migrate to appropriate computing environments.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If code fragments are migrated to specialized computing resources, then processing efficiency improves, but system complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements automated code analysis and fragment identification that performs self-service by automatically determining which code fragments require migration based on computational patterns and resource requirements. This automation reduces the manual complexity of managing distributed computing resources while maintaining high processing efficiency through intelligent fragment selection.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12039365B2Program context migration
Publication Date: 2024.07.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12039365B2 patent drawing
  • US12039365B2 patent drawing
  • US12039365B2 patent drawing

AI summary

A collection of code fragments loaded in an interactive development platform for running on a first processor can be received. A candidate fragment in the collection of code fragments can be determined for migration to a second processor based on characterizing the collection of code fragments. Based on a location of the candidate fragment in the collection of code fragments, a spot can be identified in the collection of code fragments to inject a code for saving program context. The code for saving program context can be injected in the identified spot. Responsive to the code for saving program context having run on the first processor and based on a criterion, the program context can be migrated to the second processor.