Dynamic Queue Alias for Middleware Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Message-oriented middleware systems face inefficiencies such as lack of isolation between distributed systems, increased security risks, longer recovery times during outages, duplicate transaction messages, and inability to alter queue aliases while messages are being inputted, leading to inefficiencies and security issues.

Innovation Solution

Implementing a dynamic queue alias system that enables isolation between data centers, allows for dynamic routing, and supports flexible switching without requiring applications to close and reopen the queue alias, by using a target cache with a change flag count to determine target locations and update routing accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a queue alias is opened by an application, then the queue alias can be used for message routing, but the target cannot be altered while messages are being inputted

Engineering Contradiction:
Improveability to alter queue alias targetVSAvoidoperational simplicity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The queue alias target is made dynamic by introducing a target cache that can be updated without closing the queue alias. The system maintains a cached copy of the target name and change flag count, allowing the actual target to be altered while keeping the queue alias open and functional for message routing.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary action by pre-fetching and caching the target name and change flag count before messages are inputted. This allows the target to be updated in advance without disrupting the message flow, as applications continue to use the cached information until it becomes stale.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If distributed systems are connected without isolation, then message flow is enabled, but security risks increase and isolation between systems is lost

Engineering Contradiction:
Improvemessage flow efficiencyVSAvoidsystem isolation and security
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The queue alias acts as an intermediary between distributed systems, enabling message flow while maintaining isolation. The alias provides a controlled interface that allows messages to be routed between systems without direct connectivity, thereby preserving security boundaries while maintaining operational efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If queue alias target is changed while messages are being inputted, then routing flexibility is improved, but message routing consistency may be compromised

Engineering Contradiction:
Improverouting flexibilityVSAvoidmessage routing consistency
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The system uses a change flag count as a feedback mechanism to maintain routing consistency. When the target is updated, the change flag count is incremented, and this information is provided to applications so they can determine whether to use their cached target information or retrieve updated information, ensuring consistent message routing despite target changes.

Inventive Principle:
Principle #23Feedback

4Adaptability or versatility

If applications close and reopen queue alias to alter target, then target update is achieved, but operational efficiency decreases

Engineering Contradiction:
Improvetarget update capabilityVSAvoidoperational efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system makes the queue alias dynamic by allowing the target to be altered without closing the alias. A target cache stores the current target name and change flag count, enabling updates to occur while the queue alias remains open and operational, thus maintaining efficiency while achieving adaptability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10310919B2Dynamic queue alias
Publication Date: 2019.06.04 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10310919B2 patent drawing
  • US10310919B2 patent drawing
  • US10310919B2 patent drawing

AI summary

Embodiments of the present invention provide methods, program products, and systems to increase efficiency in message oriented middleware. Embodiments of the present invention can, responsive to receiving from an application an open request for a queue alias of a queue manager, provide to the application target cache information which includes a target name and a change flag count associated with the queue alias. Embodiments of the present invention can, responsive to receiving a message from the application that includes respective target cache information including a target name and a change flag count, determine a target location, wherein if the change flag count of the received message matches a current change flag count of the queue alias, the determined target location is a target location associated with the received target name.