Address Pool Controller for Cluster Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cluster systems face limitations in availability due to server failures, where existing failover methods like DNS caching and IP switching result in timeouts or disconnections, as clients cache DNS entries or reconnect to failed servers, leading to I/O request failures and reduced system availability.
Innovation Solution
A method involving an address pool controller that creates and manages three sets of addresses, moving a failed server's address to a third set, monitoring usage parameters, and enabling fail-back by reassigning addresses when usage thresholds are met, allowing seamless service continuation and reducing I/O request failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If DNS caching is used for failover, then service continuity is improved, but client timeout occurs due to cached DNS entries pointing to failed servers
Solution Approach 1:
The patent extracts the address management function from the traditional DNS system by introducing a separate address pool controller that independently manages server addresses. This allows the system to bypass DNS caching limitations by providing direct address updates to clients through the address pool controller, eliminating the timeout issue while maintaining service continuity.
Solution Approach 2:
The address pool controller acts as an intermediary between the name server and clients. It receives address information from the name server, manages the address pool, and provides updated addresses to clients. This intermediary layer ensures clients receive real-time address updates without being constrained by DNS caching, resolving the contradiction between service continuity and timeout.
2Reliability
If IP switching approach is used for failover, then service availability is improved, but external device disconnection occurs after IP address reassignment
Solution Approach 1:
The system performs preliminary actions by pre-assigning addresses from the address pool to potential failover servers before actual failures occur. When a server fails, the address is already prepared and can be immediately assigned to the standby server, enabling seamless failover without disconnection. The address pool maintains ready-to-use addresses that can be quickly allocated, avoiding the connection instability caused by dynamic IP reassignment.
3Speed
If server address is immediately reassigned upon failure, then failover speed is improved, but address reuse is prevented until server repair
Solution Approach 1:
The address pool implements dynamic address management where addresses are not permanently assigned but temporarily allocated based on server status. When a server fails, its address is quickly released to the pool and can be reassigned to another server. The system dynamically adjusts address allocation based on real-time server availability, enabling both fast failover and efficient address reuse. The monitoring component tracks server status to determine when addresses can be safely reused.
Data Source
AI summary
The present invention relates to a method for controlling access of a plurality of clients to a service, said service being provided by each one of a plurality of servers (109, 121, 123, 125), each of the plurality of the servers (109, 121, 123, 125) providing the service, the method being performed by an addresses pool controller (111), the addresses pool controller (111) being operably coupled to a name server (103) for controlling the access of the clients to the servers, the method comprising : - a) creating a first, a second and a third set of addresses (133, 135, 137), wherein the first set of addresses (133) comprises addresses which are registered in the name server (103), and wherein the second set of addresses (135) comprises addresses which are not registered in the name server (103), wherein the third set of addresses (137) comprises addresses non registered in the name server (103), the second (135) and the third set (137) of addresses being disjoint; - b) determining a first one of the plurality of the servers (109, 121, 123, 125) as a server that has failed and to whom the access shall be prohibited, the first server (109, 121, 123, 125) being associated with a first address (117, 127, 129, 131) of the first set of addresses (133); - c) moving the first address (117, 127, 129, 131) from the first set of addresses (133) to the third set of addresses ( 137 ); - d) removing the first address (117, 127, 129, 131) from the first server (109, 121, 123, 125) and assigning the first address (117, 127, 129, 131) to a second one of the plurality of the servers (109, 121, 123, 125); - e) removing the first address (117, 127, 129, 131) from the name server (103); - f) monitoring one or more usage parameter values of the first address (117, 127, 129, 131); - g) evaluating the one or more monitored usage parameter values for determining if at least one of said monitored one or more usage parameter values is below a minimum usage threshold value; and - h) removing the first address (117, 127, 129, 131) from the second server (109, 121, 123, 125) and moving the first address (117, 127, 129, 131) from the third set of addresses (137) to the second set of addresses (135) if the determination returned that at least one of the usage parameter values is below the minimum usage threshold value; - i) determining that access to said first server (117, 127, 129, 131) shall no longer be prohibited; - j) assigning a second address (117, 127, 129, 131) of the second set of addresses (135) to the first server (109, 121, 123, 125); and - k) adding the second address to the name server (103), thereby allowing a fail-back of the first server (109, 121, 123, 125).


