Application Instance Identifier for Clustered Client Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In clustered environments, when a node fails, applications may not properly release resources, leading to locked or fenced states, causing delays and conflicts when attempting to regain access from a different node, as the server struggles to identify the original application attempting to reaccess the resource.
Innovation Solution
The use of a unique application instance identifier associated with the resource allows the server to differentiate between requests, ensuring that the original application can regain access without waiting for the resource to be released by the previous node, thereby preventing conflicts and reducing delays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the server fences or locks the resource after a node failure, then resource protection is improved, but access delay and system availability deteriorate
Solution Approach 1:
The server receives feedback in the form of an application instance identifier with each resource access request. This identifier allows the server to recognize that a failover has occurred and that the same application is requesting access from a different node, enabling the server to invalidate the fence and grant access without delay
Solution Approach 2:
The application instance identifier acts as an intermediary mechanism that bridges the gap between resource protection and access continuity. It provides the server with the information needed to distinguish between legitimate failover requests and actual conflicts, enabling intelligent decision-making about resource access
2Object-generated harmful factors
If the server locks the resource per the previous client's request, then conflict prevention is improved, but system availability and access continuity deteriorate
Solution Approach 1:
The application instance identifier provides continuous feedback to the server about the identity of the requesting application. This allows the server to maintain conflict prevention while recognizing failover scenarios, as the identifier remains consistent across node transitions
Solution Approach 2:
The system dynamically adjusts resource access decisions based on the application instance identifier. When the server detects that the identifier matches a previously locked resource, it invalidates the lock and grants access, making the system adaptive to failover conditions
Data Source
AI summary
An application instance identifier is employed with various systems and methods in order to provide a requestor with continuous access to a resource when operating in a client clustered environment. A requestor residing on a first client in may attempt to access a resource. The first client sends a request to access the resource. The request may be associated with an application instance identifier that identifiers the requestor. At some point, the first client fails and the requestor is associated with a second client via a failover mechanism. The second client sends a second request to access the resource on behalf of the requestor. The second request is associated with the requestor's application instance identifier. The application instance identifier is used to identify the second request as belonging to the same requestor as the first request, thereby granting the second request to access the resource while avoiding a conflict situation.


