Load Balancer for Stretched Cluster Workload Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional load balancers fail to intelligently determine which availability zone to use for host servers in stretched clusters, leading to suboptimal workload distribution and performance in active-active and active-passive HA cluster configurations, as they do not consider performance differences across geographical locations.

Innovation Solution

A load balancer executes within a virtual management server, creating and maintaining compatibility rules to ensure active instances of a workload are provisioned on separate hosts across different sites, using a key-value map to rank hosts based on performance data and switch instances to optimize performance and availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional load balancers are used in stretched clusters, then basic load balancing functionality is provided, but intelligent determination of availability zones for host servers is lost, leading to suboptimal workload distribution

Engineering Contradiction:
Improveintelligent determination of availability zoneVSAvoidworkload distribution efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The load balancer continuously monitors performance data from multiple availability zones and uses this feedback to dynamically determine optimal host server locations for workload placement, enabling intelligent adaptation to changing conditions in stretched clusters

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The load balancer autonomously performs availability zone selection and workload distribution optimization without requiring external intervention, automatically adapting to the stretched cluster environment based on monitored performance metrics

Inventive Principle:
Principle #25Self-service

2Ease of manufacture

If active instances are placed on any available host, then provisioning is simplified, but performance optimization and failover capabilities are compromised due to potential placement on the same host or location

Engineering Contradiction:
Improveprovisioning simplicityVSAvoidfailover capability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The system applies different placement rules and compatibility requirements to different instances based on their specific performance needs and failover requirements, ensuring each instance is placed on an appropriate host while maintaining provisioning automation

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Compatibility rules act as an intermediary mechanism that automatically enforce separation requirements between active instances without complicating the provisioning process, mediating between simple placement and reliability requirements

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multiple active instances are provisioned without compatibility rules, then resource utilization increases, but the risk of single point of failure increases when instances are on the same host

Engineering Contradiction:
Improveresource utilizationVSAvoidfailover safety
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adjusts instance placement based on real-time host availability and compatibility rules, allowing flexible resource utilization while automatically preventing single points of failure through enforced separation of active instances

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10880367B2Load balancing stretched clusters in a distributed network
Publication Date: 2020.12.29 VMWARE INC
  • US10880367B2 patent drawing
  • US10880367B2 patent drawing
  • US10880367B2 patent drawing

AI summary

A balancer can balance workloads in an active-active or active-passive stretched cluster by determining where to provision active instances of virtual machines. The balancer can maintain a set of compatibility rules to govern which hosts, such as sites or servers, are compatible with which instances. The compatibility rules can ensure that the same host does not run both instances, for failover purposes. Additionally, the balancer can create a key-value map that tracks performance of various available hosts. By monitoring host performance and maintaining the compatibility rules, the balancer can re-provision instances on different compatible hosts when performance of a current host suffers.