Circuit-Aware Load Balancing with Dynamic QoS
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for circuit-aware load balancing in computer networks are inadequate in detecting circuit failures and maintaining quality of service (QoS), often resulting in delayed failover and disrupted services such as VoIP calls and VPN connections due to rudimentary monitoring and costly BGP implementations.
Innovation Solution
A monitoring and load-balancing infrastructure that sends packets across tunnels to determine packet-loss, latency, and jitter for each circuit, dynamically adjusts QoS policies, and assigns circuits based on real-time performance metrics to ensure seamless failover and effective QoS prioritization over commodity Internet connections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If rudimentary monitoring techniques are used to detect circuit failures, then device complexity is reduced, but reliability of failure detection deteriorates resulting in delayed failover
Solution Approach 1:
The system performs preliminary actions by continuously sending monitoring packets across circuits before failures occur and establishes baseline performance metrics. When a failure occurs, the system already has pre-configured alternative circuits ready for immediate failover, eliminating the 30-120 second detection delay of conventional methods
Solution Approach 2:
The system implements feedback mechanisms by continuously monitoring circuit performance metrics (packet loss, latency, jitter) and using this feedback to dynamically adjust load balancing decisions. The monitoring system provides real-time feedback about circuit health, enabling immediate detection and response to failures without complex manual intervention
2Ease of operation
If DNS-based load balancing is used to handle circuit failures, then ease of operation is improved, but reliability of service continuity deteriorates due to IP address changes breaking sessions
Solution Approach 1:
The system segments the load balancing function into multiple independent components: monitoring modules that track individual circuit performance, decision modules that determine optimal circuit selection, and enforcement modules that implement routing decisions. This segmentation allows each component to operate independently, maintaining service continuity by preserving IP address assignments while dynamically adjusting circuit selection
Solution Approach 2:
The system introduces an intermediary load balancing device that sits between the network and DNS, intercepting traffic before DNS resolution occurs. This intermediary maintains a mapping of virtual IP addresses to physical circuit interfaces, allowing it to redirect traffic to healthy circuits while preserving the original IP address assignments, thus preventing session breaks
3Reliability
If BGP protocol is implemented for circuit monitoring and failover, then reliability of routing control is improved, but device complexity and cost increase significantly
Solution Approach 1:
The system creates simplified copies of BGP's routing control functionality without implementing the full BGP protocol stack. Instead of using complex BGP path vectors and attribute manipulation, the system implements lightweight virtual routing table structures that replicate only the essential failover control logic, dramatically reducing hardware and software complexity while maintaining routing reliability
Solution Approach 2:
The system changes the parameters of routing control by transitioning from BGP's complex multi-attribute route selection to a simplified model based on circuit performance metrics (packet loss, latency, jitter thresholds). This parameter change allows the system to achieve reliable routing control using simple if-then logic based on monitored performance parameters, eliminating the need for expensive BGP-capable hardware and complex protocol implementation
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Monitoring packets can be sent periodically across IP network tunnels that traverse internet connections to a customer location, and the monitoring packets used to determine current packet-loss, latency, and jitter metrics in each direction for each available circuit. Circuits may be assigned to circuit sets, each most appropriate to various classes of user traffic, and user traffic assigned to circuit sets based on traffic class. If monitored metrics change beyond set thresholds, a determination is made as to whether the changes are due to circuit saturation or some other cause. If saturation is the problem, logic at either or both tunnel endpoints dynamically adjusts QOS rate limits to optimum values (the highest rate that does not cause threshold violations) in near-real time.