Event-Based File Synchronization Reducing Server Resource Strain
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Server-centric file synchronization approaches strain server resources and are restrictive, failing to leverage client-side context for efficient synchronization across multiple endpoints, especially in large-scale file sharing systems.
Innovation Solution
Implementing event-based synchronization in a multi-master, non-transaction file management system where client devices maintain independently modifiable master copies of files and folders, with a central server generating and propagating synchronization events to ensure all endpoints remain in sync.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If server-centric synchronization is used, then synchronization can be provided across disparate client devices with minimal client-side software, but server resources are strained
Solution Approach 1:
The patent segments the synchronization workload by dividing it into server-side change detection and client-side change propagation. The server generates change events when files are modified, while client applications independently propagate these changes to other endpoints. This segmentation reduces server resource consumption by eliminating the need for the server to actively push changes to all clients, while maintaining cross-device compatibility through standardized event protocols.
Solution Approach 2:
Client applications perform self-service by autonomously monitoring for change events, retrieving change data from the server, and propagating changes to local and remote endpoints without requiring continuous server intervention. This self-service mechanism reduces server resource strain while maintaining synchronization across disparate devices through client-initiated synchronization operations.
2Extent of automation
If server-centric synchronization is used, then centralized control is maintained, but client-side context is not leveraged
Solution Approach 1:
The server performs preliminary action by detecting changes and generating change events before client applications need to synchronize. This preliminary change detection maintains centralized control while enabling clients to act autonomously when they connect. The server prepares change events in advance, allowing clients to leverage their local context (such as connectivity status and cached data) to determine the optimal timing and method for propagating changes.
Solution Approach 2:
The system implements feedback mechanisms where client applications report their synchronization state and context to the server, and the server responds by generating targeted change events. This feedback loop enables context-aware synchronization where the server can prioritize changes based on client-specific information such as device type, network conditions, and user preferences, while maintaining centralized coordination.
3Device complexity
If traditional synchronization approaches are used, then simplicity is maintained, but scalability is limited
Solution Approach 1:
The patent uses copying mechanisms where change events are replicated from the server to multiple client applications, and file changes are copied between endpoints. This copying approach maintains simplicity by using straightforward data replication rather than complex coordination protocols, while enabling scalability through efficient event propagation to an arbitrary number of clients without increasing server overhead proportionally.
Data Source
AI summary
Techniques to synchronize data across a plurality of endpoints are disclosed. An indication that data associated with a file or other object included in a synchronization set has been changed is received from a first synchronization endpoint associated with the synchronization set. A synchronization event that reflects the change is created and added to a synchronization event stream that is accessible to a second endpoint associated with the synchronization set.


