Address Pool Controller for Cluster Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveservice continuityVSAvoidclient timeout
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If IP switching approach is used for failover, then service availability is improved, but external device disconnection occurs after IP address reassignment

Engineering Contradiction:
Improveservice availabilityVSAvoiddevice connection stability
Core Design Contradiction:
ReliabilityVSEase of operation

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.

Inventive Principle:
Principle #10Preliminary action

3Speed

If server address is immediately reassigned upon failure, then failover speed is improved, but address reuse is prevented until server repair

Engineering Contradiction:
Improvefailover speedVSAvoidaddress utilization efficiency
Core Design Contradiction:
SpeedVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP2815323B1Method for controlling access of clients to a service in a cluster environment
Publication Date: 2017.03.08 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP2815323B1 patent drawing
  • EP2815323B1 patent drawing
  • EP2815323B1 patent drawing

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).