Consistent Mapping for Cloud VM Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cloud computing systems face challenges in efficiently load-balancing virtual machines across geographically distributed data centers without requiring synchronized state tables or contiguous layer-2 networks, which can lead to reduced service availability and increased complexity.
Innovation Solution
Implementing a technique that uses consistent mapping operations across gateways to select healthy virtual machines for incoming packets, based on health information and geographical proximity, without the need for synchronized state tables or contiguous networks, and utilizing IP tunnels for communication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronized state tables are used for load-balancing across geographically distributed data centers, then load-balancing consistency is improved, but system complexity and synchronization overhead increase
Solution Approach 1:
The system segments the load-balancing functionality into independent gateway nodes, each maintaining local state tables without requiring synchronization with other gateways. Each gateway independently performs consistent mapping operations using the same hash function algorithm, allowing geographic distribution while avoiding centralized synchronization complexity.
Solution Approach 2:
Instead of synchronizing a single master state table across all gateways, each gateway maintains a local copy of the state table with the same structure and algorithms. This copying approach allows independent operation while maintaining consistency through identical hash mapping logic, eliminating synchronization overhead.
2Reliability
If contiguous layer-2 networks are used for load-balancing, then network connectivity is improved, but network infrastructure requirements and complexity increase
Solution Approach 1:
The system introduces IP tunnels as intermediary mechanisms that enable layer-3 routing between geographically distributed data centers. This replaces the requirement for contiguous layer-2 networks with tunnel-based encapsulation, allowing load-balancing across standard IP networks without specialized layer-2 infrastructure.
Solution Approach 2:
The system transitions from layer-2 network connectivity requirements to layer-3 IP-based routing with tunneling. This dimensional change in network layer usage allows geographic distribution across standard IP infrastructure rather than requiring specialized contiguous layer-2 networks.
3Reliability
If health information checking is performed for all virtual machines, then service availability is improved, but communication overhead increases
Solution Approach 1:
The system performs health checks selectively rather than continuously on all virtual machines. The consistent hashing mechanism naturally handles failures by redistributing traffic from failed VMs to healthy ones, reducing the frequency and scope of health checking operations while maintaining service availability.
Data Source
AI summary
Systems and techniques are described for virtual machine (VM) load-balancing. A described technique includes running VMs that communicate via a virtual network, the VMs being configured to handle requests associated with at least a destination address on a public network and operating gateways that provide connectivity between the virtual network and the public network, and use a consistent mapping operation to perform load-balancing among the VMs. A gateway can obtain VM health information; determine based on the VM health information a group of healthy VMs; receive an incoming packet that includes a source address and the destination address; select a handling VM based on an output of the consistent mapping operation given the source address and the group of healthy VMs; forward the incoming packet to the handling VM via the virtual network; and create an entry to forward one or more additional incoming packets to the handling VM.


