Multi-Core GSLB Proximity Load Balancing via IP-Based Core Assignment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managing static proximity in multi-core GSLB appliances is challenging due to the complexity of determining the closest and best-suited server among numerous global servers, especially for a single processor.
Innovation Solution
A multi-core intermediary device communicates with a location database to allocate responsibility across cores based on source IP addresses, ensuring static proximity load balancing by directing domain name requests to the appropriate core for resolution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single processor is used to manage global server load balancing, then device complexity is reduced, but productivity deteriorates due to the challenging decision-making process among numerous global servers
Solution Approach 1:
The patent divides the single processor into multiple cores, allowing each core to handle specific geographic regions or server groups independently. This segmentation enables parallel processing of DNS requests, improving server selection speed while maintaining manageable complexity through organized division of labor
Solution Approach 2:
The patent introduces a geographic dimension to the load balancing decision-making process by implementing location-based routing across multiple cores. Each core can be responsible for specific geographic regions, adding a spatial dimension that organizes the complexity and enables faster concurrent decision-making
2Productivity
If multiple cores are used in the GSLB appliance, then productivity improves through parallel processing, but device complexity increases due to core coordination requirements
Solution Approach 1:
The patent assigns specific geographic regions or server groups to individual cores, giving each core specialized responsibility. This local quality approach reduces coordination overhead because each core makes independent decisions for its assigned region without requiring constant communication with other cores
Solution Approach 2:
The patent implements a location database as an intermediary that stores geographic information and server mappings. This intermediary enables cores to independently determine the best server for any given client location without requiring inter-core communication, simplifying the multi-core coordination while maintaining high productivity
3Loss of time
If static proximity load balancing is implemented, then response time is reduced by directing clients to closest servers, but device complexity increases due to location database management
Solution Approach 1:
The patent pre-populates the location database with geographic information and server location data before operation. This preliminary action enables cores to quickly determine the closest server for any client by simple database lookup, reducing server selection time while keeping the database management complexity manageable through one-time setup
Data Source
Figure 1A
Figure 1B
Figure 1C
AI summary
The present invention is directed towards systems and methods for providing static proximity load balancing via a multi-core intermediary device. An intermediary device providing global server load balancing identifies a size of a location database comprising static proximity information. The intermediary device stores the location database to an external storage of the intermediary device responsive to determining the size of the location database is greater than a predetermined threshold. A first packet processing engine on the device receives a domain name service request for a first location, determines that proximity information for the first location is not stored in a first memory cache, transmits a request to a second packet processing engine for proximity information of the first location, and transmits a request to the external storage for proximity information of the first location responsive to the second packet processing engine not having the proximity information.