Dynamic Load Balancer for QoS Data Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing web servers lack effective load balancing and Quality-of-Service (QoS) provisioning mechanisms, particularly in routing requests to multiple back-end databases, leading to inefficiencies and the need for static configuration changes when back-end system capacities or QoS policies change.
Innovation Solution
Implementing a dynamic load balancing technique that provides multiple versions of data with varying overheads, where clients are assigned to quality-of-service classes, allowing preferential access to higher quality data versions based on their class, and adjusting server load conditions to optimize resource allocation without requiring recompilation of applications or intermediary code.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple back-end databases are deployed to improve performance and QoS, then the system capacity and service quality are improved, but the complexity of routing requests and balancing load increases
Solution Approach 1:
The patent introduces a load balancer as an intermediary component between web servers and multiple back-end databases. This load balancer automatically routes requests to appropriate databases based on current system state and QoS policies, eliminating the need for complex routing logic in web applications and simplifying the overall system architecture.
Solution Approach 2:
The system implements dynamic load balancing where the load balancer continuously monitors database performance metrics and adjusts request routing in real-time. This dynamic adaptation allows the system to handle varying loads efficiently without requiring static configuration changes or complex manual routing rules.
2Productivity
If connection pooling is implemented to reduce connection overhead, then the connection management efficiency is improved, but the ability to provide load balancing and QoS provisioning is lost
Solution Approach 1:
The patent merges the functionality of connection pooling with load balancing by implementing a load balancer that maintains pooled connections to multiple back-end databases while simultaneously providing intelligent request routing. This combination preserves the connection efficiency benefits of pooling while restoring the load balancing and QoS capabilities.
3Ease of operation
If web servers are statically configured to use one back-end system, then the configuration simplicity is improved, but the flexibility to adapt to changing system capacities and QoS policies is reduced
Solution Approach 1:
The load balancer acts as an intermediary that absorbs the complexity of dynamic configuration and policy management. Web servers maintain simple static configurations pointing to the load balancer, while the load balancer handles all the complex logic for adapting to changing system capacities and QoS policies based on real-time monitoring.
4Reliability
If high quality data versions are provided to meet premium client requirements, then the service quality is improved, but the system overhead and resource consumption increase
Solution Approach 1:
The system implements quality differentiation where different back-end databases are optimized for different data quality levels. The load balancer routes premium client requests to databases specialized for high-quality data while routing standard client requests to databases optimized for lower overhead, thereby providing high service quality where needed while minimizing overall system resource consumption.
Data Source
AI summary
Techniques for serving data to a plurality of clients in a client-server environment are provided. In one aspect of the invention, the technique provides a plurality of versions of data in which different versions have different overheads associated therewith. Individual clients are assigned to one of a plurality of quality-of-service classes. Requests are satisfied so that a client belonging to a high quality-of-service class is given preferential access to data versions which require higher overheads to serve.


