Resume Key Filter for Transparent File System Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing file sharing protocols, such as SMB and NFS, face challenges in maintaining connection state during server failover, leading to loss of volatile state information and requiring reestablishment of connections, which disrupts file access and increases network load.
Innovation Solution
A connection state system that uses a resume key filter to remotely store client state information, including oplocks and in-flight operations, allowing seamless failover to another server and maintaining consistent file state across multiple file systems and protocols.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the server loses volatile state during failover, then connection can be reestablished, but state information associated with existing opens is lost and must be reestablished
Solution Approach 1:
The resume key filter driver continuously captures and stores state information (oplocks, leases, in-flight operations) in association with resume keys before failover occurs. This preliminary action ensures that when failover happens, the state information is already preserved and can be immediately restored, eliminating the need to reestablish connections from scratch.
Solution Approach 2:
The system creates a copy of the server's volatile state information by storing it externally in association with resume keys. This copy can be retrieved and restored during failover, allowing the server to resume operations with preserved state information rather than starting fresh.
2Reliability
If connections are lost during session, then server failover can occur, but client must repeat all steps to reestablish connection
Solution Approach 1:
The resume key filter driver continuously captures and stores state information in association with resume keys before connection loss occurs. When connection is lost and failover happens, this pre-stored state information allows the client to quickly reestablish connection without repeating all connection establishment steps, significantly reducing reconnection time.
Solution Approach 2:
The resume key acts as an intermediary that links the client's connection state to the stored state information. When connection is lost, the resume key enables the client to quickly retrieve preserved state information and reestablish connection without going through the entire connection establishment process again.
3Productivity
If resume key is used for quick reestablishment, then network round trips are reduced, but resume key cannot share state across different servers or applications
Solution Approach 1:
The resume key filter driver provides universal functionality by capturing and storing state information in association with resume keys in a way that is independent of specific applications or servers. This allows any server or application to retrieve and utilize the stored state information through the resume key, enabling cross-server and cross-application state sharing while maintaining fast reconnection speeds.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A connection state system is described herein that allows a client to resume a connection with a server or a different replacement server by remotely storing client state information in association with a resume key. The system provides a resume key filter operating at the server that facilitates the storing of volatile server state information. The state information can include information such as oplocks, leases granted to a client, and in-flight operations on a file handle. The resume key filter driver sits above the file system, which allows multiple file access protocols to use the filter. Upon a failover event, such as a server going down or losing connectivity to a client, the system can bring up another server or the same server and reestablish state for file handles held by various clients using the resume key filter.