Live-Migration of Applications in Distributed Clusters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current solutions for managing multiple applications on a cluster of servers fail to effectively address redundancy and load-balancing issues in high-latency networked systems, as they either incur high costs, impose performance overhead, or are limited by geographical constraints and the risk of data corruption.

Innovation Solution

A server configured to operate in either a master or slave role, with logic for replicating data across a cluster, autonomously switching roles based on events such as failure or load changes, using snapshot replication and heartbeats to maintain data consistency and balance load across servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If virtualisation is used to replicate every change in memory and system state to a second physical host over a high-speed LAN, then automatic failover capability is improved, but performance overhead increases and costs increase

Engineering Contradiction:
Improveautomatic failover capabilityVSAvoidperformance overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies partial replication by selectively copying only critical data structures (filesystem superblocks, inode information, allocation maps) rather than every memory change. This partial action approach provides sufficient failover capability while reducing the performance overhead and resource consumption associated with full memory state replication.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The invention extracts and replicates only the essential filesystem metadata and data structure information needed for failover, separating this critical data from the complete system state. This extraction approach enables automatic failover while minimizing the overhead of replicating unnecessary data.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If a shared storage backend is used for classical cluster load balancing, then load distribution is improved, but the storage system becomes a single point of failure and costs increase

Engineering Contradiction:
Improveload distribution capabilityVSAvoidsingle point of failure risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the storage dependency by creating independent filesystem images on each server's local storage. Instead of all servers depending on a single shared storage backend, each server maintains its own segmented copy of the filesystem data, eliminating the shared storage single point of failure while enabling load distribution across the cluster.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention uses copying to create redundant filesystem images on each server's local storage rather than accessing a shared storage backend. This copying approach allows any server to take over another's workload immediately without shared storage access, improving reliability while maintaining load balancing capability.

Inventive Principle:
Principle #26Copying

3Productivity

If manual intervention is used to move applications between servers during load spikes, then resource utilization can be adjusted, but recovery time increases and operational complexity increases

Engineering Contradiction:
Improveresource utilization adjustmentVSAvoidrecovery time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements self-service automation where the system automatically detects load imbalances and triggers application migration without manual intervention. The load balancer monitors server load and autonomously relocates applications from overloaded servers to underutilized ones, reducing recovery time while maintaining optimal resource utilization.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The invention incorporates feedback mechanisms where the load balancer continuously monitors server performance metrics and uses this information to automatically trigger migration decisions. This closed-loop feedback system enables rapid response to load changes, reducing recovery time compared to manual monitoring and intervention.

Inventive Principle:
Principle #23Feedback

4Reliability

If quorum, fencing or STONITH mechanisms are implemented to prevent split-brain scenarios, then data corruption is prevented, but system complexity increases and operational costs increase

Engineering Contradiction:
Improvedata corruption preventionVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses copying to create independent filesystem image replicas on each server's local storage. This copying approach inherently prevents split-brain data corruption because each server works with its own consistent copy, eliminating the need for complex quorum mechanisms to coordinate access and prevent conflicting writes to shared storage.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The invention segments the filesystem data into independent images stored locally on each server rather than using shared storage. This segmentation approach prevents data corruption in split-brain scenarios by ensuring each server operates on its own data copy, eliminating the need for fencing or STONITH mechanisms to prevent concurrent access conflicts.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240184805A1System For Live-Migration and Automated Recovery of Applications in a Distributed System
Publication Date: 2024.06.06 GOOGLE LLC
  • US20240184805A1 patent drawing
  • US20240184805A1 patent drawing
  • US20240184805A1 patent drawing

AI summary

A method and apparatus for distribution of applications amongst a number of servers, ensuring that changes to application data on a master for that application are asynchronously replicated to a number of slaves for that application. Servers may be located in geographically diverse locations; the invention permits data replication over high-latency and lossy network connections and failure-tolerance under hardware and network failure conditions. Access to applications is mediated by a distributed protocol handler which allows any request for any application to be addressed to any server, and which, when working in tandem with the replication system, pauses connections momentarily to allow seamless, consistent live-migration of applications and their state between servers. Additionally, a system which controls the aforementioned live- migration based on dynamic measurement of load generated by each application and the topological preferences of each application, in order to automatically keep servers at an optimum utilisation level.