Deterministic Virtual Machine Replication for Low-Latency Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing high-availability computing applications in distributed systems face challenges such as high processing overheads, increased latency, network congestion, and complex design and programming efforts due to stateless applications interacting with stateful databases, requiring snapshotting, read and write locking, and ensuring deterministic operations across multiple nodes.

Innovation Solution

A programming framework and runtime environment that uses deterministic virtual machines replicated across computing nodes, employing the RAFT protocol and transaction logs to ensure consistency and determinism, allowing for efficient snapshotting and bytecode upgrades while minimizing lower-level complexities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If stateless applications interact with stateful databases to achieve high-availability, then application availability is improved, but processing overhead and latency increase

Engineering Contradiction:
Improveapplication availabilityVSAvoidprocessing overhead and latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent creates replicated copies of the entire application state across multiple computing nodes using virtual machines. Instead of stateless applications querying stateful databases, each node maintains a complete copy of the application state locally, eliminating database interaction overhead and enabling fast local access to all application data.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent segments the monolithic application state into distributed virtual machine instances across multiple computing nodes. Each node operates independently with its own copy of the application state, allowing parallel processing and eliminating the single-point bottleneck of centralized stateful databases.

Inventive Principle:
Principle #1Segmentation

2Stability of the object's composition

If snapshotting and locking mechanisms are implemented to ensure consistency across nodes, then data consistency is improved, but system complexity increases

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem complexity
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The deterministic virtual machines are self-contained and self-sufficient, each maintaining its own complete application state and executing transactions independently. The system achieves consistency through deterministic execution guarantees rather than complex inter-node coordination, locking, or snapshotting mechanisms.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces mechanical coordination mechanisms (snapshotting, locking, consensus protocols) with a software-based deterministic execution model. The deterministic virtual machine architecture guarantees that the same input transactions always produce the same output states, eliminating the need for complex coordination infrastructure.

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

3Reliability

If multiple computing nodes execute replicated virtual machines with full application state, then application availability and fault-tolerance are improved, but network overhead increases

Engineering Contradiction:
Improvefault-toleranceVSAvoidnetwork overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts the application state from centralized databases and embeds it directly within each distributed virtual machine instance. This eliminates the need for continuous network synchronization of state data, as each node operates independently with its own complete state copy, reducing network traffic to only essential coordination messages.

Inventive Principle:
Principle #2Taking out (Extraction)

4Stability of the object's composition

If deterministic operations are enforced across all nodes, then application determinism is improved, but programming flexibility decreases

Engineering Contradiction:
Improveapplication determinismVSAvoidprogramming flexibility
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent changes the fundamental parameter of execution determinism at the virtual machine level. By ensuring deterministic execution within each VM instance while allowing flexible programming within that deterministic framework, the system achieves both determinism and flexibility. Developers can write flexible business logic that executes deterministically within each node's isolated environment.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12511148B2System and method supporting highly-available replicated computing applications using deterministic virtual machines
Publication Date: 2025.12.30 GOLDMAN SACHS & CO LLC
  • US12511148B2 patent drawing
  • US12511148B2 patent drawing
  • US12511148B2 patent drawing

AI summary

A method includes executing replicated virtual machines on multiple computing nodes within a cluster in a distributed computing network. Each virtual machine includes an application, and the application includes bytecode. The method also includes sequentially recording, in a replicated transaction log, transactions of the virtual machines and one or more upgrades to the bytecode. The method further includes generating, for each computing node, one or more snapshots and truncating the transaction log. Each snapshot captures an application state and the bytecode of the associated virtual machine. In addition, the method includes, in response to restoration of at least one computing node in the cluster or an addition of at least one additional computing node to the cluster, restoring one or more virtual machines to a current application state of one or more other virtual machines using the transaction log and at least one of the one or more snapshots.