Distributed File Change Log Global Sequence Numbering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed file systems, existing techniques for maintaining a file change log are not effective as they lack a method to order entries created on different nodes relative to each other, making them unusable across the system.

Innovation Solution

Implementing a method where a single file change log is maintained across multiple nodes, with updates handled by a primary node or using a locking mechanism, or maintaining private logs per node that are merged into a unified log, ensuring ordered entries across the system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If each node maintains a separate file change log using traditional techniques, then each node can independently track file changes, but the file change logs cannot be ordered relative to each other across different nodes

Engineering Contradiction:
Improvefile change log usabilityVSAvoiddistributed logging coordination
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a coordinator node that acts as an intermediary to collect file change log entries from multiple nodes and assign global sequence numbers. This mediator resolves the ordering problem by centralizing the sequencing function, allowing each node to independently generate log entries while ensuring global consistency through the coordinator's arbitration.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system assigns global sequence numbers to file change log entries before they are used for processing. By pre-establishing a global ordering mechanism through sequence number assignment at the time of entry generation, the system ensures that all subsequent operations can correctly order entries from different nodes without requiring complex real-time coordination.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a single file change log is maintained across all nodes, then consistent ordering is achieved, but the system requires a primary node or locking mechanism that reduces availability

Engineering Contradiction:
Improvefile change log consistencyVSAvoidsystem availability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments the file change log maintenance into two parts: each node maintains its own local log entries independently, while a coordinator node collects these entries and assigns global sequence numbers. This segmentation allows nodes to operate independently (maintaining availability) while the coordinator ensures global consistency through sequential numbering.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The coordinator node serves as a mediator that receives log entries from multiple nodes and assigns global sequence numbers without requiring exclusive locking of the entire log. This intermediary approach maintains consistency while allowing concurrent operations from multiple nodes, thus preserving system availability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multiple nodes write to the same file change log simultaneously, then bandwidth and availability are improved, but there is no way to order entries from different nodes

Engineering Contradiction:
Improvefile access bandwidthVSAvoidentry ordering information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent changes the parameter of log entries by adding a global sequence number to each entry. This parameter transformation allows simultaneous writes from multiple nodes while preserving ordering information, as each entry carries its position in the global sequence regardless of which node created it.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The global sequence number is assigned preliminarily at the time of entry creation by the coordinator node. This preliminary assignment of ordering information ensures that even though multiple nodes write simultaneously, each entry is pre-tagged with its correct position in the global sequence, preventing loss of ordering information.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9367579B1System and method for maintaining a file change log within a distributed file system
Publication Date: 2016.06.14 ARCTERA US LLC
  • US9367579B1 patent drawing
  • US9367579B1 patent drawing
  • US9367579B1 patent drawing

AI summary

Various methods and systems for implementing a file change log in a distributed file system are disclosed. In one embodiment, a method involves operating a distributed file system that presents a namespace and maintaining a file change log for the namespace. Operating the distributed file system involves executing an instance of a file system on each of several nodes. Maintaining the file change log can involve maintaining a single file change log for the namespace. Updates to the single file change log can be handled by a primary node or controlled using a locking mechanism. Alternatively, several private file change logs (e.g., one per node) can be maintained, and these private file change logs can be merged into a single file change log (e.g., by a primary node).