Entity Tag Consistency Across File and Object Storage Protocols

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer file systems face challenges in maintaining consistent entity tags across multiple protocol data access, particularly when object storage operations are performed on top of file system storage, leading to potential stale ETag values due to file modifications by different protocols.

Innovation Solution

Implementing an object storage protocol stack that converts object storage operations into corresponding file system operations, using entity-tag aware file system drivers to manage md5_valid flags and generate or update ETag values based on file modifications, ensuring consistent ETag behavior across object and file storage operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If object storage operations are performed on top of file system storage, then storage versatility is improved, but ETag consistency deteriorates due to file modifications by different protocols

Engineering Contradiction:
Improvestorage versatilityVSAvoidETag consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system implements feedback by monitoring file system operation flags (such as md5_valid) that indicate whether entity tags remain valid. When file operations occur that may invalidate ETags, the system detects these changes through flag updates and communicates this information back to the object storage layer, ensuring clients receive accurate ETag validity status and can refresh their cached values accordingly

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces an intermediary layer that sits between the object storage protocol and the file system operations. This intermediary monitors and translates operations between the two protocols, tracking when file system operations occur that would invalidate object storage ETags. It acts as a mediator that maintains awareness of state changes across protocol boundaries and ensures proper ETag invalidation signaling

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If ETag values are cached by clients for efficiency, then access speed is improved, but data freshness deteriorates when files are modified by other protocols

Engineering Contradiction:
Improveaccess speedVSAvoiddata freshness
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The system provides feedback to clients about ETag validity status by monitoring file system operation flags. When a file operation occurs that would invalidate a cached ETag, the system detects the flag change and communicates this to the object storage layer, which then returns updated ETag validity information to clients, enabling them to determine whether their cached ETags remain valid without constant revalidation

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system takes preliminary anti-action by proactively invalidating or marking ETags as stale before clients attempt to use them. When file system operations occur, the system preemptively updates the validity status of associated ETags, preventing clients from using outdated ETag values and avoiding the need for clients to detect staleness through failed operations

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS11593020B2Consistent entity tags with multiple protocol data access
Publication Date: 2023.02.28 EMC IP HLDG CO LLC
  • US11593020B2 patent drawing
  • US11593020B2 patent drawing
  • US11593020B2 patent drawing

AI summary

Techniques are provided for consistent entity tags with multiple protocol data access. In an example, a file storage system is configured to process data according to file storage protocol(s) and object storage protocol(s). An object storage protocol can utilize entity tags that indicate whether an object (represented with a file in the file storage system) has changed. Where a file storage protocol is utilized to modify a file, an indication may be stored that indicates that the file lacks a valid entity tag. If an object storage operation is made to retrieve an object, and if the object corresponds to a valid entity tag, then that entity tag can be returned as part of the response. If the object does not correspond to a valid entity tag, then the file storage system can generate a new entity tag and return the newly generated entity tag as part of the response.