Geo-Location Based Web Server Selection for Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods lack the ability to effectively balance web server load based on geographic location information, leading to suboptimal web service quality and fault tolerance issues due to the distance between data centers and web clients.

Innovation Solution

A system and method utilizing a global load balancer that determines the geographic location of a web client and selects a web server from a plurality of servers based on a match with the client's location, optimizing service delivery by using a global load balancer coupled with a local DNS server to ensure efficient service routing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If web servers are deployed in multiple data centers far apart to provide fault tolerance, then reliability is improved, but network latency increases due to the distance between data centers and web clients

Engineering Contradiction:
Improvefault toleranceVSAvoidnetwork latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies local quality by selecting web servers based on geographic proximity to the web client. The global load balancer determines the geographic location of the web client and selects a web server from a geographically closest data center. This ensures that locally relevant services are delivered with minimal latency while maintaining the distributed architecture's fault tolerance capabilities.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically selects web servers based on real-time geographic location information. The global load balancer receives location data, queries available web servers, and dynamically routes requests to the most appropriate server based on current geographic conditions, enabling adaptive load balancing that responds to changing network conditions.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If a single load balancer is used to manage many web servers, then device complexity is reduced, but productivity decreases when the load balancer becomes a bottleneck

Engineering Contradiction:
Improveload balancer configurationVSAvoidweb service delivery capacity
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the load balancing function by deploying multiple load balancers distributed across different geographic locations. Each load balancer manages web servers in its local data center, dividing the overall load balancing task into smaller, geographically distributed segments. This prevents any single load balancer from becoming a bottleneck while maintaining manageable complexity through standardized configurations.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If web servers are selected using round robin or other simple schemes, then device complexity is reduced, but web service quality deteriorates due to inability to optimize based on geographic location

Engineering Contradiction:
Improveserver selection mechanismVSAvoidweb service quality
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The global load balancer acts as an intermediary between the web client and web servers. It receives geographic location information from the web client, queries the available web servers, and returns optimized server selections. This intermediary function enables geographic-aware load balancing without requiring complex modifications to individual web servers or client systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10735267B2Determining an application delivery server based on geo-location information
Publication Date: 2020.08.04 A10 NETWORKS INC
  • US10735267B2 patent drawing
  • US10735267B2 patent drawing
  • US10735267B2 patent drawing

AI summary

A method for web service load balancing may commence with receiving, from a local DNS server, a request for a web service. The local DNS server may be coupled to a web client requesting the web service. The request may include local DNS server information. The method may continue with determining a geographic location of the local DNS server based on the local DNS server information. The method may further include selecting a web server from a plurality of web servers based on the web service. The method may continue with determining a geographic location of the web server and determining that the geographic location of the local DNS server matches the geographic location of the web server. The method may further include selecting the web server based on the match. The method may continue with sending a response to the local DNS server.