Distributed Computation Infrastructure Using In-Memory State Replication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed computing systems lack solutions for providing strong consistency guarantees and high availability in computations, especially in the presence of failures or load balancing, and typically rely on file-based or specialized stores for intermediate results, which are not scalable or efficient.

Innovation Solution

A distributed computation infrastructure that uses a replica set within a fabric-based architecture, where a primary compute node and secondary nodes maintain the same state and perform transactions, ensuring consistency through replication and failover mechanisms, allowing for stateful and stateless computations to be performed reliably and efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If state replication is implemented to ensure consistency when nodes fault, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improveconsistency guaranteeVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements state replication by creating copies of the computational state across multiple nodes in the distributed system. When a node faults, the replicated state enables another node to take over, ensuring consistency guarantees without requiring complex manual intervention for each failure scenario.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary replication of state before failures occur, maintaining ready-to-use copies on secondary nodes. This preliminary action ensures that when a primary node fails, the system can immediately failover to a secondary node with the necessary state, avoiding the need for complex recovery procedures.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If file-based stores are used for intermediate results, then reliability is improved, but productivity decreases

Engineering Contradiction:
Improvehigh availabilityVSAvoidcomputational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces file-based storage systems with in-memory computational state structures. This substitution eliminates the I/O bottlenecks and performance overhead associated with disk-based file stores while maintaining reliability through replicated memory state across distributed nodes.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If specialized stores are used for intermediate results, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improveavailability guaranteeVSAvoidinfrastructure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a universal in-memory state structure that serves multiple functions: storing intermediate computational results, maintaining transaction logs, and enabling failover. This eliminates the need for specialized store infrastructure while providing the same reliability guarantees through the replicated state machine approach.

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

4Manufacturing precision

If operators wait for all inputs before starting, then consistency is improved, but productivity decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidcomputation speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The system performs preliminary validation and preparation of input data structures before computation begins. By pre-processing inputs and establishing consistency checks in advance, the system can proceed with computation without blocking on input availability, maintaining both consistency and productivity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The replicated state machine enables continuous computation by allowing operators to proceed with available inputs while maintaining consistency through the replicated state. The system continues useful computational actions without interruption, using the replicated state to ensure data consistency even when inputs arrive asynchronously.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP2622498B1Performing computations in a distributed infrastructure
Publication Date: 2020.07.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2622498B1 patent drawingFigure 1
  • EP2622498B1 patent drawingFigure 2A
  • EP2622498B1 patent drawingFigure 2B

AI summary

The present invention extends to methods, systems, and computer program products for performing computations in a distributed infrastructure. Embodiments of the invention include a general purpose distributed computation infrastructure that can be used to perform efficient (in-memory), scalable, failure-resilient, atomic, flow-controlled, long-running state-less and state-full distributed computations. Guarantees provided by a distributed computation infrastructure can build upon existent guarantees of an underlying distributed fabric in order to hide the complexities of fault-tolerance, enable large scale highly available processing, allow for efficient resource utilization, and facilitate generic development of stateful and stateless computations. A distributed computation infrastructure can also provide a substrate on which existent distributed computation models can be enhanced to become failure-resilient.