Server Cluster Load Balancing via Virtual Server Neighbors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing server clusters face challenges in achieving high availability and scalability while managing session contexts, particularly in network applications, due to bottlenecks in session management and load balancing, especially when handling failures and high-throughput scenarios.
Innovation Solution
The solution involves a scheduler that uses a hash-based lookup method to distribute requests across multiple virtual servers, allowing for efficient load balancing and failover without requiring expensive storage area networks or high network bandwidth, by defining neighboring virtual servers to take over sessions in case of failures and using meta segments to reduce memory requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If session information is stored in the scheduler to enable load balancing for network applications with contexts, then load balancing capability is improved, but the scheduler becomes a bottleneck and memory requirements increase
Solution Approach 1:
The patent extracts session information management from the scheduler by implementing it within virtual server instances themselves. Each virtual server maintains its own session information locally, eliminating the need for the scheduler to store and manage session data, thus removing the scheduler as a bottleneck while enabling load balancing for applications with contexts
Solution Approach 2:
Session information is stored locally within each virtual server instance rather than centrally in the scheduler. This local storage approach allows each virtual server to independently access and manage its own session data, improving system throughput by eliminating centralized access bottlenecks while maintaining load balancing capabilities
2Adaptability or versatility
If session information is duplicated across all servers in the cluster, then load balancing is improved, but network bandwidth requirements and system complexity increase
Solution Approach 1:
The patent extracts session information from centralized or distributed storage and embeds it directly within each virtual server instance. This extraction eliminates the need for network-based session information sharing, reducing network bandwidth consumption while maintaining load balancing capability through local session access
3Adaptability or versatility
If a shared storage area network is used to store session information, then session accessibility is improved, but system cost and complexity increase
Solution Approach 1:
The patent extracts session information management from external shared storage infrastructure and implements it within the virtual server instances themselves. This eliminates the requirement for expensive shared storage area networks while maintaining session accessibility through local storage within each virtual server
Solution Approach 2:
Each virtual server instance maintains its own copy of session information locally, eliminating the need for shared storage infrastructure. This copying approach within virtual memory spaces provides session accessibility without the complexity and cost of external storage systems
4Ease of operation
If the scheduler maintains a table of sessions and provides lookup functionality, then session management is improved, but the scheduler becomes a performance bottleneck
Solution Approach 1:
The patent extracts session management functionality from the scheduler and implements it within each virtual server instance. Each virtual server independently manages its own session table and provides lookup functionality, eliminating the scheduler as a performance bottleneck while maintaining ease of session management
Solution Approach 2:
Each virtual server instance independently manages its own session information without requiring scheduler intervention. The virtual servers perform self-service session management, including storage, retrieval, and updates, which eliminates the scheduler as a bottleneck while maintaining session management capability
Data Source
Figure 1~2
Figure 3~4
Figure 5~6
AI summary
A server cluster is described, which enables load balancing between servers in the cluster. At least some of the servers in the cluster are divided into a plurality of virtual servers, wherein each virtual server is associated with a neighbouring server, which neighbouring server acts as a backup for that virtual server. The neighbouring server of each virtual server of a particular server is part of a different physical server to the virtual server, such that in the event that a physical server is unavailable for use, the load of the virtual servers of that physical server is split between a number of different physical servers, thereby reducing the likelihood of overloading any particular physical server.