Layer 2 Load Balancing via Virtual MAC Address Clustering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional load balancing techniques fail to operate effectively in layer 2 connections, as they rely on layer 3 connectivity, and switch devices connected via layer 2 connections experience issues with virtual MAC addresses, leading to MAC-move operations that prevent load balancing for server devices providing services via virtual machines.
Innovation Solution
A layer 2 load balancing system that includes a processing system and memory with instructions to identify server device clusters sharing a virtual MAC address, suppress MAC-move operations, and direct packets to appropriate virtual machines within the cluster based on packet header fields, enabling load balancing across multiple server devices connected via purely layer 2 connections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional load balancing techniques are used with layer 3 connectivity, then load balancing can be performed effectively, but they cannot operate with layer 2 connections where multiple server devices share a common virtual MAC address
Solution Approach 1:
The patent segments the load balancing function into two distinct parts: (1) a layer 2 load balancing engine that operates at the data link layer to receive and distribute packets based on virtual MAC addresses, and (2) a session persistence mechanism that maintains connection state information. This segmentation allows the system to perform load balancing over layer 2 connections while maintaining reliability through session tracking, resolving the contradiction between layer 2 compatibility and load balancing functionality.
Solution Approach 2:
The patent introduces a switch device as an intermediary between client devices and server devices. The switch device includes a layer 2 load balancing engine that intercepts packets destined for the common virtual MAC address, performs load balancing decisions, and forwards packets to appropriate server devices. This intermediary enables layer 2 load balancing by mediating between the shared virtual MAC address and individual physical server devices, resolving the contradiction between layer 2 adaptability and load balancing reliability.
2Measurement precision
If switch devices perform MAC-move operations when receiving the same MAC address on different ports, then MAC address tracking is maintained, but load balancing to multiple server devices is prevented
Solution Approach 1:
The patent implements dynamic behavior in the switch device's MAC address handling. Instead of statically performing MAC-move operations whenever the same MAC address is received on a different port, the layer 2 load balancing engine dynamically determines whether to perform MAC-move operations based on whether the server device is part of a load balancing group. This dynamic approach allows the system to maintain MAC address tracking accuracy for regular addresses while enabling traffic distribution to multiple servers sharing virtual MAC addresses, resolving the contradiction between MAC tracking precision and traffic distribution efficiency.
Solution Approach 2:
The patent changes the parameter of MAC address movement behavior based on the context. When a virtual MAC address is received from a server device in a load balancing group, the system suppresses MAC-move operations and instead directs traffic based on load balancing algorithms. This parameter change allows the system to maintain accurate MAC address tracking for individual servers while enabling efficient traffic distribution across multiple servers sharing a common virtual MAC address, resolving the contradiction between MAC tracking accuracy and traffic distribution efficiency.
Data Source
AI summary
A layer 2 load balancing system includes server devices that provide virtual machines that each share a virtual Media Access Control (MAC) address. A switch device is coupled to each of the server devices via respective ports on the switch device. The switch device receives the virtual MAC address during a time period via each of the respective ports connected to the server devices and, in response, identifies a server device cluster that shares the virtual MAC address. When the switch device receive packets that are part of a packet flow and that are directed to the virtual MAC address, it then directs each of the packets that are part of the packet flow to one of the virtual machines that is provided on one of the server devices in the server device cluster.


