Dedicated Search Path for Multi-Version CICS Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional CICS transaction servers cannot host multiple versions of applications or different applications with duplicate module names due to the lack of a dedicated search path for dynamic libraries, leading to inefficiencies and costs in managing and updating applications.

Innovation Solution

Implementing a dedicated search path that prioritizes a dynamic module library for each application, allowing modules with the same name to be located in different datasets, thus enabling multiple versions of applications to be hosted without modifying module names or relying on naming indirection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single global search path is used for module names, then the system structure is simple, but multiple versions of applications with duplicate module names cannot be hosted simultaneously

Engineering Contradiction:
Improveability to host multiple application versionsVSAvoidsearch path structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent divides the single global search path into multiple application-specific search paths. Each application instance gets its own dedicated search path that isolates its module name space from other applications, enabling multiple versions to coexist without naming conflicts.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to the search path structure by adding application instance identification to the traditional single search path. This creates a multi-dimensional search space where module names are resolved in the context of specific application instances, allowing duplicate names across different instances.

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

2Adaptability or versatility

If module names are modified or naming indirection is used to avoid conflicts, then multiple application versions can be hosted, but development and deployment complexity increases

Engineering Contradiction:
Improveability to host multiple application versionsVSAvoidapplication deployment process
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The system automatically assigns unique search paths to each application instance based on its identification, eliminating the need for manual module name modification or complex naming indirection schemes. The isolation is self-managed through the search path structure rather than requiring changes to application code or deployment procedures.

Inventive Principle:
Principle #25Self-service

3Productivity

If a dedicated search path is implemented for each application, then multiple application versions can be hosted simultaneously, but the system complexity increases

Engineering Contradiction:
Improveapplication hosting capabilityVSAvoidsearch path management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal search path management mechanism that handles both single and multiple application instances through the same infrastructure. The search path structure is designed to be flexible, supporting isolation when needed while allowing shared access to common resources, thus managing complexity through a unified approach.

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

Data Source

PatentUS10284646B2Application multi-versioning in a traditional language environment
Publication Date: 2019.05.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10284646B2 patent drawing
  • US10284646B2 patent drawing
  • US10284646B2 patent drawing

AI summary

Operating an online transaction processing system to perform an application including a first module call by performing the following steps (not necessarily in the following order): (i) assigning a dedicated search path to the application, where the search path specifies an ordered set of location(s) for searching for module code, the set of location(s) includes at least a first dynamic module library and the first dynamic module library is ahead of any other locations which may be included in the dedicated search path; (ii) running the application through the transaction processing system; (iii) receiving the first module call, from the running of the application, specifying a requested module using a requested module name; and (iv) in response to the module call, locating the requested module based on the requested module name and the dedicated search path.