NFS RPC Checksum Verification Beyond NIC and CRC-16 Limits

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 RPC packets using unused fields in the RPC protocol, eliminating reliance on unreliable network infrastructure for data integrity verification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If CRC-16 checksum algorithm is used for data integrity verification, then the verification process is simple and fast, but the reliability of data integrity verification deteriorates due to error-prone computations

Engineering Contradiction:
Improveverification speedVSAvoiddata integrity verification reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent changes the checksum algorithm parameter from CRC-16 to CRC-32, increasing the checksum length from 16 to 32 bits. This parameter change maintains computational efficiency while significantly improving the ability to detect data corruption and transmission errors, thus resolving the contradiction between verification speed and reliability.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If NIC-based checksum verification is used, then the verification function is hardware-accelerated, but the reliability deteriorates due to NIC failures and incorrect checksum computations

Engineering Contradiction:
Improveverification throughputVSAvoidverification reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent extracts the checksum verification function from the network interface controller (NIC) and relocates it to the software layer. By implementing checksum computation and verification in the NFS client/server software rather than relying on NIC hardware, the system eliminates NIC-related reliability issues while maintaining verification capability through software-based implementation.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If existing TCP checksum functionality is used, then the implementation is standard and widely supported, but the reliability of detecting data integrity errors deteriorates

Engineering Contradiction:
Improveprotocol compatibilityVSAvoiderror detection reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent changes the checksum algorithm parameter within the TCP protocol implementation from CRC-16 to CRC-32. This parameter modification enhances the error detection capability by using a more robust checksum algorithm that can reliably detect a broader range of data corruption scenarios, while maintaining compatibility with existing TCP protocol framework.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If stronger checksum algorithms like CRC-32 are implemented, then the data integrity verification reliability improves, but the computational complexity and resource consumption increase

Engineering Contradiction:
Improvedata integrity verification reliabilityVSAvoidchecksum computation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent changes the checksum algorithm parameter to CRC-32, which provides superior error detection reliability compared to CRC-16. While CRC-32 involves slightly more computation, the increase in computational complexity is manageable and justified by the significant improvement in detecting data integrity errors, including cases where multiple bits are flipped.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12609784B2Data integrity verification for network file systems
Publication Date: 2026.04.21 VMWARE INC
  • US12609784B2 patent drawing
  • US12609784B2 patent drawing
  • US12609784B2 patent drawing

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).