Overlay-Aware Load Balancer for Virtual Networking Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In overlay virtual environments, translation gateways between different packet formats act as communication bottlenecks, impacting performance due to incompatibility with encapsulation types, necessitating load balancing to optimize resource usage across computing nodes.

Innovation Solution

A method for load balancing in a virtual networking system that involves maintaining data sets on computing nodes, receiving load information units, determining resource usage thresholds, and transferring data sets between nodes when thresholds are exceeded to optimize resource distribution and alleviate bottlenecks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If translation gateways are used to translate between different packet formats, then compatibility with different encapsulation types is achieved, but communication performance deteriorates due to bottlenecks

Engineering Contradiction:
Improvecompatibility with encapsulation typesVSAvoidcommunication performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts the translation gateway function from the system architecture and replaces it with overlay-aware load balancers that natively support multiple encapsulation types (VXLAN, NVGRE, GENEVE). This eliminates the translation bottleneck while maintaining compatibility across different overlay protocols.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The load balancer is designed with multi-functionality to handle multiple encapsulation types directly. It can perform load balancing operations on VXLAN, NVGRE, and GENEVE packets without requiring translation, thus achieving both compatibility and performance.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If load balancing is implemented to redistribute resource usage, then system efficiency improves, but system complexity increases due to additional monitoring and data transfer mechanisms

Engineering Contradiction:
Improvesystem efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The load balancer implements feedback mechanisms by monitoring resource usage metrics (CPU, memory, network bandwidth) from backend servers and dynamically adjusting load distribution. This automated feedback loop improves system efficiency while managing complexity through programmatic control.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The load balancing system dynamically adapts to changing resource conditions by continuously monitoring server health and performance metrics. It can reallocate traffic in real-time based on current system state, improving efficiency while keeping complexity manageable through adaptive rather than static configurations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10700979B2Load balancing for a virtual networking system
Publication Date: 2020.06.30 KYNDRYL INC
  • US10700979B2 patent drawing
  • US10700979B2 patent drawing
  • US10700979B2 patent drawing

AI summary

Embodiments of the invention provide a method for load balancing a networking system comprising multiple computing nodes. The method comprises maintaining one or more data sets on at least one computing node. The method further comprises receiving, from each computing node, a load information unit for the computing node, wherein the load information unit relates to resource usage on the computing node. For each computing node, the method determines whether the load information for the computing node exceeds a corresponding load threshold for the computing node. A data set on at least one computing node is transferred to another computing node when the load information for the at least one computing node exceeds a corresponding load threshold for the at least one computing node.