Client-Side Load Balancing via DNS Range Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current network load balancing (NLB) techniques, both hardware and software, face limitations in scalability and reliability, often resulting in bottlenecks and adverse user experiences, particularly in large server clusters where centralized load balancing can become inefficient and expensive.
Innovation Solution
Implementing client-side load balancing through a Domain Name System (DNS) that distributes range information about real IP addresses associated with a virtual IP address, allowing clients to statistically select a server for connection, thereby shifting the load balancing from centralized servers to distributed clients.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If centralized network load balancing (hardware or software) is used to manage server clusters, then load distribution can be achieved, but scalability is limited and bottlenecks occur under high traffic conditions
Solution Approach 1:
The patent segments the centralized load balancing function into distributed client-side operations. Instead of a single centralized controller, each client independently performs load balancing decisions using local DNS resolution, dividing the system's load balancing capability across multiple independent nodes.
Solution Approach 2:
The patent inverts the traditional architecture where servers centrally manage load balancing. Instead, clients perform DNS resolution and select servers independently, reversing the control flow from server-centric to client-centric load balancing.
2Ease of operation
If hardware network load balancing devices are deployed to manage large server clusters, then centralized control is achieved, but system cost increases and single points of failure are created
Solution Approach 1:
The patent implements self-service load balancing where clients autonomously perform DNS resolution and server selection without requiring centralized hardware controllers. Each client independently makes load balancing decisions, eliminating the need for external load balancing appliances.
Solution Approach 2:
The patent makes standard DNS infrastructure universal for load balancing purposes. The existing DNS system, already present in all client environments, is extended to carry additional server range information and perform load balancing functions, eliminating the need for specialized hardware devices.
3Device complexity
If all cluster members receive all incoming requests in software load balancing, then simple implementation is achieved, but overall scalability remains unsatisfactory
Solution Approach 1:
The patent performs preliminary filtering at the DNS resolution stage before requests reach the cluster. By resolving DNS names to specific server IP ranges in advance and allowing clients to select from multiple ranges, the system pre-distributes traffic before it reaches the servers, improving scalability without complex per-request filtering.
Data Source
AI summary
An exemplary method for load balancing includes accessing a range of values for IP addresses associated with a virtual IP address associated with a domain name; selecting, using a local statistical algorithm, a value in the range; and, based at least in part on the selected value, connecting to a remote resource at one of the IP addresses. In such a method, a client can perform local load balancing when connecting to one of many fungible resources “behind” a virtual IP address. With many such clients, the task of load balancing is distributed as opposed to being centralized at a server farm or cluster. Other methods, devices and systems are also disclosed.


