Processing Checkpoints for Cluster Failover Offset Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data processing infrastructures, mirroring techniques between primary and auxiliary clusters often result in inefficient resumption of message processing due to configuration discrepancies, leading to either skipping or re-processing of messages when transitioning from a primary to an auxiliary cluster.

Innovation Solution

A method is introduced where a primary server computing device cluster periodically gathers information about the last-processed objects and provides synchronization objects to an auxiliary cluster, allowing consumer devices to update their configuration and identify the correct processing offset, enabling efficient resumption of message processing during cluster failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If mirroring techniques are implemented between primary and auxiliary clusters, then system robustness and high-availability are improved, but message processing efficiency deteriorates due to configuration discrepancies causing skipping or re-processing of messages

Engineering Contradiction:
Improvesystem robustnessVSAvoidmessage processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

A checkpoint object is introduced as an intermediary data structure that bridges the primary and auxiliary clusters. This checkpoint object stores offset information that acts as a mediator to synchronize the different partition configurations between clusters, enabling consumer devices to resume processing at the correct position without skipping or re-processing messages

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by maintaining and updating checkpoint objects that pre-calculate and store the correct offset positions. When a failover occurs, consumer devices can immediately resume processing from the pre-determined checkpoint position rather than having to recalculate or re-process messages, thus improving efficiency during cluster transitions

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If distinct partition configurations are used in primary and auxiliary clusters, then cluster adaptability and flexibility are improved, but checkpoint identification complexity increases making it challenging to efficiently identify resumption points

Engineering Contradiction:
Improvecluster configuration flexibilityVSAvoidcheckpoint identification complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The checkpoint object serves as an intermediary that abstracts away the complexity of distinct partition configurations. It provides a unified interface for storing and retrieving offset information, allowing consumer devices to identify resumption points without directly dealing with the underlying partition mapping complexities between primary and auxiliary clusters

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates a simplified copy of the necessary offset information in the checkpoint object that mirrors the essential state needed for resumption. This copy contains the critical position data in a standardized format that is independent of the specific partition configuration, making checkpoint identification straightforward despite configuration differences between clusters

Inventive Principle:
Principle #26Copying

3Measurement precision

If all messages are re-processed during cluster failover, then processing accuracy is improved by ensuring no messages are skipped, but processing time and resource consumption increase significantly

Engineering Contradiction:
Improveprocessing accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The checkpoint object is updated in advance during normal operation to reflect the current processing position. This preliminary update ensures that when failover occurs, the consumer device can immediately resume from the exact position where processing left off, maintaining accuracy without requiring re-processing of already handled messages

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback by continuously updating the checkpoint object with the current offset position as messages are processed. This feedback mechanism provides real-time information about the processing state, enabling the system to accurately resume from the correct position after failover and avoid both skipping and re-processing messages

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11675519B2Techniques for facilitating processing checkpoints between computing devices
Publication Date: 2023.06.13 APPLE INC
  • US11675519B2 patent drawing
  • US11675519B2 patent drawing
  • US11675519B2 patent drawing

AI summary

The embodiments set forth techniques for facilitating processing checkpoints between computing devices. A method can be performed by at least one first computing device configured to interface with a first server computing device cluster, and include (1) processing objects managed by the first server computing device cluster, where the objects are stored across at least two first partitions associated with the first server computing device cluster, (2) detecting a condition to facilitate a processing checkpoint with at least one second computing device configured to interface with a second server computing device cluster, where the objects are mirrored—but stored differently across at least two second partitions associated with the second server computing device cluster, (3) gathering, from each partition of the at least two first partitions, information associated with a particular number of last-processed objects, and (4) providing the information to the at least one second computing device.