Coupling Facility Asynchronous Duplexing for Sysplex Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional sysplex architectures experience inefficiencies and system latency due to the synchronous communication requirement between coupling facilities, where an application must wait for both facilities to complete a command before receiving a response.

Innovation Solution

An asynchronous duplexing scheme is implemented, where each coupling facility generates a command data block with sequence values indicating the loading order, allowing the secondary facility to load data into its structure based on these values without waiting for completion from the primary facility, maintaining functional equivalency between the two.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If synchronous communication is used between coupling facilities to ensure data consistency, then reliability is improved, but system latency increases and productivity deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-generating sequence values at the primary coupling facility before data transfer occurs. These sequence values are embedded in command data blocks and sent to the secondary facility in advance, enabling the secondary facility to process and apply changes autonomously without waiting for confirmation from the primary facility. This eliminates the synchronous wait time while ensuring data consistency through the sequence value mechanism.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If synchronous communication is used between coupling facilities, then data consistency is maintained, but productivity deteriorates due to application waiting time

Engineering Contradiction:
Improvedata consistencyVSAvoidapplication response speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the data synchronization process into independent units by dividing data into multiple command data blocks, each with its own sequence value. This allows the secondary coupling facility to process different command data blocks independently and in parallel, rather than waiting for complete synchronous confirmation. The segmentation enables asynchronous processing while maintaining overall data consistency through sequence value tracking.

Inventive Principle:
Principle #1Segmentation

3Productivity

If asynchronous processing is implemented to reduce latency, then productivity is improved, but device complexity increases due to sequence value management

Engineering Contradiction:
Improvesystem efficiencyVSAvoidsequence value management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent adds a new dimension to the data structure by embedding sequence values within command data blocks. This dimensional addition allows the system to track and manage asynchronous operations without requiring complex external synchronization mechanisms. The sequence value dimension enables the secondary facility to autonomously determine processing order and detect missing or duplicate commands, simplifying the overall asynchronous management while maintaining productivity gains.

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

Data Source

PatentUS10353735B2Computing system including independent coupling facilities maintaining equivalency based on sequence values
Publication Date: 2019.07.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10353735B2 patent drawing
  • US10353735B2 patent drawing
  • US10353735B2 patent drawing

AI summary

A computing system is configured to maintain equivalency of independent queues located in different coupling facilities. The computer system includes a first coupling facility and a second coupling facility. The first coupling facility receives a plurality of different commands instructing the first coupling facility to load data into a first structure. The first coupling facility generates a first command data block including first data corresponding to a received first command and a first sequence value indicating a sequence at which the first data was loaded into the first structure with respect to remaining data corresponding to the plurality of commands. A second coupling facility includes a second structure and a second queue. The second coupling facility receives the first command data block from a first queue of the first coupling facility and loads the first data from the second queue into the second structure based on the first sequence value.