Multi-Level Load Balancing for Dynamic Cluster Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional load balancing systems in statically partitioned environments are inadequate for dynamically partitioned cluster environments, where assigning a DNS name to load balancers becomes complex due to dynamic application instance bindings and port allocations.

Innovation Solution

A multi-level load balancing system comprising a first level load balancer, a second level load balancer, and a cluster configuration observer, which receives and updates cluster configuration information to determine the correct instance and port for application requests, ensuring efficient routing and response handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a DNS name is assigned to a load balancer in a statically partitioned environment, then the load balancer can route traffic to a single server group, but the system becomes inadequate for dynamically partitioned cluster environments where application instances and port bindings change frequently

Engineering Contradiction:
Improveadaptability to dynamic partitioningVSAvoidcomplexity of DNS assignment
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent divides the load balancing system into multiple hierarchical levels (first level load balancers and second level load balancers). Each level handles specific routing tasks, with first level load balancers managing DNS name to load balancer group mappings and second level load balancers managing instance-level routing. This segmentation allows the system to adapt to dynamic changes at the instance level without requiring complete reconfiguration of the DNS assignment, thereby improving adaptability while managing complexity through division of labor.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to the load balancing architecture by adding multiple levels of load balancers. Instead of a flat single-level structure, the system now has first level load balancers that handle high-level DNS routing and second level load balancers that handle detailed instance routing. This dimensional change allows the system to maintain stable DNS assignments at the higher level while dynamically adapting to changes at the lower instance level, resolving the contradiction between adaptability and complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Measurement precision

If the system monitors and updates cluster configuration information dynamically, then traffic routing accuracy improves, but the computational overhead and system complexity increase

Engineering Contradiction:
Improverouting accuracyVSAvoidcomplexity of configuration monitoring
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements a cluster configuration observer that proactively monitors and caches cluster configuration information including application instances and their port bindings before requests arrive. By pre-fetching and storing this configuration data, the system maintains accurate routing information without requiring complex real-time computation for each request. The observer continuously updates the cached configuration, ensuring routing accuracy while reducing the computational burden during actual request handling.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a cluster configuration observer as an intermediary component that sits between the dynamic cluster environment and the load balancers. This observer abstracts the complexity of monitoring and tracking configuration changes, maintaining an updated view of the cluster state that can be queried by load balancers. By placing this intermediary layer, the system achieves accurate routing information without burdening the load balancers with complex monitoring logic, thus improving routing precision while managing system complexity through separation of concerns.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If multiple levels of load balancers are introduced to handle dynamic routing, then the system can effectively manage DNS name assignment in dynamic environments, but the number of components and system complexity increases

Engineering Contradiction:
Improvecapability to handle dynamic routingVSAvoidnumber of load balancer components
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the load balancing functionality into distinct hierarchical levels with specialized roles. First level load balancers handle DNS name to load balancer group mapping, while second level load balancers handle instance-level routing decisions. This segmentation allows each component to be optimized for its specific function, improving overall adaptability to dynamic environments while distributing complexity across manageable, specialized components rather than concentrating it in a single complex system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent designs the multi-level load balancer architecture where each level performs multiple functions within its scope. First level load balancers not only perform DNS routing but also distribute traffic across multiple second level load balancers. Second level load balancers handle both instance selection and health checking. This multi-functionality at each level reduces the need for additional specialized components, achieving high adaptability while controlling the overall number of components through versatile, multi-functional design.

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

Data Source

PatentUS11582296B2Multi-level load balancing
Publication Date: 2023.02.14 NOKIA TECHNOLOGIES OY
  • US11582296B2 patent drawing
  • US11582296B2 patent drawing
  • US11582296B2 patent drawing

AI summary

Various methods are provided for facilitating the assignment of a DNS name to load balancers in a dynamically partitioned cluster environment. One example method may comprise receiving cluster configuration information from a cluster configuration observer, the cluster configuration information comprising information indicative of each of a plurality of instances of running application and one or more servers and associated ports to which at least one of the plurality of instances is bound, receiving a request from a first level load balancer requiring a call to the first application, determining, based on the cluster configuration information, to which port the instance of the first application is bound, and transmitting the request to the port to which the instance of the first application is bound.