Durable Future Workflow Recovery After Process Crashes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer programs implementing multi-step processes face challenges in resuming execution after a crash, leading to potential errors and inefficiencies due to unknown workflow states.

Innovation Solution

Utilizing a durable future with an assigned identifier to represent the workflow state, allowing for the resumption of operations after a crash by retrieving and utilizing the stored state to continue execution without re-executing completed tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional programming models are used to execute multi-step processes, then the system can implement workflows, but the execution cannot be reliably resumed after a crash due to unknown workflow states

Engineering Contradiction:
Improveexecution resumption reliabilityVSAvoidworkflow state information
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent applies preliminary action by creating and storing a durable future object that captures the workflow state before execution occurs. This durable future includes an identifier and state information that are persisted to storage, allowing the system to prepare for potential crashes in advance. When a crash occurs, this pre-prepared state information enables reliable resumption without losing workflow progress.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the system re-executes operations after a crash to ensure correctness, then reliability improves, but resource consumption and execution time increase

Engineering Contradiction:
Improveexecution correctnessVSAvoidexecution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements feedback by storing the workflow state in the durable future object and using this stored state to determine what operations have already been executed. When resuming after a crash, the system queries the durable future to get feedback on the current state, allowing it to skip already-executed operations and only re-execute failed ones, thus maintaining correctness while improving efficiency.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies partial action by executing only the necessary portion of operations after a crash rather than re-executing the entire workflow. The durable future state information allows the system to identify exactly which operations need to be re-executed, performing only the partial action required to complete the workflow correctly without the excessive overhead of full re-execution.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If the system stores detailed workflow state information to enable resumption, then execution can be resumed accurately, but device complexity increases

Engineering Contradiction:
Improvestate tracking accuracyVSAvoidsystem structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses an intermediary approach by introducing the durable future object as a mediator between the workflow execution and the storage system. This durable future object encapsulates the workflow state information and provides a standardized interface for saving and retrieving state. The intermediary simplifies the overall system structure by centralizing state management in a single object rather than requiring complex distributed state tracking across multiple components.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12585544B2Using a durable future to resume execution of an operation after a process that includes the operation crashes
Publication Date: 2026.03.24 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12585544B2 patent drawing
  • US12585544B2 patent drawing
  • US12585544B2 patent drawing

AI summary

Techniques are described herein that are capable of using a durable future to resume execution of an operation after a process that includes the operation crashes. A durable future, which is a proxy for a state of a workflow, is generated. An identifier that identifies the durable future is assigned, and a state of the durable future is stored in a store. The state of the durable future specifies a portion of the state of the workflow that is known. It is detected that the execution of the operation in the process, which implements at least a portion of the workflow, is discontinued as a result of a crash of the process. After the crash of the process, the state of the durable future is retrieved from the store using the identifier, and the execution of the operation is resumed using the state of the durable future.