Filehandle Cache Migration for Distributed File Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data migration approaches in distributed file systems, such as NFS version 4, face inefficiencies due to the expiration of volatile filehandles during file system migrations, leading to resource-intensive path lookups and incomplete filehandle preservation, especially when files are opened and then deleted or renamed.

Innovation Solution

A cache system is implemented to store recently accessed filehandles on a server, which is migrated to the destination server and updated to link expired volatile filehandles to the corresponding files on the new system, reducing the expiration rate and maintaining filehandle validity through a least recently used scheme.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a low level copy of the filing system is performed to maintain filehandle validity during migration, then filehandle consistency is preserved, but the migration process becomes extremely resource-intensive and time-consuming

Engineering Contradiction:
Improvefilehandle consistencyVSAvoidmigration speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by creating a mapping table before migration that associates source inode numbers with destination inode numbers. This allows filehandles to be translated after migration rather than requiring a complete file system copy, significantly reducing migration resources while maintaining filehandle validity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention introduces a mapping table as an intermediary structure that bridges source and destination file systems. This mapping table stores the correspondence between source inodes and destination inodes, enabling filehandle translation without requiring identical inode assignments or complete system copying.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a mapping table is used to translate inode values during migration, then filehandle translation is enabled, but extensive memory resources are consumed to store entries for every migrated file

Engineering Contradiction:
Improvefilehandle translation capabilityVSAvoidmemory resources
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The system extracts only the essential mapping information needed for filehandle translation into a compact mapping table structure. Rather than storing complete file system states, only the critical inode-to-inode correspondence is maintained, reducing memory consumption while preserving translation capability.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If volatile filehandles are used to facilitate file migration in NFS version 4, then file migration becomes possible, but extensive path lookups are required after migration which degrades system performance

Engineering Contradiction:
Improvefile migration capabilityVSAvoidsystem performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The mapping table is prepared in advance before migration occurs, storing the correspondence between source and destination inodes. When migration happens, filehandles can be quickly translated using this pre-computed mapping rather than requiring expensive path lookups, thus maintaining system performance while enabling migration.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7739236B2System and method for preserving filehandles across file system migrations on a best effort basis
Publication Date: 2010.06.15 SAP SE
  • US7739236B2 patent drawing
  • US7739236B2 patent drawing
  • US7739236B2 patent drawing

AI summary

The present invention provides for a method and a computer system for preserving filehandles after a file system migration on a distributed file system. One embodiment of the invention includes maintaining a cache of each filehandle provided to a client from a source file server. When files are migrated from the source file server to the destination file server, the cache entries are transferred from the source file server to the destination file server. The cache entries are then updated to link the source file server filehandle of each cached data object to the file attributes of the data object now existing on the destination file server. When a client subsequently attempts to access a file by using a previously valid filehandle, the cache will translate the source file server filehandle into the file attributes of the object on the destination file server, allowing the file to be located without receiving a filehandle expiration error.