Semi-Synchronous Application Migration Across Asynchronous Distances

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed storage systems, transferring applications like virtual machines across geographically distant sites is challenging due to asynchronous communication, which can result in data inconsistencies and unacceptable delays, especially when maintaining write order fidelity and ensuring data coherence across remote sites.

Innovation Solution

The system synchronously propagates writes from one site to another, suspends the application at the source site, and resumes it at the destination site, using software that transfers an image of the virtual machine and combines cache data with ongoing writes to maintain data coherence and consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If asynchronous transfers are used for geographically distant sites, then transfer time is reduced, but data consistency and write order fidelity deteriorate

Engineering Contradiction:
Improvetransfer timeVSAvoiddata consistency
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system performs preliminary data transfer and caching at the destination site before the application actually needs the data. Write operations are queued and prepared for transfer, allowing the application to resume quickly at the destination without waiting for all data to be transferred in real-time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A data transfer mediation layer is introduced between source and destination sites, managing the complexity of asynchronous transfers. This intermediary handles write ordering, data consistency, and coordination between sites, isolating the application from these complexities while maintaining reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If synchronous transfers are used to maintain data consistency, then data coherence is improved, but transfer time and application delay worsen

Engineering Contradiction:
Improvedata coherenceVSAvoidapplication delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The data transfer process is segmented into multiple independent phases: initial data copy, write operation queuing, periodic synchronization, and final consistency verification. This allows the system to maintain data coherence for critical operations while avoiding synchronous delays for all data transfers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of continuous synchronous synchronization, the system uses periodic synchronization intervals where write operations are batched and transferred at scheduled times. This reduces the frequency of synchronous communication while maintaining acceptable data coherence levels.

Inventive Principle:
Principle #19Periodic action

3Reliability

If application is suspended at source and resumed at destination, then data consistency is improved, but availability and access speed worsen

Engineering Contradiction:
Improvedata consistencyVSAvoidavailability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of suspending the application, the system creates a copy of the application state and data at the destination site. The application continues running at the source while a parallel instance is prepared at the destination, enabling seamless failover without suspension.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system dynamically changes operational parameters during migration, such as adjusting synchronization frequency, data transfer priorities, and consistency levels based on the migration phase. This allows the system to maintain high availability while progressively achieving data consistency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9805049B1Migrating applications over asynchronous distances using semi-synchronous acceleration
Publication Date: 2017.10.31 EMC IP HLDG CO LLC
  • US9805049B1 patent drawing
  • US9805049B1 patent drawing
  • US9805049B1 patent drawing

AI summary

Transferring an application from a first site to a second site includes determining that the second site is a destination site for the application, causing writes by the application at the first site to be propagated semi-synchronously to the second site, transferring storage data from the first site to the second site, suspending operation of the application on the first site, and resuming operation of the application on the second site. The application may be a virtual machine or a host cluster capable of transitioning applications between cluster nodes. The virtual machine may be transferred from the first site to the second site by transferring an image of the virtual machine from the first site to the second site. The destination site may be selected by a user. The second site may be located remotely from the first site across an asynchronous distance.