Bidirectional Sync Backup via Anchor Objects and Namespace Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cloud-based storage or synchronization services are inadequate for providing a true backup service as they allow objects to be modified and shared, contradicting the expectation of a static backup, and require separate user interfaces for synchronization and backup services without confusing users.
Innovation Solution
A bi-directional synchronization architecture is used to provide a backup service by employing an anchor object for unidirectional synchronization, separating backup and synchronization directories, and utilizing a separate instance of the synchronization service on the client device to maintain a reliable and efficient backup service.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If cloud-based storage or synchronization services are used to provide backup service, then access to digital objects is improved, but the objects can be modified and shared which contradicts the expectation of a static backup
Solution Approach 1:
The system segments the service into distinct synchronization service and backup service components. The backup service is further segmented into backup namespace and synchronization namespace, allowing separate management of backup objects and synchronized objects with different access controls and modification rules.
Solution Approach 2:
Instead of allowing modifications in backup storage and then syncing changes, the system inverts the approach by preventing modifications in the backup namespace entirely. All modifications must occur in the source location, and the backup namespace serves only as a read-only mirror.
2Adaptability or versatility
If separate user interfaces are provided for synchronization and backup services, then service functionality is improved, but user confusion increases
Solution Approach 1:
The system merges the backup service and synchronization service into a single unified user interface. The interface automatically detects whether the user is accessing a backup namespace or synchronization namespace and adjusts the displayed options accordingly, showing only relevant operations (e.g., restore options for backup, sync options for synchronization) without requiring separate interfaces.
3Reliability
If backup objects are kept separate from synchronized objects, then backup reliability is improved, but system complexity increases
Solution Approach 1:
The system introduces a namespace dimension to separate backup and synchronization objects. Instead of creating physically separate storage systems, it uses logical namespaces (backup namespace vs. synchronization namespace) within the same storage infrastructure, allowing separation of concerns while maintaining system simplicity.
4Speed
If bandwidth is prioritized for synchronization operations, then synchronization speed is improved, but backup operation speed decreases
Solution Approach 1:
The system dynamically changes bandwidth allocation parameters based on the operation type. During active synchronization, higher bandwidth is allocated to sync operations. During backup operations, the parameter shifts to allocate sufficient bandwidth for backup tasks, allowing flexible resource management without dedicated hardware for each function.
Data Source
AI summary
The present technology is directed to providing a backup service utilizing a bi-directional synchronization architecture. In order to support both a backup service and a bi-directional synchronization service, the present technology can utilize a special object called an anchor that only permits unidirectional synchronization. Additionally, the present technology separates the backup service from the bi-directional synchronization service. This separation includes utilizing a separate backup directory and bi-directional synchronization directory on a client device, which in turn benefits from the use of a separate instance of the synchronization service on the client device. Further, at the content management system various steps are taken to separate the backup directory from the bi-directional synchronization directory to ensure no objects from the backup directory appear in a user interface related to bi-directional synchronization, and vice versa.


