Event-Based File System Synchronization Mechanism
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cloud file storage systems face challenges in maintaining synchronized local and remote file systems, leading to outdated cloud backups and increased risk for local file systems, as changes to either system can cause discrepancies, necessitating a method for near-real-time bidirectional synchronization.
Innovation Solution
An event-based system and method for synchronizing local and remote file systems, where changes are monitored and recorded as events, processed to generate file system operations, and applied to both systems to maintain a steady-state synchronization, regardless of changes made to either the local or remote file system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If cloud backup is implemented, then data security is improved, but data synchronization becomes problematic
Solution Approach 1:
The system performs preliminary actions by establishing event monitoring and recording mechanisms before changes occur. Event records are created and stored in advance with unique identifiers, allowing the system to proactively track changes rather than reactively detect them, ensuring synchronization integrity from the moment changes begin.
Solution Approach 2:
The system implements feedback mechanisms where event records from both local and cloud file systems are continuously exchanged and compared. The synchronization module receives feedback about changes from the other system and generates appropriate file system operations to maintain consistency, creating a closed-loop control system that actively maintains synchronization.
2Adaptability or versatility
If bidirectional synchronization is implemented, then data accessibility is improved, but system complexity increases
Solution Approach 1:
The synchronization system is segmented into distinct functional modules: event monitoring modules for each file system, an event record generation module, a synchronization module, and file system operation execution modules. Each module has a specific responsibility, reducing overall system complexity by breaking down the complex bidirectional synchronization task into manageable, independent components that can be developed and maintained separately.
Solution Approach 2:
Event records serve as an intermediary data structure between the local and cloud file systems. Instead of directly synchronizing between the two file systems, changes are first converted into standardized event records that contain all necessary information (unique event identifier, event type, file path, timestamp). These event records act as a universal language that the synchronization module can process to generate appropriate operations, simplifying the bidirectional communication protocol.
3Reliability
If real-time synchronization is implemented, then data consistency is improved, but processing overhead increases
Solution Approach 1:
The system uses periodic action by implementing event synchronization periods where event records are collected and processed in batches rather than continuously. The synchronization module can be configured to process events at regular intervals or when a threshold number of events accumulate, reducing the frequency of processing operations while still maintaining near-real-time synchronization. This periodic processing reduces CPU overhead and network traffic compared to continuous real-time processing.
Solution Approach 2:
The system extracts only the essential synchronization information into event records, excluding redundant data. Each event record contains only the critical fields needed for synchronization: unique event identifier, event type, file path, and timestamp. By extracting and transmitting only this minimal necessary information rather than entire file contents or complete file system states, the system reduces network bandwidth consumption and processing overhead while maintaining data consistency.
Data Source
AI summary
A method for synchronizing a file system (FS) and a remote file system (RFS) includes monitoring the FS for FS events, generating FS event records, receiving RFS event records of RFS events, generating file system operations (FSOs) based on the FS and RFS event records, and communicating the FSOs to the FS and RFS to synchronize them. A method for generating the FSOs includes accessing a plurality of FS and/or RFS event records, processing the accessed records to generate processed event records, generating the FSOs based on the processed event records, and outputting the FSOs to cause synchronization of the FS and RFS. Systems are also described. The invention facilitates event-based, steady-state synchronization of local and remote file systems.


