Code Component Sharing Across Software Versions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Changes to software products during updates can cause severe issues, such as failure to initialize properly and difficulties in producing diagnostic information, making debugging challenging due to problems with code component compatibility across different versions.

Innovation Solution

A method and system for code component sharing across software product versions, utilizing a component sharing tool that configures shared code components, intercepts function uses, and employs cross-version communication to route intercepted uses to shared code components, enabling a non-defective version to operate using components from another version, facilitating debugging and fault handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If code changes are made to update software to a newer version, then the software functionality is improved, but the software may fail to initialize properly and lose diagnostic capability

Engineering Contradiction:
Improvesoftware version update capabilityVSAvoidinitialization reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a version adapter as an intermediary component that sits between the updated software version and the core system. This adapter translates and reconciles code changes between versions, allowing the software to update to newer versions while maintaining initialization reliability. The adapter acts as a buffer that manages the transition without compromising system stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If code changes are made to update software to a newer version, then the software functionality is improved, but debugging becomes difficult due to loss of diagnostic information

Engineering Contradiction:
Improvesoftware version update capabilityVSAvoiddebugging difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements preliminary action by pre-configuring version adapters that preserve diagnostic information capabilities before updates occur. The adapter is designed in advance to maintain logging, tracing, and diagnostic functions even when core code changes. This ensures that debugging capabilities are preserved proactively rather than reactively after problems occur.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If shared code components are configured across versions, then code reusability is improved, but system complexity increases due to version compatibility management

Engineering Contradiction:
Improvecode reusabilityVSAvoidversion compatibility management complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the software system into distinct modular components: stable core components, version-specific components, and intermediary adapters. This segmentation allows code reusability in the stable core while isolating version-specific changes. The complexity of version management is contained within the adapter layer rather than propagating through the entire system, making it more manageable.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240241716A1Code component sharing across software product versions for product development
Publication Date: 2024.07.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20240241716A1 patent drawing
  • US20240241716A1 patent drawing
  • US20240241716A1 patent drawing

AI summary

A method, computer program product, and computer system are provided for code component sharing across software product versions for product development. The method includes configuring one or more shared code components for functions of a first version of a product to be used by a second version of the product for the functions in the second version. The method intercepting a use of a function of the second version equivalent to a function of a shared code component of the first version and routing intercepted use to the shared code component of the first version. The method uses cross-version communication of a shared operating system between the first version and the second version to use the shared code component on the first version for the intercepted use of the function.