Coupling Facility Message Handling via Pointer and Log

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The high cost and size limitations of coupling facilities make them prohibitive for storing large messages, as they are designed for high availability and performance but not economically viable for large data storage.

Innovation Solution

An apparatus and method that intercept messages before storage, compare their size against a threshold, generate a pointer for messages exceeding the threshold, and store the message in a log while maintaining a pointer in the coupling facility queue, allowing efficient retrieval and offloading to more accessible storage devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If messages are stored in a coupling facility, then high availability and fast access are achieved, but the cost becomes prohibitive for large messages

Engineering Contradiction:
Improvehigh availabilityVSAvoidcost
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The solution segments the message storage function by separating the message data from the queue metadata. Only a small pointer (metadata) is stored in the coupling facility queue, while the actual large message data is stored in conventional storage. This segmentation allows the system to maintain high availability for queue operations while avoiding the high cost of storing large messages in expensive coupling facility storage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A pointer acts as an intermediary between the coupling facility queue and the actual message storage. The pointer contains enough information to retrieve the message from conventional storage without requiring the message itself to be stored in the coupling facility. This intermediary approach enables efficient access while reducing storage costs.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If messages are stored in a coupling facility, then fast access is achieved, but size limitations prevent storage of large messages

Engineering Contradiction:
Improvefast accessVSAvoidmessage size cap
Core Design Contradiction:
SpeedVSVolume of stationary object

Solution Approach 1:

Instead of storing the actual message data in the coupling facility, the system stores a copy in the form of a pointer that references the message location in conventional storage. This pointer copy contains all necessary information (queue name, message identifier, offset, length) to reconstruct or retrieve the original message, effectively bypassing size limitations while maintaining access speed.

Inventive Principle:
Principle #26Copying

3Quantity of substance

If large messages are stored in a database, then storage capacity is achieved, but access speed and availability are reduced

Engineering Contradiction:
Improvestorage capacityVSAvoidaccess speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The system performs preliminary action by pre-storing pointers in the coupling facility queue before messages are actually retrieved. This allows the messaging subsystem to quickly locate and retrieve messages from conventional storage using the pre-positioned pointers, maintaining fast access speeds while utilizing inexpensive storage for the actual message data.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11556400B2Handling large messages via pointer and log
Publication Date: 2023.01.17 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11556400B2 patent drawing
  • US11556400B2 patent drawing
  • US11556400B2 patent drawing

AI summary

A computer system with a first messaging application communicates a message to another computer system with a second messaging application via a coupling facility storage device. If the message does not exceed a predetermined threshold, the message is put onto the queue in the coupling facility. If the message does exceed a predetermined threshold, the message is put onto a log associated with the first messaging application and readable by the second messaging application. A pointer to the message is put onto the queue in the coupling facility. The pointer can be used to access the message in the log.