Escrow Buffer Partitioning for Fault-Tolerant Data Replay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computing systems face challenges in maintaining fault tolerance and preventing data loss when components, such as the DoAll component in a dataflow graph, fail.

Innovation Solution

An escrow scheme is implemented, where processed data is stored in an escrow buffer associated with the ForAll procedure. This allows for data replay in case of component failure without reprocessing, and over-partitioning of data reduces the size of the escrow buffer for large datasets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If processed data is stored in an escrow buffer to enable replay in case of component failure, then fault tolerance is improved, but the buffer size becomes very large for large collections of data

Engineering Contradiction:
Improvefault toleranceVSAvoidescrow buffer size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent divides the large collection of data into multiple partitions, and further divides each partition into smaller sub-partitions. This segmentation allows the escrow buffer to store only a subset of partition results at any given time, reducing the peak buffer size requirement while maintaining fault tolerance through the ability to replay results if needed

Inventive Principle:
Principle #1Segmentation

2Stability of the object's composition

If all data elements are processed and stored in escrow before release to consumer, then data consistency is improved, but the processing time increases due to waiting for persistent storage confirmation

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The patent stores partition results in the escrow buffer before the consumer has persistently stored them, preparing the data in advance for potential replay. This preliminary action ensures that if a failure occurs, the results are already available in escrow without requiring reprocessing, thus maintaining consistency while reducing the time penalty to only the buffer storage duration rather than full reprocessing time

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250199920A1Partition-based Escrow in a Distributed Computing System
Publication Date: 2025.06.19 AB INITIO TECHNOLOGY LLC
  • US20250199920A1 patent drawing
  • US20250199920A1 patent drawing
  • US20250199920A1 patent drawing

AI summary

A method for fault-tolerant processing of a number of data elements using a distributed computing cluster. The distributed computing cluster includes a number of data processors associated with a corresponding number of data stores. The method includes storing the data elements in the distributed computing cluster, wherein the data elements are distributed across the data stores according to a number of partitions of data elements, processing data elements of a first set of partitions stored at a first data store using a first data processor to generate first result data for the data elements of the first set of partitions, sending the first result data from the distributed computing cluster to a consumer of the first result data outside the distributed computing cluster, and storing the first result data in a first buffer located in the distributed computing cluster and associated with the first data processor until the consumer has persistently stored the first result data outside the distributed computing cluster.