File Modification Time Consistency in Multi-Processor File Servers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In network file servers, maintaining the consistency of the file-modification time attribute across multiple processors during concurrent asynchronous writes is challenging, especially when clocks are unsynchronized, leading to potential violations of consistency requirements that affect performance and data integrity.
Innovation Solution
A method where a primary processor with a clock and secondary processors with timers manage file-modification times by using the clock time from the primary processor and a measured time interval to compute an updated file-modification time, ensuring consistency without requiring synchronized clocks, and updating this time only when actual data changes occur.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple processors service client requests concurrently without synchronized clocks, then system productivity and access speed are improved, but maintaining consistency of the file-modification time attribute becomes difficult and may lead to data integrity violations
Solution Approach 1:
The patent introduces an intermediary mechanism where one processor acts as a time reference source for the file-modification time attribute, while other processors use local timers to measure time intervals since the last update. This mediator approach allows concurrent access without requiring all processors to maintain synchronized clocks, thus preserving both productivity and consistency.
Solution Approach 2:
Instead of requiring all processors to access a centralized clock, the patent copies the file-modification time attribute value between processors through message passing. When a processor updates the file, it communicates the new time value to other processors, allowing them to maintain local copies without needing synchronized hardware clocks.
2Reliability
If a single processor manages all file locking and metadata, then file-modification time consistency is maintained, but system productivity and access speed decrease due to contention
Solution Approach 1:
The patent segments the file management responsibilities by allowing multiple processors to service client requests concurrently. Each processor can independently handle file operations and determine file-modification times using local timers, eliminating the single-point bottleneck while maintaining overall consistency through the intermediary mechanism.
Solution Approach 2:
The patent implements partial decentralization where only the file-modification time attribute management is coordinated through the intermediary mechanism, while other file operations can proceed independently and concurrently. This partial action approach maintains consistency for the critical time attribute without requiring centralized control for all operations.
3Productivity
If processors use their own local clocks to determine file-modification time, then system productivity is improved, but clock drift and unsynchronization cause inconsistencies in the file-modification time attribute
Solution Approach 1:
The patent merges the advantages of both centralized and decentralized approaches by combining a reference time value from one processor with local timer measurements from other processors. This hybrid approach allows processors to use their local clocks for time measurement while referencing a common time baseline, thus maintaining both productivity and measurement precision.
Data Source
AI summary
To permit multiple unsynchronized processors to update the file-modification time attribute of a file during concurrent asynchronous writes to the file, a primary processor having a clock manages access to metadata of the file. A number of secondary processors service client request for access to the file. Each secondary processor has a timer. When the primary processor grants a range lock upon the file to a secondary, it returns its clock time (m). Upon receipt, the secondary starts a local timer (t). When the secondary modifies the file data, it determines a file-modification time that is a function of the clock time and the timer interval, such as a sum (m+t). When the secondary receives an updated file-modification time (mp) from the primary, if mp>m+t, then the secondary updates the clock time (m) to (mp) and resets its local timer.


