Persistent Handle Reconnection via Reconnect Identifier
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed file systems, out-of-date disconnection notifications can lead to failures when reconnect requests arrive before disconnection notifications, causing conflicts due to the non-chronological nature of notifications in distributed environments.
Innovation Solution
A mechanism is implemented that generates a file handle with a reconnect identifier, maintains a handle state module with this identifier, and sends a disconnect command with a reconnect identifier indicative of prior reconnection, verifying that the reconnect identifier matches before executing disconnection, thus preventing outdated disconnect requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If disconnect commands are sent in distributed file system, then file handle disconnection is achieved, but out-of-date disconnect notifications may arrive after reconnection causing system failure
Solution Approach 1:
The patent applies preliminary action by including a reconnect identifier in the disconnect command before it is sent. This identifier allows the system to verify whether the disconnect command is up-to-date by comparing it with the current reconnect identifier stored in the handle state module. If the identifiers match, the disconnect is valid; if they differ, the disconnect command is outdated and is rejected. This prevents out-of-date disconnect notifications from causing system failures.
2Adaptability or versatility
If persistent handles are used for client reconnection, then client operations can continue after node failure, but non-chronological notification arrival causes conflicts
Solution Approach 1:
The patent implements feedback by having the handle state module return the current reconnect identifier to the client after a successful reconnection. The client then includes this identifier in subsequent disconnect commands. This feedback mechanism ensures that the client has the latest state information and can determine whether a disconnect command is valid, resolving the issue of non-chronological notification arrival.
Solution Approach 2:
The reconnect identifier acts as an intermediary element between the client and the file system server. It carries state information from the server to the client and back, enabling the client to verify the validity of disconnect commands without requiring complex notification ordering mechanisms. This intermediary simplifies the handling of persistent handles and reconnection scenarios.
3Productivity
If disconnect commands are processed without verification, then processing speed is maintained, but outdated commands cause failures
Solution Approach 1:
The patent applies partial action by performing only a simple identifier comparison verification instead of a complete state validation. The system checks whether the reconnect identifier in the disconnect command matches the current identifier stored in the handle state module. This partial verification is sufficient to detect outdated commands while maintaining high processing speed, avoiding the need for more expensive full state validation.
Data Source
AI summary
A method and a system for execution of disconnection from and reconnection to persistent handles are provided herein. The method may include the following steps: generating a file handle, responsive to a file connect request sent by a client to a distributed file system, wherein the handle has a handle identifier; associating a reconnect identifier with the handle identifier, wherein the reconnect identifier is indicative of a most recent connect attempt made using the respective handle identifier at a respective request; sending a disconnect request responsive to a disconnection, wherein the disconnect request is sent with a reconnect identifier indicative of a connection prior to the disconnection; updating the reconnect identifier, responsive to a reconnect request associated with said handle identifier; and approving the disconnect request only in a case that the reconnect identifier of the disconnect request is identical to the reconnect identifier of the reconnect request.


