Resume Key Filter for Transparent File System Failover

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

VSEngineering 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

Engineering Contradiction:
Improveconnection reliabilityVSAvoidstate information loss
Core Design Contradiction:
ReliabilityVSLoss of information

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

2Reliability

If connections are lost during session, then server failover can occur, but client must repeat all steps to reestablish connection

Engineering Contradiction:
Improveserver availabilityVSAvoidconnection reestablishment time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveconnection reestablishment speedVSAvoidstate sharing capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP2649750B1Providing transparent failover in a file system
Publication Date: 2016.03.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2649750B1 patent drawingFigure 1
  • EP2649750B1 patent drawingFigure 2
  • EP2649750B1 patent drawingFigure 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.