Adaptive Load Balancing for Multi-Tier Application Chains
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current load-balancing technologies in multi-tiered application environments often make routing decisions based solely on data from a single tier, leading to suboptimal end-to-end application paths and potential application failures, as they fail to consider the performance and status of multiple tiers within the application chain.
Innovation Solution
Implementing an adaptive load-balancing system that utilizes an application path table to select the best end-to-end application path across multiple tiers, taking into account performance data from previous transactions, user preferences, service level agreements, and dynamic workload requirements, and making routing decisions based on this holistic view.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If load-balancers make routing decisions based solely on single-tier data, then device complexity is reduced and ease of operation is improved, but end-to-end application performance and reliability deteriorate
Solution Approach 1:
The patent merges routing decision-making across multiple tiers into a unified load-balancer that considers application chains spanning web, application, and database tiers. The system combines health check data, performance metrics, and path status information from multiple tiers to make holistic routing decisions, thereby maintaining operational simplicity while improving end-to-end reliability.
Solution Approach 2:
The load-balancer acts as an intermediary that collects and processes information from multiple tiers before making routing decisions. It mediates between individual tier health checks and final routing outcomes by maintaining application path tables that track end-to-end path status, allowing simple local decisions to be coordinated into reliable global routing without requiring complex distributed decision-making.
2Device complexity
If load-balancers implement health checks and load algorithms only within their respective tier, then device complexity and processing overhead are reduced, but the ability to determine optimal end-to-end paths deteriorates
Solution Approach 1:
The system segments end-to-end application chains into discrete paths that can be individually tracked and evaluated. Each application path is represented as a separate entry in the application path table, allowing the load-balancer to assess and compare multiple complete paths without requiring complex analysis of individual tier interactions. This segmentation enables precise measurement of end-to-end path performance while keeping the evaluation mechanism manageable.
3Adaptability or versatility
If multiple load-balancers make independent decisions in each tier, then system scalability and adaptability are improved, but cumulative routing errors leading to application failures increase
Solution Approach 1:
The system implements feedback mechanisms where the load-balancer continuously monitors application path performance and updates the application path table with current status information. Health checks and performance metrics from multiple tiers feed back into the routing decision process, allowing the system to adapt to changing conditions while maintaining awareness of end-to-end path status. This feedback loop prevents cumulative errors by correcting routing decisions based on actual path performance rather than isolated tier decisions.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
Disclosed are systems, methods, and computer-readable storage media for adaptive load balancing for application chains. A load-balancer can receive a data packet for a connection/transaction to be routed through an application chain. The load-balancer can select, based on an application path table, a first end-to-end application path through the application chain. The application path table can identify two or more end-to-end application paths through the application chain along with a corresponding performance status for each end-to-end application path through the application chain. The performance status for an application path can indicate a performance level of the end-to-end application path determined based on performance of previous data packets for previous connections transmitted through the application chain according to the end-to-end application path. The load-balancer can then route the data packet through the application chain according to the first end-to-end application path and across multiple tiers.