Multi-Root Namespace Synchronization for Cloud Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cloud-based storage and synchronization services lack granular control and customization, particularly in managing synchronization processes across multiple devices and external storage devices, leading to difficulties in providing tailored interactions and separate access control.

Innovation Solution

A multi-root synchronization architecture is introduced, where each user account is associated with multiple root namespaces, each running an independent instance of the synchronization engine, allowing for individualized synchronization behavior and processes, distinguishing between client devices and external storage devices, and optimizing resource allocation based on device capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single-root synchronization system is used, then device complexity is reduced, but granular control and customization capability deteriorates

Engineering Contradiction:
Improvegranular control and customizationVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The synchronization system is divided into multiple independent root namespaces, each capable of independent synchronization operations. This segmentation allows different parts of the file system to be synchronized independently with different parameters, achieving granular control while maintaining manageable complexity through modular organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different root namespaces can have different synchronization properties, parameters, and behaviors tailored to their specific needs. Each namespace can be configured independently with custom synchronization rules, enabling localized optimization without affecting other parts of the system.

Inventive Principle:
Principle #3Local quality

2Reliability

If multiple independent synchronization processes are implemented for each device, then synchronization reliability and speed are improved, but system complexity increases

Engineering Contradiction:
Improvesynchronization reliabilityVSAvoidsynchronization process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements separate synchronization processes for each root namespace, allowing independent error handling and recovery. If one namespace encounters issues, other namespaces can continue synchronizing normally, improving overall reliability while keeping individual process complexity manageable through clear separation of concerns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system establishes multiple independent synchronization processes in advance, each prepared to handle specific namespaces. This preliminary setup allows the system to respond more reliably to synchronization needs and reduces the complexity of dynamically creating and managing synchronization processes during operation.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If separate access control is implemented for different devices, then security and control precision are improved, but system complexity increases

Engineering Contradiction:
Improveaccess control precisionVSAvoidaccess control mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Different root namespaces can have different access control policies, permissions, and authentication mechanisms tailored to specific devices or users. This allows precise control over who can access and modify files in each namespace without requiring a complex unified access control system, as each namespace can be secured independently with appropriate simplicity.

Inventive Principle:
Principle #3Local quality

4Productivity

If synchronization processes are optimized for specific device capabilities, then synchronization speed and efficiency are improved, but system adaptability requirements increase

Engineering Contradiction:
Improvesynchronization speedVSAvoiddevice capability compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

Each root namespace can be configured with synchronization parameters optimized for the specific capabilities of the connected device, such as buffer sizes, update frequencies, and compression levels. This allows the system to achieve high synchronization speeds on capable devices while maintaining compatibility with less powerful devices through appropriate configuration adjustments.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The synchronization system can dynamically adjust its behavior based on the capabilities of connected devices. Each namespace can have its synchronization strategy adapted in real-time according to device performance, network conditions, and file system characteristics, achieving optimal speed without sacrificing broad device compatibility.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20240211445A1Identifying changes at each root namespace of a multi-root system
Publication Date: 2024.06.27 DROPBOX INC
  • US20240211445A1 patent drawing
  • US20240211445A1 patent drawing
  • US20240211445A1 patent drawing

AI summary

The present technology is directed to providing a multi-root architecture for managing devices associated with their own root namespaces. The system can include backing up multiple computing devices to a single user account such that the content items from each computing device are stored in their own respective root namespace at the user account. With each user account having multiple root namespaces, the system can identify which root namespace is receiving changes, identify which changes are necessary to synchronize the system, and then communicate those changes to the content management system. This process is facilitated by running a synchronization engine for each root namespace, thereby controlling synchronization for each root namespace. Each synchronization engine is able to retain its own parameters of operation, which provides the ability to tailor synchronization modes on each synchronization engine.