Checkpointing Higher-Order Query Operators

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Higher-order query operators in data processing systems face challenges in checkpointing and recovery due to the complexity of saving and re-establishing the state of inner subscriptions, especially when the selector function is not pure and the type parameter can be closed by using IObservable, leading to issues with replay mechanisms and state management.

Innovation Solution

The solution involves generating a data representation that describes how to create an inner subscription in terms of executable code, decoupling outer subscriptions from inner subscriptions using bridges or other mechanisms, and saving handles to inner subscriptions, allowing for the recreation of inner sequences during recovery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional checkpointing is used for higher-order query operators, then system reliability is improved, but device complexity increases due to the need to manage state of inner subscriptions and decoupling mechanisms

Engineering Contradiction:
Improvefault toleranceVSAvoidcheckpointing mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The checkpointing mechanism is segmented into distinct components: outer subscription state management, inner subscription state management, and bridge mechanism management. This segmentation allows each component to be independently managed and recovered, reducing overall system complexity while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A bridge mechanism is introduced as an intermediary between outer and inner subscriptions. This bridge decouples the two subscription types, allowing them to be managed independently while maintaining their relationships. The bridge handles the complexity of state management, making the overall system more manageable.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If inner subscription state is captured and persisted, then recovery capability is improved, but loss of time increases due to state serialization and storage operations

Engineering Contradiction:
Improverecovery capabilityVSAvoidcheckpointing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The state of inner subscriptions is extracted and represented as executable code data representations. This extraction allows the state to be captured in a compact, serializable form that can be quickly stored and later reconstructed, reducing the time required for checkpointing operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Data representations describing how to create inner subscriptions are generated and saved in advance during normal operation. When a failure occurs, these pre-generated representations can be quickly loaded and executed to restore state, eliminating the need for time-consuming state reconstruction during recovery.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If outer subscriptions are decoupled from inner subscriptions using bridges, then adaptability is improved, but device complexity increases due to additional decoupling mechanisms

Engineering Contradiction:
Improvesubscription management flexibilityVSAvoiddecoupling mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The bridge mechanism is designed as a universal component that can handle multiple types of subscription relationships. Rather than creating specialized decoupling mechanisms for each subscription type, a single bridge implementation handles all cases, reducing overall complexity while maintaining high adaptability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The decoupling mechanism is made dynamic through the use of data representations that describe how to create inner subscriptions. This allows the system to adapt to different subscription configurations without requiring static, hard-coded decoupling logic, reducing complexity while maintaining versatility.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10303558B2Checkpointing higher order query operators
Publication Date: 2019.05.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10303558B2 patent drawing
  • US10303558B2 patent drawing
  • US10303558B2 patent drawing

AI summary

Higher-order operators are subject to checkpointing as well as recovery. The state of a higher-order operator, comprising an outer subscription and one or more inner subscriptions, is captured and subsequently utilized to recover the operator. In one instance, a data representation of code that can produce an inner subscription is saved. In other instance, an outer subscription is decoupled from inner subscriptions of a higher-order operator.