Multi-Core GSLB Appliance Dynamic Proximity Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data communication networks, managing dynamic proximity in multi-core GSLB appliances is challenging due to the need to determine the closest and best-suited server among numerous global servers, which can overload a single processor and complicate decision-making.

Innovation Solution

A multi-core GSLB appliance communicates with a location database to allocate responsibility across its cores based on source IP addresses, allowing each core to handle domain name resolution requests and store cache entries, and monitors round trip times to optimize server selection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single processor handles domain name resolution for numerous global servers, then decision-making can be centralized, but processor overload occurs and performance deteriorates

Engineering Contradiction:
Improvedomain name resolution performanceVSAvoidprocessor load management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the domain name resolution workload across multiple processor cores by assigning specific LDNS entries to specific cores based on source IP address ranges. Each core becomes responsible for resolving domain names for a designated subset of clients, preventing any single processor from being overloaded while maintaining centralized control through the allocation strategy.

Inventive Principle:
Principle #1Segmentation

2Productivity

If LDNS entries are distributed across multiple packet processing engines, then processor overload is reduced, but inter-core communication complexity increases

Engineering Contradiction:
Improveload distribution efficiencyVSAvoidcore communication coordination
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements local quality by having each packet processing engine maintain a cache of LDNS entries assigned to its specific core. This allows each core to independently resolve domain names for its assigned clients without requiring constant communication with other cores, reducing coordination complexity while maintaining efficient load distribution.

Inventive Principle:
Principle #3Local quality

3Reliability

If real-time monitoring of round trip times is implemented, then optimal server selection is improved, but system overhead and processing time increase

Engineering Contradiction:
Improveserver selection accuracyVSAvoidmonitoring overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by establishing and maintaining round trip time monitors that continuously track performance metrics for LDNS entries. These monitors operate in advance to collect performance data, which is then used to make optimal server selection decisions when clients request domain name resolution, ensuring reliable selection without adding significant overhead to the resolution process itself.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8230054B2Systems and methods for managing dynamic proximity in multi-core GSLB appliance
Publication Date: 2012.07.24 CITRIX SYSTEMS INC
  • US8230054B2 patent drawing
  • US8230054B2 patent drawing
  • US8230054B2 patent drawing

AI summary

The present invention is directed towards systems and methods for providing dynamic proximity load balancing via a multi-core intermediary device. An intermediary device providing global server load balancing (GSLB) identifies a local domain name service (LDNS) entries database and assigns each LDNS entry in the LDNS entries database to one of the plurality of packet processing engine base on a source internet protocol (IP) address of each LDNS entry. The first packet processing engine on the appliance receives a LDNS request for an IP address, determines that the LDNS entry for the IP address is assigned to a second packet processing engine of the plurality of packet processing engines, transmits a request to the second packet processing engine for the LDNS entry for the IP address, and determines a response to the LDNS request based on the LDNS entry for the IP address received from the second packet processing engine.