Intelligent DNS Resolver for Connector Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing load balancing systems face challenges in efficiently distributing end user connections across multiple on-premise connector proxies deployed across geographical locations, leading to increased connection setup latency and potential load imbalance, especially when they rely on non-deterministic selection methods and lack shared or distributed databases.
Innovation Solution
The system employs an intelligent DNS service that collects and utilizes load statistics from connectors to deterministically select the least loaded connector for user traffic, reducing inter-PoP communication and eliminating the need for a shared database, thereby optimizing connection routing and balancing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If non-deterministic selection methods are used for load balancing, then connector selection flexibility is improved, but connection setup latency increases
Solution Approach 1:
The system performs preliminary actions by having connectors periodically publish their load statistics to the DNS resolver before any connection request arrives. This pre-collection of load information enables the DNS resolver to make deterministic routing decisions without requiring real-time communication during connection setup, thus reducing latency while maintaining adaptability through periodic updates.
Solution Approach 2:
The DNS resolver acts as an intermediary between connectors and clients. It collects load statistics from multiple connectors and uses this information to deterministically select the optimal connector for each client request. This intermediary approach eliminates the need for direct client-to-connector discovery while enabling intelligent load-based routing decisions.
2Reliability
If multiple connectors are deployed across geographical locations, then system availability and coverage are improved, but load balancing complexity increases
Solution Approach 1:
The DNS resolver serves as a centralized intermediary that manages load balancing across geographically distributed connectors. It maintains a global view of connector load statistics and makes routing decisions, simplifying the load balancing logic at each individual connector while achieving system-wide load distribution. This approach maintains high availability through geographical distribution without requiring complex peer-to-peer coordination between connectors.
Solution Approach 2:
The system changes the routing parameter from static geographical location-based selection to dynamic load-based selection. The DNS resolver monitors load parameters (such as connection counts, throughput, or custom metrics) published by connectors and uses these changing parameters to determine optimal routing decisions, enabling adaptive load balancing across geographical locations.
3Measurement precision
If real-time load statistics collection is implemented, then load balancing accuracy is improved, but system overhead and resource consumption increase
Solution Approach 1:
Instead of continuous real-time monitoring, the system implements periodic load statistics collection where connectors publish their load information at scheduled intervals to the DNS resolver. This periodic approach provides sufficiently accurate load information for effective load balancing while significantly reducing the system overhead compared to continuous monitoring, as updates only occur when load conditions change at predefined intervals.
Data Source
AI summary
Described herein are systems and methods for end user connection load balancing amongst multiple on-premise connector proxies deployed across geographic locations and reducing connection setup latency without using a shared or distributed database. The system can load balance connections deterministically amongst the on-premise connector proxies using load statistics. The system utilizes an intelligent DNS service that can use network experience data, service availability, and application metrics to provide sophisticated traffic management via DNS or API-based decisions. The system can include a domain name system (DNS) resolver configured to receive metrics for a first connector and a second connector of a data center of an entity, receive a DNS request including an entity identifier and a data center identifier; and transmit a response to the DNS request identifying a server selected based on the metrics identified using the entity identifier and the data center identifier.


