NFS RPC Packet Checksums for Reliable Server-Side Integrity Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The NFS protocol lacks a reliable mechanism for ensuring data integrity between NFS clients and servers, with existing checksum methods like CRC-16 being error-prone and NICs being unreliable for verification, leading to data corruption and tampering issues.

Innovation Solution

Implementing a checksum algorithm such as CRC-32 or Fletcher-32 at NFS clients and servers to compute and verify checksums within unused fields of RPC packets, eliminating reliance on NICs for integrity verification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If CRC-16 checksum algorithm is used in TCP, then data transmission is supported, but data integrity verification reliability deteriorates due to error-prone checksum computation

Engineering Contradiction:
Improvedata integrity verification reliabilityVSAvoidchecksum accuracy
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent changes the checksum algorithm parameter from CRC-16 to CRC-32, which provides significantly better error detection capability. This parameter change resolves the contradiction by using a more robust algorithm that can reliably detect data integrity errors without compromising transmission efficiency.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If NIC is used for checksum computation, then data transmission function is provided, but verification reliability deteriorates due to NIC failures and incorrect checksum computation

Engineering Contradiction:
Improveverification reliabilityVSAvoiddependency on hardware component
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the checksum computation function from the NIC (hardware component) and relocates it to the software layer. This eliminates the reliability issues associated with NIC failures while maintaining the data transmission function, effectively resolving the contradiction between verification reliability and hardware dependency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the hardware-based checksum computation (NIC) with software-based computation. This substitution eliminates the reliability problems caused by hardware failures and provides more consistent verification performance across different systems.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If existing checksum mechanism is added to NFS protocol, then data integrity verification is improved, but protocol complexity increases

Engineering Contradiction:
Improvedata integrity verificationVSAvoidprotocol complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent makes the existing TCP checksum mechanism universal by applying it to NFS protocol packets. Instead of creating a separate verification mechanism, the solution reuses the established TCP checksum infrastructure, thereby improving data integrity verification without significantly increasing protocol complexity.

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

Data Source

PatentEP4711929A1Improved data integrity verification for network file systems
Publication Date: 2026.03.18 VMWARE INC
  • EP4711929A1 patent drawingFigure 1~2B
  • EP4711929A1 patent drawingFigure 3
  • EP4711929A1 patent drawingFigure 4

AI summary

A computer is configured to execute network file system (NFS) client software, and issue NFS commands to an NFS server along with checksums that are used by the NFS server to verify the integrity of remote procedure call (RPC) packets that include the NFS commands, by performing the steps of: computing a first checksum of a first RPC packet by applying a checksum algorithm to the first RPC packet, wherein the first RPC packet includes a first NFS packet, the first NFS packet including an NFS command to be performed by the NFS server; inserting the first checksum into the first RPC packet; creating a first transmission control protocol (TCP) packet that includes the first RPC packet having the first checksum inserted therein; and transmitting the first TCP packet to the NFS server over a network using a network interface controller (NIC).